Этот пример использует ориентированное на поле управление (FOC), чтобы запустить трехфазный постоянный магнит синхронный двигатель (PMSM) в различных режимах работы для валидации объекта. Для реализации алгоритма FOC нужна обратная связь в реальном времени положения ротора. Этот пример использует квадратурный датчик энкодера, чтобы измерить положение ротора. Для получения дополнительной информации о FOC, смотрите Ориентированное на поле управление (FOC).
Пример запускает двигатель в этих режимах:
Остановитесь - В этом режиме, двигатель прекращает запускаться, потому что инвертор выходные параметры обнуляет вольты.
Разомкнутый контур - В этом режиме, диспетчер использует регулирование без обратной связи, чтобы запустить двигатель. Можно использовать Переменные Рабочего режима> область режима Разомкнутого контура модели хоста, чтобы изменить выходное напряжение инвертора (в относительных единицах) и скорость ротора (в относительных единицах). Используйте область Monitor, чтобы выбрать скорость и значения положения ротора, чтобы отобразить их на осциллографе для контроля.
Закрутите управление - В этом режиме, диспетчер использует алгоритм управления крутящего момента, чтобы запустить двигатель. Можно использовать Переменные Рабочего режима> область режима управления Крутящего момента двигателя модели хоста, чтобы изменить ссылочные и ссылочные текущие значения (в относительных единицах). Можно также установить предел максимальной скорости двигателя (в относительных единицах).
Можно заблокировать ротор путем превращения переключателя ползунка к положению блокировки Pos, которое обнуляет положение ротора. Поэтому в этом режиме, контроллер получает обратную связь положения как нуль, потому что двигатель прекращает запускаться. Если вы поворачиваете переключатель к Разблокировать положению, моторные запуски и контроллер получает обратную связь положения от квадратурного энкодера (можно контролировать это значение при помощи сигнала Position_meas в области Monitor модели хоста). Можно использовать осциллограф, чтобы контролировать два сигнала отладки (Сигнал № 1 монитора и Сигнал № 2 Монитора), что вы выбираете в области Monitor. Поэтому можно использовать переключатель ползунка, чтобы настроить параметры усиления управления крутящим моментом.
Регулировка скорости - В этом режиме, диспетчер использует алгоритм регулировки скорости, чтобы запустить двигатель. Можно использовать Переменные Рабочего режима> область режима управления Частоты вращения двигателя модели хоста, чтобы изменить значение Ссылки Скорости (в относительных единицах) из ротора. Можно использовать осциллограф, чтобы контролировать два сигнала отладки (Сигнал № 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. Для инструкций смотрите Оценку Параметры PMSM Используя Рекомендуемое Оборудование.
Инструмент оценки параметра обновляет motorParam переменную (в рабочей области MATLAB®) с предполагаемыми параметрами двигателя.
2. Если вы получаете параметры двигателя из таблицы данных или других источников, обновляете параметры двигателя и параметры инвертора в скрипте инициализации модели, сопоставленном с моделями Simulink®. Для инструкций смотрите Оценочные Усиления Управления от Параметров двигателя.
Если вы используете инструмент оценки параметра, вы можете обновить параметры инвертора, но не обновляете параметры двигателя в скрипте инициализации модели. Скрипт автоматически извлекает параметры двигателя из обновленной motorParam переменной рабочей области.
Выполните эти шаги, чтобы симулировать модель.
1. Откройте целевую модель, включенную с этим примером.
2. Нажмите работает на вкладке Simulation, чтобы симулировать целевую модель.
3. Откройтесь mcb_pmsm_operating_mode_f28379d> Симулируют подсистему Инструментальной панели.
Инструкции для режима выполнения разомкнутого контура:
1. Если текущий рабочий режим отличается от запущенного разомкнутого контура, выберите Stop в области Control, чтобы остановить двигатель. Выберите Разомкнутый контур, запущенный, чтобы запустить двигатель.
2. Установите ссылочные значения напряжения и задающей скорости (в относительных единицах) в Напряжении касательно (PU) и Скорости касательно полей (PU), доступных в Переменных Рабочего режима> область режима Разомкнутого контура.
Инструкции для режима управления крутящего момента:
1. Если текущий рабочий режим отличается от управления крутящим моментом, выберите Stop в области Control, чтобы остановить двигатель. Выберите управление Torque в области Control.
2. Введите значение 0
(на модуль) в Поле ссылки IQ в Переменных Рабочего режима> область режима управления Крутящего момента двигателя. Кроме того, установите ограничение скорости двигателя с помощью поля Ограничения скорости.
3. Переместите переключатель ползунка, чтобы Разблокировать положение в Переменных Рабочего режима> область режима управления Крутящего момента двигателя.
4. Введите значение 0.1
(на модуль) в в Поле ссылки IQ (в области Operating Mode Variables), чтобы начать запускать двигатель.
5. Открытый Инспектор Данных моделирования и выбирает Iq_ref_PU и сигналы Iq_fb_PU для контроля.
6. Следуйте за шагами 2 - 5 для Ссылки ID и контролируйте сигналы Id_ref_PU и Id_fb_PU.
ПРИМЕЧАНИЕ: двигатель может достигнуть высоких скоростей, если вы запускаете его ни при каком условии загрузки в этом рабочем режиме. Кроме того, двигатель не будет соответствовать ссылке IQ, текущей ни при каком условии загрузки в этом рабочем режиме.
Инструкции для режима регулировки скорости:
1. Если текущий рабочий режим отличается от регулировки скорости, выберите Stop в области Control, чтобы остановить двигатель. Выберите Регулировку скорости в области Control.
2. Введите значение 0.5
(на модуль) в Поле ссылки Скорости в Переменных Рабочего режима> область режима управления Частоты вращения двигателя.
3. Открытый Инспектор Данных моделирования и выбирает Speed_ref_PU и сигналы Speed_fb_PU для контроля.
Инструкции для настройки усиления контроллера крутящего момента:
1. Если текущий рабочий режим отличается от управления крутящим моментом, выберите Stop в области Control, чтобы остановить двигатель. Выберите управление Torque в области Control.
2. Поверните переключатель ползунка к положению блокировки Pos в Переменных Рабочего режима> область режима управления Крутящего момента двигателя.
3. Введите значение 0.2
(на модуль) в Поле ссылки ID в области Operating Mode Variables.
4. Открытый Инспектор Данных моделирования, выберите Id_ref_PU и сигналы Id_fb_PU, и наблюдайте переходной процесс этих сигналов.
5. Настройтесь управление получает Кп и Ки для токового контроллера d-оси. Выполните ступенчатое изменение, чтобы подтвердить усиления контроллера.
Инструкции для настройки усиления контроллера скорости:
1. Если текущий рабочий режим отличается от регулировки скорости, выберите Stop в области Control, чтобы остановить двигатель. Выберите Регулировку скорости в области Control.
2. Введите значение 0.5
(на модуль) в Поле ссылки Скорости в Переменных Рабочего режима> область режима управления Частоты вращения двигателя.
3. Введите значение 0.8
(на модуль) в Поле ссылки Скорости.
4. Открытый Инспектор Данных моделирования, выберите Speed_ref_PU и сигналы Speed_fb_PU, и наблюдайте переходной процесс скорости.
5. Настройтесь управление получает Kp
и Ki
для контроллера скорости. Выполните ступенчатое изменение, чтобы подтвердить усиления контроллера.
В этом разделе приведены вам команду генерировать код и запускать алгоритм 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. Выберите Разомкнутый контур, запущенный, чтобы запустить двигатель.
7. Установите ссылочные значения напряжения и задающей скорости (в относительных единицах) в Напряжении касательно (PU) и Скорости касательно полей (PU), доступных в Переменных Рабочего режима> область режима Разомкнутого контура.
Инструкции для режима управления крутящего момента:
1. Click Build, Deploy & Start на вкладке Hardware, чтобы развернуть целевую модель в оборудование.
2. Кликните по гиперссылке модели хоста в целевой модели, чтобы открыть связанную модель хоста.
3. В маске блока Host Serial Setup модели хоста выберите имя Port.
4. Нажмите работает на вкладке Simulation, чтобы запустить модель хоста.
5. Выберите Stop в области Control, чтобы остановить двигатель.
6. Введите значение 0
(на модуль) в полях Id Ref (PU) и Iq Ref (PU) в Переменных Рабочего режима> область режима управления Крутящего момента двигателя. Кроме того, установите ограничение скорости двигателя с помощью поля (PU) Ограничения скорости.
7. Выберите управление Torque в области Control.
8. Переместите переключатель ползунка, чтобы Разблокировать положение в Переменных Рабочего режима> область режима управления Крутящего момента двигателя.
9. Выберите Iq_ref for Monitor Signal № 1 и Iq_meas для Сигнала № 2 Монитора в области Monitor.
10. Введите значение 0.1
(на модуль) в в поле Iq Ref (PU) (в области 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
(на модуль) в поле Speed Ref (PU) в Переменных Рабочего режима> область режима управления Частоты вращения двигателя.
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 в Переменных Рабочего режима> область режима управления Крутящего момента двигателя.
8. Выберите Id_ref for Monitor Signal № 1 и Id_meas для Сигнала № 2 Монитора в области Monitor.
9. Введите значение 0.2
(на модуль) в поле Id Ref (PU) в области Operating Mode Variables.
10. Откройте осциллограф и контролируйте сигнал переходного процесса.
11. Настройтесь управление получает Kp
и Ki
для d
- токовый контроллер оси.
Инструкции для настройки усиления контроллера скорости:
1. Click Build, Deploy & Start на вкладке Hardware, чтобы развернуть целевую модель в оборудование.
2. Кликните по гиперссылке модели хоста в целевой модели, чтобы открыть связанную модель хоста.
3. В маске блока Host Serial Setup модели хоста выберите имя Port.
4. Нажмите работает на вкладке Simulation, чтобы запустить модель хоста.
5. Выберите Stop в области Control, чтобы остановить двигатель.
6. Выберите Регулировку скорости в области Control.
7. Выберите Speed_ref for Monitor Signal № 1 и Speed_meas для Сигнала № 2 Монитора в области Monitor.
8. Введите значение 0.5
(на модуль) в поле Speed Ref (PU) в Переменных Рабочего режима> область режима управления Частоты вращения двигателя.
9. Откройте осциллограф и наблюдайте ссылку и измеренные значения скорости.
10. Введите значение 0.8
(на модуль) в поле Speed Ref (PU).
11. Наблюдайте переходной процесс скорости в осциллографе.
12. Настройтесь управление получает Kp
и Ki
для контроллера скорости.
Инструкции для проверки модели объекта управления:
1. Откройте целевую модель, включенную с этим примером.
2. Нажмите работает на вкладке Simulation, чтобы симулировать целевую модель.
3. Откройтесь mcb_pmsm_operating_mode_f28379d> Симулируют подсистему Инструментальной панели.
4. Если текущий рабочий режим отличается от регулировки скорости, выберите Stop в области Control, чтобы остановить двигатель. Выберите Регулировку скорости в области Control.
5. Введите значение 0.2
(на модуль) в Поле ссылки Скорости в Переменных Рабочего режима> область режима управления Частоты вращения двигателя.
6. Введите значение 0.5
(на модуль) в Поле ссылки Скорости.
7. Открытый Инспектор Данных моделирования, выберите Speed_ref_PU и сигналы Speed_fb_PU, и наблюдайте переходной процесс скорости.
8. Click Build, Deploy & Start на вкладке Hardware, чтобы развернуть целевую модель в оборудование.
9. Кликните по гиперссылке модели хоста в целевой модели, чтобы открыть связанную модель хоста. Можно также использовать open_system команду, чтобы открыть модель хоста:
open_system('mcb_host_mode_control.slx');
10. В маске блока Host Serial Setup модели хоста выберите имя Port.
11. Нажмите работает на вкладке Simulation, чтобы запустить модель хоста.
12. Выберите Stop в области Control модели хоста, чтобы гарантировать, что двигатель не запускается.
13. Выберите Регулировку скорости в области Control.
14. Выберите Speed_ref for Monitor Signal № 1 и Speed_meas для Сигнала № 2 Монитора в области Monitor.
15. Введите значение 0.2
(на модуль) в поле Speed Ref (PU) в Переменных Рабочего режима> область режима управления Частоты вращения двигателя.
16. Откройте осциллограф и наблюдайте ссылку и измеренные значения скорости.
17. Введите значение 0.5
(на модуль) в поле Speed Ref (PU).
18. Наблюдайте переходной процесс скорости в осциллографе.
19. Сравните переходные процессы скорости, полученные на шагах 7 (с симуляцией) и 18 (с генерацией кода).
ПРИМЕЧАНИЕ: В области усилений Цикла управления, необходимо ввести значения усиления, которые могут быть представлены типом данных, заданным в скрипте инициализации модели.
Для получения дополнительной информации о последовательной передаче между хостом и целевыми моделями, смотрите Целевую Хостом Коммуникацию.