Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сассу КЗ.docx
Скачиваний:
3
Добавлен:
26.08.2019
Размер:
479.65 Кб
Скачать

5.Синтез многомірного пі- регулятора

Об’єкт управління з ПІ- регулятором у неперервному вигляді

Рисунок 5.1 – Об’єкт управління з ПІ- регулятором в неперервному вигляді

;

K=[K1 K2]=LQ1(A1,B1,Q,R)

L= =LQ1 (

В дискретному вигляді:

Рисунок 5.2 – Об’єкт управління з ПІ- регулятором у дискретному вигляді

;

Для синтезу ПІ- регулятора одержані матриці мають бути розширені у вигляді:

де – кількість строк матриці С,

– розмірність матриці А,

функція zeros (n) формує масив нулів розміру n х n

Матриці параметрів регулятора розраховані за допомогою програми dlqr.

K=dlqr(A1,B1,Q,R);

L=dlqr(A1’,C1’,Q1,R1)’.

функція dlqr

та Р=

де Q,R,Q1,R1- вагові матриці,

Вагові матриці Q,R,Q1,R1 спочатку мають бути обрані одиничними(для зручності одиничну матрицю генерує програма eye). Після оцінки якості перехідного процесу матриці Q, R потрібно відкоригувати збільшивши відповідний елемент Q, якщо вихідна змінна має велике пере регулювання, і збільшивши R, якщо керуючий вплив перевищує обмеження.

6.Моделювання замкненої системи та оцінка якості перехідних процесів

При оцінці якості перехідних процесів треба, щоб відхилення управляючих впливів не перевищували 30% відкриття(припускаючи, що номінальному режиму роботи установки відповідає 70% відкриття). Максимальне збурення слід прийняти на рівні 10% номінального значення відповідного параметра. Припустиме відхилення регульованих змінних треба прийняти на рівні 20% номінального значення. Якщо якість не відповідає треба змінити вагові матриці і повторити розрахунки.

7.Перетворення моделі регулятора у форму, відповідаючою її реалізації у програмному забезпеченні

Після розрахунку треба сформувати матриці регулятора:

K1=K(:,m:n);

K2=(:,n+m:n+m);

L1=(m:n,:);

L2=L(n+1:n+m,:);

Ar=[ Ad-Bd*K1 -Bd*K2-L1 L1;

C -L2 L2;

zeros(m,n+m) zeros(m) eye(m)];

Br=[zeros(n+m,m);zeros(m);eye(m)];

Cr=[-K zeros(m)].

де Ar, Br, Cr – матриці регулятора

Та записати замкнену систему у вигляді, в якому вона буде реалізована у програмному забезпеченні

x=zeros(m+n,1);xr=zeros(n+m+m,1); u=zeros(m,1);

yy=[];uu=[];

f=eye(m,1); z=zeros(m,1);

for i=1:1000,

y=C*x; e=-z+y;

u=Cr*xr; xr=Ar*xr+Br*e;

y=C*x; x=Ad*x+Bd*(u+f);

yy=[yy; y'];

uu=[uu;u'];

end

8.Програма і проектування багатомірного регулятора мовою Matlab

A=[0 0 0 0 0 0;

0 -1/300 0 0 0 0;

0 1 -6/200 -12/40000 0 0;

0 0 1 0 0 0;

0 0 0 0 -1/180 0;

0 0 0 0 1/350 -1/350]

B=[1/1000 0;0.00028/300 0;0 0;0 0;0 0.00056/180;0 0]

C=[1 0 0 0 0 0;0 1 -12/200 0 0 1]

D=[0 0;0 0]

t=[0:999];

dt=0.1/max(abs(eig(A)))

[Ad Bd]=c2d(A,B,dt)

Ad =

1.0000 0 0 0 0 0

0 0.9809 -0.0000 0.0000 0 0

0 5.2402 0.8365 -0.0016 0 0

0 15.6298 5.2923 0.9953 0 0

0 0 0 0 0.9684 0

0 0 0 0 0.0161 0.9836

Bd =

0.0058 0

0.0000 0

0.0000 0

0.0000 0

0 0.0000

0 0.0000

Cd=C;

y1=dstep(Ad,Bd,Cd,D,1,1000);

figure(1)

subplot(221);plot(t,y1(:,1));grid;ylabel('y1,C');title('Razgon u1,1%');

subplot(223);plot(t,y1(:,2));grid;ylabel('y2,C');

y2=dstep(Ad,Bd,Cd,D,2,1000);

subplot(222);plot(t,y2(:,1));grid;ylabel('y1,C');title('Razgon u2,1%');

subplot(224);plot(t,y2(:,2));grid;ylabel('y2,C');

A1=[Ad zeros(6,2); Cd eye(2)];

A1 =

1.0000 0 0 0 0 0 0 0

0 0.9809 -0.0000 0.0000 0 0 0 0

0 5.2402 0.8365 -0.0016 0 0 0 0

0 15.6298 5.2923 0.9953 0 0 0 0

0 0 0 0 0.9684 0 0 0

0 0 0 0 0.0161 0.9836 0 0

1.0000 0 0 0 0 0 1.0000 0

0 1.0000 -0.0600 0 0 1.0000 0 1.0000

B1=[Bd;zeros(2)];

B1 =

0.0058 0

0.0000 0

0.0000 0

0.0000 0

0 0.0000

0 0.0000

0 0

0 0

C1=[zeros(2,6) eye(2)];

C1 =

0 0 0 0 0 0 1 0

0 0 0 0 0 0 0 1

Q=C'*[1 0;0 1]*C; %зміна матриці Q

Q=[eye(6) zeros(6,2);zeros(2,6) eye(2)];

R=eye(2);

R=1e2*[12 0;0 1]; %зміна матриці R

Q1=eye(8);

R1=eye(2);

K=dlqr(A1,B1,Q,R)

K =

18.7305 -52.5153 0.9902 0.0288 -0.0070 -0.0093 0.9474 0.0000

-0.0478 51.6744 -0.0311 0.0104 30.5718 60.4547 -0.0000 0.9997

L=dlqr(A1',C1',Q1,R1)'

L =

0.4221 -0.0000

0.0000 0.1184

0.0000 -2.1711

0.0000 529.6743

-0.0000 0.0589

-0.0000 0.2692

1.2439 -0.0000

0.0000 1.4000

K1=K(:,1:6);

K2=K(:,7:8);

L1=L(1:6,:);

L2=L(7:8,:);

Ar=[Ad-Bd*K1 -Bd*K2-L1 L1;C eye(2)-L2 L2;zeros(2,6) zeros(2) eye(2)];

Br=[zeros(6,2);zeros(2);eye(2)];

Cr=[-K zeros(2)];

Az=[Ad Bd*Cr;Br*Cd Ar];

Bf=[Bd;zeros(10,2)];

Bz=[zeros(6,2);Br];

Cz=[Cd zeros(2,10)];

x=zeros(6,1);xr=zeros(10,1);u=zeros(2,1);

yy=[];uu=[];

f=[-0.3;-0.3];

z=[2;60]; %зміна завдання

for i=1:1000,

y=C*x;e=-z+y;

u=Cr*xr;xr=Ar*xr+Br*e;

y=C*x;x=Ad*x+Bd*(u+f);

yy=[yy; y'];uu=[uu;u'];

end

x1=x;xr1=xr;u1=u;

figure(2)

subplot(221);plot(yy(:,1));grid;ylabel('y1,m');title('Razgon z1');

subplot(223);plot(yy(:,2));grid;ylabel('y2,C');

subplot(222);plot(uu(:,1));grid;ylabel('u1,кг\с');title('Razgon z2');

subplot(224);plot(uu(:,2));grid;ylabel('u2,кг\с');