Этот пример выполняет оценку частотной характеристики (FRE) модели объекта управления, запускающей трехфазный постоянный магнит синхронный двигатель (PMSM). Когда вы симулируете или запускаете модель на целевом компьютере, модель запускает тесты, чтобы оценить частотную характеристику, как замечено каждым ПИ-контроллером (также известный как необработанные данные FRE) и отображает данные FRE на графике, чтобы обеспечить графическое представление динамики модели объекта управления.
Когда двигатель запускается в устойчивом состоянии, онлайновый блок Frequency Response Estimator, который соединяется с каждым циклом управления PI (Текущий ID, текущий IQ, и скорость) последовательно, тревожит ПИ-контроллер выход и оценивает частотную характеристику модели объекта управления, как замечено каждым ПИ-контроллером. Можно использовать частотную характеристику объекта, чтобы оценить усиления ПИ-контроллера.
Модель использует метод ориентированного на поле управления (FOC), чтобы управлять PMSM. Алгоритм FOC требует обратной связи положения ротора, которая получена квадратурным датчиком энкодера. Для получения дополнительной информации о FOC, смотрите Ориентированное на поле управление (FOC).
Пример включает модель (целевая модель) mcb_pmsm_freq_est_f28379d.
Можно использовать эту модель и для симуляции и для генерации кода. Можно также использовать open_system команду, чтобы открыть модель.
open_system('mcb_pmsm_freq_est_f28379d.slx');
Для получения дополнительной информации относительно настройки поддерживаемого оборудования, смотрите Необходимую Аппаратную тему в Сгенерировать Коде и Разверните Модель в раздел Target Hardware.
Симулировать модель:
Motor Control Blockset™
Simulink Control Design™
Сгенерировать код и развернуть модель:
1. Motor Control Blockset™
2. Embedded Coder®
3. Embedded Coder® Support Package для процессоров Instruments™ C2000™ Техаса
4. Simulink Control Design™
1. Получите параметры двигателя. Модель Simulink® использует параметры двигателя по умолчанию, которые можно заменить на значения или от моторной таблицы данных или от других источников.
Однако, если у вас есть оборудование блока управления приводом, можно оценить параметры для двигателя, который вы хотите использовать при помощи инструмента оценки параметра Motor Control Blockset. Для инструкций смотрите Оценку Параметры PMSM Используя Рекомендуемое Оборудование.
Инструмент оценки параметра обновляет motorParam
переменная (в рабочей области MATLAB®) с предполагаемыми параметрами двигателя.
2. Если вы получаете параметры двигателя из таблицы данных или других источников, обновляете параметры двигателя и параметры инвертора в скрипте инициализации модели, сопоставленном с моделями Simulink®. Для инструкций смотрите Оценочные Усиления Управления от Параметров двигателя.
Если вы используете инструмент оценки параметра, вы можете обновить параметры инвертора, но не обновляете параметры двигателя в скрипте инициализации модели. Скрипт автоматически извлекает параметры двигателя из обновленного motorParam
переменная рабочей области.
Этот пример поддерживает симуляцию. Выполните эти шаги, чтобы симулировать модель.
1. Откройте целевую модель, включенную с этим примером.
2. Нажмите работает на вкладке Simulation, чтобы симулировать модель.
3. Нажмите Data Inspector на вкладке Simulation, чтобы просмотреть и анализировать результаты симуляции.
4. На целевой модели кликните по гиперссылке ответа частоты Графика, чтобы отобразить данные о частотной характеристике на графике модели объекта управления (sys_sim_id
, sys_sim_iq
, и sys_sim_spd
переменные в рабочей области), что цикл регулировки скорости и текущая мера по циклам управления.
Этот раздел показывает вам, как сгенерировать код, запустить алгоритм FOC на целевом компьютере, запустите оценку частотной характеристики и отобразите данные FRE на графике.
Этот пример использует хост и целевую модель. Модель хоста является пользовательским интерфейсом к плате оборудования контроллеров. Можно запустить модель хоста на хосте - компьютере. Необходимое условие, чтобы использовать модель хоста должно развернуть целевую модель в плату оборудования контроллеров. Модель хоста использует последовательную передачу, чтобы управлять целевой моделью Simulink® и запустить двигатель в управлении с обратной связью.
Необходимое оборудование
Этот пример поддерживает эту аппаратную конфигурацию. Можно также использовать целевое имя модели, чтобы открыть модель от командной строки MATLAB®.
Контроллер LAUNCHXL-F28379D + (BOOSTXL-DRV8305 или BOOSTXL-3PHGANINV) инвертор: mcb_pmsm_freq_est_f28379d
Примечание: При использовании инвертора BOOSTXL-3PHGANINV, гарантируйте, что соответствующая изоляция доступна нижнему слою BOOSTXL-3PHGANINV и плате LAUNCHXL.
Для связей, связанных с аппаратными конфигурациями, см. LAUNCHXL-F28069M и Настройки LAUNCHXL-F28379D.
Сгенерируйте код и запущенную модель на целевом компьютере
1. Симулируйте целевую модель и наблюдайте результаты симуляции.
2. Завершите аппаратные связи.
3. Модель автоматически вычисляет ADC (или ток) значения смещения. Чтобы отключить эту функциональность (включил по умолчанию), обновите переменную inverter.ADCOffsetCalibEnable
к 0
в скрипте инициализации модели.
В качестве альтернативы можно вычислить значения смещения ADC и обновить его вручную в скриптах инициализации модели. Для инструкций смотрите Запуск 3-фазовые электродвигатели переменного тока в Регулировании без обратной связи и Калибруйте Смещение ADC.
4. Вычислите квадратурное значение смещения индекса энкодера и обновите его в pmsm.PositionOffset
переменная, доступная в скрипте инициализации модели, сопоставлена с целевой моделью. Для инструкций смотрите Квадратурную Калибровку Смещения Энкодера для Двигателя PMSM.
5. Откройте целевую модель для аппаратной конфигурации, которую вы хотите использовать. Если вы хотите изменить настройки аппаратной конфигурации по умолчанию для модели, смотрите Параметры конфигурации Модели.
6. Загрузите пример программы к CPU2 LAUNCHXL-F28379D. Например, загрузите программу, которая управляет синим CPU2 Во главе с использованием GPIO31 (c28379D_cpu2_blink.slx
) гарантировать, что CPU2 по ошибке не сконфигурирован, чтобы использовать периферийные устройства платы, предназначенные для CPU1.
7. Click Build, Deploy & Start на вкладке Hardware, чтобы развернуть целевую модель в оборудование.
8. Кликните по гиперссылке модели хоста в целевой модели, чтобы открыть связанную модель хоста. Можно также использовать open_system команду, чтобы открыть модель хоста.
open_system('mcb_pmsm_freq_host_f28379d.slx');
Для получения дополнительной информации о последовательной передаче между хостом и целевыми моделями, смотрите Целевую Хостом Коммуникацию.
9. В маске блока Host Serial Setup модели хоста выберите имя Port.
10. Смените положение переключателя Start / Stop Motor к На начать запускать двигатель.
11. Обновите значение Задающей скорости в модели хоста.
12. Выберите сигнал отладки, что вы хотите контролировать в разделе сигналов Отладки модели хоста. Наблюдайте эти сигналы в окне scope времени SelectedSignals.
13. Нажмите FRE Trigger button, чтобы запустить процесс FRE на целевом компьютере.
14. Select Position & Raw Данные FRE в Отладке сигнализируют, чтобы раздел модели хоста начал получать необработанные данные FRE из целевого компьютера. Состояние FRE LED становится янтарным, чтобы указать, что модель хоста получает необработанные данные FRE из целевого компьютера.
Примечание: LED показывает правильное состояние только, когда вы выбираете данные о Position & Raw FRE в разделе сигналов Отладки. В противном случае LED остается серым.
15. Проверяйте, что состояние Состояния FRE Вовлекло модель хоста. LED становится зеленым после того, как модель хоста получит все необработанные данные FRE из целевого компьютера.
16. Нажмите кнопку FRE Plot, чтобы отобразить на графике необработанные данные FRE, полученные от целевого компьютера.
17. На модели хоста нажмите Stop на вкладке Simulation, чтобы остановить симуляцию.
18. Кликните по сравнить гиперссылке в модели хоста, чтобы отобразить на графике необработанные данные FRE, сгенерированные в процессе моделирования и запущенное оборудование и сравнить их.
Для точного сравнения используйте ту же задающую скорость в процессе моделирования и при выполнении примера на целевом компьютере.
Примечание:
Чтобы остановить процесс FRE любое время, нажмите кнопку FRE Abort.
Чтобы сразу остановить двигатель, поверните Запуск / Двигатель Остановки выключает.
Сконфигурируйте эти параметры в блоке Frequency Response Estimator (от тулбокса Simulink Control Design™) маска:
Шаг расчета (Ts) - Вводит шаг расчета блока, который идентичен тому из ПИ-контроллера.
Частоты - Вводят массив частот, на которых блок тревожит ПИ-контроллер выход, чтобы оценить частотную характеристику объекта. Это поле использует (один тип данных) переменная fre.i_freq
рабочей области чтобы сохранить массив возмущения сигнализируют о частотах.
Примечание: По умолчанию модель использует размер массивов 15
. Однако можно сконфигурировать размер массивов.
Запустить/остановить значение сигналов 1
это запустилось, эксперимент FRE должен превратиться в 0
только после того, как возмущения и тесты для всех частот завершены и концы эксперимента FRE.
Амплитуды - Входят, амплитуда возмущения сигнализирует, что блок применяется к ПИ-контроллеру выход, чтобы оценить частотную характеристику объекта. Это поле использует (один тип данных) переменная fre.i_amp
рабочей области сохранить общее амплитудное значение сигналов возмущения.
Высокая амплитуда производит воздействия, когда двигатель запускается. Амплитуда, которая является слишком низкими результатами в неточном FRE.
Для получения дополнительной информации о блоке Frequency Response Estimator, смотрите Средство оценки Частотной характеристики (Simulink Control Design).
Блок Frequency Response Estimator (соединенный с каждым ПИ-контроллером) выполняет эксперимент FRE путем беспокойства ПИ-контроллера выход с помощью последовательности частот, сохраненных в fre.i_freq
.
Для каждого сигнала возмущения (представленный частотой) блок оценивает частотную характеристику объекта в форме комплексного числа. Поэтому блок использует массив частот, чтобы сгенерировать массив комплексных чисел (необработанные данные FRE). Последовательность комплексных чисел содержит информацию, связанную с задержкой фазы и усилением.
Алгоритм подсистемы Управления Конечным автоматом включает три блока Средства оценки Частотной характеристики по одному (и запускает три эксперимента FRE) в этом порядке при помощи запустить/остановить входного порта блока Frequency Response Estimator:
1. Блок FRE соединяется с циклом управления ID
2. Блок FRE соединяется с циклом управления IQ
3. Блок FRE соединяется с циклом регулировки скорости
Управление конечным автоматом гарантирует, что временной интервал между запуском и сигналами остановки больше или равен продолжительности эксперимента FRE (как отображено диалоговым окном блока Средства оценки Частотной характеристики). Если вы изменяете частоты сигнала возмущения, гарантируете, что управление конечным автоматом отправляет, остановка сигнализируют только после концов эксперимента FRE.
Для получения дополнительной информации о блоке Frequency Response Estimator, смотрите Средство оценки Частотной характеристики (Simulink Control Design).
После концов симуляции целевая модель хранит частотную характеристику (или необработанные данные FRE) в этих переменных рабочей области:
out.Idfreqdata
- Необработанные данные FRE для ID текущий ПИ-контроллер.
out.Iqfreqdata
- Необработанные данные FRE для IQ текущий ПИ-контроллер.
out.Spdfreqdata
- Необработанные данные FRE для ПИ-контроллера скорости.
Когда вы кликаете по гиперссылке ответа частоты Графика в целевой модели, модель строит частотную характеристику для этих трех ПИ-контроллеров.
Целевая модель использует эти команды, чтобы построить частотные характеристики, как замечено этими тремя ПИ-контроллерами.
Частотная характеристика ID текущий ПИ-контроллер:
sys_sim_id = frd(out.Idfreqdata,fre.i_freq*2*pi);
bode(sys_sim_id);
Частотная характеристика IQ текущий ПИ-контроллер:
sys_sim_iq = frd(out.Iqfreqdata,fre.i_freq*2*pi);
bode(sys_sim_iq);
Частотная характеристика ПИ-контроллера скорости:
sys_sim_spd = frd(out.Spdfreqdata,fre.spd_freq*2*pi);
bodeplot(sys_sim_spd);
Для получения дополнительной информации об этих командах, смотрите эти файлы:
mcb_pmsm_freq_est_plot.m
mcb_pmsm_freq_host_est_plot.m
При выполнении целевой модели на оборудовании целевая модель передает необработанные данные FRE постоянно модели хоста.
Целевая модель разделяет целую последовательность комплексных чисел (или необработанные данные FRE) от каждого блока FRE в действительные и мнимые массивы и добавляет заголовки, чтобы разделить их. Это использует этот формат, чтобы отправить необработанные данные FRE от каждого блока FRE до модели хоста, использующей последовательную передачу.
После получения сообщения от целевого компьютера модель хоста дешифрует сообщение и хранит массив комплексных чисел (необработанные данные FRE) в этих переменных рабочей области:
IdfreqData
- Необработанные данные FRE для ID текущий ПИ-контроллер.
IqfreData
- Необработанные данные FRE для IQ текущий ПИ-контроллер.
SpdfreqData
- Необработанные данные FRE для ПИ-контроллера скорости.
Когда вы нажимаете кнопку FRE Plot, модель хоста строит частотную характеристику для этих трех ПИ-контроллеров.
Модель хоста использует эти команды, чтобы построить частотные характеристики, наблюдаемые для этих трех ПИ-контроллеров.
Частотная характеристика ID текущий ПИ-контроллер:
sys_hw_id=frd(IdFreqData.signals.values,fre.i_freq*2*pi);
bode(sys_hw_id);
Частотная характеристика IQ текущий ПИ-контроллер:
sys_hw_iq=frd(IqFreqData.signals.values,fre.i_freq*2*pi);
bode(sys_hw_iq);
Частотная характеристика ПИ-контроллера скорости:
sys_hw_spd=frd(SpdFreqData.signals.values,fre.spd_freq*2*pi);
bode(sys_hw_spd);
Для получения дополнительной информации об этих командах, смотрите эти файлы:
mcb_pmsm_freq_est_plot.m
mcb_pmsm_freq_host_est_plot.m
Эти шаги показывают вам, как настроить и определить усиления для токов ID и IQ и скорости ПИ-контроллеров:
1. Перейдите к вкладке Apps на панели инструментов Simulink и откройте приложение PID Tuner.
2. Во вкладке PID Tuner выберите PI for Type, Parallel for Form и Frequency for Domain.
3. Под Объектом выберите Import, чтобы открыть окно Import Linear System.
4. В окне Import Linear System выберите sys_sim_id и нажмите Import, чтобы импортировать данные FRE для ПИ-контроллера ID.
5. Выберите Add Plot> Bode> Open-loop, чтобы открыть диаграмму Боде разомкнутого контура для ПИ-контроллера ID.
6. Используйте раздел Tuning Tools во вкладке PID Tuner, чтобы настроить полосу пропускания и запас по фазе и наблюдать результаты в диаграммах Боде объекта и разомкнутом контуре.
7. После того, как вы закончите настраиваться, нажмите Show Parameters, чтобы отобразить настроенные параметры контроллера Кп и Ки для ID текущий ПИ-контроллер.
8. Повторите шаги 3 - 7 путем выбора sys_sim_iq в окне Import Linear System, чтобы получить настроенные параметры Кп и Ки для ПИ-контроллера IQ.
9. Обновите значения усиления Кп и Ки и для ID и для IQ текущие ПИ-контроллеры в скрипте инициализации модели mcb_pmsm_freq_est_f28379d.slx
в качестве примера. Для инструкций смотрите Оценочные Усиления Управления от Параметров двигателя.
10. Выполните оценку частотной характеристики снова с помощью обновленных коэффициентов усиления ПИ-контроллера или симулировав пример или запустив его на целевом компьютере.
11. Выполните шаги 3 - 7 путем выбора sys_sim_spd в окне Import Linear System, чтобы получить настроенные параметры Кп и Ки для ПИ-контроллера скорости.
Настройка ПИД-регулятора в Simulink (Simulink Control Design)
Можно попытаться оценить передаточные функции и модели в пространстве состояний из данных FRE при помощи этих функций от System Identification Toolbox™:
ssest
tfest