Векторное управление асинхронным двигателем с помощью датчика скорости

Этот пример реализует метод векторного управления (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');

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

Необходимые продукты 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 Строений.

Сгенерируйте код и запустите модель на целевом компьютере

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 модели хоста.

ПРИМЕЧАНИЕ: Этот пример зависит от положительной обратной связи по скорости для положительного поворота векторов пространства. Если двигатель не запускается, попробуйте следующие шаги, чтобы решить проблему:

  • Попробуйте заменить любые два соединения фазы двигателя.

См. также

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