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

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

|

Похожие темы