Модель, переключающая динамику в инвертор Используя Simscape Electrical

Этот пример использует ориентированное на поле управление (FOC), чтобы контролировать скорость трехфазного постоянного магнита синхронного двигателя (PMSM). Это дает вам опцию, чтобы использовать эти блоки Simscape Electrical в качестве альтернативы блоку Average Value Inverter в Motor Control Blockset™:

  • (Трехфазный) конвертер

  • Идеальный полупроводниковый переключатель

Пример также дает вам опцию, чтобы использовать блок PMSM из Simscape™ Electrical™ как альтернатива блоку Surface Mount PMSM из Motor Control Blockset™. Эти блоки Simscape™ Electrical™ позволяют вам сгенерировать высокочастотные симуляции.

Для ориентированного на поле управления (FOC) нужна оперативная обратная связь положения ротора. Этот пример использует квадратурный датчик энкодера, чтобы измерить положение ротора. Для получения дополнительной информации о реализации FOC, смотрите, что Управление Частотой вращения двигателя Реализации Использует Ориентированное на поле управление (FOC).

Можно использовать этот пример, чтобы симулировать целевую модель при помощи различных инверторов и контролировать обратную связь, текущую для каждого инвертора. Можно также сгенерировать код и использовать модель хоста наряду с целевой моделью.

Модели

Пример включает эту модель:

  • mcb_ee_pmsm_foc

Можно использовать эту модель и в симуляции и в генерации кода. Можно использовать open_system команду, чтобы открыть модель Simulink®. Например, используйте эту команду в F28379D, базирующемся контроллер:

open_system('mcb_ee_pmsm_foc.slx');

Необходимый MathWorks® Products

Симулировать модель:

  • Motor Control Blockset™

  • Simscape™ Electrical™

Сгенерировать код и развернуть модель:

  • Motor Control Blockset™

  • Simscape™ Electrical™

  • Embedded Coder®

  • Embedded Coder® Support Package для процессоров Instruments™ C2000™ Техаса

  • Fixed-Point Designer™ (только необходимый для генерации оптимизированного кода)

Предпосылки

1. Получите моторные параметры. Мы предоставляем моторным параметрам по умолчанию модель Simulink®, которую можно заменить на значения или от моторной таблицы данных или от других источников.

Однако, если у вас есть оборудование блока управления приводом, можно оценить параметры для двигателя, который вы хотите использовать, при помощи инструмента оценки параметра Motor Control Blockset. Для инструкций смотрите Оценочные Моторные Параметры при помощи Motor Control Blockset Parameter Estimation Tool.

Инструмент оценки параметра обновляет motorParam переменную (в рабочей области MATLAB®) предполагаемыми моторными параметрами.

2. Если вы получаете моторные параметры из таблицы данных или других источников, обновляете моторные параметры и параметры инвертора в скрипте инициализации модели, сопоставленном с моделями Simulink®. Для инструкций смотрите Оценочные Усиления Управления от Моторных Параметров.

Если вы используете инструмент оценки параметра, вы можете обновить параметры инвертора, но не обновляете моторные параметры в скрипте инициализации модели. Скрипт автоматически извлекает моторные параметры из обновленной motorParam переменной рабочей области.

Симулируйте модель

Этот пример поддерживает симуляцию. Выполните эти шаги, чтобы симулировать модель.

1. Откройте целевую модель mcb_ee_pmsm_foc.

2. Выберите одну из этих опций в группе радио InverterSelected в целевой модели:

  • Средний инвертор Motor Control Blockset - Выбирает эту опцию, чтобы использовать Средний Инвертор и Поверхностный монтаж блоки PMSM.

  • Simscape Electrical 3 конвертера фазы - Выбирает эту опцию, чтобы использовать (Трехфазный) Конвертер и блоки PMSM.

  • Simscape Electrical Модульный Многоуровневый конвертер - Выбирает эту опцию, чтобы использовать Идеальный Полупроводниковый Переключатель и блоки PMSM.

3. Выберите опцию от группы радио InverterSelected и нажмите, работает на вкладке Simulation, чтобы симулировать целевую модель.

