В этом примере для управления скоростью трехфазного синхронного двигателя с постоянными магнитами (PMSM) используется ориентированное на поле управление (FOC). Она позволяет использовать эти блоки Simscape Electrical в качестве альтернативы блоку инвертора среднего значения в Blockset™ управления двигателем:
Преобразователь (трехфазный)
Идеальный полупроводниковый коммутатор
В этом примере также можно использовать блок PMSM из Simscape™ Electrical™ в качестве альтернативы блоку Surface Mount PMSM из Blockset™ управления двигателем. Эти блоки Simscape™ Electrical™ позволяют Вам произвести высокочастотные моделирования.
Полевое управление (ВОК) требует обратной связи в реальном времени относительно положения ротора. В этом примере для измерения положения ротора используется квадратурный датчик. Дополнительные сведения о ВОК см. в разделе Полевое управление (ВОК).
Этот пример можно использовать для моделирования целевой модели с использованием различных инверторов и контроля тока обратной связи для каждого инвертора. Можно также создать код и использовать главную модель вместе с целевой моделью.
Пример включает mcb_ee_pmsm_foc модели.
Эту модель можно использовать как для моделирования, так и для создания кода. Для открытия модели Simulink ® можно также использовать команду open_system. Например, используйте эту команду для контроллера на основе F28379D:
open_system('mcb_ee_pmsm_foc.slx');

Для моделирования модели:
Blockset™ управления двигателем
Simscape™ Electrical™
Для создания кода и развертывания модели:
Blockset™ управления двигателем
Simscape™ Electrical™
Встроенный кодер ®
Пакет поддержки встроенного кодера ® для процессоров Texas Instruments™ C2000™
Designer™ с фиксированной точкой (требуется только для оптимизированной генерации кода)
1. Получите параметры двигателя. Параметры двигателя по умолчанию предоставляются в модели Simulink ®, которую можно заменить значениями из таблицы данных двигателя или из других источников.
Однако при наличии аппаратных средств управления двигателем можно оценить параметры двигателя, которые требуется использовать, с помощью инструмента оценки параметров блока управления двигателем. Инструкции см. в разделе Оценка параметров двигателя с помощью инструмента оценки параметров блока управления двигателем.
Инструмент оценки параметров обновляет переменную motorParam (в рабочем пространстве MATLAB ®) с помощью расчетных параметров двигателя.
2. При получении параметров двигателя из таблицы данных или из других источников обновите параметры двигателя и инвертора в сценарии инициализации модели, связанном с моделями Simulink ®. Инструкции см. в разделе Оценка контрольных выигрышей от параметров двигателя.
При использовании инструмента оценки параметров можно обновить параметры инвертора, но не обновлять параметры двигателя в сценарии инициализации модели. Сценарий автоматически извлекает параметры двигателя из обновленной переменной рабочего пространства motorParam.
В этом примере поддерживается моделирование. Выполните следующие действия для моделирования модели.
1. Откройте mcb_ee_pmsm_foc целевой модели.
2. Выберите одну из следующих опций в группе радиосвязи InverterSelected в целевой модели:
Средний инвертор блока управления двигателем - выберите этот параметр, чтобы использовать блоки PMSM среднего инвертора и поверхностного монтажа.
3-фазный преобразователь Simscape Electrical - выберите эту опцию, чтобы использовать блоки Converter (трехфазный) и PMSM.
Simscape Electrical Modular Multilevel Converter - выберите эту опцию, чтобы использовать блоки Ideal Semiconductor Switch и PMSM.
3. Выберите опцию из радиогруппы ИнверторВыбранный (InverterSelected) и щелкните Выполнить (Run) на вкладке Моделирование (Simulation), чтобы смоделировать целевую модель.
4. На целевой модели щелкните Инспектор данных (Data Inspector) на вкладке Моделирование (Simulation), чтобы просмотреть результаты трех прогонов моделирования.
На этом рисунке показаны результаты моделирования для
фазового тока:

Эти изображения показывают сравнение частоты вращения ротора
, тока,
фазового тока и положения ротора для трех типов инверторов:


