В этом примере показано, как использовать блок Closed-Loop PID Autotuner, чтобы настроить ПИД-регулятор для объекта конвертера повышения и во времени симуляции и в реальное время.
В этом примере конвертер повышения режима напряжения моделируется в Simulink® с помощью компонентов Simscape™ Electrical™. Параметры этих компонентов основаны [1].
mdl = 'scdboostconverterPIDTuning';
open_system(mdl)
Схема конвертера повышения преобразует напряжение постоянного тока в другого, обычно выше, напряжение постоянного тока управляемым прерыванием или переключением исходного напряжения. В этой модели MOSFET, управляемый сигналом модуляции длительности импульса (PWM), используется в переключении. Цифровой ПИД-регулятор настраивает рабочий цикл PWM, чтобы обеспечить напряжение загрузки Vout
в его ссылочном Vref
.
В номинальной рабочей точке напряжение загрузки на уровне 18 вольт, и рабочий цикл - приблизительно 0,74. Рабочий цикл может варьироваться от 0,1 до 0,85 во время работы конвертера повышения.
Существующий ПИД-регулятор имеет усиления P = 0.02, я = 160, D = 0.00005 и N = 20000. Они хранятся в Блоке памяти Хранилища данных и предоставленный внешне блоку PID. Наличие внешнего импорта усиления позволяет вам изменять их после того, как новые усиления будут вычислены блоком Closed-Loop PID Autotuner.
Блок Closed-Loop PID Autotuner позволяет вам настраивать одноконтурный ПИД-регулятор и во времени симуляции и в реальное время. Это вводит синусоидальные сигналы возмущения во входе объекта и измеряет объект выход во время эксперимента с обратной связью. Когда эксперимент останавливается, блок вычисляет коэффициенты ПИД на основе частотных характеристик объекта, оцененных около желаемой пропускной способности.
Блок Closed-Loop PID Autotuner поддерживает два типичных настраивающих сценария ПИДа в режиме реального времени приложения:
(1) Разверните блок на оборудовании и используйте его в автономном приложении реального времени без присутствия Simulink.
(2) Разверните блок на оборудовании, но контролируйте и справьтесь с настраивающим процессом реального времени в Simulink, с помощью внешнего режима симуляции. Режим external mode позволяет связь между Диаграммой Simulink, работающей на хосте - компьютере и сгенерированным кодом, работающим на оборудовании.
Этот пример фокусируется на первом сценарии, развертывая блок, чтобы выполнить настройку в реальном времени.
Simulink Control Design™ также обеспечивает блок Open-Loop PID Autotuner для настройки ПИДа в реальном времени. Основное различие между двумя блоками автотюнера - то, что групповые переносы Автотюнера ПИДа Разомкнутого цикла эксперимент с открытой обратной связью (т.е. существующий контроллер не находится в действии). Чтобы решить, какой блок автотюнера является лучшим для вашего приложения, рассмотрите:
Если у вас нет начального контроллера, используйте блок Open-Loop PID Autotuner, чтобы получить тот. Можно продолжить использовать его, чтобы повторно настроить контроллер или заменить его на Автотюнер ПИДа С обратной связью.
Если у вас есть начальный контроллер, используйте блок Closed-Loop PID Autotuner в перенастройке. Главные преимущества: (1) то, если будет неожиданное воздействие во время эксперимента, оно будет отклонено существующим контроллером, чтобы гарантировать безопасную работу; (2) существующим контроллером, будет поддерживать объект в рабочем состоянии около его номинальной рабочей точки путем подавления сигналов возмущения также.
Вставьте блок Closed-Loop PID Autotuner между блоком PID и объектом, как показано в модели конвертера повышения. Запустить/остановить сигнал запускает и останавливает эксперимент с обратной связью. Когда никакой эксперимент не запускается, блок Closed-Loop PID Autotuner ведет себя как блок усиления единицы, где u
предупредите непосредственно передает u+Δu
.
Существует несколько вещей знать при использовании блока Closed-Loop PID Autotuner и в симуляции и в приложении реального времени:
Объект должен быть любой асимптотически устойчивым (т.е. все полюса строго устойчивы), или интеграция. Блок автотюнера не работает с нестабильным объектом.
Обратная связь с существующим контроллером должна быть устойчивой.
Чтобы оценить частотные характеристики объекта более точно в режиме реального времени, минимизируйте вхождение любого воздействия загрузки на объекте во время эксперимента. Блок автотюнера ожидает объект, о котором выход, чтобы быть ответом на введенное возмущение сигнализирует только, и воздействие загрузки искажает этот выход.
Поскольку обратная связь закрывается во время эксперимента, существующий контроллер подавляет введенные сигналы возмущения также. Преимущество использования эксперимента с обратной связью состоит в том, что контроллер поддерживает объект в рабочем состоянии около номинальной рабочей точки и обеспечивает безопасную работу. Недостаток - то, что это уменьшает точность оценки частотной характеристики, если ваша целевая пропускная способность далеко от текущей пропускной способности.
После соответствующего соединения блока Closed-Loop PID Autotuner с моделью объекта управления и блока PID, используйте параметры блоков, чтобы задать настройки настройки и эксперимента.
Во вкладке Tuning существует две основных настраивающих настройки:
Целевая пропускная способность: Определяет, как быстро вы хотите, чтобы контроллер ответил. В этом примере выберите 10000
рад/секунда, который типичен для конвертера повышения.
Целевой запас по фазе: Определяет, как устойчивый вы хотите, чтобы контроллер был. В этом примере выберите значение по умолчанию 60
степени.
Во вкладке Experiment существует три основных настройки эксперимента:
Тип объекта: Задает, устойчив ли объект асимптотически или объединяется. Это этот пример, объект конвертера повышения устойчив.
Знак объекта: Задает, имеет ли объект положительный или знак минус. Знак объекта положителен, если положительное изменение во входе объекта в номинальной рабочей точке приводит к положительному изменению на объекте выход, когда объект достигает нового устойчивого состояния. В противном случае знак объекта отрицателен. Если объект устойчив, знак объекта эквивалентен знаку своего усиления dc. Если объект объединяется, знак объекта положителен (или отрицателен), если объект выход продолжает увеличиваться (или уменьшаться). Это этот пример, объект конвертера повышения имеет положительный знак объекта.
Амплитуды синуса: Задает амплитуды введенных синусоид. В этом примере выберите 0.03
для всех пяти частот сигнала возмущения гарантировать объект правильно взволнован в пределе насыщения. Если амплитуда возбуждения будет слишком большой, конвертер повышения будет действовать в прерывисто-текущем режиме. Если входная амплитуда слишком будет мала, синусоидальные сигналы будут неотличимы от пульсаций в схемах силовой электроники. Обе ситуации приводят к неточным результатам оценки частотной характеристики.
Если вам создали модель объекта управления в Simulink, рекомендуется симулировать блок Closed-Loop PID Autotuner против модели объекта управления в режиме normal mode прежде, чем развернуть его для настройки в реальном времени. Симуляция поможет вам идентифицировать проблемы в связи сигнала и настройках блока так, чтобы можно было настроить их прежде, чем сгенерировать код.
Симуляция объекта конвертера повышения обычно занимает несколько минут на вашем компьютере из-за очень быстрого шага расчета генератора PWM. Vout
объект выход и Duty Cycle
вход объекта.
sim(mdl)
В этом примере это берет ПИД-регулятор о 0.04
секунды, чтобы принести конвертер повышения к номинальной рабочей точке. Сильное колебание наблюдается в начальном переходном процессе, который указывает, что существующий контроллер должен быть повторно настроен.
В 0.04
секунды, процесс автоматической настройки запускается. Эксперимент длится 0.02
секунды, потому что обычно "приблизительно 200/пропускной способности" требуются секунды для онлайновой оценки частотной характеристики, чтобы сходиться.
Когда настройка ПИДа останавливается в 0.06
секунды, блок вычисляет новые усиления, P = 0.04, я = 100, D = 0.00006 и N = 30000. Новые усиления сразу записаны в память хранилища данных и отправлены во внешний импорт усиления блока PID, перезаписывая исходные усиления.
Модель имеет воздействие линии (Вин от 5 В до 10 В) и загрузка текущее воздействие (Загрузка от 6 А до 3 А). Они происходят в 0,07 секунды и 0,08 секунды соответственно, и можно использовать их, чтобы исследовать производительность контроллера. Новый набор коэффициентов ПИД предоставляет улучшенному ответу с обратной связью намного меньше колебания.
Чтобы настроить ПИД-регулятор против физического конвертера повышения в автономном приложении реального времени, необходимо сгенерировать код C/C++ от блока Closed-Loop PID Autotuner и развернуть его на оборудовании.
Вот список настраиваемых параметров, которые можно изменить во времени выполнения:
Тип ПИДа
Форма ПИДа
Интегратор ПИДа и Методы Фильтра (только дискретное время)
Целевая пропускная способность
Целевой запас по фазе
Тип объекта
Знак объекта
Амплитуды синусоид
Шаг расчета блока Closed-Loop PID Autotuner не является настраиваемым параметром. Чтобы использовать блок автотюнера с различным шагом расчета без перекомпиляции, установите Шаг расчета Контроллера в диалоговом окне блока к -1
и помещенный блок тюнера в инициированной подсистеме. Блок тюнера теперь запускается в том же шаге расчета как триггерные требования сигнала.
[1] Ли, S. W. "Практический анализ обратной связи для конвертера повышения режима напряжения". Отчет № SLVA057 приложения. Texas Instruments. Январь 2014. www.ti.com/lit/an/slva633/slva633.pdf
bdclose(mdl)