Настройка ПИ-контроллеров с использованием блока Autotuner для векторного управления в системах реального времени

Этот пример вычисляет значения усиления пропорционально-интегральных (PI) контроллеров в пределах скорости и токовых контроллеров с помощью блока Field Oriented Control Autotuner. Для получения дополнительной информации о векторном управлении смотрите Векторное управление (FOC).

Эта модель поддерживает и симуляцию, и генерацию кода. Когда вы запускаете модель, он использует простые значения усиления для ПИ-контроллеров, чтобы достичь устойчивого состояния операции регулировки скорости.

Модель начинает настройку только в установившемся состоянии. Он вводит нарушения порядка в контроллер выходе в зависимости от целей контроллера (полоса пропускания и запас по фазе). Модель использует отклик системы для нарушений порядка, чтобы вычислить оптимальный коэффициент усиления контроллера.

Модель

Пример включает в себя mcb_pmsm_foc_autotuner_speedgoat модели.

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

open_system('mcb_pmsm_foc_autotuner_speedgoat.slx');

Для получения дополнительной информации о поддерживаемом строении оборудования смотрите раздел «Необходимое аппаратное обеспечение» в разделах «Генерация кода» и «Развертывание модели на целевом компьютере».

Необходимые продукты MathWorks ®

  • Motor Control Blockset™

  • Simulink Control Design™

  • Функции Simulink Real-Time™

  • Библиотека Speedgoat

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

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

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

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

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

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

2. Проверьте профиль задающей скорости, сконфигурированный в Signal Builder (доступен в mcb_pmsm_foc_autotuner_speedgoat/System Inputs/Speed Reference).

3. Проверьте и обновите параметры FOC Autotuner в маске блока Field Oriented Control Autotuner (доступной в подсистеме Control Algorithms/FOC_AutoTuner). Для получения дополнительной информации о блоке Field Oriented Control Autotuner см. раздел Field Oriented Control Autotuner.

4. Проверьте и обновите простые значения усиления в скрипте инициализации модели, сопоставленном с моделью.

5. Щелкните Запуском на вкладке Симуляции, чтобы симулировать модель.

6. Проверьте, что двигатель достигает устойчивой операции по крайней мере на половине номинальной скорости, используя введенные вами простые значения усиления. Модель начинает настройку управления полем (FOC) (с использованием блока Field Oriented Control Autotuner) на семнадцатой секунде.

7. После завершения настройки наблюдайте вычисленные значения усиления ПИ-контроллера в блоке Отображения PI Params, доступном в Подсистеме Алгоритмов Управления.

8. Наблюдайте отклик системы с новыми вычисленными параметрами PI с помощью Данные Моделирования Inspector.

Для получения дополнительной информации см. раздел «Настройка ПИ-контроллеров с использованием автоматического управления, ориентированного на поле».

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

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

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

Этот пример поддерживает Speedgoat Electric Motor Control Kit, который включает в себя эти компоненты:

  • Трехфазный инвертор с номиналом 48 В и 20 А от Speedgoat

  • 100 Вт трехфазный бесщеточный двигатель постоянного тока от Maxon Motor

  • Квадратурный энкодер с 4096 импульсами

  • Степень постоянного тока 150 Вт 254 В

ПРИМЕЧАНИЕ. Обратитесь в Speedgoat за файлом битового потока, допустимым для вашего оборудования.

Для получения дополнительной информации о Speedgoat Electric Motor Control Kit, смотрите Electric Motor Control Kit.

Для получения дополнительной информации о настройке оборудования Speedgoat смотрите Руководство по строению программного обеспечения Speedgoat.

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

1. Симулируйте модель и проверьте, что вы получаете необходимый ответ контроллера.

2. Выполните аппаратные подключения для Speedgoat Electric Motor Control Kit.

  • Калибровка смещения тока

1. В модели установите Рабочий режим на Калибровку смещения тока.

2. На вкладке Real-Time на панели инструментов Simulink, нажмите Build Model в раскрывающемся меню Run on Target, чтобы создать модель.

ПРИМЕЧАНИЕ. Не нажимайте Run on Target, потому что эта модель примера не поддерживает выполнение в реальном времени во режиме external mode.

3. Перейдите в папку, в которой Simulink построил модель. Дважды кликните mcb_pmsm_foc_autotuner_speedgoat.mldatx файла, чтобы открыть диалоговое окно Simulink Real-Time Application.

4. В диалоговом окне Simulink Real-Time Application выберите целевой компьютер, к которому вы подключены. Нажмите кнопку ОК, чтобы загрузить файл приложения на оборудование.

5. Введите эти команды (в том же порядке) в командной строке MATLAB, чтобы выполнить загруженное приложение на оборудовании.

  • tg = slrealtime;

  • tg.start;

6. После успешного запуска модели используйте Data Inspector на вкладке Simulation, чтобы увидеть записанные сигналы. Стабилизированные сигналы Iab_offset являются смещениями тока.

7. Обновите значения смещения тока в инверторе. CtSensAOffset и инвертор. Переменные CtSensBOffset, доступные в скрипте инициализации модели, сопоставленном с моделью Simulink.

  • Запуск двигателя в разомкнутом контуре

1. В модели установите Рабочий режим на Разомкнутый Контур Управления Скоростью.

2. На вкладке Real-Time на панели инструментов Simulink, нажмите Build Model в раскрывающемся меню Run on Target, чтобы создать модель.

