Этот пример использует бездатчиковую оценку положения для реализации метода векторного управления (FOC), чтобы контролировать скорость трехфазного асинхронного двигателя переменного тока (ACIM). Для получения дополнительной информации о ВОК смотрите Векторное управление (ВОК).
Этот пример использует блок Flux Observer ротора, чтобы оценить положение потока ротора.
Блок использует напряжения и токи статора в качестве входов и оценивает поток ротора, генерируемый крутящий момент и положение потока ротора.
Бездатчиковые наблюдатели и алгоритмы имеют известные ограничения в отношении двигательных операций сверх номинальной скорости. Мы рекомендуем, чтобы вы использовали бездатчиковые примеры для операций только до номинальной скорости.
Пример включает в себя mcb_acim_foc_sensorless_f28379d модели.
Можно использовать эту модель как для симуляции, так и для генерации кода. Можно также использовать команду open_system, чтобы открыть модель Simulink ®.
open_system('mcb_acim_foc_sensorless_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 Configurations.
Сгенерируйте код и запустите модель на целевом компьютере
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, чтобы начать вращать двигатель в разомкнутом цикле (по умолчанию двигатель вращается на 10% от номинальной скорости).
Примечание: Не запускайте двигатель (используя этот пример) в разомкнутый контур условия в течение длительного времени. Двигатель может потреблять высокие токи и производить чрезмерное тепло.
Мы разработали управление разомкнутого контура, чтобы запустить двигатель с Задающей скоростью, которая меньше или равна 10% номинальной скорости.
13. Увеличьте Задающую скорость двигателя сверх 10% от номинальной скорости, чтобы переключиться с разомкнутого контура на управление с обратной связью.
ПРИМЕЧАНИЕ: Чтобы изменить направление вращения двигателя, уменьшите Задающую Скорость Двигателя до значения менее 10% от номинальной скорости. Это возвращает двигатель к разомкнутому контуру условия. Измените направление вращения, но сохраните величину задающей скорости постоянной. Затем переход к условию с обратной связью.
14. Наблюдайте сигналы отладки от подсистемы RX во временных возможностях SelectedSignals модели хоста.
ПРИМЕЧАНИЕ: Блок Flux Observer предназначен для работы с PMSM, но его выход изменен для работы с асинхронным двигателем. Для пользовательских двигателей обновите блок Offset_Correction (в Current Control/Input Scaling/Calculate position and speed subsystem), чтобы настроить задержку в оценке положения.