Этот пример использует векторное управление (FOC), чтобы контролировать скорость трехфазного синхронного двигателя с постоянными магнитами (PMSM). Это дает вам опции использовать эти блоки Simscape Electrical в качестве альтернативы блоку Inverter Среднего Значения в Motor Control Blockset™:
Конвертер (трехфазный)
Идеальный полупроводниковый переключатель
Пример также дает вам опции использовать блок PMSM из Simscape™ Electrical™ как альтернативу блоку Surface Mount PMSM из Motor Control Blockset™. Эти Simscape™ Electrical™ блоки позволяют вам генерировать высокоточные симуляции.
Векторное управление (FOC) нуждается в обратной связи в реальном времени положения ротора. Этот пример использует датчик квадратурного энкодера, чтобы измерить положение ротора. Для получения дополнительной информации о ВОК смотрите Векторное управление (ВОК).
Можно использовать этот пример, чтобы симулировать целевую модель с помощью различных инверторов и контролировать ток обратной связи для каждого инвертора. Можно также сгенерировать код и использовать модель хоста наряду с целевой моделью.
Пример включает в себя mcb_ee_pmsm_foc модели.
Можно использовать эту модель как для симуляции, так и для генерации кода. Можно также использовать команду open_system, чтобы открыть модель Simulink ®. Для примера используйте эту команду для основанного на F28379D контроллера:
open_system('mcb_ee_pmsm_foc.slx');
Чтобы симулировать модель:
Motor Control Blockset™
Simscape™ Electrical™
Чтобы сгенерировать код и развернуть модель:
Motor Control Blockset™
Simscape™ Electrical™
Embedded Coder ®
Пакет поддержки Embedded Coder ® для процессоров Instruments™ C2000™ в Техасе
Fixed-Point Designer™ (требуется только для оптимизированной генерации кода)
1. Получите параметры двигателя. Мы предоставляем параметры двигателя по умолчанию с моделью Simulink ®, которую вы можете заменить значениями либо из таблицы данных двигателей, либо из других источников.
Однако, если у вас есть оборудование управления двигателем, можно оценить параметры для двигателя, который вы хотите использовать, с помощью инструмента оценки параметра Motor Control Blockset. Для получения инструкций смотрите Оценку параметров двигателя с помощью Parameter Estimation Tool Motor Control Blockset.
Инструмент оценки параметра обновляет переменную motorParam (в рабочей области MATLAB ®) с помощью предполагаемых параметров двигателя.
2. Если вы получаете параметры двигателя из таблицы данных или других источников, обновляйте параметры двигателя и параметры инвертора в скрипте инициализации модели, сопоставленном с моделями Simulink ®. Для получения инструкций смотрите Оценку коэффициентов усиления из параметров двигателя.
Если вы используете инструмент оценки параметра, можно обновить параметры инвертора, но не обновляйте параметры двигателя в скрипте инициализации модели. Скрипт автоматически извлекает параметры двигателя из обновленной переменной рабочей области motorParam.
Этот пример поддерживает симуляцию. Выполните следующие шаги, чтобы симулировать модель.
1. Откройте целевую mcb_ee_pmsm_foc модели.
2. Выберите одну из следующих опций в радиогруппе InverterSelected в целевой модели:
Motor Control Blockset инвертор среднего значения - выберите эту опцию, чтобы использовать блоки Average Inverter и Surface Mount PMSM.
Simscape Electrical 3 phase converter - Выберите эту опцию, чтобы использовать блоки Converter (Трехфазный) и PMSM.
Simscape Electrical Modular Multilevel Converter - Выберите эту опцию, чтобы использовать Идеальные Полупроводниковый Переключатель и блоки PMSM.
3. Выберите опцию из радиогруппы InverterSelected и нажатия кнопки Запуска на вкладке Симуляции, чтобы симулировать целевую модель.
4. На целевой модели щелкните Data Inspector на вкладке Simulation, чтобы просмотреть результаты трёх запусков симуляции.
Это изображение показывает результаты симуляции для тока фазы:
Эти изображения показывают сравнение скорости ротора, тока, тока фазы и положения ротора для трех типов инвертора:
Эти изображения показывают сравнение форм волны модуляции ШИМ для трех типов инверторов:
В этом разделе приведены инструкции для генерации кода и запуска алгоритма FOC на целевом компьютере.
В примере используются хост и целевая модель. Модель хоста является пользовательским интерфейсом к аппаратной плате контроллера. Можно запустить главную модель на хост-компьютер. Необходимым условием для использования модели хоста является развертывание целевой модели на аппаратной плате контроллера. Модель хоста использует последовательную связь, чтобы командовать целевой моделью Simulink ® и запустить двигатель в системе управления с обратной связью.
Необходимое оборудование
Пример поддерживает это аппаратное строение. Можно также использовать имя целевой модели, чтобы открыть модель для соответствующего аппаратного строения, из командной строки MATLAB ®.
LAUNCHXL-F28379D контроллер + BOOSTXL-DRV8305 инвертор: mcb_ee_pmsm_foc
Для подключений, связанных с предыдущим аппаратным строением, смотрите LAUNCHXL-F28069M и LAUNCHXL-F28379D Строений.
Сгенерируйте код и запустите модель на целевом компьютере
1. Симулируйте целевую модель и наблюдайте результаты симуляции.
2. Завершите аппаратные подключения.
3. Модель автоматически вычисляет значения смещения АЦП (или тока). Чтобы отключить эту функциональность (включенную по умолчанию), обновите значение 0 на инвертор переменной. ADCOffsetCalibEnable в скрипте инициализации модели.
Также можно вычислить значения смещения АЦП и обновить его вручную в скриптах инициализации модели. Для получения инструкций смотрите Запуск 3-Phase электродвигателей переменного тока в разомкнутом контуре управления и Калибровка смещения АЦП.
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');
Для получения дополнительной информации о последовательной связи между хостом и целевыми моделями, смотрите Host-Target Communication.
9. В маске блока Host Serial Setup модели хоста выберите имя.
10. Обновите значение Задающая скорость в модели хоста.
11. Щелкните Запуском на вкладке Симуляции, чтобы запустить модель хоста.
12. Смените положение переключателя Start/Stop Motor на On, чтобы начать вращать двигатель.
13. Наблюдайте сигналы отладки от подсистемы RX в блоках Time Scope и Display модели хоста.
Примечание: В модели хоста можно также выбрать сигналы отладки, которые вы хотите контролировать.
Можно также использовать SoC Blockset™ для реализации приложения управления двигателем с обратной связью, которое решает проблемы, связанные с синхронизацией ADC-PWM, реакцией контроллера и изучением различных настроек PWM. Можно использовать Simscape™ Electrical™ для реализации симуляции инвертора высокой точности. Для получения дополнительной информации смотрите Интеграция планирования MCU и периферийных устройств в приложении управления двигателем.