Настройка 2-DOF ПИД-регулятора (командная строка)

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

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

В данном примере разработайте контроллер 2-DOF для объекта управления, заданный как:

$$G\left(s\right) = {1 \over {{s^2} + 0.5s + 0.1}}.$$

Предположим, что ваша целевая полоса пропускания для системы составляет 1,5 рад/с.

wc = 1.5;
G = tf(1,[1 0.5 0.1]);
C2 = pidtune(G,'PID2',wc)
C2 =
 
                       1              
  u = Kp (b*r-y) + Ki --- (r-y) + Kd*s (c*r-y)
                       s              

  with Kp = 1.26, Ki = 0.255, Kd = 1.38, b = 0.665, c = 0
 
Continuous-time 2-DOF PID controller in parallel form.

Использование типа 'PID2' причины pidtune чтобы сгенерировать контроллер 2-DOF, представленный как pid2 объект. Отображение подтверждает этот результат. pidtune настраивает все коэффициенты контроллера, включая веса уставок b и c, для баланса эффективности и робастности.

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

Разложите контроллер на компоненты Cr и Cy, и используйте их, чтобы вычислить ответ с обратной связью от r до y.

C2tf = tf(C2);
Cr = C2tf(1);
Cy = C2tf(2);
T2 = Cr*feedback(G,Cy,+1);

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

S2 = feedback(G,Cy,+1);

Для сравнения спроектируйте 1-DOF ПИД-регулятор с той же пропускной способностью и вычислите соответствующие передаточные функции. Затем сравните переходные характеристики.

C1 = pidtune(G,'PID',wc);
T1 = feedback(G*C1,1);
S1 = feedback(G,C1);

subplot(2,1,1)
stepplot(T1,T2)
title('Reference Tracking')
subplot(2,1,2)
stepplot(S1,S2)
title('Disturbance Rejection')
legend('1-DOF','2-DOF')

Графики показывают, что добавление второй степени свободы устраняет перерегулирование в реакции отслеживания уставки без каких-либо затрат на подавление помех. Вы можете улучшить подавление помех также с помощью DesignFocus опция. Эта опция вызывает pidtune для предпочтения подавления помех по сравнению с отслеживанием уставки.

opt = pidtuneOptions('DesignFocus','disturbance-rejection');
C2dr = pidtune(G,'PID2',wc,opt)
C2dr =
 
                       1              
  u = Kp (b*r-y) + Ki --- (r-y) + Kd*s (c*r-y)
                       s              

  with Kp = 1.72, Ki = 0.593, Kd = 1.25, b = 0, c = 0
 
Continuous-time 2-DOF PID controller in parallel form.

С сбалансированным особым вниманием проекта по умолчанию, pidtune выбирает b значение от 0 до 1. Для этого объекта, когда вы меняете особое внимание проекта, чтобы способствовать подавлению помех, pidtune устанавливает b = 0 и c = 0. Таким образом, pidtune автоматически генерирует контроллер I-PD для оптимизации для подавления помех. (Явное указание контроллера I-PD без установки особого внимания проекта приводит к аналогичному контроллеру.)

Сравните отклики с обратной связью, используя все три контроллера.

C2dr_tf = tf(C2dr);
Cdr_r = C2dr_tf(1);
Cdr_y = C2dr_tf(2);
T2dr = Cdr_r*feedback(G,Cdr_y,+1);
S2dr = feedback(G,Cdr_y,+1);

subplot(2,1,1)
stepplot(T1,T2,T2dr)
title('Reference Tracking')
subplot(2,1,2)
stepplot(S1,S2,S2dr);
title('Disturbance Rejection')
legend('1-DOF','2-DOF','2-DOF rejection focus')

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

Таким образом, использование 2-DOF управления может улучшить подавление помех, не жертвуя такой же эффективностью отслеживания уставки, как и 1-DOF управление. Эти эффекты на производительности системы сильно зависят от свойств вашего объекта. Для некоторых объектов и некоторых управляет полосами пропускания, использование 2-DOF управления или изменение особого внимания проекта оказывает меньше или не влияет на настроенный результат.

См. также

|

Похожие темы