Разложите ПИД-регулятор 2-DOF на компоненты SISO

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

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

G = tf(1,[1 0.5 0.1]);
C2 = pidtune(G,'pidf2',1.5);

C2 является контроллером pid2 объект. Архитектура управления для C2 находится как показано на следующем рисунке.

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

Разложите C2 на компоненты элемента управления SISO с помощью feedforward настройки.

[Cff,Xff] = getComponents(C2,'feedforward')
Cff =
 
             1            s    
  Kp + Ki * --- + Kd * --------
             s          Tf*s+1 

  with Kp = 1.12, Ki = 0.23, Kd = 1.3, Tf = 0.122
 
Continuous-time PIDF controller in parallel form.


Xff =
 
  -10.898 (s+0.2838)
  ------------------
      (s+8.181)
 
Continuous-time zero/pole/gain model.

Эта команда возвращает ПИД-регулятор SISO Cff как объект pid. feedforward компенсатор X возвращен как объект zpk.

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

Tff = G*(Cff+Xff)*feedback(1,G*Cff);

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

Анализируйте C2 с помощью настройки обратной связи и построения что система с обратной связью.

[Cfb, Xfb] = getComponents(C2,'feedback');
Tfb = G*Cfb*feedback(1,G*(Cfb+Xfb));

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

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

[Cfr, Xfr] = getComponents(C2,'filter');
Tfr = Xfr*feedback(G*Cfr,1);

Создайте систему с обратной связью для исходного контроллера 2-DOF, C2. Для этого преобразуйте C2 в 2D вход, передаточную функцию с одним выходом, и используйте индексацию массива, чтобы получить доступ к каналам.

Ctf = tf(C2);
Cr = Ctf(1);
Cy = Ctf(2);
T = Cr*feedback(G,Cy,+1);

Сравните переходные процессы всех систем с обратной связью.

stepplot(T,Tff,Tfb,Tfr)
legend('2-DOF','feedforward','feedback','filter','Location','Southeast')

Графики совпадают, демонстрируя, что все системы эквивалентны.

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

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

| |

Похожие темы