Upload
messo
View
233
Download
0
Embed Size (px)
Citation preview
8/22/2019 Szabtech hzi
1/13
Szablyozstechnika hzifeladat
Krivn Blint - CBVOEN - [email protected]
Kd: 47, Gyakorlatvezeto: Bogrdi-Mszly gnes, Kurzus: GY19
1. Folytonos rendszer
Adott az albbi szablyozsi kr:
C(s)
Wz1(s)
P1(s)
Wz2(s)
P2(s)
z1 z2
r u y
Feladat-kdom alapjn a kifejezsek, illetve paramterek:
P1(s) =A1
1 + sT1=
0.2
1 + 1.5s
P2(s) =A2
s(1 + sT2)=
4
s(1 + 3s)
Wz1(s) = 2 Wz2(s) =4
1 + 2s
A1 = 0.2 A2 = 4 T1 = 1.5 T2 = 3 Ts = 0.5
1.1. aAdja meg a szablyozott szakasz u mdostott jellemzojnek a z1 illetve z2 zavar jellemzore vonat-koz eredo tviteli fggvnyeit! Adja meg az y szablyozott jellemzonek az r alapjelre valamint az1 illetve z2 zavar jellemzokre vonatkoz eredo tviteli fggvnyeit! (Az eredo tviteli fggvnyeketszimbolikusan, a P1(s), P2(s), Wz1(s), Wz2(s) kifejezsekkel adja meg.)
Uz1(s) =Wz1 P1 P2 C
1 + C P1 P2=
2 0.21+1.5s
4s(1+3s)
C(s)
1 + C(s) 0.21+1.5s
4s(1+3s)
=1.6 C(s)
0.8 C(s) + s + 4.5s2 + 4.5s3
Uz2(s) = Wz2
P2
C
1 + C P1 P2=
41+2s
4s(1+3s)
C(s)1 + C(s) 0.2
1+1.5s
4s(1+3s)
= (16 + 24s)C(s)(0.8 + 1.6s)C+ 1s + 6.5s2 + 13.5s3 + 9s4
1
8/22/2019 Szabtech hzi
2/13
Yr(s) =C P1 P2
1 + C P1 P2=
C 0.21+1.5s
4s(1+3s)
1 + C 0.21+1.5s
4s(1+3s)
=0.8 C(s)
s(1 + 1.5s)(1 + 3s) + 0.8 C(s)
Yz1(s) =Wz1 P1 P2
1 + C P1 P2=
2 0.21+1.5s
4s(1+3s)
1 + C(s) 0.21+1.5s
4s(1+3s)
=1.6
s(1 + 1.5s)(1 + 3s) + 0.8 C(s)
Yz2(s) =Wz2
P2
1 + C P1 P2=
41+2s
4s(1+3s)
1 + C(s) 0.21+1.5s
4s(1+3s)
= 16 + 24s(0.8 + 1.6s)C(s) + s + 6.5s2 + 13.5s3 + 9s4
1.2. b
Adja meg a felnyitott krL(s) tviteli fggvnynek kifejezstC(s) = A arnyos szablyozval.
L(s) = C P1 P2 = A 0.2
1 + 1.5s
4
s(1 + 3s)=
0.8A
s(1 + 1.5s)(1 + 3s)
1.3. cHatrozza meg a Kkr kritikus krerostst a megadott adatokkal C(s) = A arnyos szablyoz mel-lett.
Az A-t egynek vlasztva s a MATLAB-ot segtsgl hvva:
>> s = zpk(s);
>> L = 0.8/(s*(1+1.5*s)*(1+3*s));
>> [gm,pm,wg,wc] = margin(L);
>> gm
gm =
1.2500
1.25-re addik a kritikus krerosts.
2. feladat
Tervezzen olyan soros PID jellegu szablyozt, amely a zrt szablyozsi rendszerre vonatkozankielgti az albbi tervezsi specifikcikat:
r = 1(t) esetn a szablyozott jellemzo vgrtke y = 1,
az u(t) beavatkoz jel maximlis rtke umax < 10/(A1A2) legyen,
a rendszer tmeneti fggvnynek tllvse 5 10% kztt legyen.
P = P1 P2 =0.2
1 + 1.5s
4
s(1 + 3s)=
0.8
s(1 + 1.5s)(1 + 3s)
2
8/22/2019 Szabtech hzi
3/13
2.1. a
Adja meg a szablyoz tviteli fggvnyt zrus-plus alakban. Adja meg a rendszer fzistbblett!
Tekintve, hogy mr van egy integrl tagunk, ezrt elg, ha PD szablyzt terveznk:
CPD = k
1 + sTd1 + sT1
ahol Td: P msodik legnagyobb idollandja (1.5), T1 = Td/np, ahol np plustviteli tnyezo, amitvlasszunk 10-nek:
CPD = k 1 + 1.5s
1 + 0.15s
k-t kezdetben vlasszuk 1-nek, s a stabilitshoz kb. 60-os fzistbblet belltsval meghatrozhat-juk a k-t:
>> s = zpk(s);
>> P1 = 0.2/(1+1.5*s);
>> P2 = 4/(s*(1+4*s));
> > P = P 1*P2;
>> Td = 1.5;
>> np = 10;
>> T1 = Td/np;
> > k = 1 ;
>> Cpd = k*(1+s*Td)/(1+s*T1);
Szmoljuk ki a k-t, a fzistbblet belltsval:
>> L = Cpd*P;
>> [m,p,w] = bode(L);
>> k = margin(m,p-60,w)
k =
0.1959
Erre lecserlve a kezdetben 1-nek vlasztott rtket, megkaphatjuk a szablyz tviteli fggvnyt:
>> Cpd = k*(1+s*Td)/(1+s*T1)
Zero/pole/gain:
1.9591 (s+0.6667)
-----------------
(s+6.667)
Majd, gy kiszmolva L-t, illetve a fzistartalkot:
>> L = Cpd*P;
>> [gm,pm,w] = margin(L);
>> pm
pm =
60.0376
3
8/22/2019 Szabtech hzi
4/13
Teht sszegezve; a szablyz tviteli fggvnye zrus-plus alakban:
CPD =1.9591(s + 0.6667)
s + 6.667
A rendszer fzistbblete pedig:
m = 60.0376
2.2. b
brzolja a zrt rendszer kimenojelt s beavatkozjelt egysgugrs alapjel esetn! Hatrozza mega kimenojel tllvst, bellsi idejt s az u beavatkozjel maximumt! A szimulcit vgezze elSimulink-kel is.
A zrt rendszer kimenojele, egysgugrs esetn:
>> Tpid = feedback(Cpd * P, 1);
>> step(Tpid, b)
0 5 10 15 20 25 30 35 40 45 500
0.2
0.4
0.6
0.8
1
1.2
1.4
Step Response
Time (sec)
A
mplitude
Tpid
A zrt rendszer beavatkoz jele, egysgugrs esetn:
>> Upid = feedback(Cpd, P);
>> step(Upid, b)
4
8/22/2019 Szabtech hzi
5/13
0 2 4 6 8 10 12 14 160.5
0
0.5
1
1.5
2
Step Response
Time (sec)
Amplitude
Upid
A kimenojel tllvsnek kiszmtsa:
>> y = step(Tpid);
>> ys = dcgain(Tpid);
>> tulloves = (max(y) - ys)/ys * 100
tulloves =
8.5473
Lthat, hogy a specifikcinak megfelel, hiszen 5% < 8.5473% < 10%.
Bellsi ido (1%-os eltrssel szmolva): A Data Cursor funkcit hasznlva leolvashatjuk a grafi-konrl, hogy 35 msodperctol kezdodoen vgig 1%-on bell vagyunk, teht a bellsi ido kb. 35msodperc.
Az u beavatkoz jel maximuma:
>> u = step(Upid);>> umax = max(u)
umax =
1.9591
Kellett, hogy umax < 10/(A1A2) = 100.24 = 12.5, ami lthatan teljesl.Lthat teht, hogy a specifikcinak megfelelo szablyzt terveztnk.
Simulink-es szimulci:
5
8/22/2019 Szabtech hzi
6/13
1. bra. Kimenojel (egysgugrs esetn)
2. bra. Beavatkozjel (egysgugrs esetn)
6
8/22/2019 Szabtech hzi
7/13
3. Folytonos szablyozs llapotvisszacsatolssal
A folytonos szakasz tviteli fggvnye P1(s)P2(s). Holtido esetn hagyjuk el a holtidot.
3.1. Adja meg a szakasz llapotmtrixait.
P(s) = P1(s)P2(s) = 0.21 + 1.5s
4
s(1 + 3s)= 0.8
s(1 + 1.5s)(1 + 3s)
MATLAB segtsgvel knnyedn meghatrozhatak az llapotmtrixok:
>> s = tf(s);
>> P = 0.8/(s*(1+1.5*s)*(1+3*s));
>> [n, d] = tfdata(P, v);
>> [A, b, c, d] = tf2ss(n, d)
Ennek eredmnyeknt kapjuk a kvetkezoket:
A =
1.0000 0.2222 01.0000 0 0
0 1.0000 0
b =
10
0
c = 0 0 0.1778 d = 0
3.2. Tervezzen llapotvisszacsatolsos szablyozt.
A visszacsatolt rendszer legyen lerhat egy msodfok lengo taggal, amelynek csillaptsi tnyezo-je 0.7 s idollandja a szakasz legkisebb idollandjnak negyede. Harmadfok szakasz esetn avisszacsatolt rendszer harmadik elort idollandja egyezzen meg a lengo tag idollandjval. Ha-trozza meg az egysgugrs alapjel statikus hiba nlkli kvetst biztost kompenzcis tnyezo
rtkt! brzolja a szakasz s a visszacsatolt rendszer egysgugrsra adott vlaszt.
Felhasznlva az n adataimat:
>> E = 0.7;
> > T = 1 . 5 / 4 ;
Ezek alapjn a plusok meghatrozsa, majd egy kzs vektorba trtno tmsolsa:
>> p12 = roots( [T^2, 2*T*E, 1] ); % s^2T^2 + s*2*T*E + 1
>> p3 = roots( [T, 1] ); % 1+sT
>> p123(1:2) = p12;
>> p123(3) = p3;
Ackermann-formula segtsgvel meghatrozhatjuk a visszacsatolsi k vektort:
>> k = acker(A, b, p123)
Warning: Pole locations are more than 10% in error.
k =
5.4000 16.8444 18.9630
Megjegyzs: itt egy kicsit megijedtem a warning lttn, de remlem semmi komoly.
>> Tk = ss(A-b*k, b, c, d);
7
8/22/2019 Szabtech hzi
8/13
Ha ennek az egysgursra adott vlaszt brzolnnk, akkor ltnnk, hogy mr egsz kzel jrunk, deaz llandsult llapoton kell finomtani (hogy azt statikus hiba nlkl kvesse), ehhez a kr erostsitnyezot kell meghatroznunk:
>> kr = 1/dcgain(Tk)
kr =
106.6667
gy pedig mr a stacionrius llapotunk az 1 lesz, teht a zrt rendszernk:
>> T = ss(A-b*k, kr*b, c, d);
>> zpk(T)
Zero/pole/gain:
18.963---------------------------------
(s+2.667) (s^2 + 3.733s + 7.111)
>> step(P, b, T, r)
0 5 10 15 20 25 300
5
10
15
20
25
Step Response
Time (sec)
Amplitude
P
T
sszefoglalsknt: a kompenzcis tnyezo rtke kr = 106.6667, a visszacsatolt rendszernk tvi-teli fggvnye:
T(s) =18.963
(s + 2.667)(s2 + 3.733s + 7.111)
4. Mintavteles rendszerAdott az albbi diszkrt ideju (mintavteles) szablyozsi kr:
8
8/22/2019 Szabtech hzi
9/13
4.1.
Hatrozza meg a P(s) folytonos szakasz s a D/A talakt egyttes G(z) impulzustviteli fggvnytzrus-plus alakban a megadottTs mintavteli ido mellett zrusrendu tartszerv felttelezsvel.
A megadott Ts = 0.5 alapjn MATLAB-ot segtsgl hvva, nagyon egyszeruen megkaphatjuk a G(z)impulzustviteli fggvnyt:
>> Ts = 0.5;
>> G = c2d(P, Ts, zoh);
>> zpk(G)
Zero/pole/gain:
0.0032747 (z+3.301) (z+0.2359)
------------------------------
(z-1) (z-0.8465) (z-0.7165)
Sampling time: 0.5
gy zrus-plus alakban G(z):
G(z) =0.0032747(z+ 3.301)(z+ 0.2359)
(z 1)(z 0.8465)(z 0.7165)
4.2. Tervezze meg a C(z) diszkrt ideju PID szablyozt.
Elorsok:
egysgugrs alapjelre a marad hiba legyen zrus;
a rendszer tmeneti fggvnynek tllvse 5 10% kztt legyen;
az u(t) jelre umax < 10/(A1A2) teljesljn.
4.2.1. a
Adja meg a szablyoz C(z) impulzustviteli fggvnyt zrus-plus alakban. Adja meg a rendszerfzistbblett!
CPID(z) = k (z eTs/T1)(z eTs/T2)
z(z
1)T1 = 1.5 T2 = 3 Ts = 0.5
Hasonlan ahogy a 2. feladatnl lttuk az integrl tagunk miatt elg ha PD szablyzt terveznk:
9
8/22/2019 Szabtech hzi
10/13
CPID(z) = 1 CPD(z) = k z eTs/T1
z= k
z 0.7165
z= C(z)
Kezdetben k = 1-et hasznlva bellthatjuk a fzistbbletet, majd meghatrozhatjuk a k-t:
> > k = 1 ;
>> z = tf(z, Ts);> > C = k*(z-0.7165)/z;
>> L = minreal(G * C, 0.001);
>> [mag, phase, w] = bode(L);
>> k = margin(mag, phase-60, w)
k =
0.7793
> > C = k * C;>> zpk(C)
Zero/pole/gain:
0.77927 (z-0.7165)
------------------
z
Sampling time: 0.5
Teht a szablyoznk tviteli fggvnye zrus-plus alakban:
C(z) = 0.77927 z 0.7165
z
Fzistbblet pedig:
> > L = C * G;
>> [gm, pm, wg, wc] = margin(L);
>> pm
pm =
60.0067
m = 60.0067
4.2.2. b
brzolja a szablyozs y(t) folytonos kimenojelt s az u[k] diszkrt beavatkozjelet a tartszervutn egysgugrs alapjel hatsra! Hatrozza meg a kimenojel tllvst, bellsi idejt s az ubeavatkozjel maximumt! A szimulcit vgezze el Simulink-ben is.
Kimeno jel:
>> T = feedback(L, 1);
>> step(d2c(T))
10
8/22/2019 Szabtech hzi
11/13
0 5 10 15 20 25 30 35 400
0.2
0.4
0.6
0.8
1
1.2
1.4
Step Response
Time (sec)
Amplitude
>> y = step(d2c(T));
>> ys = dcgain(d2c(T));
>> tulloves = (max(y)-ys)/ys*100
tulloves =
8.0702
Lthat, hogy a kimenojel tllvse 8.07%, ami beleesik a kvnt tartomnyba. Data Cursor felhasz-nlsval pedig leolvashatjuk a grafikonrl, hogy 29 msodperctol kezdve az eltrs 1%-on bell van,teht a bellsi ido kb. 29 msodperc.
Beavatkoz jelet gy tudjuk kiszmolni:
U =C
1 + L
>> U = C/(1+L);
>> U = minreal(U, 0.001);
>> step(U)
11
8/22/2019 Szabtech hzi
12/13
0 5 10 15 20 250.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Step Response
Time (sec)
Amplitude
>> u = step(U);
>> umax = max(u)
umax =
0.7793
Kellett, hogy umax < 10/(A1A2) = 100.24 = 12.5, ami lthatan teljesl.
Simulink-ben a szimulci:
3. bra. Kapcsols
12
8/22/2019 Szabtech hzi
13/13
4. bra. Kimenojel (egysgugrs esetn)
5. bra. Beavatkozjel (egysgugrs esetn)
4.2.3. c
Adja meg a szablyozt megvalst algoritmust! rjon Matlab programot, amely megvalstja az al-goritmust. Futtassa le a programot az elso 20 mintavteli pontra a szablyoz bemenetn egysgimpulzus-sorozatot felttelezve. brzolja az eredmnyt.
13