Этот пример реализует метод векторного управления (FOC), чтобы контролировать скорость трехфазного асинхронного двигателя переменного тока (ACIM). Алгоритм FOC требует обратной связи скорости ротора, которая получена в этом примере с помощью квадратурного датчика энкодера. Для получения дополнительной информации о ВОК смотрите Векторное управление (ВОК).
Этот пример использует квадратурный датчик энкодера, чтобы измерить скорость ротора. Квадратурный датчик энкодера состоит из диска с двумя дорожками или каналами, которые закодированы на 90 электрических степенях вне фазы. Это создает два импульса (A и B), которые имеют различие фаз 90 степеней и импульс индекса (I). Поэтому контроллер использует фазовую зависимость между каналами A и B и переход состояний канала, чтобы определить направление вращения двигателя.
Пример включает в себя mcb_acim_foc_qep_f28379d модели.
Можно использовать эту модель для симуляции и генерации кода. Можно также использовать команду open_system, чтобы открыть модель Simulink ®.
open_system('mcb_acim_foc_qep_f28379d.slx');
Для получения дополнительной информации о поддерживаемом строении оборудования смотрите раздел «Необходимое аппаратное обеспечение» в разделах «Генерация кода» и «Развертывание модели на целевом компьютере».
Чтобы симулировать модель:
Motor Control Blockset™
Чтобы сгенерировать код и развернуть модель:
Motor Control Blockset™
Embedded Coder ®
Пакет поддержки Embedded Coder ® для процессоров Instruments™ C2000™ в Техасе
Fixed-Point Designer™ (требуется только для оптимизированной генерации кода)
1. Получите параметры двигателя. Мы предоставляем параметры двигателя по умолчанию с моделью Simulink ®, которую можно заменить значениями либо из таблицы данных двигателей, либо из других источников.
2. Если вы получаете параметры двигателя из таблицы данных или других источников, обновляйте параметры двигателя и инвертора в скрипте инициализации модели, сопоставленном с моделями Simulink ®. Для получения инструкций смотрите Оценку коэффициентов усиления из параметров двигателя.
3. Скрипт инициализации также вычисляет производные параметры. Для примера, общего коэффициента утечки, номинального потока, номинального крутящего момента, индуктивности статора и ротора асинхронного двигателя.
Этот пример поддерживает симуляцию. Выполните следующие шаги, чтобы симулировать модель.
1. Откройте модель, включенную в этот пример.
2. Щелкните Запуском на вкладке Симуляции, чтобы симулировать модель.
3. Щелкните Data Inspector на вкладке Simulation, чтобы просмотреть и проанализировать результаты симуляции.
В этом разделе приведены инструкции по генерации кода и запуску алгоритма FOC на целевом компьютере.
Этот пример использует хост и целевую модель. Модель хоста является пользовательским интерфейсом к аппаратной плате контроллера. Можно запустить главную модель на хост-компьютер. Необходимым условием для использования модели хоста является развертывание целевой модели на аппаратной плате контроллера. Модель хоста использует последовательную связь, чтобы командовать целевой моделью Simulink ® и запустить двигатель в системе управления с обратной связью.
Необходимое оборудование
Этот пример поддерживает следующее аппаратное строение. Можно также использовать имя целевой модели, чтобы открыть модель для соответствующего аппаратного строения из командной строки MATLAB ®.
LAUNCHXL-F28379D контроллер + BOOSTXL-DRV8305 инвертор: mcb_acim_foc_qep_f28379d
Для подключений, связанных с предыдущим аппаратным строением, смотрите LAUNCHXL-F28069M и LAUNCHXL-F28379D Строений.
Сгенерируйте код и запустите модель на целевом компьютере
1. Симулируйте целевую модель и наблюдайте результаты симуляции.
2. Завершите аппаратные подключения.
3. Модель автоматически вычисляет значения смещения АЦП (или тока). Чтобы отключить эту функциональность (включенную по умолчанию), обновите значение 0 на инвертор переменной. ADCOffsetCalibEnable в скрипте инициализации модели.
Также можно вычислить значения смещения АЦП и обновить их вручную в скриптах инициализации модели. Для получения инструкций смотрите Запуск 3-Phase электродвигателей переменного тока в разомкнутом контуре управления и Калибровка смещения АЦП.
4. Откройте целевую модель. Если вы хотите изменить настройки аппаратного строения по умолчанию в модели, см. Раздел «Параметры конфигурации модели».
5. Загрузите пример программы в CPU2 из LAUNCHXL-F28379D, например, программу, которая управляет CPU2 синим светодиодом, с помощью GPIO31 контакта (c28379D_cpu2_blink.slx), чтобы убедиться, что CPU2 не ошибочно сконфигурирована, чтобы использовать периферийные устройства платы, предназначенные для CPU1.
6. Щелкните Сборка, Развертывание и запуск на вкладке Оборудование, чтобы развернуть целевую модель на оборудовании.
7. Щелкните гиперссылку модели хоста в целевой модели, чтобы открыть связанную модель хоста. Можно также использовать команду open_system, чтобы открыть модель хоста.
open_system('mcb_acim_foc_host_model.slx');
Для получения дополнительной информации о последовательной связи между хостом и целевыми моделями, смотрите Host-Target Communication.
8. В маске блока Host Serial Setup модели хоста выберите имя.
9. Обновите значение Задающая скорость в модели хоста.
10. В разделе Debug signals выберите сигнал, который вы хотите контролировать.
11. Щелкните Запуском на вкладке Симуляции, чтобы запустить модель хоста.
12. Смените положение переключателя Start/Stop Motor на On, чтобы начать вращать двигатель.
13. Наблюдайте сигналы отладки от подсистемы RX во временных возможностях SelectedSignals модели хоста.
ПРИМЕЧАНИЕ: Этот пример зависит от положительной обратной связи по скорости для положительного поворота векторов пространства. Если двигатель не запускается, попробуйте следующие шаги, чтобы решить проблему:
Попробуйте заменить любые два соединения фазы двигателя.
Измените и используйте пример Run 3-Phase AC Motors в разомкнутом контуре управления и калибровки смещения АЦП с обратной связью скорости и подтвердите положительное направление вращения для положительной задающей скорости.