3. Перейдите в папку, в которой Simulink построил модель. Дважды кликните mcb_pmsm_foc_autotuner_speedgoat.mldatx файла, чтобы открыть диалоговое окно Simulink Real-Time Application.

4. В диалоговом окне Simulink Real-Time Application выберите целевой компьютер, к которому вы подключены. Нажмите кнопку ОК, чтобы загрузить файл приложения на оборудование.

5. Введите эти команды (в том же порядке) в командной строке MATLAB, чтобы выполнить загруженное приложение на оборудовании.

  • tg = slrealtime;

  • tg.start;

6. После выполнения модели используйте Data Inspector на вкладке Simulation, чтобы увидеть записанные сигналы. Проверьте, что обратная связь по скорости (Speed_fb) следует сигналу задающей скорости (Speed_Ref).

Для примера проверьте, что положительная задающая скорость имеет положительную обратную связь скорости, и сигнал положения (Pos_PU) имеет положительный шаг.

Если существует несоответствие в знаке сигналов задающей скорости и скорости обратной связи, измените параметр A leads B (блока Inverter и Модель объекта управления/SpeedGoatDrivers/Condition Энкодеру) с 0 до 1 или с 1 до 0. Затем выполните шаги 2-6 в этом разделе, чтобы снова выполнить модель на оборудовании.

ПРИМЕЧАНИЕ: В режиме регулировки скорости разомкнутого контура скорость двигателя ограничена между 500 об/мин и 1200 об/мин.

  • Запуск двигателя в системе управления с обратной связью

1. В модели установите Рабочий режим на Управление Скоростью Замкнутого Цикла.

2. Установите кнопку FOC Autotuner в модели на Disable, чтобы отключить векторное управление (FOC) Autotuner.

3. На вкладке Real-Time на панели инструментов Simulink, нажмите Build Model в раскрывающемся меню Run on Target, чтобы создать модель.

4. Перейдите в папку, в которой Simulink построил модель. Дважды кликните mcb_pmsm_foc_autotuner_speedgoat.mldatx файла, чтобы открыть диалоговое окно Simulink Real-Time Application.

5. В диалоговом окне Simulink Real-Time Application выберите целевой компьютер, к которому вы подключены. Нажмите кнопку ОК, чтобы загрузить файл приложения на оборудование.

6. Введите эти команды (в том же порядке) в командной строке MATLAB, чтобы выполнить загруженное приложение на оборудовании и запустить двигатель.

  • tg = slrealtime;

  • tg.start;

Двигатель запускается в системе управления с обратной связью со скоростью, которая сконфигурирована в Signal Builder.

7. Проверьте, что двигатель достигает установившейся операции, потому что автотурнир FOC не будет работать, если скорость двигателя нестабильна.

Если двигатель не может достичь устойчивого состояния, измените параметры PI вручную в скрипте инициализации модели (сопоставленном с моделью), пока скорость двигателя не стабилизируется до половины номинальной скорости двигателя.

ПРИМЕЧАНИЕ. При настройке параметров PI в скрипте инициализации модели двигатель может показать медленную скорость отклика.

8. Если двигатель достигает стабильной скорости, выполните шаги, чтобы запустить FOC Autotuner.

  • Запуск автотурнира FOC

1. Установите кнопку FOC Autotuner в модели на Enable, чтобы включить векторный автотюнер управления.

2. Проверьте, установлен ли в рабочем режиме режим управления скоростью в закрытом цикле.

3. Проверьте и обновите параметры FOC Autotuner (такие как тайминг триггера автотанжера и цель контроллера) в маске блока Field Oriented Control Autotuner (доступной в подсистеме Control Algorithms/FOC_AutoTuner). Для получения дополнительной информации о блоке Field Oriented Control Autotuner см. раздел Field Oriented Control Autotuner.

4. На вкладке Real-Time на панели инструментов Simulink, нажмите Build Model в раскрывающемся меню Run on Target, чтобы создать модель.

5. Перейдите в папку, в которой Simulink построил модель. Дважды кликните mcb_pmsm_foc_autotuner_speedgoat.mldatx файла, чтобы открыть диалоговое окно Simulink Real-Time Application.

6. В диалоговом окне Simulink Real-Time Application выберите целевой компьютер, к которому вы подключены. Нажмите кнопку ОК, чтобы загрузить файл приложения на оборудование.

7. Введите эти команды (в том же порядке) в командной строке MATLAB, чтобы выполнить загруженное приложение на оборудовании и запустить двигатель.

  • tg = slrealtime;

  • tg.start;

Модель начинает настройку управления полем (FOC) (используя блок Field Oriented Control Autotuner) на семнадцатой секунде после начала выполнения модели на оборудовании. Это регистрирует значения выгоды ПИ - контроллера (kp_Id, ki_Id, kp_Iq, ki_Iq, kp_speed, ki_speed) в Инспекторе Данных моделирования.

8. Наблюдайте и сравните отклик системы с параметрами PI перед настройкой и после настройки в Данные моделирования Inspector.

9. Если отклик системы после настройки удовлетворителен, обновите значения усиления в скрипте инициализации модели, сопоставленном с моделью. Для последовательных выполнений модели можно отключить настройку FOC с помощью кнопки FOC Autotuner в модели и продолжить проверку с обратной связью с использованием новых параметров PI.

ПРИМЕЧАНИЕ: Не изменяйте и не изменяйте значение задающей скорости в Signal Builder так, чтобы задающая скорость изменялась в процессе настройки.

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