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

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

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

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

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

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

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

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

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

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

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

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

Смотрите также

| | | |

Связанные примеры

Больше о