Этот пример использует ориентированное на поле управление (FOC), чтобы запустить трехфазный постоянный магнит синхронный двигатель (PMSM) в различных режимах работы для валидации объекта. Для реализации алгоритма FOC нужна обратная связь в реальном времени положения ротора. Этот пример использует квадратурный датчик энкодера, чтобы измерить положение ротора. Для получения дополнительной информации о FOC, смотрите Ориентированное на поле управление (FOC).
Пример запускает двигатель в этих режимах:
Остановитесь - В этом режиме, двигатель прекращает запускаться, потому что инвертор выходные параметры обнуляет вольты.
Разомкнутый контур - В этом режиме, диспетчер использует регулирование без обратной связи, чтобы запустить двигатель. Можно использовать область Operating Mode Variables модели хоста, чтобы изменить выходное напряжение инвертора и скорости ротора. Используйте область Monitor, чтобы выбрать скорость и значения положения ротора, чтобы отобразить их на осциллографе для контроля.
Закрутите управление - В этом режиме, диспетчер использует алгоритм управления крутящего момента, чтобы запустить двигатель. Можно использовать область Operating Mode Variables модели хоста, чтобы изменить ссылочные и ссылочные токи.
Можно также заблокировать ротор путем превращения переключателя ползунка к положению блокировки Pos, которое обнуляет положение ротора. Поэтому в этом режиме, контроллер получает обратную связь положения как нуль, потому что двигатель прекращает запускаться. Если вы поворачиваете переключатель к Разблокировать положению, моторные запуски и контроллер получает обратную связь положения от квадратурного энкодера (можно контролировать это значение при помощи сигнала Position_meas в области Monitor модели хоста). Можно использовать осциллограф, чтобы контролировать два сигнала отладки (Сигнал № 1 монитора и Сигнал № 2 Монитора), что вы выбираете в области Monitor. Поэтому можно использовать переключатель ползунка, чтобы настроить параметры усиления управления крутящим моментом.
Регулировка скорости - В этом режиме, диспетчер использует алгоритм регулировки скорости, чтобы запустить двигатель. Можно использовать область Operating Mode Variables модели хоста, чтобы изменить значение Ссылки Скорости (в относительных единицах) из ротора. Можно использовать осциллограф, чтобы контролировать два сигнала отладки (Сигнал № 1 монитора и Сигнал № 2 Монитора), что вы выбираете в области Monitor. Для получения информации связанный с системой на модуль, смотрите систему в относительных единицах.
Чтобы далее управлять двигателем, можно также использовать область усилений Цикла управления модели хоста, чтобы изменить параметры управления d
- ось и q
- токовые контроллеры оси и контроллер скорости.
Можно использовать этот пример, чтобы запустить двигатель в регулировании без обратной связи, управлении крутящим моментом и режимах регулировки скорости. Можно также использовать этот пример для настройки аппаратных усилений и проверки модели объекта управления.
Внимание: Остановите двигатель сначала прежде, чем перейти от одного рабочего режима до другого.
Можно выбрать один из этих рабочих режимов в области Control модели хоста:
Остановка
Разомкнутый контур запущен
Закрутите управление
Регулировка скорости
Пример включает эту модель:
mcb_pmsm_operating_mode_f28379d
Можно использовать модель и для симуляции и для генерации кода. Можно использовать open_system команду, чтобы открыть модель Simulink®:
open_system('mcb_pmsm_operating_mode_f28379d.slx');
Симулировать модель:
Motor Control Blockset™
Сгенерировать код и развернуть модель:
1. Motor Control Blockset™
2. Embedded Coder®
3. Embedded Coder® Support Package для процессоров Instruments™ C2000™ Техаса
4. Fixed-Point Designer™
1. Получите параметры двигателя. Мы предоставляем параметрам двигателя по умолчанию модель Simulink®, которую можно заменить на значения или от моторной таблицы данных или от других источников.
Однако, если у вас есть оборудование блока управления приводом, можно оценить параметры для двигателя, который вы хотите использовать, при помощи инструмента оценки параметра Motor Control Blockset. Для инструкций смотрите Оценочные Параметры двигателя при помощи Motor Control Blockset Parameter Estimation Tool.
Инструмент оценки параметра обновляет motorParam переменную (в рабочей области MATLAB®) с предполагаемыми параметрами двигателя.
2. Если вы получаете параметры двигателя из таблицы данных или других источников, обновляете параметры двигателя и параметры инвертора в скрипте инициализации модели, сопоставленном с моделями Simulink®. Для инструкций смотрите Оценочные Усиления Управления от Параметров двигателя.
Если вы используете инструмент оценки параметра, вы можете обновить параметры инвертора, но не обновляете параметры двигателя в скрипте инициализации модели. Скрипт автоматически извлекает параметры двигателя из обновленной motorParam переменной рабочей области.
Этот пример поддерживает симуляцию только для рабочего режима Регулировки скорости. Выполните эти шаги, чтобы симулировать модель.
1. Откройте модель, включенную с этим примером.
2. Нажмите работает на вкладке Simulation, чтобы симулировать модель.
3. Нажмите Data Inspector на вкладке Simulation, чтобы просмотреть и анализировать результаты симуляции.
В этом разделе приведены вам команду генерировать код и запускать алгоритм FOC на целевом компьютере.
Пример использует хост и целевую модель. Модель хоста является пользовательским интерфейсом к плате оборудования контроллеров. Можно запустить модель хоста на хосте - компьютере. Необходимое условие, чтобы использовать модель хоста должно развернуть целевую модель в плату оборудования контроллеров. Модель хоста использует последовательную передачу, чтобы управлять моделью, запуск (и управление) двигатель в выбранном рабочем режиме, и контролировать сигналы отладки модели.
Необходимое оборудование
Этот пример поддерживает эту аппаратную конфигурацию. Используйте целевое имя модели (подсвеченный полужирным), чтобы открыть модель для соответствующей аппаратной конфигурации от командной строки MATLAB®.
Контроллер LAUNCHXL-F28379D + инвертор BOOSTXL-DRV8305: mcb_pmsm_operating_mode_f28379d
Для связей, связанных с предыдущей аппаратной конфигурацией, см. LAUNCHXL-F28069M и Настройки LAUNCHXL-F28379D.
Сгенерируйте код и запущенную модель на целевом компьютере
1. Симулируйте целевую модель и наблюдайте результаты симуляции.
2. Завершите аппаратные связи.
3. Модель автоматически вычисляет ADC (или ток) значения смещения. Чтобы отключить эту функциональность (включил по умолчанию), обновите значение 0 к переменной inverter.ADCOffsetCalibEnable в скрипте инициализации модели.
В качестве альтернативы можно вычислить значения смещения ADC и обновить его вручную в скриптах инициализации модели. Для инструкций смотрите Запуск 3-фазовые электродвигатели переменного тока в Регулировании без обратной связи и Калибруйте Смещение ADC.
4. Вычислите квадратурное значение смещения индекса энкодера и обновите его в скриптах инициализации модели, сопоставленных с целевой моделью. Для инструкций смотрите Квадратурную Калибровку Смещения Энкодера для Двигателя PMSM.
5. Откройте целевую модель для аппаратной конфигурации, которую вы хотите использовать. Если вы хотите изменить настройки аппаратной конфигурации по умолчанию для модели, смотрите Параметры конфигурации Модели.
6. Чтобы гарантировать, что CPU2 по ошибке не сконфигурирован, чтобы использовать периферийные устройства платы, предназначенные для CPU1, загрузите пример программы к CPU2 LAUNCHXL-F28379D, например, программа, которая управляет синим CPU2 Во главе с использованием GPIO31 (c28379D_cpu2_blink.slx).
Примечание:
Непосредственно не переключайтесь между запущенным разомкнутым контуром, управление крутящим моментом, и рабочими режимами регулировки скорости. Всегда останавливайте двигатель прежде, чем изменить рабочий режим.
Прежде чем вы запустите двигатель в режиме регулировки скорости впервые, запустите двигатель в разомкнутом контуре, чтобы определить квадратурный индекс энкодера. Это помогает запустить двигатель гладко в режиме регулировки скорости с обратной связью.
Инструкции для режима выполнения разомкнутого контура:
1. Click Build, Deploy & Start на вкладке Hardware, чтобы развернуть целевую модель в оборудование.
2. Кликните по гиперссылке модели хоста в целевой модели, чтобы открыть связанную модель хоста.
3. В маске блока Host Serial Setup модели хоста выберите имя Port.
4. Нажмите работает на вкладке Simulation, чтобы запустить модель хоста.
5. Выберите Stop в области Control, чтобы остановить двигатель.
6. Выберите Разомкнутый контур, запущенный, чтобы запустить двигатель.
Инструкции для режима управления крутящего момента:
1. Click Build, Deploy & Start на вкладке Hardware, чтобы развернуть целевую модель в оборудование.
2. Кликните по гиперссылке модели хоста в целевой модели, чтобы открыть связанную модель хоста.
3. В маске блока Host Serial Setup модели хоста выберите имя Port.
4. Нажмите работает на вкладке Simulation, чтобы запустить модель хоста.
5. Выберите Stop в области Control, чтобы остановить двигатель.
6. Введите значение 0 (на модуль) в Полях ссылки Ссылки и IQ ID в области Operating Mode Variables.
7. Выберите управление Torque в области Control.
8. Переместите переключатель ползунка, чтобы Разблокировать положение в области Operating Mode Variables.
9. Выберите Iq_ref for Monitor Signal № 1 и Iq_meas для Сигнала № 2 Монитора в области Monitor.
10. Введите значение 0.1 (на модуль) в в Поле ссылки IQ (в области Operating Mode Variables), чтобы начать запускать двигатель.
11. Откройте осциллограф в модели хоста и контролируйте Iq_ref и текущие сигналы Iq_meas.
Примечание: двигатель может достигнуть высоких скоростей, если вы запускаете его ни при каком условии загрузки в этом рабочем режиме. Кроме того, двигатель не будет соответствовать ссылке IQ, текущей ни при каком условии загрузки в этом рабочем режиме.
Инструкции для режима регулировки скорости:
1. Click Build, Deploy & Start на вкладке Hardware, чтобы развернуть целевую модель в оборудование.
2. Кликните по гиперссылке модели хоста в целевой модели, чтобы открыть связанную модель хоста.
3. В маске блока Host Serial Setup модели хоста выберите имя Port.
4. Нажмите работает на вкладке Simulation, чтобы запустить модель хоста.
5. Выберите Stop в области Control, чтобы остановить двигатель.
6. Введите значение 0.5 (на модуль) в Поле ссылки Скорости в области Operating Mode Variables.
7. Выберите Регулировку скорости в области Control.
8. Выберите Speed_ref for Monitor Signal № 1 и Speed_meas для Сигнала № 2 Монитора в области Monitor.
9. Откройте осциллограф в модели хоста и контролируйте Speed_ref и выходные сигналы Speed_meas.
Инструкции для настройки усиления контроллера крутящего момента:
1. Click Build, Deploy & Start на вкладке Hardware, чтобы развернуть целевую модель в оборудование.
2. Кликните по гиперссылке модели хоста в целевой модели, чтобы открыть связанную модель хоста.
3. В маске блока Host Serial Setup модели хоста выберите имя Port.
4. Нажмите работает на вкладке Simulation, чтобы запустить модель хоста.
5. Выберите Stop в области Control, чтобы остановить двигатель.
6. Выберите управление Torque в области Control.
7. Поверните переключатель ползунка к положению блокировки Pos в области Operating Mode Variables.
8. Выберите Id_ref for Monitor Signal № 1 и Id_meas для Сигнала № 2 Монитора в области Monitor.
9. Введите значение 0.2 (на модуль) в Поле ссылки ID в области Operating Mode Variables.
10. Откройте осциллограф и контролируйте сигнал переходного процесса.
11. Настройтесь управление получает Кп и Ки для d
- токовый контроллер оси.
Инструкции для настройки усиления контроллера скорости:
1. Click Build, Deploy & Start на вкладке Hardware, чтобы развернуть целевую модель в оборудование.
2. Кликните по гиперссылке модели хоста в целевой модели, чтобы открыть связанную модель хоста.
3. В маске блока Host Serial Setup модели хоста выберите имя Port.
4. Нажмите работает на вкладке Simulation, чтобы запустить модель хоста.
5. Выберите Stop в области Control, чтобы остановить двигатель.
6. Выберите Регулировку скорости в области Operating Mode Variables.
7. Выберите Speed_ref for Monitor Signal № 1 и Speed_meas для Сигнала № 2 Монитора в области Monitor.
8. Введите значение 0.5 (на модуль) в Поле ссылки Скорости в области Operating Mode Variables.
9. Откройте осциллограф и наблюдайте ссылку и измеренные значения скорости.
10. Введите значение 0.8 (на модуль) в Поле ссылки Скорости.
11. Наблюдайте переходной процесс скорости в осциллографе.
12. Настройтесь управление получает Кп и Ки для контроллера скорости.
Инструкции для проверки модели объекта управления:
1. Кликните по гиперссылке модели хоста в целевой модели, чтобы открыть связанную модель хоста.
2. В маске блока Host Serial Setup модели хоста выберите имя Port.
3. Нажмите работает на вкладке Simulation, чтобы запустить модель хоста.
4. Откройте целевую модель с помощью этой команды: open_system ('mcb_pmsm_operating_mode_f28379d.slx');
5. Смените положение Ручного Переключателя (в mcb_pmsm_operating_mode_f28379d.slx/Speed Control/Speed_control), чтобы Симулировать Вход Скорости Шага.
6. Симулируйте модель mcb_pmsm_operating_mode_f28379d.slx.
7. Откройте осциллограф в модели, чтобы наблюдать переходной процесс контроллера скорости.
8. Click Build, Deploy & Start на вкладке Hardware, чтобы развернуть целевую модель в оборудование.
9. Выберите Stop в области Control модели хоста, чтобы гарантировать, что двигатель не запускается.
10. Выберите Регулировку скорости в области Operating Mode Variables.
11. Выберите Speed_ref for Monitor Signal № 1 и Speed_meas для Сигнала № 2 Монитора в области Monitor.
12. Введите значение 0.2 (на модуль) в Поле ссылки Скорости в области Operating Mode Variables.
13. Откройте осциллограф и наблюдайте ссылку и измеренные значения скорости.
14. Введите значение 0.5 (на модуль) в Поле ссылки Скорости.
15. Наблюдайте переходной процесс скорости в осциллографе.
16. Сравните переходные процессы скорости, полученные на шагах 6 (с симуляцией) и 15 (с генерацией кода).
Примечание: можно также использовать open_system команду, чтобы открыть модель хоста:
open_system('mcb_host_mode_control.slx');
В области усилений Цикла управления необходимо ввести значения усиления, которые могут быть представлены типом данных, заданным в скрипте инициализации модели.
Для получения дополнительной информации о последовательной передаче между хостом и целевыми моделями, смотрите Целевую Хостом Коммуникацию.