ПИД-регуляторы с двумя степенями свободы

Две степени свободы (2-DOF) ПИД-регуляторов включать взвешивание уставки на пропорциональном и производном терминах. 2-DOF ПИД-регуляторы способно быстро подавление помех без значительного увеличения перерегулирования в отслеживании уставки. 2-DOF ПИД-регуляторы также полезны, чтобы уменьшить влияние изменений в опорном сигнале на сигнал управления.

Представлять ПИД-регуляторам можно с помощью специализированных объектов модели pid2 и pidstd2. В этом разделе описывается представление 2-DOF ПИД-регуляторов в MATLAB®. Для получения информации об автоматической настройке ПИД-регулятора см. Раздел «Настройка ПИД-регулятора».

Непрерывное время 2-DOF ПИД-регуляторов представления

Этот рисунок показывает типовую архитектуру управления, использующую 2-DOF ПИД-регуляторы.

Отношение между выходом (2-DOF) контроллера u и его двумя входами (r и y) может быть представлено в параллельной или стандартной форме. Эти две формы различаются параметрами, используемыми для выражения пропорциональных, интегральных и производных действий контроллера, как выражено в следующей таблице.

ФормаФормула
Параллельный (pid2 объект)

u=Kp(bry)+Kis(ry)+KdsTfs+1(cry).

В этом представлении:

  • Kp = пропорциональная составляющая

  • Ki = коэффициент усиления интегратора

  • Kd = производный коэффициент усиления

  • Tf = время производного фильтра

  • b = вес уставки на пропорциональный член

  • c = уставка веса на производном члене

Стандартный (pidstd2 объект)

u=Kp[(bry)+1Tis(ry)+TdsTdNs+1(cry)].

В этом представлении:

  • Kp = пропорциональная составляющая

  • Ti = время интегратора

  • Td = время производной

  • N = производный делитель фильтра

  • b = вес уставки на пропорциональный член

  • c = уставка веса на производном члене

Используйте форму контроллера, которая удобна для вашего приложения. Например, если вы хотите выразить интегратор и производные действия в терминах временных констант, используйте стандартную форму. Для примеров, показывающих, как создать контроллеры параллельной формы и стандартной формы, смотрите pid2 и pidstd2 страницы с описанием, соответственно.

Для получения информации о представлении ПИД-регуляторов в дискретном времени смотрите Контроллеры пропорционально-интегрально-производной (ПИД) в дискретном времени.

2-DOF управления архитектурами

2-DOF ПИД-регулятор является контроллером с двумя входами, одним выходом вида C 2 (s), как показано на следующем рисунке. Передаточная функция от каждого входа к выходу сама по себе является ПИД-регулятором.

Каждый из компонентов Cr (s) и Cy (s) является ПИД-регулятором с различными весами на пропорциональном и производном терминах. Для примера за непрерывное время эти компоненты заданы:

Cr(s)=bKp+Kis+cKdsTfs+1,Cy(s)=[Kp+Kis+KdsTfs+1].

Вы можете получить доступ к этим компонентам, преобразовав ПИД-регулятор в передаточную функцию с двумя входами, с одним выходом. Например, предположим, что 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

В feedforward строения 2-DOF ПИД-регуляторов разлагается на обычный SISO- ПИД-регулятора, который принимает сигнал ошибки как свой вход, и контроллер feedforward.

Для непрерывного времени, параллельной 2-DOF ПИД-регуляторам, компоненты заданы:

C(s)=Kp+Kis+KdsTfs+1,X(s)=(b1)Kp+(c1)KdsTfs+1.

Доступ к этим компонентам с помощью getComponents.

[C,X] = getComponents(C2,'feedforward');

Следующая команда создает систему с обратной связью от r до y для строения с feedforward.

T = G*(C+X)*feedback(1,G*C);

Обратная связь

В строение обратной связи 2-DOF ПИД-регуляторов разлагается на обычный SISO- ПИД-регулятора и контроллер обратной связи.

Для непрерывного времени, параллельной 2-DOF ПИД-регуляторам, компоненты заданы:

C(s)=bKp+Kis+cKdsTfs+1,X(s)=(1b)Kp+(1c)KdsTfs+1.

Доступ к этим компонентам с помощью getComponents.

[C,X] = getComponents(C2,'feedback');

Следующая команда создает систему с обратной связью от r до y для строения обратной связи.

T = G*C*feedback(1,G*(C+X));

Фильтр

В фильтрующем строении 2-DOF ПИД-регуляторов разлагается на обычный SISO- ПИД-регулятора и предварительный фильтр на опорный сигнал.

Для непрерывного времени, параллельной 2-DOF ПИД-регуляторам, компоненты заданы:

C(s)=Kp+Kis+KdsTfs+1,X(s)=(bKpTf+cKd)s2+(bKp+KiTf)s+Ki(KpTf+Kd)s2+(Kp+KiTf)s+Ki.

Фильтрующая X (s) также может быть выражена как отношение: - [C r (s )/ C y (s)].

Следующая команда создает систему с обратной связью от r до y для строения фильтра.

T = X*feedback(G*C,1);

Для примера, иллюстрирующего разложение 2-DOF ПИД-регуляторов на эти строения, смотрите Разложение 2-DOF ПИД-регуляторов на компоненты SISO.

Формулы, показанные выше, относятся к контроллерам в непрерывной параллельной форме. Стандартные контроллеры и контроллеры за дискретное время могут быть разложены на аналогичные строения. getComponents команда работает со всеми 2-DOF объектами ПИД-регулятора.

См. также

| | | |

Похожие примеры

Подробнее о