Эти изображения показывают сравнение сигналов модуляции ШИМ для трех типов инверторов:


В этом разделе содержится инструкция по созданию кода и запуску алгоритма ВОК на целевом оборудовании.
В примере используется хост и целевая модель. Модель хоста представляет собой пользовательский интерфейс к аппаратной плате контроллера. Модель хоста можно запустить на хост-компьютере. Предпосылкой для использования модели хоста является развертывание целевой модели на аппаратной плате контроллера. Модель хоста использует последовательную связь для команды целевой модели Simulink ® и запуска двигателя в замкнутом контуре управления.
Необходимое оборудование
Пример поддерживает эту конфигурацию оборудования. Имя целевой модели можно также использовать для открытия модели для соответствующей конфигурации оборудования из командной строки MATLAB ®.
LAUNCHXL-F28379D контроллер + BOOSTXL-DRV8305 инвертор: mcb_ee_pmsm_foc
Для получения информации о соединениях, связанных с предыдущей конфигурацией аппаратных средств, см. раздел Конфигурации LAUNCHXL-F28069M и LAUNCHXL-F28379D.
Создание кода и выполнение модели на целевом оборудовании
1. Моделирование целевой модели и наблюдение за результатами моделирования.
2. Завершите аппаратные подключения.
3. Модель автоматически вычисляет значения смещения ADC (или текущего). Чтобы отключить эту функцию (включена по умолчанию), обновите значение 0 до переменного инвертора. ADCOffsetCalibEnable в сценарии инициализации модели.
Можно также вычислить значения смещения АЦП и обновить их вручную в сценариях инициализации модели. Для инструкций посмотрите Пробег 3-фазовые электродвигатели переменного тока в Контроле разомкнутого контура и Калибруйте Смещение ADC.
4. Вычислите значение смещения индекса квадратурного кодера и обновите его в сценариях инициализации модели, связанных с целевой моделью. Инструкции см. в разделе Калибровка смещения квадратурного кодера для двигателя PMSM.
5. Откройте целевую модель. Если требуется изменить настройки конфигурации оборудования по умолчанию для модели, см. раздел Параметры конфигурации модели.
6. Чтобы гарантировать, что CPU2 по ошибке не настроен, чтобы использовать периферию правления, предназначенную для CPU1, загрузите типовую программу к CPU2 LAUNCHXL-F28379D, например, программа, которая управляет синим CPU2 Во главе с использованием GPIO31 (c28379D_cpu2_blink.slx).
7. Щелкните Создать, Развернуть и начать на вкладке Оборудование, чтобы развернуть целевую модель на оборудовании.
8. Щелкните гиперссылку модели-основы в целевой модели, чтобы открыть связанную модель-основу. Для открытия главной модели можно также использовать команду open_system. Например, используйте эту команду для контроллера на основе F28379D:
open_system('mcb_pmsm_foc_host_model_f28379d.slx');

Дополнительные сведения о последовательной связи между моделью хоста и целевой моделью см. в разделе Связь хоста с целевой моделью.
9. В маске блока Host Serial Setup модели хоста выберите имя порта.
10. Обновите значение Ссылочная скорость (Reference Speed) в главной модели.
11. Щелкните Выполнить (Run) на вкладке Моделирование (Simulation), чтобы запустить главную модель.
12. Для запуска двигателя измените положение переключателя «Пуск/Останов двигателя» на «Вкл».
13. Просмотрите сигналы отладки из подсистемы RX в блоках Time Scope и Display модели хоста.
Примечание.В модели хоста можно также выбрать сигналы отладки, которые необходимо контролировать.
Можно также использовать SoC Blockset™ для реализации приложения управления двигателем с замкнутым контуром, которое решает проблемы, связанные с синхронизацией ADC-PWM, откликом контроллера и изучением различных настроек PWM. Simscape™ Electrical™ можно использовать для моделирования инвертора высокой точности. Дополнительные сведения см. в разделе Интеграция планирования MCU и периферийных устройств в приложении управления двигателем.