Спроектируйте ПИД-регулятор Используя предполагаемую частотную характеристику

В этом примере показано, как спроектировать ПИ-контроллер с помощью частотной характеристики, оцененной из модели Simulink. Это - альтернативный рабочий процесс проекта ПИДа, когда линеаризовавшая модель объекта управления недопустима для проекта ПИДа (например, когда модель объекта управления имеет нулевое усиление).

Откройте модель

Откройте модель управления двигателем и займите некоторое время, чтобы исследовать ее.

mdl = 'scdenginectrlpidblock';
open_system(mdl)

Цикл ПИДа включает ПИ-контроллер в параллельную форму, которая управляет углом дросселя, чтобы управлять скоростью вращения двигателя. ПИ-контроллер имеет усиления по умолчанию, который заставляет систему замкнутого цикла колебаться. Мы хотим спроектировать контроллер, использующий PID Tuner, который запускается от диалогового окна блока PID.

open_system([mdl '/Engine Speed (rpm)'])
sim(mdl)

Закройте осциллограф.

close_system([mdl '/Engine Speed (rpm)'])

PID Tuner получая модель объекта управления с нулевым усилением от линеаризации

В этом примере объект, замеченный блоком PID, от угла дросселя до скорости вращения двигателя. Точки ввода и вывода линеаризации уже заданы в блоке PID выход и измерение скорости вращения двигателя соответственно. Линеаризация в начальной рабочей точке дает модель объекта управления с нулевым усилением.

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

io = getlinio(mdl);

Затем линеаризуйте объект в его начальной рабочей точке.

linsys = linearize(mdl,io)
linsys =
 
  D = 
                Throttle Ang
   EngineSpeed             0
 
Static gain.

Причина получения нулевого усиления состоит в том, что существует инициированная подсистема (Сжатие) в пути к линеаризации, и аналитическая линеаризация блока блоком не поддерживает основанные на событии подсистемы. Поскольку PID Tuner использует тот же подход, чтобы получить линейную модель объекта управления, *PID Tuner также получает модель объекта управления с нулевым усилением и отклоняет его во время процесса запуска.

Чтобы запустить PID Tuner, откройте диалоговое окно блока PID и нажмите Tune. Информационное диалоговое окно открывает и указывает, что модель объекта управления, линеаризовавшая в начальной рабочей точке, имеет нулевое усиление и не может использоваться, чтобы спроектировать ПИД-регулятор.

Альтернативный способ получить линейную модель объекта управления состоит в том, чтобы непосредственно оценить данные о частотной характеристике из модели Simulink, создать frd система в рабочем пространстве MATLAB и импорт это назад к PID Tuner, чтобы продолжить проект ПИДа.

Получите предполагаемые данные о частотной характеристике Используя сигналы Sinestream

sinestream входной сигнал является самым надежным входным сигналом для оценки точной частотной характеристики модели Simulink с помощью frestimate функция. Для получения дополнительной информации о том, как использовать frestimate, смотрите, что Оценка Частотной характеристики Использует Основанные на симуляции Методы.

В этом примере создайте поток синуса, который развертывает частоту от 0,1 до 10 рад/секунда с амплитудой 1e-3. Можно смотреть результаты оценки с помощью диаграммы Боде.

Создайте сигнал sinestream.

in = frest.Sinestream('Frequency',logspace(-1,1,50),'Amplitude',1e-3);

Оцените частотную характеристику. Этот процесс может занять несколько минут.

sys = frestimate(mdl,io,in);

Отобразите предполагаемую частотную характеристику.

bode(sys)

Спроектируйте ПИ-контроллер

sys frd система, которая представляет частотную характеристику объекта в начальной рабочей точке. Чтобы использовать его в PID Tuner, мы должны импортировать его после того, как PID Tuner будет запущен. Нажмите Plant и выберите Import.

Нажмите систему Importing an LTI, и в списке, выберите sys. Затем нажмите "OK", чтобы импортировать frd система в PID Tuner. Автоматизированное проектирование возвращает стабилизировавшийся контроллер. Нажмите Add Plot и выберите Open-Loop Bode plot. График показывает разумный запас по амплитуде и фазе. Нажмите Show Parameters, чтобы видеть значения запаса по амплитуде и фазе. Графики отклика области времени не доступны для frd модели объекта управления.

Чтобы обновить блок P PID и я получаю, нажмите Update Block.

Симулируйте производительность с обратной связью в модели Simulink

Симуляция в Simulink показывает, что новый ПИ-контроллер обеспечивает хорошую производительность при управлении нелинейной моделью.

Закройте модель.

bdclose(mdl)