Бездатчиковое векторное управление асинхронным двигателем

Этот пример использует бездатчиковую оценку положения для реализации метода векторного управления (FOC), чтобы контролировать скорость трехфазного асинхронного двигателя переменного тока (ACIM). Для получения дополнительной информации о ВОК смотрите Векторное управление (ВОК).

Этот пример использует блок Flux Observer ротора, чтобы оценить положение потока ротора.

Блок использует напряжения$({V_\alpha },{V_\beta })$ и токи статора$({I_\alpha },{I_\beta })$ в качестве входов и оценивает поток ротора, генерируемый крутящий момент и положение потока ротора.

Бездатчиковые наблюдатели и алгоритмы имеют известные ограничения в отношении двигательных операций сверх номинальной скорости. Мы рекомендуем, чтобы вы использовали бездатчиковые примеры для операций только до номинальной скорости.

Модель

Пример включает в себя mcb_acim_foc_sensorless_f28379d модели.

Можно использовать эту модель как для симуляции, так и для генерации кода. Можно также использовать команду open_system, чтобы открыть модель Simulink ®.

open_system('mcb_acim_foc_sensorless_f28379d.slx');

Для получения дополнительной информации о поддерживаемом строении оборудования смотрите раздел «Необходимое аппаратное обеспечение» в разделах «Генерация кода» и «Развертывание модели на целевом компьютере».

Необходимые продукты MathWorks ®

Чтобы симулировать модель:

  • 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-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), чтобы настроить задержку в оценке положения.

Для просмотра документации необходимо авторизоваться на сайте