exponenta event banner

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

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