Folyamatszabályozás
Állapotirányítás
Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Irányítástechnika és Informatika Tanszék
Szilágyi Béla – Benyó Zoltán – Juhász Ferencné – Kovács Levente
FOLYAMATSZABÁLYOZÁS 9. Állapotirányítás. Állapotirányítás megfigyelővel
9
Szabályozástechnika.
2009
MATLAB http://bio.iit.bme.hu/hun/ (Oktatás -> Kötelező tárgyak -> Folymatszabályozás)
2008. március 9.
1
SzB
Folyamatszabályozás
2008. március 9.
Állapotirányítás
2
SzB
Folyamatszabályozás
Állapotirányítás
ua
uz
uzm
zavarkompenzáció
u
Az irányító berendezés alrendszere C (controller) xc(t)
Az irányított folyamat alrendszere P (process) xp(t)
y
belső visszacsatolás állapot visszacsatolás y visszacsatolása ( fő visszacsatolás) Az irányítási rendszer hatásvázlata
2008. március 9.
3
SzB
Folyamatszabályozás
Állapotirányítás
Irodalom Tuschák Róbert: Szabályozástechnika. (Műegyetemi Kiadó 55020) Szilágyi Béla: Szabályozástechnika. Számítógépes gyakorlatok. (Műegyetemi Kiadó 55036, 55037, 55038, 55039, 55040, 55041,55066) Benjamin C. Kuo: Hütte: Csáki Frigyes: Csáki Frigyes-Bars Ruth: Lantos Béla: Benjamin C. Kuo: M. L. Luyben-W.L.Luyben: B.Wayne Bequette: Josef Hoffmann: A.Brian-M.Breiner: Frigyes Andor: R. Isermann: Dr. Farkas Miklós: I.N.Bronstejn: Dr. Csáki Frigyes: Otto Fölinger:
2008. március 9.
Önműködő szabályozó rendszerek. (Műszaki Kiadó) A mérnöki tudományok kézikönyve. (Springer Hungarica) Korszerű szabályozáselmélet. (Akadémiai Kiadó) Automatika. (Tankönyvkiadó) Irányítási rendszerek elmélete és tervezése. (Akadémiai Kiadó) Digital Control Systems. (Saunders Collage Publishing) Essentials of Process Control. (McGraw-Hill) Process Dynamics. (Prentice Hall PTR) MATLAB und SIMULINK. (Addision-Wesley) MATLAB for Engineers. (Addision-Wesley) Irányítástechnika. Műszaki értelmező szótár.(Terra Kiadó) Digitale Regelsysteme. (Springer-Verlag) Matematikai kislexikon. (Műszaki Könyvkiadó) Matematikai zsebkönyv. (Műszaki Könyvkiadó) Fejezetek a szabályozástechnikából. Állapotegyenletek. (Műszaki Könyvkiadó) Regelungstechnik. (Hüttig Buch Verlag GmbH)
4
SzB
Folyamatszabályozás
Állapotirányítás
Tartalomjegyzék 9. Állapotirányítás. Állapotirányítás megfigyelővel 9.1 Állapotirányítás tervezése 9.11 Az állapotirányítás elve 9.12 Az állapotvisszacsatolás 1a. Példa 1b. Példa 1c. Példa 2. Példa 3. Példa 4. Példa 5. Példa 9.2 Az állapotmegfigyelő 9.3 Állapotirányítás megfigyelővel 9.4 A méretezést támogató MATLAB program 6. Példa 7. Példa 8. Példa 9. Példa
2008. március 9.
5
SzB
Folyamatszabályozás
2008. március 9.
Állapotirányítás
6
SzB
Folyamatszabályozás
Állapotirányítás
9. Állapotirányítás. Állapotirányítás megfigyelővel 9.1 Állapotirányítás tervezése 9.11 Az állapotirányítás elve Ha a szabályozott szakasz matematikai modellje adott, akkor a szabályozására több lehetőség közül választhatunk. Az egyik lehetőség az, hogy a szakasz y kimenetéről–, egy másik pedig, hogy az x állapotváltozókról hozzuk létre a visszacsatolást. Ez utóbbi lehetővé teszi a rendszer dinamikus tulajdonságainak megváltoztatását konstans átviteli tényezővel rendelkező (arányos) tagokon keresztül történő visszacsatolással. Jelen fejezetben az állapotvisszacsatolás egy fontos alkalmazásával, az előre megadott sajátértékekre történő rendszertervezéssel foglalkozunk. 9.12 Az állapotvisszacsatolás Legyen egy SISO taggal absztrahált folyamat átviteli függvénye: u
y
Wp
Átviteli függvényével jellemzett folyamat 1. ábra
W p (s) =
G p ( s) g s 2 + g s + g3 y(s) = 3 1 2 2 = u ( s ) s + h1s + h2 s + h3 H p ( s )
Ennek a folyamatnak – az átviteli függvényből kiolvasható – jellegzetes tulajdonságai: • A Wp(s) átviteli függvény az y'''+h1y''+h2y'+h3y=g1u''+g2u'+g3u differenciálegyenletű folyamatot jellemzi, az y''' együtthatójának h0=1–re történő normalizálásával (harmadrendű lineáris rendszer). • A nevezőből képzett Hp(s)=s3+h1s2+h2s+h3 kifejezés a folyamatot leíró tag karakterisztikus polinomja. Gyöktényezős alakja: Hp(s)=(s–p1)(s–p2)(s–p3), ahol p1, p2, p3 a Wp(s) pólusai. A h3 együttható értéke: h3=(–p1)(–p2)(–p3). • A számláló eggyel alacsonyabb fokszámú, mint a nevező, Gp(s)=g1(s–z1)(s–z2) és z1, z2 a Wp(s) zérusai. A g0=0 azt jelenti, hogy a tag vp(t) átmeneti függvényének a t=0 helyen nincs ugrása. Ha Wp(s) egy technológiai folyamatot jellemez, akkor igen gyakran az g1 és g2 együtthatók is zérus értékűek. Ekkor vp(t) másodrendűen az időtengelybe simulva indul (vp(0)=vp'(0)=vp''(0)=0). • Ha p1, p2, p3 negatív valós részű pólusok és g3≠0, a folyamat stabilis, önbeálló. Ekkor állandó u0 bemenő jel hatására – állandósult állapotban – a kimenő jel t→∞ esetén y(∞)=y0 értéken állandósul. A tag dc erősítése: g3 ( y( ∞ ) = k p u0 !) h3 • Ha g1=g2=0 és g3≠0, valamint mindegyik pólus negatív valós szám, akkor a tag vp(t) átmeneti függvénye az origóból indul és monoton növekedve vp(∞)=kp értékhez tart. kp =
2008. március 9.
7
SzB
Folyamatszabályozás
Állapotirányítás
kp
Il
vp
t
A folyamat lineáris szabályozási területe 2. ábra
A jelkésleltetésre jellemző Il lineáris szabályozási terület ekkor: ∞
Ι l = ∫ [k p − v p (t )]dt = 0
g3 1 1 1 ( + + ) = k p (T1 + T2 + T3 ) h3 − p1 − p2 − p3
ahol Ti=1/(–pi) a folyamat időállandói. Bár az előző alakban adott átviteli függvény nem egy általános, n–ed rendű differenciálegyenlettel leírt folyamatot jellemez, az állapotvisszacsatolás lényeges tulajdonságai az adott harmadrendű rendszerrel is jól érzékeltethetők, valamint az ábrázolás és indexelés is egyszerű. A soronkövetkező tárgyalást egy számpéldával is végigkísérjük. 1a. Példa A folyamat átviteli függvénye: W p ( s) =
G p ( s) H p ( s)
=
g3 s 3 + h1 s 2 + h2 s + h3
=
6 6 1 = = s 3 + 6 s 2 + 11s + 6 ( s + 1)( s + 2)( s + 3) (1 + s )(1 + 1 s )(1 + 1 s ) 3 2
Ekkor: g1=g2=0; g3=6; h1=6; h2=11; h3=6. Ennek megfelelően: kp=1; p1= –1; p2= –2; p3= –3; T1=1; T2=1/2; T3=1/3; Il=11/6.
Az adott algebrai tört alakjában definiált átviteli függvényhez – a közvetlen felbontás módszerét használva – olyan alaptagokat tartalmazó hatásvázlat rendelhető, mely az irányíthatósági kanonikus állapotegyenletnek felel meg. A korábbiak alapján kapjuk: g1 g2 x1 u
1
∫
x2
∫
x3
∫
g3
y
-h1 -h2 -h3 A folyamat leírása az irányíthatósági kanonikus alaknak megfelelő hatásvázlattal 3. ábra
Állapotváltozóknak az integrátorok kimenő jeleit tekintve a tagot – az algebrai tört alakjában adott átviteli függvénnyel egyenértékű módon – az
2008. március 9.
8
SzB
Folyamatszabályozás
Állapotirányítás
⎡ x1 ⎤ ⎡− h1 − h2 − h3 ⎤ ⎡ x1 ⎤ ⎡1⎤ d ⎢ ⎥ ⎢ 0 0 ⎥⎥ ⎢⎢ x2 ⎥⎥ + ⎢⎢0⎥⎥ u x2 = 1 dt ⎢ ⎥ ⎢ ⎢⎣ x3 ⎥⎦ ⎢⎣ 0 1 0 ⎥⎦ ⎢⎣ x3 ⎥⎦ ⎢⎣0⎥⎦ { 144424443 B A ⎡ x1 ⎤ y = [g1 g 2 g 3 ] ⎢⎢ x2 ⎥⎥ + 0{ u 144244 3 ⎢⎣ x3 ⎥⎦ D C
állapotegyenlettel is leírhatjuk. Ennek lényeges tulajdonsága, hogy az A, B, C, D paramétermátrixok az irányíthatósági kanonikus alakban állnak elő, így A első sora a folyamat Hp(s) karakterisztikus polinomjának negatív együtthatóiból (–h1, –h2, –h3) áll, és a folyamat karakterisztikus egyenlete: H p ( s ) = det( sI − A) = s 3 + h1s 2 + h2 s + h3 = 0 1b. Példa Az adott átviteli függvény esetén: ⎡−6 −11 −6⎤ ⎢ ⎥ A=⎢ 1 0 0⎥ ⎢⎣ 0 1 0 ⎥⎦
⎡1⎤ ⎢ ⎥ B = ⎢0 ⎥ ⎢⎣0⎥⎦
C = [0 0 6] D=0
H p ( s) = det( sI − A) = s 3 + 6s 2 + 11s + 6 = 0
Megjegyzés • Az A, B, C, D paramétermátrixok a tf2ss utasítással számíthatók: [A,B,C,D]=tf2ss(6,[1 6 11 6]);
• A tag dc erősítését a dcgain utasítással számíthatjuk: kp=dcgain(A,B,C,D); % vagy kp=dcgain(6,[1 6 11 6]),
Ezek használatánál azonban lényegesen egyszerűbb a kp-nek Wp(s)-ből történő leolvasása, hiszen kp=g3/h3=6/6=1. Ez egyébként a 3. ábra hatásvázlatából is következik, mivel a pólusok negatív valós részűek, s így a tag önbeálló. Állandó u0 hatására tehát egyensúlyi helyzet jön létre, mikor is minden állapotsebesség (az integrátorok bemenete) szükségszerűen zérus. Ezért: u 0 − h3 x30 = 0 ⇒ x30 = y0 = g 3 x30 = g 3 kp =
u0 h3
u0 = k pu0 h3
y0 g 3 6 = = =1 u 0 h3 6
A folyamat tranziens tulajdonságait – akár az átviteli függvénnyel, akár az állapotegyenlettel írjuk le a mozgásviszonyokat – a Hp(s) gyökei (a p1, p2, p3 pólusok) karakterisztikusan megszabják. Ha ezek számértékei nagyok és előjelük negatív, a tranziensek exp(pit) szerint gyorsan eltűnnek („lecsengenek”), és a lineáris szabályozási terület kicsi. A következőkben azt kívánjuk megmutatni, hogy a folyamatnak egy alkalmasan megválasztott, az állapotváltozókról létesített visszacsatolásokat tartalmazó irányítási struktúrájával keletkező rendszerben, az új pólusok szabadon megválaszthatók, s ennek folyományaként: • a tranziensek tetszőleges gyorsasággal eltüntethetők („ára” a túlvezérlés!), • a lineáris szabályozási terület tetszőlegesen lecsökkenthető („ára” a túlvezérlés), • labilitást okozó pólus negatív valós részű pólusra cserélhető (stabilizálás),
2008. március 9.
9
SzB
Folyamatszabályozás
Állapotirányítás
• a túllendülést, a lengési hajlamot befolyásoló domináns póluspár szabadon előírható, • integráló tulajdonság önbeállóra, vagy önbeálló tulajdonság integrálóra változtatható, • stb. Az állapotvisszacsatolás elve egy igen egyszerű struktúra (integráló tag visszacsatolása) általánosítása. Ha az x(s)/u(s)=1/s átviteli függvényű integráló tagot egy f átviteli tényezőjű taggal visszacsatolunk, akkor az eredő átviteli függvény:
1 1 kp x( s ) 1 (− f ) = s = = = u a ( s ) 1 − 1 f s − f 1 + 1 s 1 + sT p s (− f ) 1 s
u
ua
x
a)
u
x
1 s
b)
f v
j f<0
f>0 f=0
f<0
f>0 −
x
c)
x
x
f=0
+
1 f
d)
t
Integráló tag állapot-visszacsatolása 4. ábra
Az integráló tagra alkalmazott állapotvisszacsatolás az eredetileg az origóban lévő pólust az origóból kimozdítva a valós tengely f pontjába helyezi át. Az f tetszőlegesen megválasztható (4/c. ábra), így f<0 esetén (negatív visszacsatolás), az integráló tagból olyan egytárolós arányos tagot hoz létre, amelynek dc erősítése és időállandója 1/(–f), f>0 esetén (pozitív visszacsatolás) pedig olyan labilis tag keletkezik, amelynek átmeneti függvénye az időben exponenciálisan növekszik (4/d. ábra). Az állapotvisszacsatolásnál lényegét tekintve ezt az elvet általánosítjuk, de természetesen ekkor egy tetszőleges Wp(s) átviteli függvény állapotváltozóinak visszacsatolásáról lesz szó. Az n-ed rendű lineáris SISO folyamat legyen állapot irányítható és állapot megfigyelhető. A folyamat fizikai működésének ismerete, vagy a rajta végzett mérések alapján a folyamat matematikai modellje meghatározható. Ha ez a modell az állapotegyenlet, akkor ennek paramétermátrixai meghatározottak, értékeik rendre A(n×n), B(n×1), C(1×n) és D(1×1). Az állapotegyenlet: dx(t ) = Ax(t ) + Bu (t ) dt y (t ) = Cx(t ) + Du (t ) Az energiatárolók okozta jelkésleltetések miatt a folyamat állapotegyenletében a D=0 a meghatározó jelleg. Ez azt jelenti, hogy az ugrásszerűen megváltozó u bemenő jel hatására az y
2008. március 9.
10
SzB
Folyamatszabályozás
Állapotirányítás
kimenő jel nem ugorhat. Az y kimenő jel ugyanis D=0 esetében csak az x állapotváltozó hatására változhat, az x pedig – miután az állapotváltozó az integráló tag kimenő jele – ugrásszerűen megváltozni elvileg nem képes. Mindez végső soron azt jelenti, hogy az y kimenő jel és az u gerjesztés között késleltetés keletkezik. A SISO folyamat átviteli függvénye Wp(s)=y(s)/u(s)=C(sI–A)-1B+D=Gp(s)/Hp(s). A D=0 következményeként az átviteli függvény Gp(s) számlálójának m fokszáma a Hp(s) nevezőjének n fokszámánál szükségszerűen kisebb (m
dx/dt
B
x(t)
∫
y(t) C
A
D=0 A folyamat állapotegyenletének megfelelő hatásvázlat 5. ábra
Ha a folyamat önbeálló, akkor állandó u=uo bemenő jel mellett – állandósult állapotban – az x állapotváltozó állandósult értéke xo = –A-1Buo, illetve az állandósult kimenő jel y0=Cx0=–CA-1Bu0. A jelátvitelt leíró tag dc átviteli tényezője kp=y0/u0= –CA-1B. Az állandósult állapot egy tranziens folyamat végére (elvileg a t=∞ időpontra) alakul ki, és a tranziensek exp(pit) szerint „csengenek le”, ahol pi= λi (i=1,2,…n) az A állapotmátrix negatív, vagy negatív valós részű sajátértékei, a rendszer átviteli függvényének pólusai. u y
y(t) u(t)=u01(t)
uo
y0=–CA-1Bu0=kpu0 t
Az önbeálló SISO folyamat u01(t) ugrásjelre adott válasza 6. ábra
Egy aszimptotikusan stabilis, átmeneti függvényében csillapodó lengéseket tartalmazó harmadrendű folyamat esetében például az állapotmátrix λi sajátértékei, illetve az átviteli függvény pi pólusai λ1= p1, λ2= p2, λ3= p3. j
± j 1− ξ 2
p1
To
p3 -1/T3
−ξ To
p2
+
−ξ ± j 1− ξ 2 To
Az A állapotmátrix sajátértékei, a folyamat pólusai 7. ábra
2008. március 9.
11
SzB
Folyamatszabályozás
Állapotirányítás
Általános esetben a pólusok a komplex síknak vagy a válós tengelyén, vagy pedig a valós tengelyre szimmetrikusan helyezkednek el. A folyamat karakterisztikus egyenlete: det(λI-A)=Hp(λ)= λn+h1 λn-1+… +hn-1 λ+hn= (λ–p1)(λ–p2)…(λ–pi)…(λ–pn)=0 Ennek az egyenletnek a pi (i=1,2,…n) gyökei szabják meg a folyamat tranziens viselkedését, stabilis vagy labilis voltát, önbeálló tulajdonságát1. Figyeljük meg, hogy az hn együttható értékét a folyamat pólusainak szorzata határozza meg: hn=(–1)np1p2…pi…pn. Az x(t) állapotváltozóknak az F átviteli mátrixon (sorvektoron) keresztül történő negatív visszacsatolásával és egy skalár kc erősítés beiktatásával kialakított struktúrában a visszacsatolt rendszer bemenő jele az ua(t) alapjel, a folyamaté pedig az u(t)=kcua(t)–Fx(t) algoritmus szerint előállított irányító jel. Ezzel a kialakítással – az F és kc alkalmas megválasztása esetén – a tranziensek lerövidíthetőek, ami olyan látszatot kelt, mintha a folyamat p1, p2,… pi,…pn pólusait a visszacsatolt rendszer pR1, pR2,… pRi,…pRn pólusaira cserélnénk fel. A gyorsítás miatt ekkor real(pRi) < real(pi) kell hogy legyen, mivel ez eredményezi az exp(pRit) szerint változó tranziensek gyors eltűnését. Az állapotvisszacsatolás létrehozásával kialakított irányítási struktúra mindezek alapján: x(0)
Folyamat
ua(t)
u(t) kc –
B
dx/dt
e(t)
∫
x(t)
C
y(t)
A
F
Állapot visszacsatolás
Az állapotvisszacsatolás hatásvázlata 8. ábra
A visszacsatolt rendszer állapotegyenlete: dx(t ) = Ax(t ) + Bu (t ) dt u (t ) = − Fx(t ) + k c u a (t ) y (t ) = Cx (t )
illetve:
dx(t ) = ( A − BF ) x(t ) + Bk c u a (t ) dt y (t ) = Cx(t )
1
A karakterisztikus egyenlet λ változójának – ha a folyamat leírására a Laplace integrál- transzformáció módszerét alkalmazzuk – az s Laplace operátor felel meg. A karakterisztikus egyenlet ekkor: det(sI–A)=Hp(s)= sn+h1sn-1+… +hn-1 s+hn= (s–p1)(s–p2)…(s–pi)…(s–pn)=0.
2008. március 9.
12
SzB
Folyamatszabályozás
Állapotirányítás
Az eredő rendszert leíró hatásvázlat az állapotegyenlet alapján: x(0) ua(t)
Bkc
dx/dt
x(t)
∫
y(t) C
A-BF Az állapot visszacsatolt rendszer hatásvázlata 9. ábra
Az eredő rendszer állapotmátrixa A–BF, így ennek pRi=λRi sajátértékei F megfelelő megválasztásával szabadon előírhatók (méretezés előírt sajátértékekre). Ha a visszacsatolt rendszer önbeálló tulajdonságát (aszimptotikus stabilis voltát) is megköveteljük, akkor az eredő rendszer állandó uao bemenő jelre és állandósult állapotban x0=–(A–BF)-1Bkcua0 , illetve y0=Cx0=–C(A–BF)-1Bkcua0 választ ad. Az eredő visszacsatolt rendszer dc erősítése ennek megfelelően kR= –C(A–BF)-1Bkc. Az állapotvisszacsatolt rendszer előírt póluseloszlása (pl. harmadrendű rendszer esetében): j pR3 -1/TR3
pR1
+ − ξ R ± j 1 − ξ R2
pR2
TRo
Az állapotvisszacsatolt rendszer A–BF eredő állapot mátrixának előírt sajátértékei, a visszacsatolt rendszer pR pólusai 10. ábra
Az állapotvisszacsatolt rendszer karakterisztikus egyenlete: det[λI–(A–BF)]=HR(λ)=λn+hR1 λn-1+… +hRi λn-i+… +hR(n-1) λ+hRn= =(λ–pR1)( λ–pR2) … (λ–pRi) … (λ–pRn =0 Ennek az egyenletnek minden hRi együtthatója adott, ha a pRi pólusokat méretezési előírásnak tekintjük. Figyeljük meg, hogy – hasonlóan a folyamat karakterisztikus egyenleténél látott összefüggéshez – a hRn együttható értékét a visszacsatolt rendszer pólusainak szorzata szabja meg, vagyis: hRn=(–1)npR1pR2…pRi…pRn. A méretezés F és kc meghatározását igényli. A folyamat A állapotmátrixának pi sajátértékei ismertek, a rendszer A–BF állapotmátrixának pRi sajátértékei méretezési követelményként adottak. Az A, B és pRi ismeretében F értékét kell úgy megválasztani, hogy a visszacsatolt rendszer A–BF állapotmátrixának λRi sajátértékei az előírt pRi értékek legyenek. Az F visszacsatoló vektor – az A, B és pRi adatok ismeretében – az F = [0 0 ... 0 1] Co H R ( A) −1
2008. március 9.
13
SzB
Folyamatszabályozás
Állapotirányítás
Ackermann2 képlettel határozható meg. Ebben: [0 0 0 … 0 1] C0=[B AB A2B … An–1B] H R ( A) = An + hR1 An −1 + ... + hR ( n −1) A + hRn I
:az n×n-es egységmátrix utolsó sora, :az irányíthatósági tesztmátrix, :a visszacsatolt rendszer karakterisztikus polinomja λ=A helyettesítéssel.
Ha a visszacsatolatlan és az állapot visszacsatolt rendszer dc erősítésére azonos értéket követelünk meg, akkor kp= –CA-1B=–C(A–BF)–1Bkc=kR kell hogy legyen. Ebből – az F visszacsatoló mátrix meghatározását követően – a kc erősítés meghatározható. kc=[C(A–BF)-1B]-1 CA-1B
A számításokat a MATLAB acker függvénye is hatékonyan támogatja3: F= acker(A,B,pR) kc=inv(C*inv(A-B*F)*B)*C*inv(A)*B
A rendszer tranziens jelenségeinek állapot visszacsatolással történő felgyorsítása a fizikai működés szempontjából azt jelenti, hogy például a nyugalomban lévő rendszer bemenetén ható és ugrásszerűen változó ua alapjel hatására a folyamat közvetlen bemenetén a t=0 időpontban u(0)=kcua(0) jel hat, hiszen ekkor még az x(t) állapotváltozók mindegyike azonosan zérus: x(0)=0. Ez a forszírozott u jel gyorsítja fel a rendszer tranzienseit. Az átmeneti folyamat végére az u jelet a visszacsatolás u(∞)=kcua(∞)–Fx(∞) értékre visszaveszi. Az u(0)/u(∞) túlvezérlési arány mértéke a pólusáthelyezés mértékével fejezhető ki. ua(t)=uao1(t) bemenő jel mellett a folyamat u(0) és u(∞) jelei: u(0)=kcua(0)=kcuao u(∞)=kcua(∞)–Fx(∞)=kcuao–Fx(∞) Figyelembe véve, hogy az x állapotváltozó egyensúlyi értéke x(∞)= –(A–BF)–1Bkcuao kapjuk: u(∞)=kcuao–Fx(∞)=kcua0+F(A–BF)–1Bkcua0=[1+F(A–BF)–1B]u(0) Ebből az ut túlvezérlési arány:
[
]
n −1 u (0) h p = ut = 1 + F ( A − BF ) −1 B = Rn = ∏ Ri u (∞ ) hn i =1 pi
ut=inv(1+F*inv(A-B*F)*B)
2
Az Ackermann képlet levezetése: Ackermann, J.: Der Entwurf linearer Regelugssysteme im Zustandsraum. Regelungstechnik 20 (1972) S. 297-300. 3 Ha a folyamat állapotegyenlete az irányíthatósági kanonikus alakban áll rendelkezésre, akkor az F sorvektor illetve a kc erősítés kiszámítására egyszerűbb módszer is használható. Lásd: az 1c. Példa megoldását. 2008. március 9.
14
SzB
Folyamatszabályozás
Állapotirányítás
u(0)=kcua(0)
u(∞)=kcua0–Fx(∞)
u(t) u(∞)
t A folyamat u bemenő jelének túlvezérlése ua(t)=ua01(t) ugrásszerűen változó alapjel hatására 11. ábra
Az u(t) irányító jelnek ez a túlvezérlése, és a túlvezérlés alkalmas módon történő visszavétele hozza létre azt a hatást, ami a folyamat felgyorsulásának látszatát kelti. A fizikai működés szempontjából a túlvezérlés eredménye a gyorsítás, az állapotvisszacsatolás ennek a forszírozott beavatkozásnak a mértékét veszi vissza. Ilyen típusú beavatkozást nem csupán az állapotvisszacsatolást tartalmazó struktúra eredményezhet, a PD típusú tagok4 soros kompenzációjával is hasonló gyorsítások valósíthatók meg. A soron következő feladat és ennek megoldása azt kívánja illusztrálni, hogy abban az esetben, amikor a SISO folyamat állapotegyenlete az irányíthatósági kanonikus alakban5 áll rendelkezésre, akkor az állapot visszacsatolás méretezése – az F, a kc és az ut adatok meghatározása – a komplikált és nehézkes mátrix műveletek helyett igen egyszerű összefüggések segítségével is elvégezhető6. 1c. Példa A harmadrendű, három energiatárolós, önbeálló, lineáris SISO folyamat átviteli függvénye: g3 g3 y( s) G p ( s) W ( s) = = = = = p ( s − p1 )( s − p2 )( s − p3 ) u ( s) H p ( s) s 3 + h s 2 + h s + h 1 2 3 =
6 6 = s 3 + 6 s 2 + 11s + 6 ( s + 1)( s + 2)( s + 3)
Állapotvisszacsatolás alkalmazásával – a tranziens jelenségek lerövidítésének céljából – tervezzünk olyan rendszert, melynek előírt pólusai: pR1 = –3, pR2 = –6 és pR3 = –9, karakterisztikus polinomja pedig det[λI–(A–BF)]=HR(λ)=(λ–pR1)(λ–pR2)(λ–pR3)=λ3+hR1λ2+hR2λ+hR3=λ3+18λ2+99λ+162. Ezen túlmenően az állapot visszacsatolt rendszer dc erősítése legyen azonos a folyamat dc erősítésével: kR=kp=g3 /h3=6/6= 1. Számítsuk ki az ut túlvezérlési arányt. (h1=6, h2=11, h3=6, g3=6, hR1=18, hR2=99, hR3=162).
4
Ha a folyamat minden pi pólusát úgy cseréljük , hogy pRi
2008. március 9.
15
SzB
Folyamatszabályozás
Állapotirányítás
Megoldás. A folyamat n=3–ad rendű, állandó együtthatós, lineáris differenciálegyenlete az átviteli függvényből kiolvashatóan: d 3 y (t ) d 2 y (t ) dy (t ) + h1 + h2 + h3 y (t ) = g 3 u (t ) 3 dt dt dt 2 d 3 y (t ) d 2 y (t ) dy (t ) = −h1 − h2 − h3 y (t ) + g 3u (t ) dt dt 3 dt 2
A differenciálegyenlet alapján, vagy a Wp(s) átviteli függvény közvetlen felbontásával határozhatjuk meg a folyamat P, I és Σ alaptagokból felépített hatásvázlatát. Ez a hatásvázlat lesz alkalmas arra, hogy a folyamat állapotegyenletének irányíthatósági kanonikus alakját felírjuk. A lineáris alaptagokból felépített hatásvázlat :
u(t)
∫
x1(t)
x2(t)
∫
∫
x3(t)
g3
y(t)
-h1 -h2 -h3 Harmadrendű rendszer – az irányíthatósági kanonikus alaknak megfelelő – hatásvázlata 12. ábra A hatásvázlat jelöléseivel a folyamat állapotegyenlete és paramétermátrixai: dx1 (t ) = − h1 x1 (t ) − h2 x 2 (t ) − h3 x3 (t ) + u (t ) dt dx2 (t ) = x1 (t ) dt dx3 (t ) = x 2 (t ) dt y (t ) = g 3 x3 (t ) ⎡− h1 ⎢ A=⎢ 1 ⎢⎣ 0
−h 2 0 1
− h3 ⎤ ⎥ 0 ⎥ 0 ⎥⎦
⎡1⎤ ⎢ ⎥ B = ⎢0⎥ C = [0 0 g 3 ] D = 0 ⎢⎣0⎥⎦
A folyamat átviteli függvényének dc erősítése: k p = −CA −1 B =
g3 h3
Ha az x1(t), x2(t) és x3(t) állapotváltozók érzékelő szervekkel mérhető jelek, akkor ezeknek a bemenetre történő visszacsatolásával a folyamatirányítás állapotvisszacsatolással kialakított struktúrája hozható létre. Ennek alaptagokkal felépített hatásvázlata:
2008. március 9.
16
SzB
Folyamatszabályozás
ua(t)
Állapotirányítás
u(t)
x1(t)
∫
kc -
x2(t)
∫
∫
x3(t)
g3
y(t)
-h1 -h2 -h3 f1 f2 f3 Az állapot visszacsatolt rendszer alaptagokból felépített hatásvázlata 13. ábra
Ebben az f1, f2 és f3 átviteli tényezőkön keresztül az állapotváltozók a bemenetre negatívan vannak visszacsatolva. A visszacsatolás célja, hogy a visszacsatolt rendszer pólusai a méretezési előírásnak megfelelő pR1, pR2 és pR3 értékek legyenek. A visszacsatolt struktúra – miután az összegző tagok egymás között szabadon felcserélhetőek – egyszerűsíthető. Ehhez azt kell észrevenni, hogy a –h1 és az f1 , a –h2 és az f2 valamint a –h3 és az f3 átviteli tényezővel rendelkező tagok párhuzamos kapcsolást alkotnak. Az egyszerűsített hatásvázlat ezért:
ua(t)
kc
x1(t)
∫
∫
x2(t)
∫
x3(t)
y(t) g3
-(h1+f1) -(h2+f2) -(h3+f3) A rendszer egyszerűsített hatásvázlata 14. ábra Az eredő rendszer átalakított hatásvázlat struktúrája láthatóan szintén egy irányíthatósági kanonikus alaknak felel meg. A visszacsatolt rendszer állapotegyenlete és paramétermátrixai a hatásvázlat jelöléseivel: dx1 (t ) = −(h1 + f1 ) x1 (t ) − (h2 + f 2 ) x 2 (t ) − (h3 + f 3 ) x3 (t ) + k c u (t ) dt dx 2 (t ) = x1 (t ) dt dx3 (t ) = x 2 (t ) dt y (t ) = g 3 x3 (t ) ⎡ −(h1 + f1 ) −(h2 + f 2 ) −(h3 + f 3 )⎤ ⎢ ⎥ AR = A − BF = ⎢ 1 0 0 ⎥ ⎥⎦ 0 1 0 ⎣⎢ C R = C = [0 0 g 3 ] DR = D = 0 k R = −C ( A − BF ) −1 Bk c =
2008. március 9.
⎡k c ⎤ ⎢ ⎥ BR = Bk c = ⎢ 0 ⎥ ⎣⎢ 0 ⎦⎥
kc g 3 h3 + f 3
17
SzB
Folyamatszabályozás
Állapotirányítás
A visszacsatolt rendszer előírt pólusai pR1=–3, pR2=–6, és pR3=–9. A megfelelő karakterisztikus polinom: det[λI–(A–BF)]=HR(λ)=(λ–pR1)(λ–pR2)(λ–pR3)=(λ+3)(λ+6)(λ+9)= =λ3+nR1λ2+nR2λ+nR3=λ3+18λ2+99λ+162 (hR1=18,hR2=99, hR3=162) . Az F= [ f1 f2 f3 ] visszacsatolás és a kc méretezése, illetve az ut túlvezérlési arány meghatározása:
[
−1
F = [0 0 1] Co H R ( A) = [0 0 1] B AB A 2 B
[ ] CA = [1 + F ( A − BF ) B ] −1
k c = C ( A − BF ) B ut
−1
−1
−1
] (A −1
3
+ hR1 A 2 + hR 2 A + hR 3 I
)
B
−1
A kc és az ut kiszámítását meg kell hogy előzze az Ackermann képlettel számítható F visszacsatoló vektor meghatározása. Egy n-ed rendű SISO folyamat A állapotmátrixa és a C0 irányíthatósági tesztmátrixa n×n-es méretű. A B bemeneti mátrix mérete n×1, az F és C mátrixok méretei pedig 1×n. Mindezekből az is következik, hogy már az adott n=3–ad rendű rendszer esetében is komplikált mátrixműveletek (hatványozás, invertálás, szorzás) kiszámítását kell elvégezni. Ez a MATLAB szolgáltatásainak igénybevétele nélkül szinte reménytelen vállalkozásnak tűnik7. Az F, a kc és az ut értékeit meghatározó képleteknek a kiszámításához vegyük igénybe a MATLAB szimbolikus változókat kezelni képes eljárását. Ennek alapján : syms h1 h2 h3 g3 hR1 hR2 hR3 real A=[-h1 –h2 –h3;1 0 0;0 1 0];B=[1 0 0]’; C=[0 0 g3];D=0; % A folyamat paraméter mátrixai Co=[B A*B A^2*B]; % Az irányíthatósági tesztmátrix HR=[1 hR1 hR2 hR3]; % A rendszer karakterisztikus polinomja HRA=polyvalm(HR,A); F=[0 0 1]*inv(Co)*HRA; % A visszacsatoló mátrix kc=inv(C*inv(A-B*F)*B)*C*inv(A)*B; % A dc erősítés ut=inv(1+F*inv(A-B*F)*B); % A túlvezérlési arány disp(F); disp(kc); disp(ut); h1=6;h2=11;h3=6;g3=6; hR1=18;hR2=99;hR3=162; disp(subs(F)); % F=[12 88 152] disp(subs(kc)); % kc=27 disp(subs(ut)); % ut=27
A MATLAB támogatás igénybevételével kapott eredmények: F = [− h1 + hR1 − h2 + hR 2
− h3 + hR 3 ] = [12 88 156]
h kc = R 3 = 27 h3 ut =
h 1 = R 3 = 27 − h3 + hR 3 h3 1− hR 3
Ismételten megjegyezzük, hogy az h3 együttható a folyamat pi pólusainak a szorzata, az hR3 együttható pedig az állapot visszacsatolt rendszer pRi pólusainak a szorzata. Láthatóan az ut túlvezérlési arányt a pólusáthelyezési arány szabja meg. A méretezés egyszerű változata Az a tulajdonság, hogy az adott elrendezésben mind a folyamat, mind pedig az eredő állapotvisszacsatolt rendszer paraméter mátrixai az irányíthatósági kanonikus alakban állnak rendelkezésre, lehetőséget teremt arra, hogy a korábban ismertetett mátrixműveletek alkalmazásától egyszerűbb eljárással határozzuk meg a méretezni kívánt F és kc paramétereket, illetve az ut túlvezérlési arányt. Az állapotvisszacsatolt rendszer alaptagokból felépített hatásvázlata alapján – ha ez a hatásvázlat a folyamat állapot egyenletének irányíthatósági kanonikus
7
Ha az A állapotmátrix mérete n=1, vagy n=2, a mátrixműveletek viszonylag egyszerűen elvégezhetők. n>2 esetében a MATLAB szolgáltatásairól nem célszerű lemondani, mivel ekkor a „kézi” számítások velejárója az esetleges hibás számítási művelet. 2008. március 9.
18
SzB
Folyamatszabályozás
Állapotirányítás
alakját tartalmazza – a folyamat A–, illetve a visszacsatolt rendszer A-BF állapotmátrixai közvetlenül felírhatók. Ezekből a folyamat és a rendszer karakterisztikus polinomjai: det(λI − A)
= λ3 +
h1λ2 +
h2 λ + h3
= (λ − p1 ) (λ − p 2 ) (λ − p3 )
det[λI − ( A − BF )] = λ + (h1 + f1 )λ2 + (h2 + f 2 )λ + (h3 + f 3 ) = (λ − p R 1 )(λ − p R 2 )(λ − p R 3 ) = 3
= λ3 +
hR 1 λ 2 +
hR 2 λ + hR 3
Az együtthatók összehasonlítása alapján kapjuk: h1 + f1 = hR1 h2 + f2 = hR2 h3 + f3 = hR3
f1 = hR1 – h1 f2 = hR2 – h2 f3 = hR3 – h3
→
Ennek alapján: f1 = 18 – 6 = 12 f2 = 99 – 11 = 88 f3 = 162 – 6 = 156 Ha a visszacsatolt rendszer bemenetére ua(t)=ua01(t) szerint változó ugrásjelet kapcsolunk, akkor az állandósult állapot kialakulásakor (elvileg a t=∞ időpontban és aszimptotikusan stabilis rendszer esetében) minden integráló tag bemenő jele szükségszerűen zérus értékű kell hogy legyen. Ekkor a pRi pólusok mindegyike negatív-, vagy negatív valós részű és dx1(∞)/dt= dx2(∞)/dt= dx3(∞)/dt=0. Ebből pedig az is következik, hogy az állandósult állapotban kizárólag az x3(∞) különbözik zérustól. Az x3(∞) értékét pedig az szabja meg, hogy az x1 állapot változót létrehozó integráló tagnak a dx1(∞)/dt= kcuao–(h3+f3)x3(∞) bemenő jele zérus kell hogy legyen. Ezért: dx1 (t ) dt
=0
⇒ k c u a (∞) − (h3 + f 3 ) x3 (∞) = 0
t =∞
x 3 (∞ ) =
k c u a (∞ ) h3 + f 3
⇒
y ( ∞ ) = g 3 x 3 (∞ ) =
g 3kc u a (∞ ) = k R u a (∞ ) h3 + f 3
Ebből következik, hogy abban az esetben, ha a kc erősítést kc =
h3 + f 3 hR 3 ( − p R1 )(− p R 2 )( − p R 3 ) 162 = = = = 27 h3 h3 ( − p1 )( − p 2 )( − p 3 ) 6
értékre választjuk, akkor a visszacsatolt rendszer eredő erősítése azonos lesz a folyamat eredeti kp erősítésével kR =
g3 g 3 h3 + f 3 g 3 = = kp k c= h3 + f 3 h3 + f 3 h3 h3
Az adott esetben az ut túlvezérlési arány is egyszerűen meghatározható. Vegyük figyelembe, hogy az ua bekapcsolásának időpillanatában ( a t=0 időpontban és x1(0)=x2(0)=x3(0)=0 kezdeti feltételek mellett ) minden állapotváltozó értéke zérus, az állandósult állapotban (a t=∞ időpontban ) minden állapot sebesség zérus, illetve az alapjel tulajdonságának következményeként ua(0)=ua(∞)=ua0 . A hatásvázlat alapján közvetlenül kapjuk: u (0) = k c u a (0) = k c u a 0 u (∞) = kc u a (∞) − f 3 x3 (∞) = kc u a (∞) − f 3 ut =
u (0) = u (∞ ) =
kcua 0
k c u a (∞) ku = k c u ao − f 3 c a 0 h3 + f 3 h3 + f 3
kcua 0 h + f 3 hR 3 1 = = 3 = = f3 f3 h3 h3 kcu a 0 1 − − h3 + f 3 h3 + f 3
(− p R1 )(− p R 2 )(− p R 3 ) 162 = = 27 (− p1 )(− p2 )(− p3 ) 6
Nyomatékosan hangsúlyozni kell, hogy az állapotirányítás F visszacsatoló vektorának és a kc erősítési tényező meghatározásának ez az egyszerű eljárása akkor alkalmazható, ha a folyamat állapotegyenlete az irányíthatósági kanonikus alakban áll rendelkezésre. Ennek eredménye az, hogy a hatásvázlaton egymással soros kapcsolást alkotó integráló tagok láncolata szerepel, ami miatt egyensúlyi helyzetben ezek mindegyikének bemenő jelei ( az állapotsebességek ) zérusok. Ha a folyamat állapotegyenlete nem az irányíthatósági kanonikus alakban adott, akkor az állapotvisszacsatolás F vektorának meghatározására célszerűen az Ackermann képletre kell hogy
2008. március 9.
19
SzB
Folyamatszabályozás
Állapotirányítás
hagyatkozzunk. A MATLAB acker függvénye az F visszacsatolás kiszámításához nyújt : F=acker(A,B,[pR1,pR2,pR3]).
ekkor hatékony támogatást
2. Példa (Méretezés előre megadott sajátértékekre állapot-visszacsatolással) Egy másodrendű, önbeálló folyamat (szabályozott szakasz) az alábbi hatásvázlattal jellemezhető:
u
x1
1 1+ s
1 1 + 2s
x2=y
15. ábra a) Állapítsuk meg, hogy állapotirányítható–e a folyamat? b) Adjunk meg egy olyan – az x1 és x2 állapotváltozókról vett visszacsatolásokkal kialakított – állapotvisszacsatolást tartalmazó struktúrát és ennek F és k paramétereit, melynek alkalmazásával az eredő rendszert az: R( s) =
y(s) 1 = u a ( s ) 1 + 2ξT0 s + T02 s 2
átviteli függvény jellemzi (T0=1/2; ξ=1/√2)! c) A rendszer bemenetére ua(t)=1(t) alapjelet kapcsolunk. Léptékhelyesen ábrázoljuk az u(t) és y(t) időfüggvényeket! Megoldás A szabályozott folyamat y(s)/u(s) eredő átviteli függvényének két pólusa van (p1=–1; p2=–1/2). Állapotváltozói irányíthatók és megfigyelhetők. Az alaptagokból felépített struktúra:
u
∫
x1
∫
0.5
-1
x2=y
-0.5 16. ábra
Az állapotegyenlet ebből: x&1 = − x1 + u x& 2 = 0.5 x1 − 0.5 x2 y = x2
0 ⎤ ⎡ −1 A=⎢ ⎥ 0 . 5 − 0.5⎦ ⎣
⎡1⎤ B=⎢ ⎥ ⎣0⎦
C = [0 1]
D=0
Az x1 és x2 állapotváltozókról alkalmasan megválasztott állapotvisszacsatolással a szakasz p1 és p2 pólusai tetszőlegesen áthelyezhetők. Fontos azonban annak észrevétele, hogy a folyamat állapotegyenletét most nem az irányíthatósági kanonikus alakban állítottuk elő. Az állapotirányítással létrehozott struktúra:
ua
k
-
u -
1 1+ s
x1
1 1 + 2s
x2=y
f1 f2 17. ábra Az állapotvisszacsatolással keletkező eredő rendszer karakterisztikus polinomja méretezési követelményként adott, nevezetesen:
2008. március 9.
20
SzB
Folyamatszabályozás
Állapotirányítás
H R ( s ) = T02 s 2 + 2ξT0 s + 1 =
1 2 1 s + s +1 4 2
Ennek gyökei (az eredő rendszer pólusai): p R1, 2 =
1 ( −ξ ± 1 − ξ 2 ) = 2 ( −1 ± j ) T0
Az állapot-visszacsatolás hatásvázlata alapján méretezendő paraméterek az f1, f2 átviteli tényezők és a k erősítés. A feladat megoldása az alábbi programlistában találhatók: echo on a=[-1 0;1/2 -1/2];b=[1 0]';c=[0 1];d=0;To=1/2;z=1/sqrt(2); % z: csillapitási tenyező pause; %===================================================================================== % Az a.) feledat megoldasa [aT,bT,cT,dT,T]=canon(a,b,c,d); disp(bT);pause; disp(cT);pause; % bT-nek nincs zeró sora, cT-nek zeró oszlopa, a folyamat irányitható és megfigyelhető %============================================= % A b.) feladat megoldasa HR=[To^2 2*z*To 1]; pR=roots(HR); f=acker(a,b,[pR(1,1) pR(2,1)]) k=inv(c*inv(a-b*f)*b)*c*inv(a)*b pause; % Ellenőrzés: aR=a-b*f;bR=b*k; eig(aR) pause; [GR,HR]=ss2tf(aR,bR,c,d); printsys(GR,HR);pause; %============================================= % A c.) feladat megoldasa step(GR,HR);title('Az y(t) időfüggvény');grid;pause; t=0:.1:4; [y,x,t]=step(aR,bR,c,d,1,t); u=(k*ones(1,41))'-f(1,1).*x(:,1)-f(1,2).*x(:,2); plot(t,u);title('Az u(t) irányitó jel');grid;pause;
A program futása során kiolvasható adatok: a) A folyamat irányítható b) k=8 f1=1.3284 f2=5.6716 3. Példa (Labilis szakasz stabilizálása állapotvisszacsatolással) Egy labilis szabályozott szakasz átviteli függvénye: W p ( s) =
y (s) 1 = u ( s ) (1 − s )(1 + 2 s )(1 + 8s )
a) Léptékhelyesen ábrázoljuk a szakasz átmeneti függvényét. b) Adjuk meg a szakasz állapotegyenletének kanonikus alakját, és ennek alapján döntsük el, hogy állapotirányítható-e a szakasz? c) Állapotvisszacsatolás alkalmazásával stabilizáljuk a szakaszt olyan módon, hogy az eredő rendszer átviteli függvénye R( s) =
y ( s) 1 = u a ( s ) (1 + sT1 )(1 + 2ξT0 s + T02 s 2 )
legyen (T1=1/2; T0=1;ξ=1/ 2 ). Az állapotvisszacsatolást a szakasz iteratív felbontásának alapján kapott állapotváltozóiról létesítjük. d) ua(t)=1(t) hatására adjuk meg a rendszer u(t) és y(t) időfüggvényeit és számítsuk ki a túlvezérlési arányt.
2008. március 9.
21
SzB
Folyamatszabályozás
Állapotirányítás
Megoldás A szakasz p1=1 pólusa labilitást okoz, azért u(t)=1(t) hatására |y(t)| minden határon túl növekszik. Az irányíthatóság és megfigyelhetőség feltételei azonban teljesülnek, vagyis a labilitás ellenére létezik olyan u(t) irányító jel, melynek bemeneten történő működtetésével egy x(t0) állapot tv–t0>0 véges idő alatt egy x(tv) állapotba átvihető. Az állapotvisszacsatolás alkalmazásával a szakasz p1=1; p2=–1/2 és p3=–1/8 pólusai tetszőlegesen átrendezhetők, így a labilitást okozó pólus a komplex sík „stabilis” részére helyezhető. Az állapotvisszacsatolással keletkező rendszer előírt pólusai R(s)-ből kiolvashatóan:
1 T1
1
j
1/T0
2
pR3
−
2 = −2
( −1 ± j )
1
ν
-2
1
p R1, 2 =
ξ = cosν =
1 2
T0 = 1
1
− j
1 2 = = 0.707 1 2
2 18. ábra
Ilyen pólus elrendeződés esetén az állapotvisszacsatolt rendszer stabilis és önbeálló, dinamikus tulajdonságait a pR1,2 domináns póluspár T0 és ξ adatai alapvetően megszabják. A szakasz iteratív felbontással jellemzett hatásvázlata: u
x3
∫
-1
x2
∫
0.5
1
0.125
-0.5
∫
x1=y
-0.125
19. ábra Innen: x&1 = −0.125 x1 + 0.125x2 &x2 = −0.5 x2 + 0.5 x3 x&3 = x3 − u y = x1 ⎡−0.125 0.125 0 ⎤ ⎢ ⎥ A=⎢ 0 − 0.5 0.5⎥ 0 1 ⎥⎦ ⎣⎢ 0
⎡0⎤ ⎢ ⎥ B=⎢0⎥ ⎣⎢− 1⎦⎥
C = [1 0 0]
D=0
A szakasz labilis pólusa miatt ennek dc erősítése nem értelmezhető. Az állapotvisszacsatolással keletkező rendszer hatásvázlata és állapotegyenlete:
ua
k
u -
B
x&
∫
e
x
C
y
A F 20. ábra x& = ( A − BF ) x + Bkua y = Cx
2008. március 9.
22
SzB
Folyamatszabályozás
Állapotirányítás
A visszacsatolt rendszernek van egyensúlyi állapota, az eredő rendszer y és ua jelei között definiált dc erősítése kR=1, mint ahogy ez az R(s) átviteli függvényből kiolvasható. F méretezése után tehát a k tényezővel a kR=1 értékét kell beállítani. Az ua=ua0 hatására kialakuló egyensúlyi állapotban dx0/dt≡0, ezért: (A–BF)x0+Bkua0=0 y0=Cx0 x0=–(A–BF)–1Bkua0 y0=–C(A–BF)–1Bkua0=kRua0
innen:
–C(A–BF)–1Bk=kR=1 k=–[C(A–BF)-1B]–1
vagyis:
A feladat megoldását az alábbi programban találhatjuk. echo on a=[-1/8 1/8 0;0 -1/2 1/2;0 0 1];b=[0 0 -1]'; c=[1 0 0];d=0;T1=1/2;To=1;z=1/sqrt(2); % z: csillapitási tényező pause; %===================================================================== % Az a.) feladat megoldása [aT,bT,cT,dT,T]=canon(a,b,c,d,'modal'); disp(bT);pause; % bT-nek nincs zeró sora, a szakasz állapotirányitható %===================================================================== % A b.) feladat megoldasa HR=conv([T1 1],[To^2 2*z*To 1]); pR=roots(HR); f=acker(a,b,[pR(1,1) pR(2,1) pR(3,1)]) k=-inv(c*inv(a-b*f)*b) pause; % Ellenőrzés: aR=a-b*f;bR=b*k; [GR,HR]=ss2tf(aR,bR,c,d); printsys(GR,HR);pause; damp(HR);pause; %===================================================================== % A c.) feladat megoldása step(aR,bR,c,d);title('Az y(t) időfüggvény');grid;pause; t=0:.1:10; [y,x,t]=step(aR,bR,c,d,1,t); u=(k*ones(1,101))'-f(1,1).*x(:,1)-f(1,2).*x(:,2)-f(1,3).*x(:,3); plot(t,u);title('Az u(t) irányitó jel');grid;pause;
Az innen kiolvasható és a b) pont méretezési követelményeit teljesítő adatok: F=[f1 f2 f3]=[–25.1654 –4.0453 –3.7892] k=–32 A feladat megoldását megvalósító hatásvázlat struktúra:
u ua
-32
-
-
-
x3
1 1− s
1 1 + 2s
x2
1 1 + 8s
x1=y
-3.78 -4.04 -25.16 21. ábra Megjegyzés. A hatásvázlatból kiolvashatóan az állapotváltozókról vett visszacsatolások átviteli tényezői negatív számok, és f–fel negatívan csatolunk vissza. Ez azt a hamis érzetet keltheti, hogy az állapotváltozókról pozitív visszacsatolás jön létre. Ez azonban nincs így, aminek oka a folyamat 1/(1–s) tényezőjének fázisfordító tulajdonsága (pozitív u-ra az x3, illetve az x2, x1 állapotváltozók negatív irányban változnak), így végső soron a negatív visszacsatolás stabilizáló hatása jut érvényre. Vegyük észre, hogy az adott Wp(s) átviteli függvényhez választott
2008. március 9.
23
SzB
Folyamatszabályozás
Állapotirányítás
Wc ( s ) =
kc (1 + 8s )(1 + 2s ) 8s (1 + sT )
átviteli függvényű PID szabályozónak nincs olyan kc és T értéke, mely a zárt szabályozást stabilizálná. Ekkor ugyanis a zárt rendszer 8s(1–s)(1+sT)+kc=0 karakterisztikus egyenletének bármekkora kc és T paraméterre van pozitív valós részű gyöke. 4. Példa (Integráló szakasz állapotirányítása) Az ötödrendű, integráló tulajdonságú szabályozott szakasz átviteli függvénye: W p ( s) =
u ( s) 1 = y ( s ) s (1 + 2 s )(1 + 3s )(1 + 4 s )(1 + 5s )
a) Állapotirányítható–e a szakasz? b) A szakasz átviteli függvénye alapján kapható irányíthatósági kanonikus alak állapotváltozóiról vett visszacsatolás méretezésével hozzunk létre olyan irányítást, melynek alkalmazásával az eredő rendszer átviteli függvénye: R( s) =
y ( s) 1 = u a ( s ) (1 + 2 s ) 5
c) ua(t)=1(t) hatására léptékhelyesen ábrázoljuk az y(t) időfüggvényt! Megoldás A megoldás részeredményeit az alábbi programfutás tartalmazza. echo on Gp=1;Hp=conv([1 0],conv([2 1],conv([3 1],conv([4 1],[5 1])))); pR=-[0.5 0.5 0.5 0.5 0.5]; pause; %===================================================================== % Az a.) feladat megoldása [a,b,c,d]=tf2ss(Gp,Hp); co=ctrb(a,b);disp(rank(co));pause % A szakasz állapotirányítható %===================================================================== % A b.) feladat megoldasa f=acker(a,b,pR) k=-inv(c*inv(a-b*f)*b) pause; % Ellenőrzés [GR,HR]=ss2tf((a-b*f),b*k,c,d); printsys(GR,HR,’s’);pause; damp(HR) %===================================================================== % A c.) feladat megoldása step(GR,HR);title('Az y(t) időfüggvény');grid;pause;
A b) pont feltételeinek eleget tevő paraméterek – a program eredményei alapján – : f=[1.2167 1.9083 1.1333 0.3042 0.0313] k=3.75 Megjegyzés Miután a visszacsatolásokat a szakasz irányíthatósági kanonikus alakjának állapotváltozóiról létesítjük, az F visszacsatolás és a k erősítés az alábbiak szerint is méretezhető. A folyamat és a visszacsatolt rendszer karakterisztikus polinomjai: Hp(s)=s(1+2s)(1+3s)(1+4s)(1+5s)=120s5+154s4+71s3+14s2+s HR(s)=(1+2s)5=32s5+80s4+80s3+40s2+10s+1 A vezető együtthatókra normalizálva:
2008. március 9.
24
SzB
Folyamatszabályozás
Állapotirányítás
H ( s) = s 5 +
154 4 71 3 14 2 1 0 s + s + s + s+ 120 120 120 120 120
H R (s) = s 5 +
80 4 80 3 40 2 10 1 s + s + s + s+ 32 32 32 32 32
Innen: 80 154 − = 1.2167 32 120 80 71 = − = 1.9083 32 120 40 14 = − = 1.1333 32 120 10 1 = − = 0.3042 32 120 1 0 = − = 0.0313 32 120
f1 = f2 f3 f4 f5
Az ua0=1 hatására y(∞)=y0=1 kell, hogy legyen. Ebből: 1 =1 120 k − f 5 ⋅ x50 = 0 x50
k = f 5 ⋅ x50 =
1 120 = 3.75 32
5. Példa (PD hatás helyettesítése állapot-visszacsatolással) Az egytárolós arányos tag T időállandója az alábbi hatásvázlat szerint működő soros PD taggal T/n-ed részére csökkenthető (n>1) :
1 + sT 1 + sT n
h
u
h
y
1 1 + sT
1 1 + sT n
y
PD 22. ábra a) Bizonyítsuk be, hogy az alábbi állapotvisszacsatolás a soros PD kompenzációval egyenértékű hatást eredményez:
h
n – n−1 n
u
1 T
-
∫
y
1 T 23. ábra
b.) Mindkét struktúrára adjuk meg az u(t) és y(t) időfüggvényeket, ha h(t)=1(t); T=2 és n=5. Megoldás. a.) Az y és h jelek közötti átviteli függvény:
2008. március 9.
25
SzB
Folyamatszabályozás
Állapotirányítás
1 1 n ⋅ s T 1+ 1 sT
y(s) = h( s ) 1+
1 s
=
n −1 1 n ⋅ n T 1+ 1 sT
n 1 + sT
1 1 + (n − 1) 1 + sT
=
n 1 = 1 + sT + n − 1 1 + s T n
és ez azonos a PD kompenzációval kapott eredő átviteli függvénnyel. b.) PD kompenzáció esetén: ⎧ 1 + 2s u (t ) = L−1 ⎨ ⎩1 + 0.4 s ⎧ 1 y (t ) = L−1 ⎨ ⎩1 + 0.4 s
1⎫ − 2 .5 t ⎬ = 1 + 4e s⎭ 1⎫ − 2.5t ⎬ = 1− e s⎭
Állapotvisszacsatolás mellett: ⎧ ⎪ ⎪ ⎪ 5 –1 ⎪ u(t)=L ⎨ 1 ⎪ ⎪1 + 5 s 5 − 1 ⎪ 2 1+ 1 5 ⎪ 2s ⎩
⎧ ⎪ ⎪ ⎪ y(t)=L–1 ⎪⎨ ⎪ ⎪1 + ⎪ ⎪ ⎩
2008. március 9.
1 5 s 2 1+ 1 2s 1 5 s 5 −1 2 1+ 1 5 2s
26
⎫ ⎪ ⎪ ⎪ 1⎪ -1 ⎧ 1 + 2 s 1 ⎫ -2.5t ⎬ =1+4e ⎬ =L ⎨ s⎪ ⎩1 + 0.4s s ⎭ ⎪ ⎪ ⎪ ⎭
⎫ ⎪ ⎪ ⎪ 1 1⎫ 1⎪ -1 ⎧ -2.5t ⎬ =1–e ⎬ =L ⎨ s⎪ ⎩1 + 0.4s s ⎭ ⎪ ⎪ ⎪ ⎭
SzB
Folyamatszabályozás
Állapotirányítás
9.2 Az állapotmegfigyelő
A folyamat x(t) állapotváltozóiról akkor lehet állapotvisszacsatolást létrehozni, ha ezek az állapotváltozók érzékelő szervek segítségével mérhetőek. Ez gyakran akadályba ütközik, igen sokszor a folyamat matematikai modellje sem áll rendelkezésre. Ilyen esetekben egy identifikációs eljárás keretei között, mérési eredmények feldolgozásával kell létrehozni azt a matematikai modellt, amely a folyamat leírására alkalmas8. Ez az eljárás általában a folyamat átmeneti függvényének kísérleti felvételén, vagy a frekvencia függvényének méréssel történő meghatározásán alapszik. Az identifikációs eljárás végeredménye a folyamat átviteli függvényének az ismerete, amiből az állapotegyenlet is meghatározható. Ha a folyamat Wp(s) átviteli függvényét és az ebben szereplő paramétereket, vagy az állapotegyenleteket és az ezekben szereplő A, B, C paramétermátrixokat kísérletileg meghatároztuk, akkor létre lehet hozni egy olyan – például villamos hálózatból felépülő fizikai rendszert, amelynek állapotváltozói az x* állapotváltozók, paramétermátrixai az identifikált A, B, C paramétermátrixok. Ezen túlmenően ezt a fizikai modellt (az állapot– megfigyelőt) úgy kell kialakítani, hogy az x* változókhoz mérőeszközökkel is hozzá lehessen férni. Ha ezek után az u bemenő jelet a folyamat és a megfigyelő bemenetén egyidejűleg működtetjük, és az állapotvisszacsatolást a folyamat x állapotváltozói helyett ezen fizikai modell x* állapotváltozóiról (a megfigyelőről) létesítjük, akkor hasonló hatást érhetünk el, mintha a folyamat x állapotváltozóit csatoltuk volna vissza. Az állapotmegfigyelőről létesített állapotvisszacsatolás akkor lehet egyenértékű a folyamat állapotváltozóiról létesített visszacsatolással, ha az x*(t) és az x(t) az időben azonos módon változik. (Az állapot– megfigyelő technikai kialakítására folyamatirányító digitális számítógépet is felhasználhatunk, ez esetben a fizikai folyamat modelljének szerepét a számítógépen futó program veszi át). A folyamat és a megfigyelő struktúráját az alábbi hatásvázlat szemlélteti: x(0) A folyamat u(t)
x’(t)
B
x(t)
∫
y(t)
C
A
’
x *(t)
B
-
x*(0) x*(t)
∫
C
y*(t) -
A
y*(t)-y(t)
M
Az állapotmegfigyelő
e(t)=Fx*(t)
F Állapotvisszacsatolás a megfigyelő x*(t) állapotváltozóiról A folyamat és az állapotmegfigyelő struktúrája (24. ábra)
8
Irodalom: Hütte: A mérnöki tudományok kézikönyve. Springer Verlag. 1993.
2008. március 9.
27
SzB
Folyamatszabályozás
Állapotirányítás
Az ábrából leolvashatóan, ha u(t) bemenő jel hat a folyamatnak és a folyamat modelljének (az állapotmegfigyelőnek) a bemenetén, és az x(0) és x*(0) kezdeti feltételek azonosak9, akkor x(t)=x*(t) és ezért y(t)=y*(t). Ez egyben azt is jelenti, hogy az állapotmegfigyelő M visszacsatoló tagjának bemenő jele zérus, vagyis ekkor M szerepet sem játszik. Az állapot– megfigyelő tervezésében az M visszacsatolás meghatározása a tervezési feladat. M akkor jut szerephez, ha az y*–y különbségi jel nem zérus. Ez az eset pedig kizárólag akkor fordulhat elő, ha x(0)≠x*(0) , vagyis ha a folyamat és a megfigyelő (az azonos u(t) bemenő jel mellett) nem azonos kezdeti feltétellel rendelkezik. Ekkor x(t) és x*(t) sem azonos, és ezért M meghatározásának tervezési célkitűzése lehet, hogy kívánalomnak tekintjük azt, hogy x(t) és x*(t) a lehetőség szerint gyorsan közelítse meg egymást akkor is, ha x(0)≠x*(0). A tervezés megoldása visszavezethető egy olyan állapot visszacsatolási feladat problémakörére, amelynek állapot változója a folyamat és a megfigyelő állapotváltozóinak x(t)–x*(t) különbsége. Az állapot megfigyelő rendszertechnikai tervezése tehát végső soron az M visszacsatoló mátrix (oszlopvektor) meghatározását jelenti. Az előző ábra alapján a folyamatra, és az állapotmegfigyelőre írhatjuk: dx(t ) = Ax(t ) + Bu (t ) dt y (t ) = Cx(t )
(
)
(
dx∗ (t ) = Ax∗ (t ) + Bu (t ) − M y ∗ (t ) − y (t ) = Ax∗ (t ) + Bu (t ) − M Cx∗ (t ) − Cx(t ) dt y ∗ (t ) = Cx∗ (t )
)
Ezekből – a folyamat és a megfigyelő differenciálegyenleteinek különbségéből – kapjuk:
(
)
(
d x(t ) − x∗ (t ) = ( A − MC ) x(t ) − x∗ (t ) dt
)
Ennek az A–MC állapotmátrixú homogén állapotegyenletnek a megoldása:
(
x(t ) − x∗ (t ) = e( A− MC )t x(0) − x∗ (0)
)
Ez a megoldás x(0) ≠ x*(0) kezdeti feltételek esetében akkor tart gyorsan zérushoz – vagyis akkor lesz mihamarabb a megfigyelő x*(t) állapotváltozója a folyamat x(t) állapotváltozójával közel azonos – , ha az A–MC mátrix pMi=λMi sajátértékei nagy negatív számok (pMi << 0) .
xi(0)
xi(t)
xi(t)–xi*(t) Ez tűnik el az A–MC állapotmátrix sajátértékei szerint
xi*(0) xi*(t)
t
A folyamat és a megfigyelő sajátmozgása (25. ábra) 9
További vizsgálatainkban feltételezzük, hogy a folyamatmodell (a megfigyelő), és a tényleges folyamat A, B, C paramétermátrixai egymással azonosak (ideális megfigyelő).
2008. március 9.
28
SzB
Folyamatszabályozás
Állapotirányítás
Az A–MC mátrix sajátértékeit tartalmazó karakterisztikus egyenlet: det[λI–(A–MC)]=HM (λ)= λn+hM1 λn-1+…+hM(n-1) λ+hMn= = (λ–pM1)(λ–pM2)… (λ–pMi)…(λ–pMn)=0 A pMi=λMi sajátértékeket úgy célszerű megválasztani, hogy ezek az F állapot visszacsatolással felgyorsított rendszer λRi sajátértékeinél is kisebbek legyenek (λMi < λRi). A λMi sajátértékeket tekintve méretezési előírásnak, M értéke meghatározható. Miután az A, B pár irányítható és az A, C pár megfigyelhető, ezért M meghatározására a MATLAB acker függvénye is felhasználható. Fontos megjegyeznünk, hogy az A, C pár megfigyelhetősége nem csupán annak az elvi lehetőségét biztosítja, hogy az u irányító jelből és az y kimenő jelből az x*(t) megfigyelt állapotváltozók előállíthatók legyenek, hanem arra is garanciát ad, hogy az M megfelelő megválasztásával az állapotmegfigyelő λMi sajátértékeire tetszőleges előírásokat tehessünk. Megjegyzés: Ehhez figyelembe kell venni, hogy az állapotvisszacsatolás méretezésekor a det[λI–(A–BF)] karakterisztikus polinomra vonatkozóan használható az acker függvény, miközben az A–BF pRi=λRi sajátértékei a méretezési előírások. Ekkor a méretezendő F visszacsatoló mátrix előlről van szorozva az ismert B bemeneti mátrixszal, és F=acker(A,B,pR). A megfigyelő méretezésekor a det[λI–(A–MC)] karakterisztikus polinom előírt pMi=λMi gyökei alapján kell a M mátrixot meghatározni, és tekintetbe kell venni azt, hogy most a méretezendő M hátulról van szorozva az ismert C kimeneti mátrixszal.
Matematikai tétel értelmében a det[λI–(A–MC)] karakterisztikus polinom pMi gyökei azonosak a det[λI–(AT–CTMT)] polinom gyökeivel, és ez utóbbira az Ackermann képlet vagy a MATLAB acker függvénye már felhasználható: MT=[0 0 …0 1][CT ATCT …(AT)n-1CT]–1[(AT)n + hM1(AT)n–1 +…+hMnI] MT=acker(A’,C’,pM);M=MT’;
A pMi pólusok pMi
Ha a folyamat x állapotváltozóihoz érzékelő szervekkel nem lehet hozzáférni, akkor az F visszacsatolást a folyamatot modellező állapot megfigyelő x* állapotváltozóiról létesítjük. Az állapotmegfigyelő méretezése a M visszacsatoló mátrix meghatározását jelenti olyan szempontok alapján, hogy az A–MC mátrix pMi=λMi sajátértékeit méretezési előírásnak tekintjük: MT=acker(A’,C’,pM);M=MT’;
2008. március 9.
29
SzB
Folyamatszabályozás
Állapotirányítás
Természetesen az állapot megfigyelő segítségével történő állapotirányítás esetében magát az állapot megfigyelőt is realizálni kel. Azon túlmenően, hogy x*–hoz hozzáférést kell biztosítani, az is szükséges, hogy a folyamat és a modell u és y jelei egymáshoz is illeszthetőek legyenek. 9.3 Állapotirányítás megfigyelővel
Az állapot megfigyelővel működő állapotvisszacsatolást tartalmazó rendszer hatásvázlata10: x(0) ua(t)
u(t)
kc
x’(t)
B
–
A folyamat
x(t)
∫
y(t)
C
A
x*(0) x*’(t)
B
-
∫
x*(t)
C
y*(t)
–
A M
F
y*(t)–y(t)
Az irányító alrendszer
A teljes rendszer hatásvázlata (26. ábra)
A hatásvázlat alapján a rendszer állapotegyenletének felírásakor az y kimenő jel mellett további kimenő jeleknek vegyük fel az u(t) irányító jelet valamint a h(t)=x(t)–x*(t) jeleket is. Ezek nyomon követésével átfogó képet kapunk a folyamat, a megfigyelő, és a teljes állapot– irányítási rendszer tranziens jelenségeiről. A rendszer állapotegyenlete:
10
Irodalom: Benjamin C. Kuo: Önműködő szabályozó rendszerek. Műszaki könyvkiadó. 1979.
2008. március 9.
30
SzB
Folyamatszabályozás
Állapotirányítás
(
)
dx(t ) = Ax(t ) + B kcua (t ) − Fx* (t ) dt dx* (t ) = Ax* (t ) − M Cx* (t ) − Cx(t ) + B kcua (t ) − Fx* (t ) dt
(
) (
)
y (t ) = Cx(t ) u (t ) = − Fx* (t ) + kcua (t ) h(t ) = x(t ) − x* (t ) Normál alakra rendezve: ⎡ dx(t ) ⎤ ⎢ dt ⎥ ⎡ A ⎢ * ⎥=⎢ ⎢ dx (t ) ⎥ ⎣ MC ⎢⎣ dt ⎥⎦ ⎡ y (t )⎤ ⎢u (t ) ⎥ = ⎢ ⎥ ⎢⎣ h(t ) ⎥⎦ A dxR(t)/dt=[dx(t)/dt jelölésekkel:
− BF ⎡ Bkc ⎤ ⎤ ⎡ x(t ) ⎤ + ⎢ Bk ⎥ ua (t ) A − BF − MC ⎥⎦ ⎢⎣ x* (t )⎥⎦ ⎣ c⎦ ⎡ C ⎢0 ⎢ 1× n ⎢⎣ I n× n
dx*(t)dt]T , az
01× n ⎤ ⎡ 0 ⎤ ⎡ x(t ) ⎤ ⎥ − F ⎥ ⎢ * ⎥ + ⎢⎢ kc ⎥⎥ ua (t ) x (t )⎦ ⎢⎣0n×1 ⎥⎦ − I n×n ⎥⎦ ⎣ xR(t)=[x(t)
x*(t)]T és az yR(t)=[y(t) u(t) h(t)]T
dx R (t ) = AR x R (t ) + BR u a (t ) dt y R (t ) = C R x R (t ) + DR u a (t )
A rendszer eredő paramétermátrixai11 és hatásvázlata az állapotegyenletek alapján:
⎡ A AR = ⎢ ⎣ MC ⎡ C CR = ⎢⎢ 01× n ⎢⎣ I n×n
− BF ⎤ A − BF − MC ⎥⎦ 01×n ⎤ − F ⎥⎥ − I n×n ⎥⎦
⎡ Bk ⎤ BR = ⎢ c ⎥ ⎣ Bkc ⎦ ⎡ 0 ⎤ DR = ⎢⎢ kc ⎥⎥ ⎢⎣0n×1 ⎥⎦
11
Az AR, BR, CR, DR rendszermátrixok a folyamat n>1 rendszáma esetében mátrixelemű hipermátrixok, az AR mérete ennek megfelelően 2n×2n. Ez abból a tulajdonságból is következik, hogy mind a folyamat, mind pedig a megfigyelő n, n darab integrátort tartalmaz. A BR mátrix mérete 2n×1. 2008. március 9.
31
SzB
Folyamatszabályozás
Állapotirányítás
xR(0) ua(t)
BR
dxR(t)/dt
xR(t)
∫
CR
yR(t)
AR DR
Az állapot megfigyelővel rendelkező állapotirányítás hatásvázlata (27. ábra)
Ezekben a rendszermátrixokban A, B, C az állapotirányítható és állapotmegfigyelhető SISO folyamat paramétermátrixai. Az F sorvektort és a kc erősítést az állapotvisszacsatolásra előírt pRi pólusok ismerete alapján méretezzük, az M oszlopvektort pedig a megfigyelő pMi pólusaira vonatkozó követelmények alapján határozzuk meg. Ha a méretezést követően az AR, BR, CR és DR mátrixok-, valamint a MATLAB szolgáltatásai rendelkezésre állnak, akkor a teljes rendszer analízise már egyszerűen elvégezhető. A rendszer karakterisztikus egyenlete: det(λI–AR)= det[λI–(A–BF)]det[λI–(A–MC)]=0 Láthatóan a rendszer aszimptotikus stabilitásának biztosításához az A–BF és az A–MC mátrixoknak külön-külön is negatív sajátértékkel kell rendelkezniük. 9.4 A méretezést támogató MATLAB program
A rendszer méretezésére és vizsgálatára alkalmas MATLAB program (meg.m fájl): %Adatbevitel Gp=input(’Gp=’);Hp=input(’Hp=’); [A,B,C,D]=tf2ss(Gp,Hp); A=input(’A=’);B=input(’B=’);C=input(’C=’);D=0; step(A,B,C,D);grid;pause; n=length(A); p=eig(A); % A méretezési követelmények pR=input(’pR=’); pM=input(’pM=’); disp([p pR’ pM’]);
% Wp=Gp(s)/Hp(s) % A folyamat paraméter mátrixai % A folyamat átmeneti függvénye % A folyamat rendszáma % A folyamat pólusai % A rendszer előírt pólusai % A megfigyelő előírt pólusai
% Az állapot visszacsatolás méretezése F=acker(A,B,pR);kc=inv(C*inv(A-B*F)*B)*C*inv(A)*B; % A megfigyelő méretezése MT=acker(A’,C’,pM);M=MT’; % A méretezés eredményeinek megjelenítése FMT=[F;MT];ut=inv(1+F*inv(A-B*F)*B); disp(FMT);pause;disp([kc ut]);pause;
% A rendszer paramétermátrixai AR=[A –B*F;M*C A-B*F-M*C];BR=[B*kc;B*kc]; CR=[C zeros(1,n);zeros(1,n) –F;eye(n) –eye(n)];DR=[0;kc;zeros(n,1)]; printsys(AR,BR,CR,DR);pause;kR=dcgain(AR,BR,CR,DR);disp(kR);pause; % A rendszer átviteli és átmeneti függvényeinek meghatározása [GR,HR]=ss2tf(AR,BR,CR,DR); % A rendszer átviteli mátrixa step(GR(1,:),HR);grid;pause;hold; % A vR(t) átmeneti függvény step(A,B,C,D);pause;clg; % A vp(t) átmeneti függvény step(GR(2,:),HR);grid;pause; % Az u(t) irányító jel
2008. március 9.
32
SzB
Folyamatszabályozás
Állapotirányítás
% A rendszer szimulációja xpo=input(’xpo=’); % A folyamat állapotváltozóinak kezdeti értékei xmo=input(’xmo=’); % A megfigyelő állapotváltozóinak kezdeti értékei xRo=[xpo xmo]’; tmax=input(’tmax=’);t=linspace(0,tmax,1000); ua=ones(1,length(t)); % Az ua(t) alapjel [yRi,xRi]=initial(AR,BR,CR,DR,xRo,t); % A rendszer sajátmozgása initial(AR,BR,CR,DR,xRo);grid;pause;plot(t,xRi);grid;pause; for i=1:n plot(t,xRi(:,i),t,xRi(:,i+n));grid;pause; % Az x(t)és x*(t) jelek end; [yR,xR]=lsim(AR,BR,CR,DR,ua,t,xRo); % A rendszer gerjesztett mozgása lsim(AR,BR,CR,DR,ua,t,xRo);grid;plot(t,xR);grid; for i=1:n plot(t,xR(:,i),t,xR(:,i+n));grid;pause; % Az x(t)és x*(t) jelek end; disp(vége)
6. Példa A Wp(s) átviteli függvényével leírt elsőrendű folyamat (egy energia tárolós arányos tag) jellemzői az alábbiak: Wp(s)=y(s)/u(s)=kp/(1+sT)= 1/(1+s) Állapotvisszacsatolás alkalmazásával gyorsítsuk fel a rendszert olyan módon, hogy a kp=1 átviteli tényező megtartása mellett a folyamat T=1 időállandójához képest a visszacsatolt rendszer TR időállandója a folyamat időállandójának a tizedére csökkenjen le (TR=T/10). Állapotmegfigyelő igénybevételével készítsük el az irányítási struktúrát olyan módon, hogy a megfigyelő A–MC állapotmátrixának sajátértéke pM = –20 legyen. Megoldás A folyamat hatásvázlata, állapotegyenlete és átmeneti függvénye:
u(t)
dx(t)/dt b=
x(t)
y(t)
∫
1 =1 T
a=−
kp = c =1
u(s)
1 1+ s
y(s)
1 = −1 T
A folyamat hatásvázlata (28. ábra) 1 1 dx(t ) = − x(t ) + u (t ) = ax(t ) + bu (t ) = − x(t ) + u (t ) dt T T y (t ) = cx(t ) = x(t ) kp cb cb 1 1 = = = W p ( s ) = c( s − a) −1 b = s − a − a 1 + 1 s 1 + sT 1 + s −a t − 1⎫ ⎧ kp 1⎫ −1 ⎧ −t v p (t ) = L ⎨W p ( s ) ⎬ = ⎨ ⎬ = k p (1 − e T ) = 1 − e s ⎭ ⎩1 + sT s ⎭ ⎩
A folyamat átmeneti függvényének időlefolyása:
vp(t) kp=1
T=1
t
A folyamat átmeneti függvénye (29. ábra)
2008. március 9.
33
SzB
Folyamatszabályozás
Állapotirányítás
Az állapotvisszacsatolás alkalmazásával a folyamat a= p= –1/T= –1 pólusát kell pR= –10 értékre „cserélni”. Az állapotvisszacsatolás struktúrája, az f átviteli tényező és a kc erősítés számítása12:
ua(t)
u(t)
kc=10
∫
b=1
–
x(t)
c=1
y(t)
a= –1
f=9
ua(s)
1 1 1+ s 10
y(s)
Az állapot visszacsatolt rendszer (30. ábra) A hatásvázlatból kiolvashatóan az állapotvisszacsatolás azt eredményezi, hogy az integráló tag a=p=–1 mellett még a bf=9 tényezővel is negatívan visszacsatolt, így a rendszer új pólusa pR=a–bf=–1–9=–10. A folyamat u0=1 állandó bemenő jelre állandósult állapotban x0=y0=1 jelekkel válaszol, és ha ua0=1 bemenő jelre is x0=y0=1 állandósult választ írunk elő, akkor szükséges, hogy az u irányító jel állandósult értéke kcua0–fx0= kc–f= 1 legyen. Ebből a kc erősítés kc=1+ f=1+9=10. Mindezen adatok MATLAB támogatással is megkaphatók: a=-1;b=1;c=1;pR=-10; f=acker(a,b,pR) kc=inv(c*inv(a-b*f)*b)*c*inv(a)*b
% f=9 % kc=10
A visszacsatolt struktúra eredő átviteli függvénye, az ua(t)=1(t) bemenő jelre adott u(t) irányító jel és y(t) kimenő jel válaszok analitikusan is számíthatók. b 1 k c bc k c cb y( s) 1 1 1 s a s = 10 1 − + W ( s) = c= = kc = = 10 = b 1 1 1 ua (s) s a bf a bf s ( ) ( ) 1 9 − − − − + + f s s 1+ 1+ 1+ 9 1+ s−a 1+ s 10 − (a − bf ) ⎧ ⎪ 1 1⎫ ⎧ −1 ⎪ y (t ) = L ⎨W ( s ) ⎬ = L ⎨ s ⎩ ⎭ ⎪1 + 1 s ⎪⎩ 10 −1
⎫ t − 1 ⎪⎪ ⎬ = 1 − e 10 s⎪ ⎪⎭
A visszacsatolt rendszer vR(t) átmeneti függvénye
v(t)
A folyamat vp(t) átmeneti függvénye
kp=kR =1
TR=1/10
T=1
t
A felgyorsított rendszer átmeneti függvénye (31. ábra)
12
Miután a jelen feladatban egységnyi erősítésű, egy tárolós arányos tag negatív visszacsatolásáról van szó, az f=9 és a kc=10 átviteli tényezők a folyamat hatásvázlata alapján közvetlenül is felírhatók. Az elsőrendű rendszer állapotirányításának tanulmányozását ennek egyszerűsége és áttekinthetősége indokolja.
2008. március 9.
34
SzB
Folyamatszabályozás
Állapotirányítás
Az irányító jel számítása: 1 f y ( s ) = kc u a ( s ) − W ( s )u a ( s ) = c c 1+ s ua ( s) = 10u a ( s ) − 9 y ( s ) = 10u a ( s ) − 9W ( s )u a ( s ) = 1 1+ s 10 ⎫ ⎧ t t t ⎪⎪ 1 + s 1 ⎪⎪ − − − u (t ) = L−1 ⎨ ⎬ = 1 − e 10 + 10e 10 = 1 + 9e 10 1 ⎪1 + s s⎪ ⎭⎪ ⎩⎪ 10 u ( s ) = k c u a ( s ) − fx( s ) = k c u a ( s ) − f
Az u(t) jelet ábrázolva:
u 10
u(0)=10 A gyorsítást előidéző jelterület
u(t) u(∞)=1 1 t TR=1/10
T= 1
Az u=kcuao – fx(t) irányító jel állapotvisszacsatolás mellett (32. ábra) Az u(t) jelnek az ábrán látható lefolyása – nevezetesen az, hogy a tranziens elején a végállapothoz képest egy forszírozott beavatkozás valósul meg – eredményezi azt a hatást, mintha a folyamat T=1 időállandóját a tizedére (TR=1/10) változtattuk volna meg. Ha a folyamat x(t) állapotváltozója méréstechnikailag nem hozzáférhető, de ennek ellenére az állapotvisszacsatolás módszerével kívánjuk a tranzienseket lerövidíteni, akkor az állapot megfigyelő x*(t) állapotváltozójának visszacsatolásával alakítjuk ki az irányítási struktúrát13. Ennek hatásvázlata:
13
Az adott elsőrendű folyamat esetében a megfigyelő alkalmazása nem indokolt, mivel az x állapotváltozó és az y kimenő jel egymással arányos (y=Cx=x). Ezért a kimenő jelről történő visszacsatolás egyenértékű az állapot– visszacsatolással. A példának ezért illusztrációs szerepe van. 2008. március 9.
35
SzB
Folyamatszabályozás
Állapotirányítás
A folyamat ua(t)
u(t)
∫
b=1
kc=10
x(t)
-
y(t) c=1
a=–1
m=19
y*(t)-y(t)
y
-
x*(t)
∫
1
–1
1
y*
Állapo megfigyelő
Állapotvisszacsatolás
f=9 Az irányító rendszer Irányítás állapotmegfigyelővel (33. ábra)
Az állapot megfigyelő kialakításakor lényegében a m átviteli tényezőt kell megválasztanunk, hiszen a többi paramétert a folyamat a, b, és c adatai eleve meghatározzák. A hatásvázlatból az is jól nyomon követhető, hogy abban az esetben, ha a folyamat és a megfigyelő azonos kezdeti feltételekkel rendelkezik (x(0)=x*(0)), akkor bármilyen módon is változik az ua(t) bemenő jel, a folyamat és a megfigyelő azonos u(t) bemenő jellel gerjesztett. Ennek következményeként a folyamat és a megfigyelő állapotváltozóinak és kimenő jeleinek az időlefolyásai is azonosak: x(t)=x*(t), és y(t)=y*(t). Mindezekből az is következik, hogy a megfigyelő x*(t) állapotváltozójáról létesített visszacsatolás teljesen egyenértékű azzal, mintha ezt a folyamat x(t) állapotváltozójáról hoztuk volna létre. Ebből pedig az is érzékelhető, hogy a folyamat u(t) bemenő jele most is tartalmazza azt a forszírozást, ami a gyorsítást megvalósítja. Ilyen körülmények között a megfigyelő m átviteli tényezővel rendelkező tagja y*–y=0 bemenő jelet kap, vagyis az m tényezőn keresztül létesített visszacsatolásnak ekkor semmi szerepe nincs. Azt azonban, hogy a folyamat és a megfigyelő azonos kezdeti feltétellel rendelkezzen általában nem lehet biztosítani. Az elméleti analízis alapján bizonyítható, hogy a kezdeti feltételek különbözősége miatt az x(t)– x*(t) állapotváltozók közötti eltérések x(t)–x*(t) = exp(a-mc)[x(0)–x*(0)] szerint csengenek le, ami azt jelenti, hogy m megfelelő megválasztásával a folyamat és a megfigyelő állapotváltozói közötti különbség gyorsan eltüntethető. Válasszuk az a–mc sajátértékét olyanra, ami a felgyorsított rendszerhez képest is az x(t)–x*(t) eltérés gyorsabb eltűnését eredményezi. Legyen ezért pM=λM=a–mc=–20. Ebből : m=–(–20+1)/1=19. Az m értékét a MATLAB acker függvényével is számíthatjuk: pM=-20; m=acker(a’,c’,pM)
% m=19
Érdemes megvizsgálni, hogy az állapot megfigyelővel kialakított állapot visszacsatolás milyen hagyományos szabályozási rendszernek felel meg. Ennek vizsgálatához tekintsük a megfigyelőt és az állapot visszacsatolást olyan struktúrának, amelynek bemenő jelei az ua és y változók, kimenő jele pedig az u irányító jel. Az irányító berendezést leíró tag hatásvázlata:
2008. március 9.
36
SzB
Folyamatszabályozás
ua(s)
Állapotirányítás
kc=10
u(s)
y(s)
Folyamat
–
c x*(s)–y(s)
m=19
sx*(s)
– b=1
∫
x*(s) c=1
a= -1
f=9 Az irányító berendezés (A megfigyelőt és az állapotvisszacsatolást tartalmazó alrendszer)
ua(s)
u(s)=Wua(s)ua(s)–Wuy(s)y(s) Wua(s)
– Wuy(s)
y(s)
Az irányító berendezés hatásvázlata (34. ábra) A hatásvázlat alapján meghatározhatjuk, hogy az irányító berendezés u kimenő jele miként függ ennek ua és y bemenő jeleitől. Az ábra alapján kapjuk: sx * ( s) = ax * ( s) − m[cx* ( s) − y ( s)] + bu ( s ) = − x * ( s ) − 19[ x * ( s) − y ( s)] + u ( s) u ( s) = k c u a ( s ) − fx * ( s) = 10u a ( s) − 9 x * ( s)
Ebből x*(s) kiküszöbölésével: 1 s 1+ 200 s − (a − mc) mf 171 1 20 u ( s) = kc u a ( s) − y ( s) = ua (s) − y ( s) 29 1 + 1 s s − (a − mc) + bf s − (a − mc) + bf 29 1 + 1 s 29 29 1 s 1+ s − (a − mc) mf 200 171 1 20 = = Wua = k c Wuy = 1 s − (a − mc) + bf s − (a − mc) + bf 29 1 + 29 1 + 1 s s 29 29
Ezzel egy hagyományos szabályozási hurokkal is jellemezhető a megfigyelővel kialakított állapotvisszacsatolás irányítási rendszere:
2008. március 9.
37
SzB
Folyamatszabályozás
Állapotirányítás
ua(s)
u(s) Wua(s)
cb 1 = W p ( s) = s − a 1+ s
y(s)
Wuy(s) A rendszer egyszerűsített hatásvázlata (35. ábra) Az egyszerűsített hatásvázlat alapján kapjuk: cb W p ( s) y( s) s − (a − mc) s −a W ( s) = = Wua ( s) = kc = mf u a ( s) s − (a − mc) + bf 1 + cb 1 + W p ( s)Wuy ( s ) s − a s − (a − mc) + bf s − (a − mc) cb[ s − (a − mc) + bf ] = kc = s − (a − mc) + bf ( s − a )[s − (a − mc) + bf ] + bfmc s − (a − mc) cb[ s − (a − mc) + bf ] = kc = s − (a − mc) + bf [ s − (a − mc)][s − (a − bf )] k c cb k c cb 1 = = = 1 s − (a − bf ) − (a − bf ) 1 + s − (a − bf ) 1 1 s 1+ 200 1 20 1+ s = = 1 1 29 1 + 1 s 1 + 1 171 1+ s 10 29 1 + s 29 1 + 1 s 29
Vegyük észre, hogy a rendszer eredő átviteli függvénye a megfigyelő m paraméterétől független és a közönséges állapotvisszacsatolásnál kapott eredménnyel azonos (Az átviteli függvények alapján történő vizsgálatoknál feltétel, hogy folyamat és a megfigyelő kezdeti feltételei azonosak és zérusok). Figyeljük meg, hogy az eredő átviteli függvényben pólus-zérus azonosság fordul elő, ami miatt a rendszer nem irányítható. Ez azonban problémát azért nem jelent, mert a folyamat x(t) és a megfigyelő x*(t) állapotváltozóit nem is kívánjuk egymástól függetlenül állapotirányítani. Az egyenértékű soros kompenzációt szemléltető hatásvázlat:
ua(s)
Wua ( s ) Wk ( s ) = 1 + W p ( s)Wuy ( s )
u(s)
cb W p (s) = s−a
y(s)
Az egyenértékű soros kompenzáció (36. ábra) A kompenzáló tag átviteli függvénye: s − (a − mc) kc Wua k c [ s − (a − mc)](s − a ) s − (a − mc − bf ) = = = Wk ( s) = mf 1 + W pWuy 1 + cb ( s − a )[s − (a − mc − bf )] + mcbf s − a s − (a − mc − bf ) 1 1+ ( )s k c [ s − (a − mc)](s − a ) s−a a 1+ s −a = = kc = kc = 1 1 s − (a − bf ) a − bf 1 + ( [ s − (a − mc)][s − (a − bf )] )s 1 + s − (a − bf ) 10
A Wk(s)-re kapott eredményből leolvasható, hogy egy olyan PD típusú soros kompenzációról van szó, amely a folyamat a=–1 pólusát a vele azonos zérusával mintegy kiejti, behozva a kiejtett pólus helyett a (a–bf)=(–1– 1*9)=–10 pólust14.
14
Az adott példa elsőrendű folyamat (n=1) állapotvisszacsatolását tárgyalja, és a pólusáthelyezéssel gyorsítani kívánjuk a rendszert. Ezért az egyenértékű soros kompenzáló tag egy PD fokozatot tartalmaz. n>1 rendszám
2008. március 9.
38
SzB
Folyamatszabályozás
Állapotirányítás
A teljes rendszer állapotegyenlete a rendszer hatásvázlata alapján írható fel. Legyen bemenő jel a rendszer ua(t) alapjele, állapotváltozói az integráló tagok x(t) és x*(t) jelei. Kimenő jeleknek tekintsük a folyamat y(t) és u(t) jeleit és vegyük fel kimenő jelnek a h(t)=x(t)–x*(t) jelet is. dx(t ) = ax(t ) + bu (t ) dt * dx (t ) = ax* (t ) + bu (t ) − m y * (t ) − y (t ) = (a − mc) x * (t ) + mcx(t ) + bu (t ) dt y (t ) = cx(t )
[
]
u (t ) = kc u a (t ) − fx * (t ) h(t ) = x(t ) − x* (t )
Helyettesítések és egyenletrendezés után: dx(t ) = ax(t ) − bfx * (t ) + bk c u a (t ) dt dx * (t ) = mcx(t ) + (a − mc − bf ) x * (t ) + bkc u a (t ) dt y (t ) = cx(t ) u (t ) = − fx * (t ) + k c u a (t ) h(t ) = x(t ) − x * (t )
Ezek alapján a rendszer paramétermátrixai és karakterisztikus egyenlete: −bf ⎡a ⎤ ⎡−1 −9 ⎤ AR = ⎢ ⎥ =⎢ ⎥ ⎣mc (a − mc − bf )⎦ ⎣19 − 29⎦ ⎡1 0 ⎤ ⎡c 0 ⎤ ⎥ ⎢ ⎥ ⎢ C R = ⎢0 − f ⎥ = ⎢0 − 9 ⎥ ⎢⎣1 − 1⎥⎦ ⎢⎣1 − 1 ⎥⎦
⎡bk c ⎤ ⎡10⎤ BR = ⎢ ⎥ = ⎢ ⎥ ⎣10⎦ ⎣bk c ⎦ ⎡0⎤ ⎡0⎤ ⎢ ⎥ ⎢ ⎥ DR = ⎢ k c ⎥ = ⎢10⎥ ⎢⎣ 0 ⎥⎦ ⎢⎣ 0 ⎥⎦
bf ⎡λ − a ⎤ det(λI − AR ) = det ⎢ ⎥ = (λ − a)[λ − (a − mc − bf ] + mcbf = ⎣ − mc λ − (a − mc − bf )⎦ = [λ − (a − mc)][λ − (a − bf )] = = [λ − (−1 − 19)][λ − (−1 − 9)] = (λ + 20)(λ + 10) = 0
MATLAB támogatás mellett a paramétermátrixok ismeretében a rendszer vizsgálata elvégezhető. a=-1;b=1;c=1;f=9;kc=10;m=19; AR=[a –b*f;m*c a-m*c-b*f];BR=[b*kc b*kc]’; CR=[c 0;0 –f;1 -1];DR=[0 kc 0]’; t=0:.01:1; ua=ones(1,length(t)); xpo=input(’xpo=’);xmo=input(’xmo=’); xR0=[xpo xmo]’; initial(AR,BR,CR,DR,xR0);grid; [y,x]=lsim(AR,BR,CR,DR,ua,t,xR0); lsim(AR,BR,CR,DR,ua,t,xR0);grid;
A fenti program a folyamat (a,b,c)–, a megfigyelő (a,b,c,m)–, és az állapot visszacsatolás (f,kc) paramétereinek bevitelét követően kiszámítja a teljes rendszer paramétermátrixait (AR, BR, CR, DR). A 0
39
SzB
Folyamatszabályozás
Állapotirányítás
Az irányító rendszer egy lehetséges áramköri kapcsolása15:
-ua(t)
u(t)=kcua(t)–fx*(t)
kc 1
–m(cx*-y)
y(t)
cx*–y m
1 b a
1 c
-x* integrátor
Fx* f műveleti erősítő
Az irányító berendezés elvi kapcsolási vázlata (37. ábra)
Az irányító berendezés áramköri kialakítását tartalmazó kapcsolási elrendezésének alapján belátható, hogy az állapotmegfigyelővel realizált állapotirányításnak egy olyan felfogása is lehetséges, amely az u irányító jel előállításának szempontjából fogalmazza meg a feladatot.. Eme megközelítés szerint az áramköri kapcsolással realizált folyamatmodellre valósítunk meg egy állapot irányítást. A folyamat modell mérhető x*(t) állapotváltozóját az f átviteli tényezőn keresztül csatoljuk vissza a modell u(t) bemenetére, olyan módon, hogy az így keletkező visszacsatolt rendszernek előírt pR pólusa legyen. Ennek eredményeként létrejön egy olyan u(t) irányító jel, amely megfelelő mértékű túlvezérléssel létrehozza a folyamatmodell kívánt gyorsítását. Ha ezek után az ilyen módon előállított u(t) jelet magán a valóságos folyamat bemenetén is működtetjük, akkor itt is létrejön az a gyorsítás, ami a tervezési célkitűzéseinknek megfelel. Az irányító rendszer tényleges fizikai kialakításban az m tényezőnek láthatóan másodlagos szerep jut, feladata a kezdeti feltételek nem azonos értéke miatti hiba lehetőség szerinti gyors eltüntetése. Végső soron tehát az állapotmegfigyelő (a folyamat modell) és ennek állapotvisszacsatolása felfogható egy olyan irányítási algoritmust realizáló egységnek, amelynek feladata az u(t) irányító jel előállítása.
15
Az áramköri kapcsolás jellemzésére a valóságos kapcsolási vázlat helyett az analóg számítógépek programozásánál használt jelképrendszert (fázisfordítást végrehajtó műveleti erősítő és integrátor) használjuk.
2008. március 9.
40
SzB
Folyamatszabályozás
Állapotirányítás
Hatásvázlaton szemléltetve: A folyamat
u(t)
y(t)
dx(t)/dt = ax(t)+ bu(t) y(t) = cx(t)
(ADC, Ts)
(DAC, zoh) output
input
c - ua(t) kc
u(t)
m b a
-x*(t)
fx*(t) folyamatmodell
f A folyamat modell állapotvisszacsatolása
Az u(t) irányító jel előállításának algoritmusát szemléltető áramköri vázlat (38. ábra) Az ábrán a megfigyelőnek (a folyamatmodell, és a kezdeti feltételek közötti hiba gyors eltüntetésére vonatkozó m korrekció), valamint a megfigyelő állapotirányítását reprezentáló algoritmusnak egy analóg áramköri elemekből felépülő vázlata található. Ennek az áramkörnek a bemenete a folyamat y(t) kimenő jele és az ua(t) alapjel, kimenete pedig a folyamat bemenő jele, az u(t) irányító jel. Ha az input bemenetre analóg – digitális átalakítóval (ADC) csatlakoztatjuk a folyamat y kimenő jelét, az output kimeneten pedig zérusrendű tartási funkciót megvalósító digitális – analóg átalakítóval (DAC) kapcsolódunk a folyamat u bemenetére, akkor az u(t) irányító jelet digitális folyamatirányító számítógépen egy programfutás eredményeként is előállíthatjuk. Az elkészített számítógépes program természetesen meg kell hogy feleljen az analóg áramkörrel reprezentált algoritmusnak16. 7. Példa A harmadrendű, önbeálló folyamat Wp(s) átviteli függvényével az alábbi módon definiált: W p ( s) = =
g3 g3 y( s) = = = u ( s ) s 3 + h1 s 2 + h2 s + h3 ( s − p1 )( s − p2 )( s − p3 ) 6 6 = s 3 + 6s 2 + 11s + 6 ( s + 1)( s + 2)( s + 3)
Állapotmegfigyelő alkalmazásával – a folyamat kp=g3 /h3 =1 erősítésének megtartása mellett – tervezzünk olyan állapotvisszacsatolt rendszert, amelyben a felgyorsított rendszer előírt pólusai pR1= –3, pR2= –6, pR3= –9, a megfigyelő pólusai pedig pM1 =pM2 =pM3 = –10.
Megoldás 16
A digitális számítógépen futó program lépésközét (a Ts mintavételezési időt) úgy kell megválasztani, hogy a zérusrendű tartószerven keresztül a folyamat bemenetén ható lépcsős időlefolyású jel jól közelítse a folytonos u(t) irányító jelet. Ehhez figyelembe kell venni a felgyorsított rendszer, illetve a megfigyelő tranzienseit.
2008. március 9.
41
SzB
Folyamatszabályozás
Állapotirányítás
A harmadrendű folyamat hatásvázlata, állapot egyenlete, és paramétermátrixai:
u(t)
∫
x1(t)
x2(t)
∫
∫
x3(t)
g3
y(t)
-h1 -h2 -h3
A harmadrendű folyamat hatásvázlata (39. ábra) A folyamat állapotegyenletét a hatásvázlat alapján írhatjuk fel17. Az ábra jelöléseivel: dx1 (t ) = −h1 x1 (t ) − h2 x2 (t ) − h3 x3 (t ) + u (t ) = −6 x1 − 11x2 − 6 x3 + u dt dx2 (t ) = x1 (t ) dt dx3 (t ) = x2 (t ) dt y (t ) = g 3 x3 (t ) = 6 x3 ⎡− h1 ⎢ A=⎢ 1 ⎢⎣ 0
− h2 0 1
C = [0 0 g 3 ]
− h3 ⎤ ⎡− 6 − 11 − 6⎤ ⎡1⎤ ⎢ ⎥ ⎥ ⎥ ⎢ 0 0 ⎥ B = ⎢0⎥ 0 ⎥=⎢ 1 ⎢⎣0⎥⎦ 1 0 ⎥⎦ 0 ⎥⎦ ⎢⎣ 0 = [0 0 6] D=0
A rendszer alaptagokból felépített hatásvázlata:
17
Az átviteli függvény direkt programozása alapján előállított hatásvázlatból a folyamat állapotegyenletének irányíthatósági kanonikus alakját kapjuk. Ez az alak az F visszacsatoló vektor meghatározását egyszerűvé teszi. 2008. március 9.
42
SzB
Folyamatszabályozás
Állapotirányítás
A folyamat u(t)
kc
∫
e(t) -
x1(t)
x2(t)
∫
∫
x3(t)
y
g3
-h1 -h2
ua(t)
-h3 y(t) Az állapotmegfigyelő
y*(t)-y(t)
-m1
-m3
-m2
∫
∫ -h1
x1*(t)
y*(t)
∫
-h2
x2*(t) -h3
e=f1x1*+ f2x2*+ f3x3*
g3
x3*(t)
f1 f2 f3
Az állapotvisszacsatolás
A folyamat, az állapotmegfigyelő, és az állapotvisszacsatolás hatásvázlata (40. ábra) A rendszer méretezését a meg.m fájl-ban leírt programmal végeztük. A kapott eredmények: F=acker(A,B,pR) kc=inv(C*inv(A-B*F)*B)*C*inv(A)*B ut=inv(1+F*inv(A-B*F)*B) MT=acker(A’,C’,pM)
% % % %
f1=12 kc=27 ut=27 m1=-23.33
f2=88
f3=156
m2=24.16
m3=4.00
Megjegyzés: Jelen példában a folyamat átviteli függvényéhez az irányíthatósági kanonikus alakban adott paramétermátrixokat rendeltük, és az ennek megfelelő struktúrával írtuk le az állapotmegfigyelőt is. Mindezen tulajdonságok miatt az állapotvisszacsatolt rendszer karakterisztikus polinomja a hatásvázlatból is közvetlenül kiolvasható. Ennek figyelembevételével:
2008. március 9.
43
SzB
Folyamatszabályozás
Állapotirányítás λ3 +(h1+f1)λ2 +(h2+f2)λ + h3+f3 = λ3 + (6+f1)λ2 + (11+f2)λ +6+f3 3 2 λ + hR1λ + hR2λ + hR3 =(λ-pR1 )(λ-pR2)( λ-pR3)= λ3 + 18λ2 + 99λ +162 Ebből a polinomok együtthatóinak összehasonlítása alapján kapjuk: 6+f1 = 18 f1 = 12
11+f2 = 99 f2 = 88
6+f3 = 162 f3 = 156
Ezek az értékek azonosak az Ackermann képlet alapján számított eredményekkel.
A hatásvázlatból ez esetben is kiolvasható, hogy lényegét tekintve az állapotmegfigyelő x*(t) állapot változóinak a visszacsatolása valósul meg, és az ilyen elveknek megfelelő algoritmus alapján előállított u(t) irányító jel egyidejűleg működik mind a folyamat, mind pedig a visszacsatolt állapotmegfigyelő bemenetén. Különösen szemléletes az említett elv, ha a folyamat x(0), és a megfigyelő x*(0) kezdeti feltételei azonosak. Ekkor – az y*(t)–y(t)=0 miatt – a teljes rendszer hatásvázlata egyszerűsíthető, hiszen az M tényezőnek ilyenkor semmi szerepe nincs, ezért M=0 is vehető. Hatásvázlaton szemléltetve: A folyamat
u(t)
∫
x1(t)
∫
x2(t)
∫
x3(t)
g3
y
-h1 -h2 -h3
ua(t) u(t)
∫
kc e(t)
-
∫
∫
-h1 -h2 -h3 A megfigyelő (a folyamatmodell)
f1
x1*(t) f2
x2*(t) f3
x3*(t)
Állapotvisszacsatolás állapotmegfigyelő alkalmazásával M=0 mellett (41. ábra)
Vizsgálat tárgya lehet, hogy a megfigyelővel szemben milyen követelményeket kellene támasztani ahhoz, hogy a méretezés eredménye M=0 legyen? Korábban láttuk, hogy a megfigyelő M visszacsatolását meghatározó Ackermann formula:
2008. március 9.
44
SzB
Folyamatszabályozás
Állapotirányítás
MT=[0 0 …0 1][CT ATCT …(AT)n–1CT]–1[(AT)n + hM1(AT)n–1 +…hMnI] Ebből következik, hogy MT=0 akkor lehetséges, ha [(AT)n + hM1(AT)n–1 +…hMnI]=0. A CayleyHamilton tétel szerint AT a saját karakterisztikus egyenletét elégíti ki, ezért MT=0 csak úgy biztosítható, ha hMi=hi (hi a folyamat det(λI–A)=0 karakterisztikus egyenletének az együtthatói). Ennek jelentése pedig az, mintha az A–MC mátrix pMi pólusaira a folyamat pi pólusait írnánk elő. Ez egyébként nem lenne egy szerencsés választás, mert az x(t)–x*(t) hiba lassan – a folyamat pi pólusainak megfelelően x(t)–x*(t) = exp(At)[ x(0)–x*(0)] szerint – tűnne el. Sőt, ha a pi pólusok valamelyike pozitív érték lenne, az állapotvisszacsatolással nem lehetne stabilizálni a rendszert, ami az M visszacsatolás hiányának a következménye. Mindezen okok miatt a megfigyelő A–MC mátrixnak stabilisnak (a det(sI–(A–MC)) karakterisztikus polinom minden pMi gyökének negatív valós részűnek) kell lennie, ami labilis A és M=0 mellett elvileg nem lehetséges. Ha az A–MC mátrix karakterisztikus egyenletének előírt gyökei pMi , illetve együtthatói hMi (i=1, 2, 3…n), akkor az adott példában n=3, és ezért: ⎡ ⎛ 1 0 0 ⎞ ⎛ − h1 − h2 ⎟ ⎜ ⎢ ⎜ det[λI − ( A − MC )] = det ⎢λ ⎜ 0 1 0 ⎟ − ⎜ 1 0 ⎟ ⎜ ⎜ ⎢⎣ ⎝ 0 0 1 ⎠ ⎝ 0 1
⎤ − h3 ⎞ ⎛ m1 ⎞ ⎟ ⎜ ⎟ ⎥ 0 ⎟ + ⎜ m2 ⎟(0 0 g3 )⎥ = ⎥⎦ 0 ⎟⎠ ⎜⎝ m3 ⎟⎠
⎡λ + h1 h2 h3 + m1 g 3 ⎤ = det ⎢⎢ − 1 λ m2 g3 ⎥⎥ ⎢⎣ 0 − 1 λ + m3 g3 ⎥⎦
λ3 + (m3 g3 + h1 )λ2 + ((h1m3 + m2 ) g3 + h2 )λ + (m1 + h1m2 + h2m3 ) g3 + h3 = λ3 +
hM 1λ2 +
hM 2λ + hM 3
Az együtthatók azonossága alapján kapjuk: m3g3 + h1 = hM1 (m2+ h1m3 )g3 + h2 = hM2 (m1 + h1m2 + h2m3)g3 + h3 = hM3 A G-re kapott megoldást ebből tömörebben kifejezve: −1
⎡ m1 ⎤ ⎡1 h1 h2 ⎤ ⎡ hM 3 − h3 ⎤ 1 M = ⎢⎢m2 ⎥⎥ = ⎢⎢0 1 h1 ⎥⎥ ⎢⎢hM 2 − h2 ⎥⎥ g ⎢⎣ m3 ⎥⎦ ⎢⎣0 0 1 ⎥⎦ ⎢⎣ hM 1 − h1 ⎥⎦ 3
Ennek (az M átviteli tényező meghatározására alkalmas) a képletnek az alapján könnyen beláthatjuk, hogy a folyamat x(0) és a megfigyelő x*(0) kezdeti feltételeinek különbözőségei miatti x(t)–x*(t) hiba hMi=hi együtthatók mellett a folyamat pi pólusainak megfelelően tűnik el, és ekkor M=0. Szerencsésebb választás lehet, ha a pMi pólusokra a felgyorsított rendszer pRi pólusait írjuk elő. Ez a választás még abban az esetben is megfelelő, ha a folyamat egyébként labilis, de az állapotvisszacsatolással stabilizálunk. Eme követelmény végső soron azt jelenti, hogy az A–BF és az A–MC mátrixokra azonos λRi=pRi= pMi= λMi sajátértékeket követelünk meg. Ha tehát az együtthatókat hMi=hRi szerint választjuk, akkor a fent említett hiba a felgyorsított rendszer pRi
2008. március 9.
45
SzB
Folyamatszabályozás
Állapotirányítás
pólusai szerint tűnik el. Az ezt megvalósító M átviteli tényező (figyelembe véve, hogy most hMi – hi = hRi – hi = fi ) : ⎡1 h1 h2 ⎤ ⎡ m1 ⎤ ⎡ f3 ⎤ ⎢0 1 h ⎥ ⎢ m ⎥ = ⎢ f ⎥ 1 1⎥ ⎢ 2⎥ ⎢ 2⎥ g ⎢ ⎢⎣0 0 1 ⎥⎦ ⎢⎣ m3 ⎥⎦ ⎢⎣ f1 ⎥⎦ 3
−1
⇒
⎡ m1 ⎤ ⎡1 h1 h2 ⎤ ⎡ f3 ⎤ ⎢ m ⎥ = ⎢0 1 h ⎥ ⎢ f ⎥ 1 = 1⎥ ⎢ 2⎥ ⎢ 2⎥ ⎢ g ⎢⎣ m3 ⎥⎦ ⎢⎣0 0 1 ⎥⎦ ⎢⎣ f1 ⎥⎦ 3 ⎡1 6 11⎤ = ⎢⎢0 1 6 ⎥⎥ ⎢⎣0 0 1 ⎥⎦
−1
⎡− 12⎤ ⎡156⎤ ⎢ 88 ⎥ 1 = ⎢ 8 / 3 ⎥ ⎥ ⎢ ⎥6 ⎢ ⎢⎣ 2 ⎥⎦ ⎢⎣ 12 ⎥⎦
Ha a pMi pólusokra a feladatban előírt pM1 = pM2 = pM3 = –10 értékeket választjuk, akkor az A– MC karakterisztikus polinomja det(λI–(A–MC))=(λ+10)(λ+10)(λ+10)=λ3+30λ2+300λ+1000. ( hM1 = 30, hM2 = 300, hM3 = 1000 ). Ezért most: −1
⎡1 6 11⎤ ⎡ m1 ⎤ ⎡1 h1 h2 ⎤ ⎡ hM 3 − h3 ⎤ 1 ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ M = ⎢m2 ⎥ = ⎢0 1 h1 ⎥ ⎢hM 2 − h2 ⎥ = ⎢0 1 6 ⎥⎥ g ⎢⎣ m3 ⎥⎦ ⎢⎣0 0 1 ⎥⎦ ⎢⎣ hM 1 − h1 ⎥⎦ 3 ⎢⎣0 0 1 ⎥⎦
−1
⎡− 70 / 3⎤ ⎡− 23.3333⎤ ⎡1000 − 6⎤ ⎢ 300 − 11⎥ 1 = ⎢ 145 / 6 ⎥ = ⎢ 24.1666 ⎥ ⎥ ⎥ ⎢ ⎥6 ⎢ ⎢ ⎢⎣ 4 ⎥⎦ ⎢⎣ 4.0000 ⎥⎦ ⎢⎣ 30 − 6 ⎥⎦
Ez természetesen azonos a már korábban kiszámított eredménnyel. MATLAB támogatással számolva: syms h1 h2 h3 g3 hR1 hR2 hR3 hM1 hM2 hM3 real A=[-h1 –h2 –h3;1 0 0 ;0 1 0];B=[1 0 0]’;C=[0 0 g3]; H=[1 h1 h2 h3];HR=[1 hR1 hR2 hR3];HM=[1 hM1 hM2 hM3]; Com=[C’ A’*C’ (A’)^2*C’]; Mn=[0 0 1]*inv(Com)*polyvalm(H,A’); MnR=[0 0 1]*inv(Com)*polyvalm(HR,A’); MnM=[0 0 1]*inv(Com)*polyvalm(HM,A’); disp(Mn);disp(MnR);disp(MnM); h1=6;h2=11;h3=6; hR1=18;hR2=99;hR3=162; hM1=30;hM2=300;hM3=1000; subs(Mn);subs(MnR);subs(MnM); %
Mn=[0 0 0]
MnR=[-12 8/3 2]
MnM=[-140/6 145/6 24/6]
8. Példa Egy harmadrendű, kis csillapítású lengéseket tartalmazó, önbeálló folyamat Wp(s) átviteli függvénye: W p (s) =
kp y( s) = u ( s ) (1 + sT )(1 + 2ξTo s + To2 s 2 )
(k p = 1, T = 0.5, To = 1, ξ = 0.1)
A folyamat állapotváltozói az irányítási kanonikus alakban állnak rendelkezésre. Tervezzünk olyan állapot– visszacsatolást tartalmazó rendszert, amely túlvezérlés nélkül a visszacsatolt rendszer csillapítási tényezőjét az aperiodikus állapot határesetére képes beállítani. Megoldás A folyamat differenciálegyenlete az átviteli függvény ismeretében:
2008. március 9.
46
SzB
Folyamatszabályozás
Állapotirányítás
d 3 y (t ) d 2 y (t ) dy (t ) + (2ξToT + To2 ) + (2ξTo + T ) + y (t ) = k p u (t ) 3 dt dt dt 2 kp 2ξToT + To2 d 2 y (t ) 2ξTo + T dy (t ) d 3 y (t ) 1 =− − − 2 y (t ) + 2 u (t ) dt dt 3 To2T dt 2 To2T To T To T
To2T
d 3 y (t ) d 2 y (t ) dy (t ) = −h1 − h2 − h3 y (t ) + g 3u (t ) 3 dt dt dt 2
Ennek alapján a folyamat direkt programozással kapott hatásvázlata és állapotegyenlete:
u(t)
x1(t)
∫
∫
x2(t)
∫
x3(t)
y(t)
g3
-h1 -h2 -h3 A folyamat hatásvázlata (42. ábra) ⎡ dx1 (t ) ⎤ ⎢ dt ⎥ ⎢ dx (t ) ⎥ ⎡− h1 ⎢ 2 ⎥=⎢ 1 ⎢ dt ⎥ ⎢ ⎢ dx3 (t ) ⎥ ⎢⎣ 0 ⎢ ⎥ ⎣ dt ⎦
− h2 0 1
− h3 ⎤ ⎡ x1 (t ) ⎤ ⎡1⎤ ⎥⎢ ⎥ ⎢ ⎥ 0 ⎥ ⎢ x2 (t )⎥ + ⎢0⎥ u (t ) 0 ⎥⎦ ⎢⎣ x3 (t ) ⎥⎦ ⎢⎣0⎥⎦
⎡ x1 (t ) ⎤ ⎢ ⎥ y (t ) = [0 0 g 3 ] ⎢ x2 (t )⎥ ⎢⎣ x3 (t ) ⎥⎦
h1 =
2ξToT + To2 2 * 0.1 *1 * 0.5 + 1 = = 2.2 1 * 0.5 To2T
h2 =
2ξTo + T 2 * 0.1 *1 + 0.5 = = 1.4 1 * 0.5 To2T
h3 =
1 1 = =2 To2T 0.5
m3 =
kp To2T
=
1 =2 0.5
Ha az állapotvisszacsatolással az u(t) irányító jel túlvezérlése nélkül akarjuk a rendszert működtetni, akkor a rendszer pRi és a folyamat pi pólusait úgy kell megválasztanunk, hogy abs(pRi)=abs(pi) feltételek teljesüljenek. Ennek következtében a csillapítási tényező módosítására marad csupán lehetőségünk. A követelményeknek megfelelően ezért pR legyen pR1=pR2= –1/To= –1, pR3= –1/T= –2.
j
p1, 2 =
p1
-2
-0.1
1
− ξ ± j 1− ξ 2 To
+
j
-2
p3= -1/T
pR3= -1/T
-1
1
+
pR1,2= -1/To
p2 A folyamat pólusai
A visszacsatolt rendszer pólusai
p=eig(A)
pR=eig(A–BF)
A folyamat adott p pólusai és az állapotvisszacsatolt rendszer előírt pR pólusai (43. ábra)
2008. március 9.
47
SzB
Folyamatszabályozás
Állapotirányítás
MATLAB támogatással F és kc méretezése: T=0.5;To=1;ksi=0.1;kp=1 Gp=kp;Hp=conv([T 1],[To^2 2*ksi*To 1]); [A,B,C,D]=tf2ss(Gp,Hp); pR=[-1/T -1/To -1/To]; F=acker(A,B,pR) kc=inv(C*inv(A-B*F)*B)*C*inv(A)*B
% f1=1.8000 % kc=1
f2=3.6000
f3=0.000018
Ha az állapotváltozók méréstechnikai eszközökkel nem hozzáférhetőek, állapotmegfigyelő alkalmazásával hozhatjuk létre az állapot visszacsatolást. A megfigyelő pólusait célszerűen a pR pólusok tízszeresére választjuk (pM=10pR ). Ekkor: pM=10*pR; MT=acker(A’,C’,pM);
% m1=515.5560
m2=207.7200
m3=18.9000
Az állapot visszacsatolás hatásvázlata ezzel:
ua(t)
u(t)
∫
kc -
e(t)
x1(t)
∫
x2(t)
∫
x3(t)
g3
y(t)
-h1 -h2 -h3 f1 f2 f3 f3=0!
Állapot visszacsatolás a folyamat irányíthatósági kanonikus alakjának megfelelő állapotváltozóiról (44. ábra)
v(t) vp(t)=L-1{Wp(s)/s } kR =kp=1 vR(t) t A folyamat és a visszacsatolt rendszer átmeneti függvényei (42. ábra) Az adott feladatban a visszacsatolást a folyamat irányíthatósági kanonikus alakjának megfelelő állapotváltozóiról létesítettük, ezért az F visszacsatoló vektort most a folyamat és a rendszer karakterisztikus
18
Figyeljünk fel arra, hogy az x3(t) állapotváltozót – az f3=0 miatt – nem kell visszacsatolni. Ennek magyarázata abban rejlik, hogy túlvezérlés nélküli „pólusáthelyezés” a méretezési előírás.
2008. március 9.
48
SzB
Folyamatszabályozás
Állapotirányítás
polinomjainak alapján is számíthatjuk19. A hatásvázlatból láthatóan a folyamat és a rendszer karakterisztikus polinomjai: det(λI − A)
= λ3 + h1λ2 + h2 λ + h3
det(λI − ( A − BF )) = λ3 + hR1λ2 + hR 2 λ + hR 3 = = λ3 + (h1 + f1 )λ2 + (h2 + f 2 )λ + (h3 + f 3 )
Ebből kapjuk: 2ToT + To2 2ξToT + To2 2(1 − ξ ) − = = 1.8 To To2T To2T
h1 + f1 = hR1
f1 = hR1 − h1 =
h2 + f 2 = hR 2
f 2 = hR 2 − h2 =
h3 + f 3 = hR 3
f 3 = hR 3 − h3 =
2To + T 2ξTo + T − To2T To2T
=
2(1 − ξ ) = 3.6 ToT
1 1 − =0 To2T To2T
Megjegyzés. A folyamat jelátviteli tulajdonságainak leírására nem csupán az átviteli függvény közvetlen felbontásán alapuló állapotváltozókat használhatjuk. Egy további lehetséges felbontást és az erre vonatkozó állapot visszacsatolást tartalmazó struktúra20:
ua(t) u(t)
kc -
1 T
∫ -
1 T
x1(t)
∫
-
-
x2(t)
∫
x3(t)
kp
y(t)
To2
2ξ To 1 To2
A folyamat
f1 f2 f3
Az állapotvisszacsatolás nem kanonikus típusú állapotváltozókról (45. ábra)
19
A hatásvázlatból kiolvasható – miután az összegző tagok egymáshoz képest szabadon felcserélhetőek – , hogy az h1 és f1, az h2 és f2 valamint az h3 és f3 átviteli tényezővel rendelkező arányos tagok egymással párhuzamos kapcsolást alkotnak. Ebből következik az a tulajdonság, hogy a visszacsatolt rendszer állapotegyenlete is irányíthatósági kanonikus alakban áll rendelkezésre. Ez pedig a karakterisztikus egyenletek közvetlen felírásának lehetőségét teremti meg. 20 Vegyük észre, hogy ebben a felbontásban – ahol is a folyamat átviteli függvényét az egy tárolós arányos tag és a két tárolós lengő tag soros kapcsolásával jellemeztük - a Wp(s) átviteli függvény nem az irányíthatósági kanonikus alaknak megfelelően van felbontva, az integráló tagok nem képeznek egymást működtető soros kapcsolású integráló láncot. Az integrátorok visszacsatoló tagjai nem alkotnak párhuzamos kapcsolást az állapot– visszacsatolás fi átviteli tényezőivel. Mindezek következményeként ezért az F méretezéséhez a MATLAB acker függvényének a használata indokolt. 2008. március 9.
49
SzB
Folyamatszabályozás
Állapotirányítás
A folyamat állapotegyenlete a hatásvázlat jelöléseivel most: 1 1 dx1 (t ) = − x1 (t ) + u (t ) dt T T 2ξ 1 dx2 (t ) = x1 (t ) − x2 (t ) − 2 x3 (t ) dt To To dx3 (t ) = x2 (t ) dt kp y (t ) = 2 x3 (t ) To
És ebből a folyamat paramétermátrixai: ⎤ ⎡ 1 0 0 ⎥ ⎢− T 0 0⎤ ⎡− 2 ⎢ 2ξ 1 ⎥ ⎢ ⎥ A=⎢ 1 − − 2 ⎥ = ⎢ 1 − 0.2 − 1⎥ ⎢ To To ⎥ ⎢ 1 0 ⎥⎦ ⎢ 0 1 0 ⎥ ⎣0 ⎥ ⎢ ⎦ ⎣ ⎡ kp ⎤ D=0 C = ⎢0 0 ⎥ = [0 0 1] To2 ⎦⎥ ⎣⎢
⎡1⎤ ⎢ T ⎥ ⎡2⎤ ⎢ ⎥ B = ⎢⎢ 0 ⎥⎥ = ⎢0⎥ ⎢ 0 ⎥ ⎢⎣0⎥⎦ ⎣⎢ ⎦⎥
Az állapotvisszacsatolás méretezése: kp=1;T=0.5;To=1;ksi=0.1; A=[-1/T 0 0;1 -2*ksi/To -1/To^2;0 1 0]; B=[1/T 0 0]’;C=[0 0 kp/To^2];D=0; pR=[-1/T -1/To -1/To]; F=acker(A,B,pR);
% f1=0.9000
f2=1.6200
f3=-0.9000
A rendszerek vizsgálatára ez esetekben is használhatjuk a korábbi leírásban adott meg.m MATLAB fájlt. Az időfüggvények tanulmányozásából fontos észrevennünk, hogy a különböző módon leírt folyamat mellett az F állapot visszacsatoló vektor más-más lehet. Ez azonban a rendszer bemenet-kimenet jelátviteli tulajdonságainak szempontjából azonos viselkedést jelent, ami szemléletesen látszik abból a tényből is, hogy az irányító rendszer mindkét esetben azonos u(t) jelet generál a folyamat bemenetén. A visszacsatolt rendszer u(t) irányító jele
kR =kp=1 A visszacsatolt rendszer y(t)=vR(t) átmeneti függvénye
t Az állapotvisszacsatolt rendszer ua(t)=1(t) alapjel ugrásra y(t) és u(t) jelei (46. ábra) Jelen feladatban az u(t) jel azért nem tartalmaz túlvezérlést, mert a pólusok abszolút értékeit a visszacsatolással nem változtattuk meg. Az u(t) időlefolyásából szemléletesen nyomon követhető, hogy az adott állapot– visszacsatolás miként „szedi ki” a kis csillapítású lengéseket a folyamat átmeneti függvényéből. A t=0 időpontban az u(t) irányító jel ugyan azonnal az egységre ugrik (és ha ez is maradna, akkor az y(t) nagy lengési amplitúdóval és kis csillapítással venné fel az egyensúlyi értékét), de az állapot visszacsatolás ezt az u(t) jelet szinte azonnal visszaveszi, és csak úgy engedi növekedni, hogy a lengések elkerülhetőek legyenek.
2008. március 9.
50
SzB
Folyamatszabályozás
Állapotirányítás
9. Példa Teljesítményerősítőről táplált elektromechanikai rendszer (állandó gerjesztésű egyenáramú villamos gép) kapcsolási vázlata az alábbi elrendezés szerint adott:
+ UT
u(t)
Teljesítmény erősítő μ=1
R
L
i(t)R
Ldi(t)/dt
uk(t)
ui(t) i(t)
y(t)=ω(t)
Ө
(47. ábra)
- UT Az időkésés nélküli arányos tagnak tekinthető teljesítmény erősítő jelerősítése μ=1, ezért uk(t)=u(t). A gép paraméterei c=1Vs, R=1Ω, L=0.1 H, Ө=2Nms2. Az u(t) irányító jel és a folyamat y(t)=ω(t) kimenő jelei kötött a Tv=L/R=0.1s villamos-, illetve a Tm= ӨR/c2=2s elektromechanikai időállandóiból származó jelkésleltetések vannak. Tervezzük meg az állapotvisszacsatolást olyan módon, hogy a visszacsatolt rendszer jelkésleltetésére jellemző lineáris szabályozási területe a folyamat vp(t) átmeneti függvénye alapján kapható szabályozási jelterületnek a fele legyen. Megoldás A folyamat tulajdonságait leíró matematikai21 modell az armatúra körre felírható Kirchhoff hurokegyenlet és a forgórész gyorsítását kifejező nyomaték egyenlet alapján határozható meg. A forgórészben keletkező (a metszési indukcióból származó) indukált feszültség a gép szögsebességével arányos: ui(t)=cω(t). di (t ) + ui (t ) dt u k (t ) = μu (t ) ui (t ) = cω (t ) u k (t ) = Ri (t ) + L
θ
dω (t ) = ci(t ) dt
A folyamat alapegyenletei alapján felépíthető a rendszer lineáris alaptagokat tartalmazó hatásvázlata:
u(t) μ
uk(t)
ui(t)=c ω(t) –
Ldi(t)/dt
i(t)
1 L∫
c
1
θ
ω(t)
∫
R i(t) – R c A teljesítmény erősítő és a motor hatásvázlata (48. ábra)
A hatásvázlat alapján a folyamat állapotegyenletei: 21
A folyamat üzemtani tulajdonságainak matematikai leírásakor eltekintünk a súrlódásból származó hatásoktól, az armatúra visszahatás jelenségétől, a telítődés okozta nemlinearitásoktól, stb. Így az elektromechanikai szerkezet üzemtani tulajdonságainak közelítő leírására egy lineáris matematikai modellt használhatunk.
2008. március 9.
51
SzB
Folyamatszabályozás
Állapotirányítás
1 1 c 1 μ di (t ) u (t ) = − i (t ) − ω (t ) + dt Tv Tv R Tv R 1 R dω (t ) = i (t ) dt Tm c y (t ) = ω (t ) Tv =
L R
Tm =
θR c2
A folyamat paramétermátrixai ebből: ⎡ 1 ⎢−T v A=⎢ ⎢ 1 R ⎢ Tm c ⎣
−
1 c⎤ Tv R ⎥⎥ ⎡− 10 − 10⎤ =⎢ ⎥ 0 ⎦ 0 ⎥ ⎣ 0.5 ⎥ ⎦
⎡ 1 μ⎤ ⎡10⎤ B = ⎢ Tv R ⎥ = ⎢ ⎥ ⎥ ⎣0⎦ ⎢ ⎣⎢ 0 ⎦⎥
C = [0 1] D = 0
A folyamat átviteli függvénye a hatásvázlat alapján: 1 sL c 1 1 1+ R sθ 1 1 μ sL = = kp = W p ( s) = μ 1 c θR L s 2 + θR s + 1 TmTv s 2 + Tm s + 1 2 2 1 c c R 1 + c sL c 1 1+ R sθ sL kp 1 1 = = = (1 + sT1 )(1 + sT2 ) 0.2 s 2 + 2s + 1 (1 + 1.8944s )(1 + 0.1056s ) (k p = 1 V −1s −1 Tm = 2s Tv = 0.1s T1 = 1.8944s T2 = 0.1056 s )
A folyamat átmeneti függvénye és lineáris szabályozási területe: t t ⎛ − − kp ⎧ T2 T1 1⎫ ⎜ e T2 v p (t ) = L−1 ⎨ e T1 + ⎬ = k p ⎜1 − T1 − T2 T1 − T2 ⎩ (1 + sT1 )(1 + sT2 ) s ⎭ ⎝ ∞
IL =
t t ⎡ ⎛ − − T1 T2 k p ⎢1 − ⎜1 − e T1 + e T2 ⎢ ⎜ T1 − T2 T1 − T2 ⎣ ⎝ 0
∫
⎞ ⎟ ⎟ ⎠
⎞⎤ ⎟⎥ dt = k (T + T ) p 1 2 ⎟⎥ ⎠⎦
A folyamat lineáris szabályozási területe
IL=kp( T1+T2)=kpTm=2
vp kp=1
t A folyamat átmeneti függvénye (49. ábra) Az állapot visszacsatolással az ábrán jelölt IL jelterületet kell a felére csökkenteni. Ennek egy lehetséges módja az lehet, hogy a pólusáthelyezés eljárásával a T1 és a T2 időállandókat TR1=αT1 illetve TR2=βT2 értékre változtatjuk meg olyan módon, hogy a TR1+TR2=αT1+βT2=(T1+T2)/2=Tm /2 legyen.
2008. március 9.
52
SzB
Folyamatszabályozás
Állapotirányítás
j -1/0.1056
j
-1/1.8944
-1/0.2766 -1/0.7235
+ -1/T2 -9.47
+
-1/T1
-1/TR1
- 0.53
-1/TR2
-3.62
A folyamat pólusai pi =eig(A) T1+T2=Tm=2
-1.38
A rendszer pólusai pRi=eig(A-BF) TR1+TR2=Tm/2=1
A folyamat és a visszacsatolt rendszer pólusai (50. ábra) Miután az ut=u(0)/u(∞) túlvezérlési arány a pólus áthelyezés mértékével ut =
p R1 p R 2 T T TT 1 = 1 2 = 1 2 = p1 p2 TR1 TR 2 αβT1T2 αβ
szerinti kapcsolatban van, és ha az új pólusok megválasztásakor az αβ=1 feltételt is betartjuk, akkor a t=0 időpillanatban fellépő túlvezérlést is elkerülhetjük. Mindezek alapján: αT1 + βT2 = αβ = 1
T1 + T2 2
⇒
1.8944α + 0.1056β = 1
αβ = 1
1.8944α 2 − α + 0.1056 = 0 innen α1 = 0.1460 β1 = 6.8513
α 2 = 0.3819 β 2 = 2.61840
Ennek megfelelően legyen: TR1=αT1=0.1460*1.8944=0.2766, pR1=–1/TR1=1/0.2766= –3.6153 TR2=βT2=6.8513*0.1056=0.7235 pR2=–1/TR2=1/0.7235= –1.3822 Az állapot visszacsatolás méretezése c=1;R=1;L=0.1;theta=2; Tv=L/R;Tm=theta*R/c^2;kp=1/c; A=[-1/Tv –(1/Tv)*(c/R);(1/Tm)*(R/c) 0]; B=[(1/Tv)*(1/R) 0]’;C=[0 1];D=0; p=eig(A); pR=[-3.6153 -1.3822]; step(A,B,C,D);grid;pause;hold; F=acker(A,B,pR); kc=inv(C*inv(A-B*F)*B)*C*inv(A)*B; step(A-B*F,B*kc,C,D);pause;
2008. március 9.
53
% f1=-0.4998 % kc=1
f2=0.0000
SzB
Folyamatszabályozás
Állapotirányítás
A visszacsatolt rendszer hatásvázlata:
ua(t)
u(t)
kc –
–
–
1 L∫
i(t)=x1
1
θ∫
c
ω(t)=x2=y
R c f1 f2 Az állapotvisszacsatolt rendszer hatásvázlata (51. ábra) A kapott eredmények szerint az f2 átviteli tényező értéke zérus, így a szögsebességről nem is kellene a visszacsatolást létrehozni. Ennek fizikai magyarázata az, hogy a pólusáthelyezési arányokat úgy választottuk meg, hogy az u jel túlvezérlési aránya ut=1 legyen. Az i(t) armatúra áramról létrehozott visszacsatolás f1<0 miatt pozitív, ami egyben azzal a fizikai jelentéssel is bír, hogy gyorsítani az árammal arányos nyomatékkal lehet. A méretezéshez és a rendszer vizsgálatához felhasználtuk a meg.m MATLAB fájlt. Az ugrás szerint változó ua(t)=1(t) alapjel változásra kapott eredmények:
u vp vR
A folyamat gyorsítását végző u(t) irányító jel A felgyorsított rendszer vR(t) átmeneti függvénye ILR=TR1+TR2=1
kp=1
t
A folyamat vp(t) átmeneti függvénye IL=T1+T2=Tm= 2
A folyamat és az állapotvisszacsatolt rendszer átmeneti függvényei (52. ábra) A kapott eredményből látható, hogy bár a pólusáthelyezés mértékével biztosítottuk az u(0)=1 irányító jelet, a rendszer gyorsításához a túlvezérlésre mindenképpen szükség van. Az áramköri kialakításhoz gondoskodni kell az x1=i(t) armatúra áram-, és az x2=ω(t) szögsebesség érzékeléséről. Az áram érzékelésére egy söntöt22 (Rsönt) –, a szögsebesség érzékelésére pedig tachométer dinamót23 (TD) használhatunk fel. A rendszer kapcsolási vázlata:
22
A sönt ellenállásának Rsönt értékét lehetőség szerint úgy kell megválasztani, hogy a rajta keletkező veszteség minél kisebb legyen, illetve a gép Tv és Tm időállandóit ne befolyásolja (Rsönt<
54
SzB
Folyamatszabályozás
Állapotirányítás
+ R ua(t)
kc -
u(t)
L ω(t)=x2(t)=y(t)
Teljesítmény erősítő
< μ=1
uk
Motor
i(t)=x1(t) Rsönt
– fi fω
TD
θ Fordulatszám érzékelő
ui=c1i uω=c2ω
Az állapotirányítás kapcsolási vázlata (53. ábra) Ha az állapotvisszacsatolást állapotmegfigyelővel kívánjuk megvalósítani, akkor létre kell hozni az elektromechanikai szerkezetnek egy elektronikus modelljét. Ennek x*(t) állapotváltozóinak hasonló időfüggvényeknek kell lenniük, mint a folyamat x1(t)=i(t) és x2(t)= ω(t) jelei. Ha ezek után a visszacsatolást ezen modell x*(t) jeleiről létesítjük, ugyanazt a hatást érhetjük el, mintha a tényleges állapotváltozókat csatoltuk volna vissza. A megfigyelő és az állapotirányító kapcsolási vázlata:
2008. március 9.
55
SzB
Folyamatszabályozás
ua(t)
Állapotirányítás
u(t) kc
uω(t)
A folyamat (a teljesítmény erősítő és a motor)
u
-
ω
y*(t)–y(t)
1 1
1
m1
m2 -i* (t)
ω* (t)
-y* (t) 1
Folyamatmodell
1
fi
fω
Az állapotmegfigyelő és az állapotvisszacsatolás áramköri kapcsolási vázlata (54. ábra) Az adott feladatban az állapot megfigyelő alkalmazásának gyakorlati haszna nincs. Ennek oka, hogy a megfigyelő alkalmazása olyan állapotváltozó közvetlen mérésétől (az i(t) áram érzékelésétől) mentesítene, amelyet a tényleges folyamaton lényegesen egyszerűbben - egy kis ellenállással rendelkező sönt alkalmazásával lehet megoldani. Ebből pedig az is következik, hogy az állapotirányítást – ahol erre lehetőség van – célszerű a folyamat tényleges x(t) állapotváltozóival – és nem az ezeket helyettesítő x*(t) megfigyelt állapotváltozókkal – megvalósítani.
2008. március 9.
56
SzB
Folyamatszabályozás
2008. március 9.
Állapotirányítás
57
SzB
Folyamatszabályozás
Állapotirányítás
A leírásban használt jelölések: A,B,C,D a folyamat paramétermátrixai, u(t), x(t), y(t) a folyamat bemenő jele, állapot változója, kimenő jele, Wp(s)=Gp(s)/Hp(s) a folyamat átviteli függvénye, n a folyamat rendszáma, Wc(s)=Gc(s)/Hc(s) a szabályozó átviteli függvénye, kp=yo/uo=-CA-1B a folyamat dc erősítése (átviteli tényezője), n-1 Co=[B AB…A B] az állapot irányíthatósági tesztmátrix, Ob=[C AC…An-1C]T az állapot megfigyelhetőségi tesztmátrix, pi=λi a folyamat pólusai, A sajátértékei, az np(s)=0 gyökei, n n-1 det(λI-A)=np (λ)=λ +h1 λ +… +hn-1 λ+hn= (λ-p1)(λ-p2)…(λ-pn-1)(λ-pn) a folyamat karakterisztikus polinomja, hi (i=1, 2, …n) a karakterisztikus polinom együtthatói, ua(t) az állapotvisszacsatolt rendszer alapjele, -1 F=[0 0 . . . 0 1]Co nR(A) a visszacsatoló mátrix, sorvektor, A-BF a visszacsatolt rendszer állapotmátrixa, pRi=λRi a visszacsatolt rendszer pólusai, A-BF sajátértékei, det(λI-(A-BF))=HR(λ)= λn+hR1 λn-1+… hR(n-1) λ+hRn=(λ-pR1)( λ-pR2)… ( λ-pR(n-1)) (λ-pRn) a visszacsatolt rendszer karakterisztikus polinomja, hRi (i=1, 2, …n) a karakterisztikus polinom együtthatói, kc=[C(A-BF)-1B]-1CA-1B az erősítési tényező, -1 kR=yo/uao=-C(A-BF) Bkc a visszacsatolt rendszer eredő dc erősítése, ut=u(0)/u(∞)=[1+F(A-BF)-1B]-1 a túlvezérlési arány, x*(t) az állapotmegfigyelő állapotváltozója, A-GC a megfigyelő állapotmátrixa, pMi=λMi az állapotmegfigyelő pólusai, az A-GC sajátértékei, n n-1 det[λI-(A-GC)]=nM(λ)= λ +nM1 λ +…+nM(n-1) λ+nMn= (λ-pM1)(λ-pM2)…( λ-pM(n-1)) (λ-pMn) az állapotmegfigyelő karakterisztikus polinomja, hMi (i=1, 2, …n) a karakterisztikus polinom együtthatói GT=[0 0 …0 1][CT ATCT …(AT)n-1CT]-1[(AT)n + hM1(AT)n-1 +…hMnI ] az állapot megfigyelő visszacsatoló mátrixa, AR, BR, CR, DR yR(t)=[y(t) u(t) h(t)]T xR(t)=[x(t) x*(t)]T h(t)=x(t)-x*(t)
2008. március 9.
a visszacsatolt rendszer eredő paramétermátrixai, a rendszer kimenő jelei, a rendszer állapotváltozói, az állapotváltozók közötti eltérés.
58
SzB