Две степени свободы (2-DOF) ПИД-регуляторов включать взвешивание уставки на пропорциональном и производном терминах. 2-DOF ПИД-регуляторы способно быстро подавление помех без значительного увеличения перерегулирования в отслеживании уставки. 2-DOF ПИД-регуляторы также полезны, чтобы уменьшить влияние изменений в опорном сигнале на сигнал управления.
Представлять ПИД-регуляторам можно с помощью специализированных объектов модели pid2
и pidstd2
. В этом разделе описывается представление 2-DOF ПИД-регуляторов в MATLAB®. Для получения информации об автоматической настройке ПИД-регулятора см. Раздел «Настройка ПИД-регулятора».
Этот рисунок показывает типовую архитектуру управления, использующую 2-DOF ПИД-регуляторы.
Отношение между выходом (2-DOF) контроллера u и его двумя входами (r и y) может быть представлено в параллельной или стандартной форме. Эти две формы различаются параметрами, используемыми для выражения пропорциональных, интегральных и производных действий контроллера, как выражено в следующей таблице.
Форма | Формула |
---|---|
Параллельный (pid2 объект) |
В этом представлении:
|
Стандартный (pidstd2 объект) |
В этом представлении:
|
Используйте форму контроллера, которая удобна для вашего приложения. Например, если вы хотите выразить интегратор и производные действия в терминах временных констант, используйте стандартную форму. Для примеров, показывающих, как создать контроллеры параллельной формы и стандартной формы, смотрите pid2
и pidstd2
страницы с описанием, соответственно.
Для получения информации о представлении ПИД-регуляторов в дискретном времени смотрите Контроллеры пропорционально-интегрально-производной (ПИД) в дискретном времени.
2-DOF ПИД-регулятор является контроллером с двумя входами, одним выходом вида C 2 (s), как показано на следующем рисунке. Передаточная функция от каждого входа к выходу сама по себе является ПИД-регулятором.
Каждый из компонентов Cr (s) и Cy (s) является ПИД-регулятором с различными весами на пропорциональном и производном терминах. Для примера за непрерывное время эти компоненты заданы:
Вы можете получить доступ к этим компонентам, преобразовав ПИД-регулятор в передаточную функцию с двумя входами, с одним выходом. Например, предположим, что C2
является 2-DOF ПИД-регуляторы, сохраненным как pid2
объект.
C2tf = tf(C2); Cr = C2tf(1); Cy = C2tf(2);
Cr (s) является передаточной функцией от первого входа C2
на выход. Точно так же Cy (s) является передаточной функцией от второго входа C2
на выход.
Предположим, что G
является динамической системной моделью, такой как zpk
модель, представляющая объект. Создайте передаточную функцию с обратной связью от r до y. Обратите внимание, что Cy (s) цикла имеет положительную обратную связь, по определению Cy (s).
T = Cr*feedback(G,Cy,+1)
Кроме того, используйте connect
команда создать эквивалентную систему с обратной связью непосредственно с контроллером 2-DOF C2
. Для этого установите InputName
и OutputName
свойства G
и C2
.
G.InputName = 'u'; G.OutputName = 'y'; C2.Inputname = {'r','y'}; C2.OutputName = 'u'; T = connect(G,C2,'r','y');
Существуют другие строения, в которых можно разложить 2-DOF ПИД-регуляторы на компоненты SISO. Для конкретных вариантов C (s) и X (s) каждая из следующих конфигураций эквивалентна архитектуре 2-DOF с C 2 (s). Вы можете получить C (s) и X (s) для каждой из этих строений, используяgetComponents
команда.
В feedforward строения 2-DOF ПИД-регуляторов разлагается на обычный SISO- ПИД-регулятора, который принимает сигнал ошибки как свой вход, и контроллер feedforward.
Для непрерывного времени, параллельной 2-DOF ПИД-регуляторам, компоненты заданы:
Доступ к этим компонентам с помощью getComponents
.
[C,X] = getComponents(C2,'feedforward');
Следующая команда создает систему с обратной связью от r до y для строения с feedforward.
T = G*(C+X)*feedback(1,G*C);
В строение обратной связи 2-DOF ПИД-регуляторов разлагается на обычный SISO- ПИД-регулятора и контроллер обратной связи.
Для непрерывного времени, параллельной 2-DOF ПИД-регуляторам, компоненты заданы:
Доступ к этим компонентам с помощью getComponents
.
[C,X] = getComponents(C2,'feedback');
Следующая команда создает систему с обратной связью от r до y для строения обратной связи.
T = G*C*feedback(1,G*(C+X));
В фильтрующем строении 2-DOF ПИД-регуляторов разлагается на обычный SISO- ПИД-регулятора и предварительный фильтр на опорный сигнал.
Для непрерывного времени, параллельной 2-DOF ПИД-регуляторам, компоненты заданы:
Фильтрующая X (s) также может быть выражена как отношение: - [C r (s )/ C y (s)].
Следующая команда создает систему с обратной связью от r до y для строения фильтра.
T = X*feedback(G*C,1);
Для примера, иллюстрирующего разложение 2-DOF ПИД-регуляторов на эти строения, смотрите Разложение 2-DOF ПИД-регуляторов на компоненты SISO.
Формулы, показанные выше, относятся к контроллерам в непрерывной параллельной форме. Стандартные контроллеры и контроллеры за дискретное время могут быть разложены на аналогичные строения. getComponents
команда работает со всеми 2-DOF объектами ПИД-регулятора.
getComponents
| pid2
| pidstd2
| pidtune
| pidTuner