Этот пример реализует способ управления, ориентированный на поле (ВОК), для управления положением трехфазного синхронного двигателя с постоянными магнитами (ПМСМ). Алгоритм ВОК требует обратной связи по положению ротора, которую он получает от квадратурного датчика кодирования.
Этот пример можно использовать для реализации приложений управления позициями с помощью ВОК с замкнутым контуром. Пример приводит в действие двигатель для достижения входного значения опорного положения. Можно также настроить максимальное количество вращений (в любом направлении) для двигателя в сценарии инициализации модели.
Для получения подробной информации о ВОК с замкнутым контуром см. Полевое управление (ВОК) и Управление двигателем с замкнутым контуром.
В пример включена модель mcb_pmsm_PosCtrl_f28379d.
Эту модель можно использовать как для моделирования, так и для создания кода. С помощью этой команды можно также открыть модель Simulink ® в окне команд MATLAB ®.
open_system('mcb_pmsm_PosCtrl_f28379d.slx');

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

Дополнительные сведения о последовательной связи между моделью хоста и целевой моделью см. в разделе Связь хоста с целевой моделью.
9. В диалоговом окне блока Host Serial Setup в модели хоста выберите имя порта.
10. Обновите значение ссылочной позиции [градусы] в главной модели. По умолчанию максимальное число поворотов (в положительном или отрицательном направлении) равно пяти. Вы можете изменить это значение, установив PosCtrlPosLimit переменная в сценарии инициализации модели. Этот сценарий можно открыть с помощью гиперссылки Init script в целевой модели.
Максимальный предел поворота (градусы) = PosCtrlPosLimit x 360
Примечание: Вы не можете управлять скоростью вращения двигателя, но вы можете ограничить ее, установив PosCtrlSpeedLimit переменная (в единицах измерения). Дополнительные сведения о системе на единицу измерения см. в разделе Система на единицу измерения.
11. Щелкните Выполнить (Run) на вкладке Моделирование (Simulation), чтобы запустить главную модель.
12. Измените положение переключателя «Пуск/Останов двигателя» на «Пуск» для запуска двигателя.
13. Просмотрите отладочные сигналы от подсистемы RX в области времени модели хоста. Можно выбрать сигналы отладки, которые требуется контролировать, в разделе «Сигналы области» модели хоста.
Управление скоростью - отображение опорных сигналов скорости и сигналов обратной связи скорости в объеме работ.
Управление идентификатором - Отображение ссылочных и идентификационных сигналов обратной связи в области.
Iq Control - отображение опорных и обратных сигналов Iq в объеме.
Ia & Ib - Отображение сигналов тока Ia и Ib в объеме.
Position Control (Управление положением) - отображение опорных сигналов положения и сигналов обратной связи положения в области.