Исполнители: Синицын Владислав Романович, Поддубнова Алина Николаевна, 541 об
Научный руководитель: Усенко Валентин Иванович
МОДЕЛИРОВАНИЕ РЕГУЛЯТОРОВ В СРЕДЕ MATLAB SIMULINK
В статье рассматривается пример подбора регулятора в среде MATLAB Simulink
Пусть имеется передаточная функция вида:

Чтобы создать систему с отрицательной обратной связью и регулятором в среде Simulink, необходимо выполнить команду simulink, или нажать соответствующую кнопку. Затем добавить из Library Browser (библиотеки элементов) добавить блоки step (единичное входное воздействие), sum (сумматор), Transfer fcn (передаточная функция),scope (осцилоскоп) и PID controller (аналоговый ПИД-регулятор) и соединить их, согласно рисунку 1.

Рисунок 1 - модель в Simulink
Чтобы система работала корректно, необходимо настроить элементы. Корректировать свойства каждого элемента можно, нажав на него дважды, либо правой кнопкой мыши и выбрав Block Parameters.
В сумматоре необходимо задать отрицательный нижний вход, путем занесения в поле List of signs строки «|+-» ; в блоке Step необходимо выставить время сигнала Step Time = 0; в блоке Transfer fcn задаются коэффициенты числителя и знаменателя ПФ в полях Numerator coefficients и Denominator coefficients соответственно.
В нашем случае [2462] - вектор коэффициентов в числителе,
[1 52 4457 31650 0] - вектор коэффициентов в знаменателе

Рисунок 2 - параметры блока Step

Рисунок 3 - параметры блока Transfer Fcn
В блоке PID Controller выбираем тип регулятора в графе Controller можно выбрать разные типы регуляторов:
-P - пропорциональный (П-регулятор) ;
-I - интегральный (И-регулятор);
-PD - пропорционально-дифференциальный ;
-PI - пропорционально-интегральный;
-PID - ПИД-регулятор;
Мы для примера используем тип PI. При коэффициентах P=1 и I=0 данный блок не оказывает регулирующего воздействия на объект.

Рисунок 4 - характеристики блока PID Controller
Чтобы выполнить автоматический подбор коэффициентов, необходимо нажать кнопку Tune, после чего запустится инструмент PID Tuner. Данный инструмент также доступен в MATLAB командой pidTuner(sys), где sys - исследуемая система.
Есть возможность строить различные характеристики, список которых можно увидеть, нажав кнопку Add Plot.
Domain позволяет выбрать настройку регулятора относительно времени (time), либо относительно частоты (frequency).
В режиме настройки относительно времени доступны два ползунка:
-Response Time, позволяющий задать время отклика системы (Slower медленнее, faster - быстрее);
-Transient Behavior, отвечающий за устойчивость системы (Aggressive - менее устойчивая (более колебательная), Robust - устойчивая, грубая).
А в режиме настройки по частоте ползунки заменятся соответственно:
-Bandwidth - полоса пропускания;
-Phase Margin - запас по фазе.
Отобразить параметры системы с регулятором можно, нажав на кнопку Show Parameters.
В случае настройки по частоте удобнее пользоваться не переходной характеристикой, а диаграммами Боде, которые можно добавить через Add Plot. Также PID Tuner автоматически строит характеристические графики для системы без регулятора пунктирной линией, что позволяет наглядно сравнить работу регулятора. Коэффициенты отображаются в правом нижнем углу окна.
Необходимо подобрать тип регулятора и значения параметров, при которых характеристики системы, такие как перерегулирование и время переходного процесса, будут удовлетворительными.
При запуске PID Tuner автоматически подбирает коэффициенты, которые могут не удовлетворять нашим требованиям. В нашем случае мы получили ПИ-регулятор с коэффициентом Kp=30,26 и Ki=14,68.

Рисунок 5 - PID Tuner
Если характеристики системы нас устраивают, то нажимаем Update Block, чтобы записать коэффициенты в блок PID Controller. Если нет - то изменяем параметры регулятора двумя ползунками в верхней части окна.
После применения изменений блока необходимо запустить модель. Для этого на верхней панели, справа от кнопки Run, задаем интервал времени расчета системы (в случае непрерывного расчета пишем inf) и нажимаем Run. В нашем случае достаточно интервала в 8 единиц времени.
После выполнения вычислений делаем двойной клик по блоку Scope. Мы получили переходную характеристику, совпадающую с ПХ, полученной в PID Tuner.

Рисунок 6 - ПХ в Simulink
Проверим это, подобрав ПИД-регулятор сначала в PID Tuner, затем построив модель с таким же регулятором в Simulink.
Аналогичным способом можно осуществлять подбор дискретного ПИД-регулятора. Для этого необходимо вместо блока PID Controller использовать блок Discrete PID Controller. Его настройка идентична изложенной выше.

Рисунок 7 - схема в Simulink с дискретным ПИД-регулятором

Рисунок 8 - настройка дискретного регулятора через PID Tuner
Допустим, что нас не устраивают параметры полученной системы. Попробуем их улучшить, передвигая ползунки. Сдвинув ползунок Response Time, например, до значения 1.5 и Transient Behavior 0.6 мы сталкиваемся с необходимостью уменьшения шага дискретизации.

Рисунок 9 - ПХ до уменьшения шага дискретизации
Для этого возвращаемся в блок Discrete PID Controller и в поле Sample Time вносим менее текущего, например значение 0.2, затем нажимаем Apply и Tune. И получим более гладкую характеристику.

Рисунок 10 - ПХ после уменьшения шага дискретизации
Проверим характеристику на блоке Scope

Рисунок 11 - ПХ на блоке Scope
Очевидно, что ПХ системы соответствует ПХ, полученной в PID Tuner.
Таким образом, можно осуществлять подбор регуляторов различного типа к системам в среде моделирования Simulink.