Можно использовать блок Field Oriented Control Autotuner, чтобы автоматически настроить ПИ-контроллеры в структуре управления с обратной связью (FOC) относительно машины, смоделированной в Simulink® Использование Motor Control Blockset™. Например, можно использовать Motor Control Blockset, чтобы создать точную модель электродвигателя путем сбора данных непосредственно с оборудования и вычисления параметров двигателя. Эта параметрическая модель затем используется, чтобы оценить усиления для ваших ПИ-контроллеров в векторных приложениях управления. Для получения дополнительной информации смотрите Векторное управление (FOC).
Этот рабочий процесс применяется, когда у вас есть существующая структура FOC для двигателя с начальным набором контроллеров, так что система с обратной связью является стабильной, а модель электродвигателя работает в номинальной рабочей точке. Используйте блок Field Oriented Control Autotuner, чтобы автоматически настроить существующие контроллеры с заданными полосами пропускания и запасами по фазе.
Этот блок требует программного обеспечения Simulink Control Design™.
Блок позволяет вам автоматически настроить следующие циклы управления в структуре FOC с обратной связью:
Ток по оси D цикла
Квадратурная ось (q-ось) тока цикла
Цикл скорости
Цикл потока
Блок выполняет эксперимент автотунирования с обратной связью по току d-оси, току q-оси, скорости и циклам управления потоком последовательно. Во время эксперимента для каждого цикла блок вводит синусоидальные сигналы возмущения на частотах [1/10,1/3, 1, 3, 10] ωc, где ωc является вашей заданной целевой полосой пропускания для настройки.
Когда эксперимент заканчивается, блок использует оцененную частотную характеристику для вычисления коэффициентов ПИД. Алгоритм настройки направлен на балансировку эффективности и робастности при достижении заданных вами пропускной способности и запаса по фазе управления. Можно сконфигурировать систему, чтобы автоматически обновлять усиления существующих ПИД-регуляторов, позволяя вам проверять эффективность с обратной связью в том же запуске симуляции, который используется для настройки.
Примечание
Несмотря на то, что блок Field Oriented Control Autotuner может настраивать ПИД и контроллеры PIDF, библиотека Motor Control Blockset предоставляет только ПИ-контроллеры. Выберите тип ПИ-контроллера для циклов в параметры блоков. Если вы хотите использовать другой тип контроллера, можно использовать блок PID Controller из библиотеки Simulink или можно сделать свой собственный пользовательский ПИД-регулятор.
Следующий рисунок показывает упрощённый блок векторной структуры управления для PMSM. Упрощённый блок показывает параметры в исходной системе координат ротора и не включает инвертор, преобразования Парка-Кларка или датчики. Для получения подробной модели векторного управления PMSM, смотрите Векторное управление (FOC). Для PMSM существуют три циклов управления в векторной структуре управления: цикл управления током прямой оси, цикл управления током квадратурной оси и цикл скорости. Контроллер цикла потока отсутствует, поскольку поток ротора фиксирован, и ссылка цикла тока d-оси обычно устанавливается на нуль. В некоторых приложениях можно задать отрицательное значение для ссылка тока для реализации управления ослаблением поля и достижения более высоких скоростей ротора за счет более высокого тока.
В параметрах блоков Field Oriented Control Autotuner отключите опцию, Tune flux loop когда поток ротора фиксирован с помощью постоянных магнитов для этого типа электродвигателя переменного тока.
Чтобы соединить блок Field Oriented Control Autotuner и настроить ПИ-контроллеры в модели, сначала идентифицируйте вход и выходные параметры в модели. Затем можно подключить блок, как описано ниже.
Для настройки цикла управления током по оси D:
Подключите управляющий сигнал от PI_daxis
к PIDout daxis входному порту.
Соедините perturbation daxis с помощью блока сумм с выходом PI_daxis
, который является ссылка напряжения Vd_ref
, для изменения входов объекта управления.
Подключите ток оси D, полученный из измеренных (измеренных или оцененных) токов двигателя, к measured feedback_daxis входному порту.
Для настройки тока q-оси цикла управления:
Подключите управляющий сигнал от PI_qaxis
к PIDout qaxis входному порту.
Соедините perturbation qaxis с помощью блока сумм с выходом PI_qaxis
, которое является q-составляющей напряжения ссылки Vq_ref
, для изменения входов объекта управления.
Подключите ток q-составляющей, полученный из измеренных (измеренных или оцененных) токов двигателя, к measured feedback_qaxis входному порту.
Для настройки цикла управления скорости:
Подключите управляющий сигнал от PI_speed
к PIDout speed входному порту.
Соедините perturbation speed с помощью блока сумм с выходом PI_speed
, который является q-составляющей тока ссылки Iq_ref
, для изменения входов объекта управления.
Подключите измеренную (измеренную или оцененную) скорость от двигателя к measured feedback_daxis входному порту.
Следующая модель обычно иллюстрирует, как блок вписывается в структуру FOC, как показано на предыдущей блок-схеме.
Во время процесса автоподстройки блок вводит сигналы возмущения на входах объекта, сопоставленных с каждым циклом управления, и измеряет отклики на measured feedback для каждого цикла. Когда эксперимент заканчивается, блок вычисляет коэффициент усиления ПИ и возвращает их в pid gains порту. Когда эксперимент не запускается, блок не вводит никаких сигналов возмущения. В этом состоянии блок не влияет на поведение объекта или контроллера.
Соедините входы и выходы блоков для выбранных циклов, как описано в предыдущем разделе. Для каждого цикла, который вы настраиваете, можно сконфигурировать следующие параметры контроллера:
Type - Задайте действия ПИД-регулятора. Если вы используете ПИ-контроллер из библиотеки Motor Control Blockset, установите этот параметр равным PI
для всех циклов.
Form - Задайте форму контроллера. Если вы используете ПИ-контроллер из библиотеки Motor Control Blockset, установите этот параметр равным Parallel
.
Controller sample time (sec) - Задайте шаг расчета контроллера.
Integrator method - Задайте дискретную формулу интегрирования для члена интегратора. Если вы используете ПИ-контроллер из библиотеки Motor Control Blockset, установите этот параметр равным Forward Euler
.
Filter method - Задайте формулу для дискретного производного фильтра, если ваш контроллер включает производное действие с производным фильтром.
Затем для каждого цикла задайте целевую полосу пропускания и запас по фазе для настройки с Target bandwidth (rad/sec) и Target phase margin (degrees) параметрами, соответственно.
Целевая полоса пропускания является целевым значением для частоты среза усиления 0 дБ настроенного CP отклика разомкнутого контура, где P является характеристикой объекта для данного цикла, и C является характеристикой контроллера, сопоставленной с этим циклом. Эта частота среза примерно устанавливает пропускную способность управления. Для желаемого времени нарастания τ хорошее предположение для целевой полосы 2/ τ. В порядок, чтобы иметь эффективный каскадный контроль, внутренние циклы управления (d-ось и q-ось) реагируют намного быстрее, чем внешние циклы управления (поток и скорость).
Примечание
Как типичное правило thumb, можно задать полосу пропускания такой, что:
Текущая полоса цикла, по крайней мере, в 10 раз быстрее, чем скорость цикла полоса пропускания.
Ширина полосы цикла тока, по крайней мере, в 10 раз медленнее частоты переключения.
Целевой запас по фазе отражает вашу необходимую робастность для настроенной системы. Обычно можно выбрать значение в область значений около 45 ° -60 °. В целом более высокий запас по фазе уменьшает перерегулирование, но может ограничить скорость отклика. Значение по умолчанию 60 ° имеет тенденцию балансировать эффективность и робастность, давая около 5-10% перерегулирования, в зависимости от характеристик вашего объекта.
Чтобы использовать те же настройки настройки для внутренних циклов управления, включите Use same settings for current loop controllers (D-axis + Q-axis). Это позволяет вам задать те же параметры контроллера и цели настройки для циклов тока оси D и оси Q.
Для получения дополнительной информации о настройке этих параметров смотрите Field Oriented Control Autotuner страницы с описанием блока.
В параметрах блоков задайте время запуска и длительность эксперимента по автотунированию для каждого цикла. Блок настраивает только один контроллер за раз, поэтому время запуска и длительность эксперимента настройки одного цикла не должны совпадать или перекрываться с другим циклом. Сначала настройте контроллеры внутреннего контура, а затем настройте контроллеры внешнего контура. Примите во внимание следующее, когда вы задаете время и длительность начала эксперимента.
Запустите эксперимент, когда двигатель находится в желаемой установившейся рабочей точке. Используйте начальный контроллер, чтобы привести двигатель в рабочую точку.
Избегайте любых входных или выходных нарушений порядка на двигателе во время эксперимента. Если ваша существующая система с обратной связью имеет хорошее подавление помех, то эксперимент может справиться с небольшими нарушениями порядка. В противном случае большие нарушения порядка могут исказить выход объекта и уменьшить точность оценки частотной характеристики.
Для каждого цикла блок настраивает, пусть эксперимент запускается достаточно долго, чтобы алгоритм собрал достаточные данные для хорошей оценки на всех частотах, которые он зондирует. Консервативная оценка длительности эксперимента составляет 200/ ωc, где ωc ваша целевая полоса для настраиваемого цикла.
Также можно сконфигурировать сигнал start/stop, включив Use external source for start/stop of experiment параметра.
Затем задайте Loop Experiment Settings для каждого цикла, который будет настроен. Plant Type определяет, является ли объект, сопоставленный с отдельным циклом, асимптотически стабильным или интегрирующимся. Параметр Plant Sign положителен, если положительное изменение входа объекта управления в требуемой рабочей точке приводит к положительному изменению выходного сигнала объекта выхода. В противном случае знак объекта отрицателен. Для настройки ФОК PMSM, Plant Type асимптотически стабильен и Plant Sign положителен для всех трех циклов.
Эксперимент по оценке частотной характеристики вводит синусоидальный сигнал в объект, сопоставленный с каждым циклом, на частотах [1/10, 1/3, 1, 3, 10] ωc , где ωc является целевой полосой пропускания для настройки. Используйте параметр Sine Amplitudes блока Field Oriented Control Autotuner, чтобы задать амплитуды этих сигналов. Можно либо задать скалярное значение, чтобы ввести ту же амплитуду на каждой частоте, либо вектор длины 5 чтобы задать разную амплитуду на каждой из ωc [1/10, 1/3, 1, 3, 10].
Все амплитуды возмущения должны быть:
Достаточно большое, что возмущение преодолевает любую тупиковую полосу в приводе объекта и генерирует ответ выше уровня шума.
Достаточно маленькая, чтобы сохранить объект в пределах приблизительно линейной области около номинальной рабочей точки и избежать насыщения входных или выходных параметров объекта.
Для получения дополнительной информации о настройке параметров эксперимента смотрите Field Oriented Control Autotuner страницы с описанием блока.
После того, как вы сконфигурировали все параметры для настройки, запустите модель.
Если вы сконфигурировали начало и продолжительность эксперимента в параметрах блоков, позволите симуляции работать достаточно долго, чтобы начать эксперимент, путем определения длины симуляции, большей, чем сумма наибольших времени и длительности запуска. Например, если ваше время начала цикла скорости составляет 5 секунд, а длительность - 3 секунды, то длина симуляции должна быть больше 8 секунд.
Если вы сконфигурировали внешний start/stop
сигнал, начните эксперимент, когда объект достигнет устойчивого состояния. Для получения дополнительной информации о том, как сконфигурировать внешний сигнал запуска и остановки, смотрите входные параметры Field Oriented Control Autotuner блока.
Эксперимент по оценке частотной характеристики заканчивается, когда start/stop
сигнал регистрирует падающее ребро.
Если вы сконфигурировали начало и длительность эксперимента в параметрах блоков, чтобы начать и завершить процесс настройки в определенные моменты времени, позволите симуляции пройти через конец эксперимента.
Если вы сконфигурировали внешний start/stop
сигнал, завершите эксперимент, когда сигнал на convergence
выход стабилизируется около 100% для каждого цикла.
В любом случае консервативная оценка для времени эксперимента составляет 200/ ωc, где ωc - ваша целевая полоса пропускания для настраиваемого цикла. Например, если у вас есть целевая полоса 5000 рад/сек для настройки токового контроллера d-оси, длительность эксперимента по настройке для цикла тока d-оси может составлять 0,04 секунды.
Когда вы останавливаете эксперимент, блок вычисляет новые усиления PI на основе предполагаемой частотной характеристики объекта и ваших заданных целей настройки, связанных с каждым циклом, который настраивает блок. Существует несколько способов увидеть настроенные усиления:
Просмотрите выходы pid gains
порт блока autotuner. Один из способов просмотреть этот выход - соединить выход с блоком Simulink Display.
В параметрах блоков на вкладке Block нажмите Export to MATLAB. Блок создает структуру в MATLAB® рабочая область, FOCTuningResult
. Дополнительные сведения о содержимом этой структуры см. в страницу с описанием блоков.
Блок Field Oriented Control Autotuner не записывает усиления автоматически в ваши ПИ-контроллеры. Вы можете перенести настроенные усиления на ваши контроллеры вручную или с вашей собственной логикой.
Чтобы вручную обновить коэффициент усиления ПИ, можно просмотреть выход pid gains
порт блока autotuner. pid gains
является сигналом шины, который содержит настроенные усиления ПИ-контроллеров для каждого цикла, который настраивает блок. Можно также кликнуть Export to MATLAB в параметрах блоков, чтобы получить структуру FOCTuningResult
в рабочем пространстве MATLAB, которое включает настроенные усиления контроллера.
Вы также можете сконфигурировать свою собственную логику, чтобы перенести настроенные усиления ПИ. Например, можно использовать блоки маршрутизации сигналов в Simulink для хранения, чтения и записи усилений на контроллеры.
Примечание
Если вы настраиваете Discrete PI Controller из библиотеки Motor Control Blockset, выход Field Oriented Control Autotuner блока содержит настроенные пропорциональные и интегральные составляющие. Поскольку Discrete PI controller ожидает интегральной составляющей, предварительно сглаженного шагом расчета контроллера в качестве входных параметров, вместо Ki используйте Ki*TS при записи новой интегральной составляющей в блок контроллера.
После переноса настроенных коэффициентов усиления на пИ-контроллеры можно наблюдать и проверять непрерывную эффективность системы с помощью новых коэффициентов усиления.
Field Oriented Control Autotuner