Управляйте PMSM, загруженным двойным двигателем (Dyno)

Этот пример использует ориентированное на поле управление (FOC), чтобы управлять двумя трехфазными постоянными магнитами синхронными двигателями (PMSM), связанными в настройке dyno. Моторный 1 запуск в режиме регулировки скорости с обратной связью. Моторные 2 запуска в режиме управления крутящего момента и Двигателе загрузок 1, потому что они механически связываются. Можно использовать этот пример, чтобы протестировать двигатель в различных условиях загрузки.

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

Эти уравнения описывают расчет d- ось и q- компоненты оси Моторных 2 ссылочных текущих статоров.

$$I{d^{ref}} = Ima{g^{ref}} \times {\rm{cos}}{\theta _e}$$

$$I{q^{ref}} = Ima{g^{ref}} \times {\rm{sin}}{\theta _e}$$

где:

  • $I{d^{ref}}$ d- компонент оси Моторных 2 ссылочных текущих статоров.

  • $I{q^{ref}}$ q- компонент оси Моторных 2 ссылочных текущих статоров.

  • $Ima{g^{ref}}$ величина Моторных 2 ссылочных текущих статоров.

  • ${\theta _e}$ электрическое положение Моторных 2 ссылочных текущих статоров.

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

Текущие циклы управления в Моторном 1 и Моторных 2 алгоритмах управления возмещены Ts/2, где Ts является уровнем выполнения цикла управления.

Модели

Пример включает модель mcb_pmsm_foc_f28379d_dyno.

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

open_system('mcb_pmsm_foc_f28379d_dyno.slx');

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

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

  • Motor Control Blockset™

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

  • Motor Control Blockset™

  • Embedded Coder®

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

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

Необходимые условия

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

Однако, если у вас есть оборудование блока управления приводом, можно оценить параметры для двигателя, который вы хотите использовать, при помощи инструмента оценки параметра Motor Control Blockset™. Для инструкций смотрите Оценку Параметры PMSM Используя Рекомендуемое Оборудование.

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

В данном примере обновите параметры двигателя для обоих двигатели в скрипте инициализации модели.

Модель симулируется

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

1. Откройте модель, включенную с этим примером.

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

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

4. Введите различную ссылку скорости для Моторного 1 и различную текущую ссылку (загрузка) для Моторных 2. Наблюдайте измеренную скорость и другие регистрируемые сигналы в Data Inspector.

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

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

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

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

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

Для связей, связанных с предыдущей аппаратной конфигурацией, см. Инструкции для Dyno (Двойной Двигатель) Setup.

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

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

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

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

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

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

В данном примере обновите значения смещения QEP в pmsm_motor1. PositionOffset и pmsm_motor2. Переменные PositionOffset в скрипте инициализации.

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

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

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

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

open_system('mcb_pmsm_foc_host_model_dyno.slx');

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

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

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

12. Обновите Моторный 1 - Задающую скорость (об/мин), Моторные 2 - Imag Касательно (A) и Моторные 2 - Imag Pos (градус) в модели хоста.

Примечание: Будьте осторожны при использовании значений кроме 90 или 270 градусов в области Моторных 2 - Imag Pos (градус) поле. Эти значения генерируют текущий вдоль d- ось, которая создает эффект намагничивания. Избыточный ток вдоль d- ось может создать насыщение и может повредить моторные магниты.

13. Выберите сигналы отладки, что вы хотите контролировать, наблюдать их в блоке Time Scope модели хоста.

Другие вещи попробовать

Можно также использовать SoC Blockset™, чтобы разработать приложение блока управления приводом в реальном времени для двойной моторной настройки, которая использует несколько ядер процессора, чтобы получить модульный принцип проекта, улучшал производительность контроллера и другие цели проекта. Для получения дополнительной информации смотрите Блок управления приводом Раздела для Многопроцессорного MCUs.