LABORATORIUM TEORIA STEROWANIA I TECHNIKA REGULACJI OPIS UKŁADÓW AUTOMATYCZNEJ REGULACJI W PRZESTRZENI STANU Wydział EAIiIB Katedra Energoelektroniki i Automatyki Sytemów Przetwarzania Energii dr inż. Andrzej Firlit home.agh.edu.pl/~afirlit/labtsitr/lab6ss SKRYPT STRONY 57-66 LITERATURA STRONY: 48, 63
Kolejność działań (4). zapoznaj ię z lab6ssr7.pdf. zapoznaj ię z lab6ssr7ppt.pdf 3. twórz i uruchom m-plik SScz.m 4. zatouj funkcję roundaf.m 5. kopiuj mpliki: SScz.m, SScz3.m 6. przeglądnij, a natępnie świadomie uruchom kopiowane m-pliki CZĘŚĆ mplik: SScz.m
równanie tanu równanie wyjścia A Bu y C Du gdzie d( t) ( t), y y( t), u u( t) dt oznaczenia: ygnały, macierze, wektory; wymiar wektor tanu [ n ] u wektor terowania [ r ] y wektor wyjścia [ m ] A macierz tanu [ n n ] B macierz wejścia (terowania) [ n r ] C macierz wyjścia [ m n ] D macierz przejścia [ m r ] 3
4 nn n n a a a a A n nr n r b b b b B u r u u y m y y mn m n c c c c C mr m r d d d d D [Ac,Bc,Cc,Dc] = tf(numg,deng) Otrzymane macierze Ac,Bc,Cc,Dc ą w formie kanoniczej terowalnej. [zg,bg,wg] = tfzp(numg,deng) [z,b,w] = zp(ac,bc,cc,dc) eigac = eig(ac) [M,Ad] = eig(ac) ) ( ) ( ) ( ) ( 8,4 8, 8 ) ( 3 M L U Y G
Wynik: >> [Ac,Bc,Cc,Dc] = tf(numg,deng) Ac = -8. -8.4 -... Bc = Cc = 8 Dc = deklaracja obiektu (modelu) w opiie SS i TF yg = tf(numg,deng) yc = (Ac,Bc,Cc,Dc) [A,B,C,D] = data(yc) [lg,mg] = tfdata(yg,'v') 5
konwerja opiu SS do TF G( ) C( I A) B D [num,den] = tf(a,b,c,d) OBCIĘCIE!!! numg = roundaf(numg) deng = roundaf(deng) Ogólny chemat blokowy dla opiu w przetrzeni tanu Równanie tanu i równanie wyjścia A Bu y C Du d( t) ( t), y y( t), u u( t) dt wektor tanu [ n ] u wektor terowania [ r ] y wektor wyjścia [ m ] A macierz tanu [ n n ] B macierz wejścia (terowania) [ n r ] C macierz wyjścia [ m n ] D macierz przejścia [ m r ] 6
m-plik: SScz.m echo on, clc, clear, cloe all % tranmitancja G() - wektory wpółczynników numg = [,, 8]; deng = [, 8., 8.4, ]; yg = tf(numg,deng) %printy(numg,deng) paue % funkcja tf() => forma terowalna [Ac,Bc,Cc,Dc] = tf(numg,deng) paue % funkcja tf() [numgc,dengc] = tf(ac,bc,cc,dc), paue ygc = tf(numgc,dengc) %printy(numg,deng), paue % OBCIĘCIE % numgc=roundaf(numgc); dengc=roundaf(dengc) % ygc = tf(numgc,dengc), paue % model przetrzeni tanu yc = (Ac,Bc,Cc,Dc), paue % funkcja eig() - wartości włane macierzy A eigac = eig(ac) [Mww,Mdiag] = eig(ac) % Ac*Mww = Mww*Mdiag paue % funkcja tfzp() - zera, bieguny [z,b,w] = tfzp(numg,deng) [zgc,bgc,wgc] = tfzp(numgc,dengc), paue % funkcja zp() - zera, bieguny [z,b,w] = zp(ac,bc,cc,dc), paue CZĘŚĆ mplik: SScz.m 7
Wyznaczenie opiu układu w potaci równań algebraiczno-różniczkowych oraz w przetrzeni tanu Wyznaczenie opiu układu w potaci równań algebraiczno-różniczkowych oraz w przetrzeni tanu Otrzymane macierze A,B,C,D ą w formie kanoniczej terowalnej - zmiennych fazowych. 8
9 Schemat blokowy dla opiu w przetrzeni tanu 3 8 8 8 4 G,, u 8, 8,4 3 3 3 8 y % macierze - forma kanoniczna terowalna - zmiennych fazowych A = [,,;,,; -,-8.4,-8.] B = [; ; ] C = [8,, ] D = [] y = (A,B,C,D) 8. 8.4 A B 8 C D deklaracja obiektu w opiie SS m-plik SScz.m
Wynik: >> A = [,,;,,; -,-8.4,-8.] % macierz tanu B = [; ; ] % macierz wejścia C = [8 ] % macierz wyjścia D = [] % macierz przejścia A =.. -. -8.4-8. B = C = 8 D = erie(), parallel(), feedback() % macierze A = [ ; -3-5]; B = [; ]; C = [ ]; D = []; A = [-3 ; 4]; B = [; 4]; C = [3 ]; D = []; %------------------------------------- y = (A,B,C,D); y = (A,B,C,D); %------------------------------------- % połączenie zeregowe [A,B,C,D] = erie(a,b,c,d,a,b,c,d); [y_] = erie(y,y); %------------------------------------- % połączenie równoległe [Ap,Bp,Cp,Dp] = parallel(a,b,c,d,a,b,c,d); [y_p] = parallel(y,y); %------------------------------------- % układ z ujemnym przężeniem zwrotnym [Afd,Bfd,Cfd,Dfd]= feedback(a,b,c,d,a,b,c,d); [y_fd]= feedback(y,y);
A = [,,;,,; -,-8.4,-8.] % m. tanu B = [; ; ] % m. wejścia C = [8 ] % m. wyjścia D = [] % m. przejścia intrukcje pomocnicze tu = [:.:]'; % niezerowe warunki początkowe = [.5; ; ]; u = one(length(tu),); %u = *one(,); u(:,) =.5*one(8,); [yu,u] = lim(a,b,c,d,u',tu,); tep(), impule(), ubplot() [Am,Bm,Cm,Dm,Tm] = canon(a,b,c,d,'modal') cy_m = canon(y,'modal'), j, [An,Bn,Cn,Dn,Tn] = canon(a,b,c,d,'companion') cy_n = canon(y,'companion').... an.. a n n n.. M( ) a an an.. Tm, Tn.. a MACIERZE TRANSFORMACJI.... a
[Am,Bm,Cm,Dm,Tm] = canon(a,b,c,d,'modal') cy_m = canon(y,'modal') Otrzymane macierze A,B,C,D ą w formie kanoniczej modalnej., j, [An,Bn,Cn,Dn,Tn] = canon(a,b,c,d,'companion') cy_n = canon(y,'companion').... an Otrzymane macierze A,B,C,D ą w formie kanoniczej oberwowalnej... a n n n.. M( ) a an an.. Tm, Tn.. a MACIERZE TRANSFORMACJI.... a Tranformacje układu wpółrzędnych T P Tranformacja mui dać te ame wartości włane!
Sterowalność i oberwowalność Sterowalność 3
Oberwowalność CZĘŚĆ 3 mplik: SScz3.m 4
DZIĘKUJĘ ZA UWAGĘ 5