exponenta event banner

Управление PMSM, загруженной двойным двигателем (Dyno)

В этом примере для управления двумя трехфазными синхронными двигателями с постоянными магнитами (PMSM), соединенными в схеме, используется полевое управление (FOC). Двигатель 1 работает в замкнутом режиме регулирования скорости. Двигатель 2 работает в режиме регулирования крутящего момента и нагружает двигатель 1, поскольку они механически связаны. Этот пример можно использовать для тестирования двигателя в различных условиях нагрузки.

В этом примере моделируются два двигателя, которые соединены друг с другом. Можно использовать другую привязку скорости для двигателя 1 и другую привязку крутящего момента для двигателя 2 (полученную из величины и электрического положения опорного тока статора двигателя 2). Двигатель 1 работает с эталонной скоростью для условий нагрузки, обеспечиваемых двигателем 2 (с другим эталоном крутящего момента).

Эти уравнения описывают вычисление d-axis и q- осевые компоненты опорного тока статора двигателя 2.

$$I{d^{ref}} = Ima{g^{ref}} \times {\rm{cos}}{\theta _e}$$

$$I{q^{ref}} = Ima{g^{ref}} \times {\rm{sin}}{\theta _e}$$

где:

  • $I{d^{ref}}$ является d- осевая составляющая опорного тока статора двигателя 2.

  • $I{q^{ref}}$ является q- осевая составляющая опорного тока статора двигателя 2.

  • $Ima{g^{ref}}$ - величина опорного тока статора двигателя 2.

  • ${\theta _e}$ - электрическое положение опорного тока статора двигателя 2.

Пример выполнения в аппаратной плате контроллера. Можно ввести привязку скорости для двигателя 1 и текущую привязку для двигателя 2 с помощью главной модели. Модель хоста использует последовательную связь для связи с платой аппаратных средств контроллера.

Контуры управления током в алгоритмах управления двигателем 1 и двигателем 2 смещены на Ts/2, где Ts - скорость выполнения контура управления.

Модели

Пример включает mcb_pmsm_foc_f28379d_dyno модели.

Эту модель можно использовать как для моделирования, так и для создания кода. Для открытия модели Simulink ® можно также использовать команду open_system. Например, используйте эту команду для контроллера на основе F28379D:

open_system('mcb_pmsm_foc_f28379d_dyno.slx');

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

Для моделирования модели:

  • Blockset™ управления двигателем

Для создания кода и развертывания модели:

  • Blockset™ управления двигателем

  • Встроенный кодер ®

  • Пакет поддержки встроенного кодера ® для процессоров Texas Instruments™ C2000™

  • Designer™ с фиксированной точкой (требуется только для оптимизированной генерации кода)

Предпосылки

1. Получите параметры двигателя как для двигателя 1, так и для двигателя 2. Параметры двигателя по умолчанию предоставляются в модели Simulink ®, которую можно заменить значениями из таблицы данных двигателя или из других источников.

Однако при наличии аппаратных средств управления двигателем можно оценить параметры двигателя, которые требуется использовать, с помощью инструмента оценки параметров Blockset™ управления двигателем. Инструкции см. в разделе Оценка параметров двигателя с помощью инструмента оценки параметров блока управления двигателем.

2. Обновите параметры двигателя (полученные из таблицы данных, других источников или инструмента оценки параметров) и параметры инвертора в сценарии инициализации модели, связанном с моделью Simulink ®. Инструкции см. в разделе Оценка контрольных выигрышей от параметров двигателя.

В этом примере обновите параметры двигателя для обоих двигателей в сценарии инициализации модели.

Моделирование модели

В этом примере поддерживается моделирование. Выполните следующие действия для моделирования модели.

1. Откройте модель, включенную в этот пример.

2. Щелкните Выполнить (Run) на вкладке Моделирование (Simulation), чтобы смоделировать модель.

3. Щелкните Инспектор данных (Data Inspector) на вкладке Моделирование (Simulation), чтобы просмотреть и проанализировать результаты моделирования.

4. Введите другой эталон скорости для двигателя 1 и другой эталон тока (нагрузка) для двигателя 2. Проверьте измеренную скорость и другие регистрируемые сигналы в инспекторе данных.

