Számítógépes irányításelmélet
196
3.4 Pólus-zérus helyettesítés Az előzőekben bemutatott pólus helyettesítéses tervezésnél a szabályozó követési tulajdonságait leíró trajektória a referencia modellben van „beleírva”, így ennél a tervezési eljárásnál nem voltak elérhetők a szabályozott szakasz zérusai. Másik probléma volt, hogy a szabályozott szakasz zérusait is magába foglalta a realizálható trajektória. Most ezt a problémát fogjuk megoldani úgy, hogy a szabályozott szakasz zérusait megszüntetjük, vagyis megszüntetjük a B polinomot. A továbbiakban bemutatott stratégia lehetővé teszi, az R-S-T típusú szabályozó tervezését stabil és nem stabil szakasz esetén is. • • •
( )
( )
korlátozás nélkül az A z −1 és B z −1 polinomok fokszámára, az időkésleltetés korlátozása nélkül, csak azokra a szakaszokra, amelyek stabil zérusokat tartalmaznak a zérusok törölhetősége miatt. W(z)
Y*(z )
E(z)
+
Bm/Am
T
U(z)
1/S
z-dB/A
–
R
Szabályozás:
z −d PD z −1
z −d
( ) ( )
z − d B m z −1 A m z −1
49. ábra Pólus-zérus helyettesítéses tervezés.
( )
+
+
Y(z)
Számítógépes irányításelmélet
197
Szabályozás– tervezett pólusok – R (z −1 ) és S(z −1 ) számítása A T előkompenzátor alkalmazása nélkül a zárt szabályozási kör impulzus átviteli függvénye a következő
( ) = A(z )⋅ S(z )+ z ( ⋅ B)(z )⋅ R (z )
H CL z
−1
z −d ⋅ B z −1
−1
−1
−d
−1
−1
Az a célunk, hogy töröljük a zérusokat és helyettesítsük a pólusokat a következő egyenlet szerint:
H CL
(z ) = B(z )⋅ P( (z ) ) = P z(z ) z −d ⋅ B z −1
−1
−1
−d
−1
D
D
−1
Ezt megvalósíthatjuk, ha megoldjuk a következő egyenletet:
( ) ( )
( ) ( ) ( ) ( )
A z −1 ⋅ S z −1 + z − d ⋅ B z −1 ⋅ R z −1 = B z −1 ⋅ PD z −1
( )
( )
( )
A B z −1 kitevő kiegyenlítéshez, S z −1 -nek oszthatónak kell lennie B z −1 -vel
( ) ( ) ( ) S' (z ) = 1 + s' ⋅z B(z ) = b + b ⋅ z
S z −1 = B z −1 ⋅ S' z −1 = s 0 + s1 ⋅ z −1 + ... + s nb + d ⋅ z − ( nb + d ) −1
−1
1
0
1
−1
+ ... + s'd ⋅z − d → s0 = b0 −1 + ... + b nb ⋅ z − nb )
Így a Diophantoszi egyenlet a következő alakúvá válik:
( ) ( )
( )
( )
A z −1 ⋅ S' z −1 + z −d ⋅ R z −1 = PD z −1
a megoldás abban az esetben létezik, ha degP ≤ na + d − 1, degS' = d −1, degR = na − 1, ahol
( )
R z −1 = r0 + r1 ⋅ z −1 + ... + rna −1 ⋅ z − ( na −1) Ahhoz, hogy az állandósult hiba egy egységugrás bemenetre vagy zavarjelre zérus értékű legyen az előremutató ágnak tartalmaznia kell egy integrátort; vagyis az S polinomot
Számítógépes irányításelmélet
198
( ) ( )(
) ( )
) ( )
( )
helyettesíteni kell S z −1 = B z −1 ⋅ 1 − z −1 ⋅ S' z −1 , így a Diophantoszi egyenlet a következő alakúvá válik:
( )(
( )
A z −1 ⋅ 1 − z −1 ⋅ S' z −1 + z −d ⋅ R z −1 = PD z −1
Az R polinom fokszámát meg kell növelni eggyel a digitális robosztusság biztosításához
( )
R z −1 = r0 + r1 ⋅ z −1 + ... + rna ⋅ z − na .
( )
−1 Követés – T z
meghatározása
A zárt szabályozási kör impulzus átviteli függvénye:
Y(z )
( ) ( ) ( ) ( )
B m z −1 T z −1 ⋅ z −d = ⋅ , * −1 Y (z ) A m z PD z −1 ezért, hogy biztosítsuk a tervezett zárt hurkú igényeket: −1 ) Y (z ) − d B m (z = z , Y * (z ) A m (z −1 )
ekkor
T (z −1 ) = PD (z −1 ).
Számítógépes irányításelmélet
199
30. példa: Pólus-zérus helyettesítéses tervezés a 28. példa alapján.
H (z
−1
)= z
−d
B(z −1 ) A (z −1 )
A(z −1 ) = 1 − 1.7 ⋅ z −1 + 0.72 ⋅ z −2 , B(z −1 ) = 0.4 − 0.2 ⋅ z −1 ,
d =1.
PD (z −1 ) = 1 − 1.245 ⋅ z −1 + 0.4066 ⋅ z −2 . Megoldás: Meg kell jegyezni azt, hogy a szakasznak eltérő polinomja van a szabályozáshoz mint az előző esetben. Előzőleg a szakasznak volt egy nem stabil zérusa a z=2 pontban. Így a póluszérus helyettesítéses tervezés nem lenne alkalmas ebben az esetben. A Diophantoszi egyenlet:
( ) ( )
( ) ( ) ( ) ( )
A z −1 ⋅ S z −1 + z − d ⋅ B z −1 ⋅ R z −1 = B z −1 ⋅ PD z −1 , ahol az S polinomnak tartalmaznia kell a B polinomot, hogy megvalósíthassuk a zérusok törlését és biztosítsuk az integráló viselkedést, ebben az esetben a Diophantoszi egyenlet, amit meg kell oldanunk:
( )(
) ( )
( )
( )
A z −1 ⋅ 1 − z −1 ⋅ S' z −1 + z −d ⋅ R z −1 = PD z −1 ;
degS' = d −1 = 0 →
( ) ( )(
degR = na = 2 →
) ( ) ( )(
)
) ( ) ( )(
)
S z −1 = B z −1 ⋅ 1 − z −1 ⋅ S′ z −1 = B z −1 ⋅ 1 − z −1
( ) ( )(
S z −1 = B z −1 ⋅ 1 − z −1 ⋅ S′ z −1 = B z −1 ⋅ 1 − z −1
( ) ( )(
) ( ) ( )( ) )⋅ (1 − z )+ z (r + r ⋅ z + r ⋅ z ) = (1 + p ⋅ z
S z −1 = B z −1 ⋅ 1 − z −1 ⋅ S′ z −1 = 0.4 + 0.2z −1 ⋅ 1 − z −1 = 0.4 − 0.2z −1 − 0.2z −2
(1 + a ⋅ z 1
−1
+ a 2 ⋅ z −2
−1
−1
0
1
−1
2
−2
p1 = a 1 − 1 + r0 p 2 = a 2 − a 1 + r1 ,
r0 = p1 − a 1 + 1 r1 = p 2 − a 2 + a 1
p 3 = − a 2 + r2 p3 = 0
r2 = p 3 + a 2
1
−1
+ p 2 ⋅ z −2
)
Számítógépes irányításelmélet
200
( )
(
)
R z −1 = (p1 − a1 + 1) + (p 2 − a 2 + a1 ) ⋅ z −1 + p 3 + a 2 ⋅ z − 2 = 1.4549 − 2.0134 ⋅ z −1 + 0.72 ⋅ z − 2
( )
,
( )
T z −1 = PD z −1 = 1 − 1.2451z −1 + 0.4066z −2 , A Simulink program:
Mux Mux Step Input1
Step Input
0.181 1-0.819z-1 Model
-2 1-1.2451z-1 +0.4066z 1 T
+ Sum
1 0.4+0.2z-1 1/B*
1 1-z-1 .
0.4z-1+0.2z-2 1-1.7z-1 +0.72z-2
+ + Sum1
Plant
-2 1.4549-2.0134z-1 +0.72z 1 R
1.2 r
1 0.8
b m
0.6 0.4 0.2
g
0
0
10
20 30 Time (second)
40
vörös - alapjel, kék – referencia modell kimeneti jel, lila – szabályozott szakasz kimeneti jel, zöld - zavarjel.
50
yd,D
Számítógépes irányításelmélet
201
3.4.1 Pólus-zérus helyettesítés hallgatólagos referencia modellel A referencia modell leírja a tervezett követési trajektóriát, amely közvetlenül megjelenik a pólus-zérus helyettesítéses szabályozási struktúrában (lásd a 49. ábrát). Ez alapvetően nem szükséges, mivel a szabályozó polinomjai ( R, S és T ) olyan módon határozhatók meg, hogy a zárt szabályozási kör impulzus átviteli függvénye kielégíti a követési célt a következő módon:
Y (z ) T (z ) ⋅ B(z ) Bm (z ) = = . Y* (z ) A (z ) ⋅ S(z ) + B(z ) ⋅ R (z ) A m (z ) A szabályozó polinomokat a következő módon kell meghatározni. A szabályozási törvény amely a 49. ábrán látható blokkdiagramon alapul a következő:
S(z ) ⋅ U(z ) = T(z ) ⋅
Bm (z ) * ⋅ Y (z ) − R (z ) ⋅ Y(z ) A m (z )
amely a következő összefüggést adja:
S(z ) ⋅ A m (z ) ⋅ U(z ) = T(z ) ⋅ Bm (z ) ⋅ Y* (z ) − R (z ) ⋅ A m (z ) ⋅ Y(z ) . Összehasonlítva ezt az összefüggést az eredeti R-S-T szabályozási törvénnyel:
SRST (z ) ⋅ U(z ) = T RST (z ) ⋅ Bm (z ) ⋅ Y* (z ) − R RST (z ) ⋅ Y(z ) , láthatjuk, hogy az SRST és RRST polinomoknak tartalmazniuk kell a megkívánt (tervezett) referencia modell pólusait, amelyeket az A m polinom tartalmaz, hogy elérjük a megkívánt viselkedést:
SRST (z ) = Sn (z ) ⋅ A m (z )
R RST (z ) = R n (z ) ⋅ A m (z )
T RST (z ) = Tn (z ) ⋅ Bm (z ) . A szabályozás tervezése az meghatározásából áll:
Sn (z ) =
SRST (z ) A m (z )
Rn
és
Sn
R n (z ) =
polinomok (a fenti egyenlőségek alapján)
R RST (z ) A m (z )
Tn (z ) =
T RST (z ) Bm (z )
Számítógépes irányításelmélet
202
A(z ) ⋅ SRST (z ) + B(z ) ⋅ R RST (z ) = B(z ) ⋅ PD (z ) és
Tn (z ) = PD (z )
Nos ebben az esetben a szabályozó polinomjai R és S nem adják a minimális megoldást (a legkisebb lehetséges polinom fokszámot). Minimális megoldást kaphatunk az R és S polinomokra a következő egyenlet megoldásával:
A(z ) ⋅ S(z ) + B(z ) ⋅ R (z ) = B(z ) ⋅ A m (z ) ⋅ PD (z ) A zárt szabályozási kör követési viselkedése a következő lesz:
Y(z ) Tn (z ) ⋅ Bm (z ) ⋅ B(z ) PD (z ) ⋅ Bm (z ) ⋅ B(z ) Bm (z ) = = = Y* (z ) A(z ) ⋅ S(z ) + B(z ) ⋅ R (z ) A m (z ) ⋅ B(z ) ⋅ PD (z ) A m (z ) . A szabályozás (zavarás elnyomás) dinamikája meghatározható a következő összefüggéssel:
Y (z ) A (z ) ⋅ S(z ) A (z ) ⋅ S(z ) = = W (z ) A (z ) ⋅ S(z ) + B(z ) ⋅ R (z ) A m (z ) ⋅ B(z ) ⋅ PD (z ) . Világosan látszik, hogy a szabályozás és a követés dinamikája nem választható teljesen szét, az A m (z) megjelenik a karakterisztikus polinomban. Kivéve ha a megkívánt karakterisztikus polinom PD (z ) részben vagy teljesen tartalmazza a B(z ) és/vagy A m (z) polinomokat. Ebben az esetben:
~ ~ A (z ) ⋅ S(z ) + B(z ) ⋅ R (z ) = B(z ) ⋅ A m (z ) ⋅ PD (z ) , ~ ~ ahol B(z ) és A m (z ) azok a faktorok amelyeket nem tartalmaz PD (z ) .
Alkalmazva a pólus-zérus helyettesítéses szabályozást, a szabályozott szakasz pólusai és a zérusai helyettesíthetők. Idáig az időkésleltetést nem kompenzáltuk. Ezért a következő feltételt kell teljesíteni. A megkívánt (tervezett) impulzus átviteli függvénynek rendelkeznie kell egy felesleges pólussal.
deg A m − deg Bm ≥ deg A − deg B , megjegyezzük, hogy nem lehetséges kisebb időkésleltetés igény, mint amivel a szabályozott szakasz rendelkezik. Az R és S polinomok tartalmazzák az R d és Sd faktorokat külön-külön, mindemellett, hogy biztosítsuk a zérus állandósult állapotbeli hibát, az R polinomnak tartalmaznia kell egy ( z − 1 ) tényezőt is.
Számítógépes irányításelmélet
203
Így
S(z ) = Sd (z ) ⋅ S (z )
R (z ) = R d (z ) ⋅ R (z )
és
Ha vannak olyan zérusok, amelyeket nem töröltünk, akkor a B polinomot fel kell bontani a következő módon B = B + B − ahol B − tartalmazza azokat a zérusokat, amelyek nem törlődtek. Ezért a karakterisztikus polinom rendelkezik egy B + résszel:
A(z ) ⋅ S(z ) + B(z ) ⋅ R (z ) = B+ (z ) ⋅ A m (z ) ⋅ PD (z ) Az egyenlet bal oldalának szintén kell tartalmaznia B + -t ennek megfelelően
B(z ) ⋅ R (z ) = B− (z ) ⋅ B+ (z ) ⋅ R (z ) így az S felépítése a következő alakú lesz
S(z ) = B+ (z ) ⋅ Sd (z ) ⋅ S (z ) . a B + -al történő egyszerűsítés után a karakterisztikus egyenlet a következő alakú lesz:
A(z ) ⋅ Sd (z ) ⋅ S (z ) + B− (z ) ⋅ R (z ) = A m (z ) ⋅ PD (z ) A zárt rendszer impulzus átviteli függvénye így:
Y(z )
T(z ) ⋅ B(z ) Tn (z ) ⋅ Bm (z ) ⋅ B− (z ) = = * A ( z ) ⋅ S ( z ) + B ( z ) ⋅ R ( z ) A m (z ) ⋅ PD (z ) . Y (z ) Ahhoz, hogy meghatározzuk az erősítést – törölnünk kell a B− (z) polinom erősítését – a T 1 polinomnak pedig tartalmaznia kell − B (1)
Tn (z ) =
PD (z ) . B − (1)
Ha az A polinomnak szintén van részhalmaza, amely nem törölhető, A − , akkor a tervezett karakterisztikus polinomnak tartalmaznia kell azt:
A(z ) ⋅ Sd (z ) ⋅ S (z ) + B− (z ) ⋅ R (z ) = A − (z ) ⋅ A m (z ) ⋅ PD (z )
Számítógépes irányításelmélet
204
Összefoglalva, a szabályozás polinomjai a következő alakúak lesznek:
S(z ) = Sd (z ) ⋅ B+ (z ) ⋅ S(z ) ,
R (z ) = R d (z ) ⋅ B+ (z ) ⋅ R (z ) , B (z ) ⋅ P (z ) T (z ) = m − D , B (1)
ahol a Diophantoszi egyenletet az S és R -re kell megoldani
A(z ) ⋅ Sd (z ) ⋅ S (z ) + B− (z ) ⋅ R d (z ) ⋅ R (z ) = A − (z ) ⋅ A m (z ) ⋅ PD (z ) A Diophantoszi egyenlet egyetlen megoldást tartalmaz, ha
deg S < deg B− + deg R d vagy
deg R < deg A + deg Sd . Az S és R polinomok fokszámait úgy kell választani, hogy eleget tegyenek ezeknek a törvényeknek. A további meghatározások a következő módon történnek. A szabályozási törvény
S(z ) ⋅ U(z ) = Tn (z ) ⋅ Y* (z ) − R (z ) ⋅ Y(z ) , amely azt mutatja, hogy a Tn és R polinomok fokszámának kisebbnek vagy egyenlőnek kell lennie az S polinom fokszámával:
deg R ≤ deg S
deg Tn ≤ deg S Egyébként a jelenlegi bemeneti jelet referencia jel és a kimeneti jel valamilyen jövőbeni értékből kellene meghatározni. Ez az oksági feltétel ! Ameddig a szakasz és a szabályozó oksági viszonyban vannak, deg B ≤ deg A és deg R ≤ deg S, ugyanígy deg R < deg A + deg Sd az egyedi megoldás feltételeiből, meghatározható a minimális fokszámú megoldás ha,
deg R = deg A + deg Sd − 1. Míg deg R ≤ deg S,
deg S ≥ deg R − deg Sd − deg B+ .
Számítógépes irányításelmélet
205
Demonstrációs példa: Adott a rendszer impulzus átviteli függvénye
H(z ) =
B(z ) K ⋅ (z − b ) = A(z ) (z − 1) ⋅ (z − a )
Ahol
a = e− h b = 1−
(
h ⋅ 1 − e −h
)
e −h − 1 + h
ahol h a mintavételi időtartam. idő A tervezett zárt hurkú rendszert az impulzus átviteli függvényével jellemezzük zzük (referencia modellel)
H m (z ) =
Bm z ⋅ (1 + p1 + p 2 ) = 2 Am z + p1 ⋅ z + p 2
(
)
A modell impulzus átviteli függvényének nincs zérusa a z = b-nél, b nél, ezért a rendszer zérusát törölni kell. B faktorizálása a következőt következ adja
B+ = z − b B− = K Mivel az S és R polinomoknak nincs különleges tényezője,, így a szabályozó polinom a következő alakú
S = B+ S R=R Nincs semmiféle feltétel a szabályozóra, PD (z) = 1 , egyenletet kell megoldani az S és R polinomokkal
A⋅ S + B− ⋅ R = A m
ezért a következő következ Diophantoszi
Számítógépes irányításelmélet
206
amely a következőt egyenlőséget adja
(z − 1) ⋅ (z − a ) ⋅ S + K ⋅ R = z 2 + p1 ⋅ z + p 2 Az R és S polinomok fokszámait a következő szabály alkalmazásával határozhatjuk meg
deg S ≥ deg R − deg Sd − deg B+ = 1 − 0 − 1 = 0 és
deg R = deg A + deg Sd − 1 = 2 − 0 − 1 = 1
A polinomokat a következő módon választhatjuk
S = s0 R = r1 + r0 ⋅ z A Diophantoszi egyenlet így a következő lesz
(z − 1) ⋅ (z − a ) ⋅ s0 + K ⋅ (r1 + r0 ⋅ z ) = z 2 + p1 ⋅ z + p 2 Ha összehasonlítjuk az egyenletek z hatványainak együtthatóit a következő egyenleteket kapjuk
s0 = 1 − (1 − a ) ⋅ s 0 + K ⋅ r0 = p1 a ⋅ s 0 + K ⋅ r1 = p 2 . amelyből,
r1 =
s0 = 1
p2 − a K
A szabályozó polinomjai a következők lesznek
S(z ) = S (z ) ⋅ B+ (z ) = z − b R (z ) = r0 ⋅ z + r1
T(z ) =
B m (z ) B − (1)
r0 =
1 + a + p1 K
Számítógépes irányításelmélet
207
3.4.2 Pólus-zérus helyettesítéses tervezés megfigyelő alkalmazásával A szabályozó tervezés lényege, hogy hogyan adjuk meg a karakterisztikus polinomot. Ezt a korábbiakban úgy határoztuk meg, hogy a Diophantoszi egyenletet megoldottuk a következő formában:
A(z ) ⋅ Sd (z ) ⋅ S (z ) + B− (z ) ⋅ R d (z ) ⋅ R (z ) = A − (z ) ⋅ A m (z ) ⋅ PD (z ) Az egyszerűsítéshez tételezzük fel csak azt az esetet, amikor B(z ) = B+ (z ) ⋅ B− (z ) valamint
R d (z ) = 1 , S d (z ) = 1 illetve A − (z ) = 1 . A Diophantoszi egyenlet,
A(z ) ⋅ S (z ) + B− (z ) ⋅ R (z ) = A m (z ) ⋅ PD (z ) módosítható, ha bevezetünk egy úgynevezett A O (z ) megfigyelő polinomot,
A (z ) ⋅ S (z ) + B− (z ) ⋅ R (z ) = A O (z ) ⋅ A m (z ) ⋅ PD (z ) A megfigyelő szerepe, hogy „megfigyelje” a bejövő zavarjelek változását és meghatározza milyen gyorsan kell megszüntetni őket, ahogy a későbbiekben azt látni fogjuk. A megfigyelő polinom magába foglalhat stabil szakasz pólusokat, amelyeket törölni lehet. A következő lépés hogy meghatározzuk az A O (z ) megfigyelő polinom fokszámát, amely illeszkedik a következő feltételhez
deg A O ≥ 2 deg A − deg A m − deg B+ − 1 Megoldva az S és R polinomokat a Diophantoszi egyenletből A ⋅ S + B− ⋅ R = AO ⋅ A m ⋅ PD . Az S és R fokszámai
deg S = deg A O + deg A m + deg PD − deg A degR = degA − 1 Ekkor S(z) = S(z) ⋅ B+ (z) , és R(z) számítható a Diophantoszi egyenletből és
T (z ) =
A O (z ) ⋅ B m (z ) ⋅ PD (z ) B − (1)
Számítógépes irányításelmélet
208
Demonstrációs mintapélda: Egy motor impulzus átviteli függvénye a következő alakú
H(z ) =
K ⋅ (z − b ) (z − 1) ⋅ (z − a )
ahol
K = e−h − 1 + h a = e−h h ⋅ 1 − e −h b = 1 − −h e −1 + h
(
)
és a h a mintavételi időtartam. A zárt szabályozási kör előírt tulajdonságait a referencia modellel leírt impulzus átviteli függvénnyel írjuk le
H m (z ) =
Bm (z ) z ⋅ (1 + p1 + p 2 ) = A m (z ) z 2 + p1 ⋅ z + p 2
A modellnek nincs zérusa z = b-nél ezért a rendszer zérusát törölni kell. A B faktorizálása a következőket adja
B + (z ) = z − b B− = K A megfigyelő polinom fokszámának ki kell elégítenie a következő feltételt
deg A O ≥ 2 deg A − deg A m − deg B+ − 1 = 4 − 2 − 1 − 1 = 0 így, hogy a minimális fokszámú szabályozót válasszuk ki
A O (z ) = 1 Az R és S fokszámai a következők
deg S = deg A O + deg A m − deg A = 0 + 2 − 2 = 0 degR = degA − 1 = 1
Számítógépes irányításelmélet
209
A Diophantoszi egyenlet:
A(z ) ⋅ S (z ) + B− (z ) ⋅ R (z ) = A O (z ) ⋅ A m (z )
(z − 1) ⋅ (z − a ) ⋅ s0 + K ⋅ (r0 ⋅ z + r1 ) = z 2 + p1 ⋅ z + p 2 Összehasonlítva az egyenletek z hatványainak együtthatóit a következő egyenleteket kapjuk
s0 = 1 − (1 + a ) ⋅ s 0 + K ⋅ r0 = p1 as0 + Kr1 = p 2 . amelyből,
r0 =
s0 = 1
1 + a + p1 K
r1 =
p2 − a , K
A szabályozó polinomok a következő alakúak lesznek:
S = S ⋅ B + = s 0 ⋅ (z − b ) R = r0 ⋅ z + r1 T=
A Ο ⋅ Bm B − (1)
=
A Ο ⋅ B m z ⋅ (1 + p1 + p 2 ) = = t0 ⋅ z K K
A szabályozó, S(z ) ⋅ U(z ) = T(z ) ⋅ Y* (z ) − R (z ) ⋅ Y(z ) , a következő módon írható le
z ⋅ U(z ) = z ⋅ t1 ⋅ Y* (z ) − r1 ⋅ Y(z ) − r0 ⋅ z ⋅ Y(z ) − b ⋅ U(z )
U (z ) = t1 ⋅ Y * (z ) − z −1 ⋅ r1 ⋅ Y(z ) − r0 ⋅ Y(z ) − z −1 ⋅ b ⋅ U (z )
u (k ) = t1 ⋅ y* (k ) − r1 ⋅ y(k - 1) − r0 ⋅ y(k ) − b ⋅ u (k - 1)
Számítógépes irányításelmélet
210
31a. mintapélda: Tervezzünk pólus-zérus helyettesítéses szabályozót az előző példa szabályozott szakaszához. A mintavételi idő h = 0.5 és a zárt rendszer tervezett viselkedése a következő módon van megadva ζ m
ω 0 m = 0.7 1 .
(Emlékeztetőül s 2 + 2ζ m ω 0 ms + ω 02 m )
Megoldás: 1. 2. 3. 4.
Határozzuk meg a szakasz paramétereit. Számítsuk ki a modell paramétereit. Tervezzük meg a szabályozót. Ellenőrizzük a számításokat az A, B, R, S, T polinomok behelyettesítésével a következő egyenletben
B⋅T B = m. A ⋅S + B ⋅ R Am
5. Adjuk meg a szabályozót z −1 hatványkitevői szerint. 6. Építsük meg a szabályozás szimulációs modelljét Simulink-ben.
1. A szabályozott szakasz paraméterei » K=(exp(-0.5))-1+0.5, a=exp(-0.5), b=1-(0.5*(1-exp(-0.5))/(exp(-0.5)-1+0.5))
H(z ) =
K= 0.1065 a= 0.6065 b= -0.8467
K (z − b ) (z − 1)(z − a )
2. A modell paraméterei
H m (z ) = A specifikáció
B m (z ) z ⋅ (1 + p1 + p 2 ) = A m (z ) z 2 + p1 ⋅ z + p 2 ζm
ω 0 m = 0.7 1
és az
karakterisztikus polinomot s + 1.4s + 1 = 0 2
s 2 + 2ζ m ω 0 ms + ω 02 m = 0
adja meg a
Számítógépes irányításelmélet
211
s 2 + 1.4s + 1 = 0
» s=[1 1.4 1]; » sp=roots(s) sp = -0.7000+ 0.7141i -0.7000- 0.7141i
A diszkrét idejű specifikáció
» zp=exp(sp*0.5)
z 2 − 1.3205z + 0.4966
zp = 0.6602+ 0.2463i 0.6602- 0.2463i
A modell átviteli függvénye
» z=poly(zp)
H m (z ) =
0.1761z z − 1.3205 z + 0.4966 2
z=
1.0000 -1.3205
0.4966
3. Szabályozó tervezés A szabályozott szakasz zérusának kitörlésével a szakasz zérusai eltűnnek. A modell a következő alakúvá válik
H m (z ) =
1 + p1 + p 2 z 2 + p1 ⋅ z + p 2
Az impulzusátviteli függvény H rendelkezik egy zérussal z = b-nél, amely nem szerepel HM -ben. A megadott specifikációkkal szükséges a z = b zérus törlése.
1. lépés: B felbontása
B + = z + 0.8467
B− = K = 0.1065
2. lépés: A megfigyelő polinom
degA o ≥ 2degA − degA m − degB+ − 1 degA o ≥ 4 − 2 − 1 − 1 = 0 így válasszuk
A o = 1-re
Számítógépes irányításelmélet
212
3. lépés: R 1 és S polinomok meghatározása
degS1 = degA o + degA m − degA = 0 + 2 − 2 = 0 degR = degA − 1 = 1
→ →
S1 (z) = s0 R (z ) = r0 ⋅ z + r1
Oldjuk meg S 1 és R-et a következő egyenletből AS1 + B− R = A 0 A m ,
(z − 1) ⋅ (z − a ) ⋅ s 0 + K ⋅ (r0 ⋅ z + r1 ) = z 2 + p1 ⋅ z + p 2 Összehasonlítva az egyenletek z hatványainak együtthatóit a következő egyenleteket kapjuk
(z ) (z ) (z ) 2
s0 = 1
1
− (1 + a ) ⋅ s 0 + K ⋅ r0 = p1
0
as0 + Kr1 = p 2
0 0 s 0 1 1 − (a + 1) K 0 ⋅ r = p 0 1 a 0 K r1 p 2
F*P = J
és a megoldás
P=F\J
» F=[1 0 0; -(1+a) K 0; a 0 K]; » J=[1 z(2) z(3)]'; » F\J ans = 1.0000 (s0) 2.6854 (r0) -1.0319 (r1)
4. lépés: Az S, R és T polinomokból
S(z ) = S1 (z ) ⋅ B + (z ) = s 0 ⋅ (z − b ) = s 0 ⋅ z − s 0 ⋅ b = z + 0.8467 R (z ) = r0 ⋅ z + r1 = 2.6854 ⋅ z − 1.0319
T=
A Ο ⋅ Bm B − (z )
=
z ⋅ (1 + p1 + p 2 ) = t 0 ⋅ z = 1.6535 ⋅ z K
Számítógépes irányításelmélet
213
5. lépés: A szabályozási törvény felírható a Z transzformáció alkalmazásával úgy mint
u[k + 1] = t 0 ⋅ r[k + 1] − r0 ⋅ y[k + 1] − r1 ⋅ y[k ] + b ⋅ u[k ] vagy
u[k ] = t 0 ⋅ r[k ] − r0 ⋅ y[k ] − r1 ⋅ y[k − 1] + b ⋅ u[k − 1]
5. A Simulink modell Digital Control Theory 47453S 3 ov Example 28b: Pole-zero placement by Åström
0.1761z 1.0000z 2-1.3205z+0.4966 Discrete Transfer Fcn
Scope 1.6535 Step Input1
0.1065(z+0.8467)
t0
Mux
(z-1)(z-0.6065) Mux1 Sum u(k-1) 1
-0.8467
Discrete Zero-Pole
z S1 2.6854 r0 -1.0319 r1
1/z y(k-1)
Setpoint Control input Process Model
Számítógépes irányításelmélet
214
2
1.5
g
b,m
r
1
0.5
0
-0.5 0
5
10
15 Time (second)
20
25
30
vörös - alapjel, kék – modell kimeneti jel, magenta – szabályozás kimeneti jel, zöld – szabályozó bemeneti jel.
Ha a mintavételi idő megváltozik a szabályozási paraméterek és a szabályozás jellemzői megváltoznak: h=0.25 h=1
s0 =1 s0 =1
r0 =4.3948 r0 =1.6782
r1=-2.5733 r1=-0.3297
t0 =1.8215 t0 =1.3484
ex_99_28a_h_1
e x_ 99 _2 8a_ h_0 _2 5
1.6 2
1.4 1.2
1.5
1 0.8
1
0.6 0.4
0.5
0.2 0
0
-0.2 -0.4 0
5
10
15 20 Tim e (S eco nds)
h = 0.25
25
30
0
5
10 15 20 Time (S econds)
h=1
25
30
Számítógépes irányításelmélet
215
31b. mintapélda: Tervezzünk pólus-zérus helyettesítéses szabályozót az előző példa szabályozott szakaszához. A mintavételi idő h = 0.5 és a zárt rendszer tervezett viselkedése a következő módon van megadva ζ m ω 0 m = 0.7 1 . (Emlékeztetőül s 2 + 2ζ m ω 0 ms + ω 02 m )
Megoldás: 1. Határozzuk meg a szakasz paramétereit. 2. Számítsuk ki a modell paramétereit. 3. Tervezzük meg a szabályozót. 4. Ellenőrizzük a számításokat az A, B, R, S, T polinomok behelyettesítésével a következő egyenletbe
B⋅T B = m. A ⋅ R + B ⋅S Am
5. Adjuk meg a szabályozót z −1 hatványkitevői szerint. 6. Építsük meg a szabályozás szimulációs modelljét Simulink-ben.
Az 1. és a 2. lépés ugyanaz, mint az előző példában.
Megoldás: 3. Szabályozó tervezés Mivel nem történik meg a zérus a zérus kitörlése a szakasz zérus értéke megjelenik a zárt szabályozási kör impulzus átviteli függvényében.
H CL (z ) =
(1 + p1 + p 2 ) ⋅ (z − b ) 2
z + p1 ⋅ z + p 2
1. lépés: B felbontása
B+ = 1 B − = K ⋅ (z − b ) = 0.1065 ⋅ (z + 0.8467 ) A K paraméter és a maradék (z-b) egy erősítést reprezentál, amelyet törölni kell. Ez a T polinom meghatározásánál vehető figyelembe a következő módon:
T (z ) =
A Ο (z ) ⋅ B m (z ) B − (z )
=
A Ο (z ) ⋅ B m (z ) K ⋅ (1 − b )
Számítógépes irányításelmélet
216
2. lépés: A megfigyelő polinom
degA o ≥ 2degA − degA m − degB + − 1 degA o ≥ 4 − 2 − 0 − 1 = 1 ebből következően
Ao = z .
3. lépés: Az S és R polinomok meghatározása
deg S = deg A O + deg A m − deg A = 1 + 2 − 2 = 1
→
degR = degA − 1 = 1
→
S(z ) = s 0 ⋅ z + s1
R (z ) = r0 ⋅ z + r1 −
Meghatározva S és R polinomokat a következő egyenletből AS + B R = A 0 A m
(z − 1) ⋅ (z − a ) ⋅ (s 0 z − s1 ) + K ⋅ (z − b ) ⋅ (r0 ⋅ z + r1 ) = z 3 + p1 ⋅ z 2 + p 2 ⋅ z Összehasonlítva az egyenletek z hatványainak együtthatóit a következő egyenleteket kapjuk
(z ) s = 1 (z ) (1 + a )⋅ s0 − s1 − K ⋅ r0 = −p1 (z ) a ⋅ s 0 − (1 + a )⋅ s1 − K ⋅ b ⋅ r0 + K ⋅ r1 = p 2 (z ) a ⋅ s1 − K ⋅ b ⋅ r1 = 0 3
0
2
1
0
0 0 0 s 0 1 1 (a + 1) −1 −K 0 s1 − p1 ⋅ = a − (a + 1) − Kb K r0 p 2 a 0 − Kb r1 0 0
F*P = J
ésa megoldás a következő
P=F\J
Számítógépes irányításelmélet
217
» F=[1 0 0 0; 1+a -1 -K 0; a -(1+a) -K*b K; 0 a 0 K*b]; » J=[1 -z(2) z(3) 0]'; » F\J ans = 1.0000 (s0) 0.1111 (s1) 1.6422 (r0) -0.7471 (r1)
4. lépés: Az S, R és T polinomok formája
S(z ) = S1 (z ) ⋅ B + (z ) = s 0 ⋅ z − s1 = z + s1 R (z ) = r0 ⋅ z + r1 A (z ) ⋅ Bm (z ) T(z ) = Ο = t0 ⋅ z K ⋅ (1 − b ) 5. lépés: A szabályozási törvény,
u[k ] = t 0 ⋅ r[k ] − r0 ⋅ y[k ] − r1 ⋅ y[k − 1] + s1 ⋅ u[k − 1] 5. Simulink modell 0.1761 2 1.0000z -1.3205z+0.4966 Discrete Transfer Fcn
Scope 0.8951 Step Input1
0.1065(z+0.8467)
t0
Mux
(z-1)(z-0.6065) Mux1 Discrete Zero-Pole
Sum 0.1111
1/z u(k-1)
s1
1.6422 r0 -0.7471 r1
1/z y(k-1)
Setpoint Control input Process Model
Számítógépes irányításelmélet
218
1.2 r
1 b m
0.8 0.6 0.4 0.2 g
0 0
5
10
15 20 Time (second)
25
30
vörös - alapjel, kék – modell kimeneti jel, lila – szabályozás kimeneti jel, zöld – szabályozó bemeneti jel
Számítógépes irányításelmélet
219
3.4.3 A megfigyelő polinom hatása A megfigyelő polinomról A O -ról azt mondtuk, hogy ő a felelős azért, hogy a zavarást milyen gyorsan érzékeljük illetve a szabályozás segítségével milyen gyorsan tudjuk megszüntetni. A következő demonstrációs példa (Åström, 1997) mélyebb betekintést nyújt probléma megoldásához. A szakasz modellje a következő
G (s) =
k s2
ahol k=1. A mintavételes rendszer impulzus átviteli függvénye ZOH használatával és h értékű mintavételi idővel a következő
h2 z + 1 B(z ) b0 ⋅ z + b1 H(z ) = ⋅ = = 2 (z − 1)2 A(z ) z 2 + a1 ⋅ z + a 2 A zárt szabályozási kör megadása. A karakterisztikus polinom
s 2 + 2 ⋅ ξ ⋅ ω ⋅ s + ω2 Az azonos diszkrét idejű polinom a következő alakú:
A m (z ) = z 2 − 2 ⋅ z ⋅ e −ξωh ⋅ cos ωh 1 − ξ 2 + e − 2ξωh = z 2 + a m1 ⋅ z + a m 2 Megkívánt, hogy a megfigyelő rendelkezzen két pólussal s = −α -nál vagy ami ezzel ekvivalens
z = e -αh -nál diszkrét időben. A megfigyelő polinom így a következő lesz
(
A ο (z ) = z − e − ah
)
2
= z 2 + a ο1 ⋅ z + a ο 2
A Diophantoszi egyenlet
h2 (z − 1) ⋅ S(z ) + ⋅ (z + 1)⋅ R (z ) = A ο (z )⋅ A m (z ) 2 2
Számítógépes irányításelmélet
220
ahol előírt, hogy S rendelkezzen egy zérussal z = 1–nél (integrálási tulajdonság). A minimális fokszámú megoldás szabályozási késleltetés nélkül a következő
R (z ) = r0 ⋅ z 2 + r1 ⋅ z + r2
S(z ) = s 0 ⋅ z 2 + s1 ⋅ z + s 2 = z 2 + s ⋅ z − 1 Összehasonlítva az egyenletek z hatványainak együtthatóit a következő összefüggéseket kapjuk (z4) (z3) 2
(z ) 1
(z ) 0
(z )
b0 1 a −1 b 1 1 a 2 − a1 0 0 − a2
1=1
s + b 0 ⋅ r0 + (a1 − 1) = a O1 + a m1
s(a1 − 1) + b 0 ⋅ r1 + b1 ⋅ r0 + (a 2 − a1 ) = a O 2 + a O1 ⋅ a m1 + a m 2 s(a 2 − a1 ) + b 0 ⋅ r2 + b1 ⋅ r1 − a 2 = a m1 ⋅ a O 2 + a m 2 ⋅ a O1 − s ⋅ a 2 + b1⋅r2 = a m 2 ⋅ a O 2
0 s a O1 + a m1 a1 − 1 0 r0 a O 2 + a O1 ⋅ a m1 + a m 2 a 2 − a1 ⋅ = − b0 r1 a m1 ⋅ a O 2 + a m 2 ⋅ a O1 − a 2 a m2 ⋅ a O2 b1 r2 0
0 b0 b1 0
Ha S(1) = 0 a T polinomot a következő módon határozhatjuk meg
T(z ) =
A m (1) ⋅ A O (z ) h
2
= t 0 ⋅ z 2 + t1 ⋅ z + t 2
A Matlab program: »am1=-2*exp(-ga*wa*ha)*cos(wa*ha*sqrt(1-ga*ga)); am2=exp(-2*ga*wa*ha); ao1=-2*exp(-al*ha); ao2=exp(-2*al*ha); a1=-2; a2=1; b0=(ha*ha)/2; b1=b0; F=[1 b0 0 0;(a1-1) b1 b0 0;(a2-a1) 0 b1 b0; -a2 0 0 b1]; D=[ao1+am1 ao2+am1*ao1+am2 am1*ao2+am2*ao1 am2*ao2]'; E=[a1-1 a2-a1 -a2 0]'; F\(D-E) Am=1+am1+am2; T=Am*[1 ao1 ao2]/(ha*ha)
Számítógépes irányításelmélet
221
A szabályozó paramétereket, amelyeket alkalmazunk a következő táblázatban aduk meg: ω 0.2
s 0.4405
r0 1.398
ξ 0.707
α 2
r1 -2.0224
h 1
r2 0.9086
t0 0.0347
t1 -0.0094
t2 0.0006
Először egységugrás bemenetet alkalmazzunk a szabályozáshoz. A zavarójel egy negatív értékű egységugrás jel 0.05 nagyságú amplitúdóval, amelyet a szabályozott szakasz bemeneténél alkalmazunk t=50 időegységnél. Végül egy nagyfrekvenciás szinuszos bemenő [ 0.01⋅ sin(2t) ] is alkalmazunk t=100 időegységnél, hogy megmutassuk a jelet nagyfrekvenciás mérési zajokra adott válaszfüggvényt. Output 1
0.5
0
0
50
100
150
Time (Seconds)
Input 0.1 0.05 0 -0.05
0
50
100
150
Time (Seconds)
A következőkben az ω változásának következményeit mutatjuk be. A válaszadási idő és a zavarjelből keletkező hiba inverz módon arányosan csökkenő a sávszélességhez képest. Amikor a sávszélességet növeljük a szabályozó jel szintén növekszik. ω 0.1 0.2 0.4
ξ 0.707 0.707 0.707
s 0.3995 0.4405 0.5141
r0 0.9420 1.398 1.5355
α 2 2 2
h 1 1 1
r1 r2 -1.7658 0.8308 -2.0224 0.9086 -2.4944 1.0491
t0 0.0093 0.0347 0.1206
t1 -0.0025 -0.0094 -0.0326
t2 0.0002 0.0006 0.0022
Számítógépes irányításelmélet
222
Output 1
0
ω = 0.1 ω = 0.2 ω = 0.4
ω = 0.1 ω = 0.2 ω = 0.4
0.5
0
50
100
150
100
150
Time (Seconds) Input
ω = 0.4 ω = 0.2 ω = 0.1
0.1 0.05 0 0
50 Time (Seconds)
A következőkben α változásának hatásait vizsgáljuk. A bemeneti zavarjelre adott válasz javul, amikor a megfigyelés gyorsabb α = 10 értéknél. ω 0.2 0.2 0.2
s -0.1203 0.4405 0.5659
ξ 0.707 0.707 0.707
r0 0.3766 1.398 1.4302
α 0.5 2 10
r1 -0.6851 -2.0224 -2.5272
h 1 1 1
r2 0.3139 0.9086 1.1318
t0 0.0347 0.0347 0.0347
t1 -0.0421 -0.0094 -0
t2 0.0128 0.0006 0
Output 1
α = 0.5 α=2 α = 10
0.5
0
0
50
100
150
Time (seconds) Input 0.08
α = 0.5
0.06 0.04
α=2 α = 10
0.02 0 0
50
100 Time (Seconds)
150
Számítógépes irányításelmélet
223
A rendszer válaszát a mintavételi idő változására a következőkben mutatjuk be. A mintavételi időnek meghatározó jelentősége van a zavarjelre adott válasznál. Ennélfogva a zavarjelre adott válasz növekszik, ha növeljük a mintavételi időt és csökken, ha csökkentjük a mintavételi időt. ω 0.2 0.2 0.2
ξ 0.707 0.707 0.707
α 2 2 2
s -0.3561 0.4405 0.6091
r0 3.5996 1.398 0.4534
r1 -7.0221 -2.0224 -0.729
h 0.2 1 2
r2 3.4267 0.9086 0.3047
t0 0.0389 0.0347 0.0301
t1 -0.0521 -0.0094 -0.0011
t2 0.0175 0.0006 0
Output 1 h=2 h=1
0.5
h = 0.2 0
0
50
100
150
100
150
Time (Seconds)
Input
0.1
h=2 h=1
0.05 h = 0.2 0 0
50 Time (Seconds)
Számítógépes irányításelmélet
3.4 Pólus-zérus helyettesítés Szabályozás– tervezett pólusok –
T (z
−1
)
224
R (z
−1
) és S(z ) számítása −1
Követés – meghatározása 3.4.1 Pólus-zérus helyettesítés hallgatólagos referencia modellel 3.4.2 Pólus-zérus helyettesítéses tervezés megfigyelő alkalmazásával 3.4.3 A megfigyelő polinom hatása
196 197 198 201 207 219