4. На целевой модели нажмите Data Inspector на вкладке Simulation, чтобы просмотреть результаты трех запусков симуляции.

Это изображение показывает результаты симуляции для${I_a}$ текущей фазы:

Эти изображения показывают сравнение скорости ротора,${I_q}$ текущей,${I_{ab}}$ текущая фаза, и положение ротора для трех типов инвертора:

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

Сгенерируйте код и разверните модель в целевой компьютер

В этом разделе приведены вам команду генерировать код и запускать алгоритм FOC на целевом компьютере.

Пример использует хост и целевую модель. Модель хоста является пользовательским интерфейсом к плате оборудования контроллеров. Можно запустить модель хоста на хосте - компьютере. Предпосылка, чтобы использовать модель хоста должна развернуть целевую модель в плату оборудования контроллеров. Модель хоста использует последовательную передачу, чтобы управлять целевой моделью Simulink® и запустить двигатель в управлении с обратной связью.

Необходимое оборудование

Этот пример поддерживает эту аппаратную конфигурацию. Используйте целевое имя модели (подсвеченный полужирным), чтобы открыть модель для соответствующей аппаратной конфигурации от командной строки MATLAB®.

  • Контроллер LAUNCHXL-F28379D + инвертор BOOSTXL-DRV8305: mcb_ee_pmsm_foc

Для связей, связанных с предыдущей аппаратной конфигурацией, см. LAUNCHXL-F28069M и настройки LAUNCHXL-F28379D.

Сгенерируйте код и запущенную модель на целевом компьютере

1. Симулируйте целевую модель и наблюдайте результаты симуляции.

2. Завершите аппаратные связи.

3. Модель автоматически вычисляет ADC (или текущий) значения смещения. Чтобы отключить эту функциональность (включил по умолчанию), обновите значение 0 к переменному инвертору. ADCOffsetCalibEnable в скрипте инициализации модели.

В качестве альтернативы можно вычислить значения смещения ADC и обновить его вручную в скриптах инициализации модели. Для инструкций смотрите Запуск 3-фазовые электродвигатели переменного тока в Регулировании без обратной связи и Калибруйте Смещение ADC.

4. Вычислите квадратурное значение смещения индекса энкодера и обновите его в скриптах инициализации модели, сопоставленных с целевой моделью. Для инструкций смотрите Квадратурную Калибровку Смещения Энкодера для Двигателя PMSM.

5. Откройте целевую модель. Если вы хотите изменить настройки аппаратной конфигурации по умолчанию для модели, смотрите Параметры конфигурации Модели.

6. Чтобы гарантировать, что CPU2 по ошибке не сконфигурирован, чтобы использовать периферийные устройства платы, предназначенные в CPU1, загрузите пример программы к CPU2 LAUNCHXL-F28379D, например, программа, которая управляет синим CPU2 Во главе с использованием GPIO31 (c28379D_cpu2_blink.slx).

7. Click Build, Deploy & Start на вкладке Hardware, чтобы развернуть целевую модель в оборудование.

8. Кликните по гиперссылке модели хоста в целевой модели, чтобы открыть связанную модель хоста. Можно также использовать open_system команду, чтобы открыть модель хоста. Например, используйте эту команду в F28379D, базирующемся контроллер:

open_system('mcb_pmsm_foc_host_model_f28379d.slx');

Для получения дополнительной информации о последовательной передаче между хостом и целевыми моделями, смотрите Целевую Хостом Коммуникацию.

9. В маске блока Host Serial Setup модели хоста выберите имя Port.

10. Обновите Ссылочное значение Скорости в модели хоста.

11. Нажмите работает на вкладке Simulation, чтобы запустить модель хоста.

12. Смените положение переключателя Start / Stop Motor к На, чтобы начать запускать двигатель.

13. Наблюдайте сигналы отладки от подсистемы RX в блоках Осциллографа и Отображения Времени модели хоста.

Примечание: В модели хоста, можно также выбрать сигналы отладки, что вы хотите контролировать.

Для просмотра документации необходимо авторизоваться на сайте