Создание кода и развертывание модели на целевом оборудовании

В этом разделе содержится инструкция по созданию кода и запуску алгоритма ВОК на целевом оборудовании.

В примере используется хост и целевая модель. Модель хоста представляет собой пользовательский интерфейс к аппаратной плате контроллера. Модель хоста можно запустить на хост-компьютере. Предпосылкой для использования модели хоста является развертывание целевой модели на аппаратной плате контроллера. Модель хоста использует последовательную связь для команды целевой модели Simulink ® и запуска двигателя в замкнутом контуре управления.

Необходимое оборудование

Пример поддерживает эту конфигурацию оборудования. Имя целевой модели можно также использовать для открытия модели для соответствующей конфигурации оборудования из командной строки MATLAB ®.

Для получения информации о соединениях, связанных с предыдущей конфигурацией аппаратных средств, см. Инструкции по настройке Dyno (Dual Motor).

Создание кода и выполнение модели на целевом оборудовании

1. Моделирование целевой модели и наблюдение за результатами моделирования.

2. Завершите аппаратные подключения.

3. Модель автоматически вычисляет значения смещения ADC (или текущего). Чтобы отключить эту функцию (включена по умолчанию), обновите значение 0 до переменного инвертора. ADCOffsetCalibEnable в сценарии инициализации модели.

Можно также вычислить значения смещения АЦП и обновить их вручную в сценариях инициализации модели. Для инструкций посмотрите Пробег 3-фазовые электродвигатели переменного тока в Контроле разомкнутого контура и Калибруйте Смещение ADC.

4. Вычислите значение смещения индекса квадратурного кодера и обновите его в сценариях инициализации модели, связанных с целевой моделью. Инструкции см. в разделе Калибровка смещения квадратурного кодера для двигателя PMSM.

В этом примере обновите значения смещения QEP в переменных pmsm_motor1.PositionOffset и pmsm_motor2.PositionOffset в сценарии инициализации.

5. Откройте целевую модель. Если требуется изменить настройки конфигурации оборудования по умолчанию для модели, см. раздел Параметры конфигурации модели.

6. Чтобы гарантировать, что CPU2 по ошибке не настроен, чтобы использовать периферию правления, предназначенную для CPU1, загрузите типовую программу к CPU2 LAUNCHXL-F28379D, например, программа, которая управляет синим CPU2 Во главе с использованием GPIO31 (c28379D_cpu2_blink.slx).

7. Щелкните Создать, Развернуть и начать на вкладке Оборудование, чтобы развернуть модель на оборудовании.

8. Щелкните гиперссылку модели-основы в целевой модели, чтобы открыть связанную модель-основу. Для открытия главной модели можно также использовать команду open_system:

open_system('mcb_pmsm_foc_host_model_dyno.slx');

9. В маске блока Host Serial Setup модели хоста выберите имя порта.

10. Щелкните Выполнить (Run) на вкладке Моделирование (Simulation), чтобы запустить главную модель.

11. Для запуска двигателя измените положение переключателя «Пуск/Останов двигателя 1» на «Вкл».

12. Обновите параметры двигателя 1 - эталонная скорость (об/мин), двигателя 2 - Imag Ref (A) и двигателя 2 - Imag Pos (град) в главной модели.

Примечание: Будьте осторожны при использовании значений, отличных от 90 или 270 градусов в поле Motor 2 - Imag Pos (град). Эти значения генерируют ток вдоль d- ось, создающая эффект намагничивания. Избыточный ток вдоль d-axis может создать насыщение и может повредить магниты двигателя.

13. Выберите сигналы отладки, которые необходимо отслеживать, чтобы наблюдать их в блоке временной области модели хоста.

Другие возможности

Вы также можете использовать SoC Blockset™ для разработки приложения управления двигателем в реальном времени для настройки с двумя двигателями, которое использует несколько процессорных ядер для получения модульности конструкции, улучшенной производительности контроллера и других целей проектирования. Для получения дополнительной информации см. раздел Управление двигателем раздела для многопроцессорных MCU.