Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdJoke Adam Laatst gewijzigd meer dan 6 jaar geleden
1
Onderzoek van stabiliteit via het frequentiedomein
Polair diagram Mappen van een contour Theorema van Cauchy Nyquist criterium Winstmarge en fasemarge M- en N-cirkels Nichols diagram Tijdsvertraging (dode tijd)
2
1. Polair diagram G(jw) = A e jj is een complex getal A(w) j(w)
We kennen de Bode plots A sin (wt+j) sin wt G(s) G(jw) = A e jj is een complex getal amplitude en fase zijn functie van w: A(w) j(w)
3
Bode plot A(w) [dB] w j(w) [ ° ] w
4
Alternatieve voorstelling
X(w) K/2 K R(w) w=∞ w=0 -K/2 w=1/t SPV in w
5
Relatie met Bode plot X(w) K/2 K R(w) w=∞ j(w) w=0 A(w) -K/2 w=1/t
6
Tweede voorbeeld X(w) R(w) -t -0,8t -t/2 -t /2 w=1/t w=1/2t -1,6t
7
Matlab voorbeeld >> G=tf(10,[4 1]) >> bode(G)
>> nyquist(G) (merk op: de nyquist-plot geeft twee trajecten: voor w van nul naar oneindig, en voor w van min oneindig naar nul: kan aan- of afgezet worden met rechtermuisknop “Show”)
8
Matlab opgave Bekijk de bode plot en het polair diagramma voor de volgende systemen: >> G=tf(1,[4 1 0]) >> G=tf(5,[4 2 1])
9
Aanklikken → voor elk punt wordt de bijhorende frequentie getoond
10
Nadelen polair diagram
de berekening en de constructie is nogal omslachtig als K verandert moet de hele plot op een andere schaal worden getekend de ligging van polen en nulpunten is niet duidelijk het bijvoegen van een pool of nulpunt verandert het traject volledig
11
Voordelen Bode plot de berekening en de constructie is vrij eenvoudig
als K verandert, schuift de grafiek van de modulus naar boven of naar beneden; de grafiek van de faze blijft ongewijzigd door de asymptoten te tekenen is de ligging van polen en nulpunten zeer duidelijk het bijvoegen van polen of nulpunten is vrij eenvoudig
12
Waarom polaire plot? belangrijk voor de theoretische afleiding van het stabiliteitscriterium
13
2. Mappen van een contour jv s u jw F(s) = u + j v s = s + jw
F(s) = 2s + 1 jv jw D A D A s u B C u = 2s + 1 v = 2w C B sA = 1 + j F(sA) = j sD = -1 + j F(sD) = j
14
Tweede voorbeeld jv s u jw F(s) = u + j v s = s + jw F(s) = s/(s + 2)
A A s u B B C C sA = 1 + j F(sA) = 0,4 + 0,2 j sD = -1 + j F(sD) = 0 + j
15
Spelen met Matlab jw Contour in s-vlak 1 phi s >> phi=0:0.01:2*pi;s=exp(i*phi);polar(phi,abs(s)); >> F=2*s+1;polar(angle(F),abs(F)); >> F=s./(s+2);polar(angle(F),abs(F));
16
Afspraken positieve richting = volgens de wijzers van het uurwerk
jw positieve richting = volgens de wijzers van het uurwerk het ingesloten gebied is per definitie gelegen rechts van de contour, indien deze in de positive richting wordt doorlopen s
17
3. Theorema van Cauchy jw jv F(s1) jz1 s1 M jp1 jp2 s jF u jz2
18
Theorema van Cauchy N = Z – P
N = aantal omwentelingen rond de oorsprong (in uurwerkwijzerzin) van de contour in het F(s)-vlak Z = aantal nulpunten gelegen binnen de contour in s-vlak P = aantal polen gelegen binnen de contour in s-vlak N = Z – P Bewijs: Als z1 binnen de contour ligt, dan is Djz1 = 360° na één omwenteling, terwijl alle andere D’s uiteindelijk nul zijn, zodat DjF = 360° N = 1 Als p1 binnen de contour ligt, dan is Djp1 = 360° na één omwenteling, terwijl alle andere D’s uiteindelijk nul zijn, zodat DjF = -360° N = -1
19
Voorbeeld 1 jw jv s u Z = 3 P = 1 N = 2
20
Voorbeeld 2 jw jv s u Z = 0 P = 1 N = -1
21
Voorbeeld als |a| < 1 Z = 1 als |a| > 1 Z = 0
Contour in s-vlak is de eenheidscirkel jw x jb -a s o x -jb als |a| < 1 Z = als |a| > 1 Z = 0 als |b| < 1 P = als |b| > 1 P = 0
22
Voorbeeld in Matlab Contour in s-vlak is de eenheidscirkel jw s -phi 1 >> phi=0:0.01:5.5;s=exp(-i*phi);polar(-phi,abs(s)); We sluiten de eenheidscirkel niet helemaal (tot 5,5 radialen) zodat we ook de zin kunnen zien
23
Controle met Matlab >> F=(s+2)./(s.^2+2);polar(angle(F),abs(F));
|b| < 1 (P = 2) |b| > 1 (P = 0) |a| < 1 (Z = 1) N = -1 N = 1 |a| > 1 (Z = 0) N = -2 N = 0 N = 0 >> F=(s+2)./(s.^2+2);polar(angle(F),abs(F)); N = 1 >> F=(s+.5)./(s.^2+2);polar(angle(F),abs(F)); N = -1 >> F=(s+.5)./(s.^2+.5);polar(angle(F),abs(F)); N = -2 >> F=(s+2)./(s.^2+.5);polar(angle(F),abs(F));
24
4. Nyquist criterium L(s)
We willen weten of de closed-loop transferfunctie T(s) stabiel is, uitgaande van de kennis van de lustransferfunctie L(s)
25
Stabiliteitscriterium
L(s) Stabiel als T(s) geen polen heeft in het rechterhalfvlak Dus: F(s) mag geen nulpunten hebben in het rechterhalfvlak
26
Methode in het s-vlak kiezen we een contour die het ganse rechterhalfvlak omvat we construeren de overeenkomstige contour in het F(s)-vlak, en bepalen het aantal omwentelingen N rond de oorsprong het aantal nulpunten Z van F(s) die gelegen zijn in het rechterhalfvlak is dan volgens het theorema van Cauchy gelijk aan Z = N + P, met P het aantal polen van F(s) in het rechterhalfvlak als dan N + P > 0 in het systeem onstabiel
27
Contour in s-vlak jw R s Als R → ∞ dan omvat de contour het ganse rechterhalfvlak
28
Contour in F(s)-vlak jv jv u u -1
we constueren de contour, niet in het F(s)-vlak, maar in het L(s)-vlak F(s)-vlak L(s)-vlak jv jv u u -1 L(s) = F(s) - 1 Het gevolg van deze verschuiving: het aantal omwentelingen in het F(s)-vlak rond de oorsprong komt overeen met het aantal omwentelingen rond het punt (-1,0) in het L(s)-vlak.
29
Contour in L(s)-vlak L(jw) jw jv w=∞ R w=0 s w=-∞ u w=∞ w=0 w=-∞ Het doorlopen van de imaginaire as (s = jw) komt overeen met het polaire diagramma van L(s)
30
Veronderstelling: L(s) stabiel
Als L(s) stabiel is, liggen er geen polen in het rechterhalfvlak,dus: P = 0 De voorwaarde voor stabiliteit van T(s) wordt dan: N = 0 In woorden: de contour in het L(s)-vlak mag het punt (-1,0) NIET omcirkelen
31
Voorbeeld 1: >> L=tf(2,[1 1]) >> nyquist(L) jv s u 1/t
jw jv R s (-1,0) K/tR u 1/t >> L=tf(2,[1 1]) >> nyquist(L) Merk op: in Matlab wordt het punt (-1,0) met een + aangeduid
32
Voorbeeld 2: >> L=tf(1.2,[1 1 0]) >> nyquist(L) jv u s 1/t
jw jv (-1,0) s u 1/t >> L=tf(1.2,[1 1 0]) >> nyquist(L) De contour in het s-vlak mag niet door een pool gaan, daarom: omzeilen!
33
Voorbeeld 3: jv u1 u (-1,0)
34
Snijpunt met de reële as
jv u1 u (-1,0)
35
Voorwaarde voor stabiliteit
jv Punt (-1,0) NIET omcirkelen, dus u1 u (-1,0) of
36
In Matlab >> L=tf(5,[1 2 5 0]);nyquist(L);axis([-2 0 -4 4])
We kiezen: K = 5, a = 1, b = 2 en c = 5 : >> L=tf(5,[ ]);nyquist(L);axis([ ]) Klik op de linkermuisknop en bekijk het reëel deel, het imaginair deel en de frequentie Stel vervolgens K = 10, K = 15 en interpreteer
37
5. Winstmarge en fasemarge
Winstmarge (gain margin) en fasemarge (phase margin) zijn 2 zeer praktische begrippen Zij worden bepaald uit de frequentie-responsie van de lusversterking L(s) Uiteindelijk is het de fasemarge die bepaalt of het systeem T(s) stabiel is
38
Winstmarge jv K1 stabiel: d < 1 K2 grens van stabiliteit
K3 onstabiel -1 -d u Voor K = K1 is de winstmarge gelijk aan 1/d: dit is de factor waarmee K kan worden vermenigvuldigd tot de grens van stabiliteit
39
Winstmarge Winstmarge = 20 log(1/d) jv u
De winstmarge wordt meestal uitgedrukt in dB: K3 Winstmarge = 20 log(1/d) K2 K1 -1 -d u Voor K = K2 is de winstmarge gelijk aan nul Voor K = K3 is de winstmarge negatief
40
Fasemarge jv Voor w = wc is A = 1
De fasenaijling bedraagt bij die frequentie j(wc) De fasemarge is dan gelijk aan jpm = 180°+ j(wc) -1 u jpm j(wc) A w= wc -j Voorbeeld: als j(wc) = -120°, dan is de fasemarge jpm = 60°
41
Fasemarge jv De fazemarge is de bijkomende fasenaijling die mag worden toegevoegd tot het systeem onstabiel wordt. -1 u w= wc jpm -j
42
Bode plots van L(jw) A w180 wc w 20 log 1/d j w jpm [dB] 0 dB [ ° ]
-90° jpm -180°
43
Voorwaarde voor stabiliteit
Fasemarge > 0
44
Voorbeeld Matlab Neem K = 10, t1 = 0.1s, t2 = 0.01s
Dit systeem heeft 3 polen: één in de oorsprong, één bij 10 rad/s en één bij 100 rad/s.
45
Input Matlab >> K=10;L=tf(K,[0.001 0.11 1 0])
>> nyquist(L) >> margin(L) >> T=feedback(L,1);step(T) Voor welke waarde van K wordt het systeem onstabiel? Simuleer.
47
Tweede-orde systeem Welke is de relatie tussen de fasemarge van L(s) en z ?
48
Hoe de fasemarge berekenen?
49
Fasemarge ↔ z Benaderende formule: z = 0,01 jpm z jpm 0,8 0,6 0,4 0,2
10° 20° 30° 40° 50° 60° 70° Benaderende formule: z = 0,01 jpm
50
Bode plots van |L(jw)| |L(jw)| |L(jw)| 2zwn 2zwn wn wn wn/2z wn w w
-90° jpm jpm jpm -180°
51
Alternatieve uitleg Nyquist criterium
L(s) Als de fasenaijling = 180° dan wordt de negatieve terugkoppeling eigenlijk een positieve terugkoppeling ! Als dan de lusversterking > 1 dan in het systeem onstabiel !
52
Alternatieve uitleg Nyquist criterium
IN + UIT = IN A 1-A + 1 5 + 4 0,8 + stabiel 1 -1 -2 + 2 + onstabiel
53
Voorbeeld We nemen aan dat t1 > t2 > ta > tb > t3 > t4 , zodat we eerst drie polen hebben, dan de twee nulpunten, en dan nog eens twee polen. De Bode plot ziet er uit als volgt:
54
Er zijn 3 frequenties waar j = -180°
[dB] 20 log 1/d1 20 log 1/d2 wc 1/t3 1/t4 w 0 dB 1/t1 1/t2 1/ta 1/tb 20 log 1/d3 j [ ° ] w1 w2 w3 w -90° jpm -180° -270° Er zijn 3 frequenties waar j = -180°
55
Is dit systeem stabiel? Ja, zolang de fasemarge positief is!
Dit hangt af van de versterking K.
56
Stabiel A [dB] wc w 0 dB j [ ° ] w1 w2 w3 w -90° jpm -180° -270°
57
Onstabiel A [dB] wc w 0 dB j [ ° ] w1 w2 w3 w -90° -180° jpm -270°
58
Stabiel A [dB] wc w 0 dB j [ ° ] w1 w2 w3 w -90° jpm -180° -270°
59
Onstabiel A [dB] wc w 0 dB j [ ° ] w1 w2 w3 w -90° -180° jpm -270°
60
Simulatie Matlab >>T1=100;T2=10;Ta=2;Tb=1;T3=0.2;T4=0.1;
>>L1=tf(1,[T1 1 0]);L2=tf([Ta 1],[T2 1]); >>L3=tf([Tb 1],[T3 1]);L4=tf(1,[T4 1]); >>K=1000;L=K*L1*L2*L3*L4;margin(L); >>T=feedback(L,1);step(T)
61
Polaire plot: stabiel jv u -1
62
Polaire plot: onstabiel
jv u -1
63
Polaire plot: stabiel jv u -d3 -d2 -1 -d1
64
Polaire plot: onstabiel
jv u -1
65
Root locus jw onstabiel stabiel onstabiel stabiel s
66
6. M- en N-cirkels Voer uit in Matlab:
>> L=tf(6,[ ]);nyquist(L);axis([ ]) In de figuur: Rechtermuisknop → Grid Wat zie je? Cirkels …
67
M-cirkels L(s) M(w) is het amplitudeverloop van het gesloten lus systeem Uit L(jw) = u + j v volgt dan
68
We zoeken nu de meetkundige plaats van alle punten in het L(s)-vlak die dezelfde amplitude M opleveren (1 + 2u + u2 + v2) M2 = u2 + v2 of (1 – M2) u2 + (1 – M2) v2 – 2 M2u = M2 Als M = 1 wordt dit de vergelijking van een rechte: u = -1/2 jv M=1 u -1/2
69
Interpretatie M=1 jv M(w) w2 -1 u 1 w1 w L(w) w1 w2
70
Als M ≠ 1 of Dit is de vergelijking van een cirkel met middelpunt
en straal
71
M = 2 jv M=2 R u -2 -1 -2/3 u=-4/3
72
M = 1,5 M=1,5 jv R -1 u -3 -0.6 u=-1,8
73
Meetkundige interpretatie
jv Voor elk punt van de cirkel geldt |L(jw)| |1+L(jw)| u -3 u=-1,8 -1 -0.6
74
M=1,5 jv u M=1,5 jv u |1+L(jw)| |L(jw)| -3 u=-1,8 -1 -0.6 L(jw) = -0,6
75
M < 1 M=1 M=3/2 jv M=2/3 M=2 M=1/2 -1,33 0,33 u -1,8 -1 0,8
76
Toepassing M=1 M=1,5 jv M(w) M=2 2 w4 u 1,5 w2 w3 1 w1 w w1 w2 w3 w4
L(w)
77
Matlab >> L=tf(6,[0.01 0.11 1 2]);nyquist(L);axis([-2 2 -2 2])
>> T=feedback(L,1);bode(T) (pas de schaal van de x-as aan met rechtermuisknop → Properties → Limits) Leg het verband tussen snijpunt van L(jw) met M-cirkel enerzijds amplitude van T(jw) anderzijds
78
N-cirkels cirkels van constante fase van T(jw) jv u -90° -45° -30° -1
-0,5 u -90° -45° -30°
79
Meetkundige interpretatie
jv 1+L(jw) L(jw) u -90° T(jw) = L(jw) - 1+L(jw)
80
Hall kaart
81
Besluit Hall kaart is mooi, maar vereist het tekenen van de polaire plot Niet mogelijk om voor te stellen in de Bode plot Daarom een tussenoplossing: de Nichols plot
82
Frequentieresponsie in Aj-vlak
40dB A w=0 20dB jpm 0dB 20 log 1/d -20dB w=∞ -40dB j -360° -270° -180° -90° 0°
83
7. Het Nichols diagram M-cirkels worden M-contouren in het Aj-vlak
12dB M-cirkels worden M-contouren in het Aj-vlak M=6dB 6dB M=9dB M=12dB M=0dB 0dB M=-3dB -6dB -12dB -210° -180° -150° -120° -90°
84
Gebruik van het Nichols diagram
12dB M=6dB 6dB M=9dB M=12dB M=0dB 0dB M=-3dB -6dB w2 w1 -12dB -210° -180° -150° -120° -90°
85
Amplitudeverloop van T(s)
M(w) 12dB 9dB 6dB 3dB w 0dB -3dB -6dB w1 w2
86
In matlab >> nichols(L) In de figuur: Rechtermuisknop → Grid en
→ Characteristics → All stability limits
87
Als K stijgt → verschuiven naar omhoog
12dB M=6dB 6dB M=9dB M=12dB M=0dB 0dB M=-3dB -6dB -12dB -210° -180° -150° -120° -90°
88
8. Systemen met tijdsvertraging
vb. Staalwalserij d : de afstand tussen het regelpunt en het meetpunt d v : de snelheid van de staalplaat w v v gemeten dikte w - gewenste dikte motor + Tijdsvertraging
89
Blokschema vIN q K1 G(s) K3 Gd(s)
gewenste dikte q dikte + K1 G(s) K3 gemeten dikte Gd(s) G(s) is de transferfunctie van de motor Gd(s) is de transferfunctie van de tijdsvertraging ( d = delay)
90
Gd(s) = ? Dus: Gd(s) = e-sT ℒ ℒ ℒ X(s) Y(s) = X(s) e-sT x(t)
vertraging T x(t) y(t) = x(t-T) ℒ ℒ ℒ X(s) Y(s) = X(s) e-sT Gd(s) Dus: Gd(s) = e-sT
91
Gd(s) = e-sT Geen veelterm is s (geen polen en nulpunten)
Wel eenvoudig de Bode plot te tekenen: stel gewoon s = jw: Gd(jw) = e-jwT Amplitude │Gd(jw)│ = │e-jwT│ = 1 Fase j(w) = - wT (in radialen)
92
Frequentieresponsie A w j = - w T x 180°/p w -T x 180°/p 0dB [ ° ]
Lineaire schaal ! j = - w T x 180°/p [ ° ] w -T x 180°/p -180°
93
Bode plot j w -5,7° -57° -180° Logaritmische schaal !
Merk op: als w > 1/T neemt de fasenaijling zéér snel toe in de Bode plot
94
Invloed op de stabiliteit
Nyquist criterium blijft geldig: jpm > 0 We illustreren dit met vorig voorbeeld Stel Stel K = K1 K2 K3
95
Lusversterking L(s) We nemen K = 2 rad/s v = 1 m/s
d = 1m zodat T = 1 s
96
Amplitudeverloop L(s)
2 polen: p1 = 0 en p2 = -1 Asymptoot voor w < 1: helling -20dB/dec, snijpunt met 0dB-lijn voor w = 2 Asymptoot voor w > 1: helling -40dB/dec, snijpunt met 0dB-lijn voor w = 1,414
97
Amplitudeverloop A 2/w 6dB 3dB w 0dB 1,414 1 2 2/w2
98
Faseverloop zonder vertraging
j 1 w -90° -135° -180°
99
Faseverloop met vertraging
j 1 w -90° T = 1 s -135° -180°
100
Fasemarge jpm = 180°+ j(wc) fasemarge Hoe wc berekenen ?
101
Cross-over frequentie wc
Vierkantsvergelijking x2 + x – 4 = 0 met x = wc2 Oplossing wc = 1,25 rad/s
102
Fasemarge Door de vertraging wordt het systeem onstabiel !
zonder vertraging met vertraging Door de vertraging wordt het systeem onstabiel !
103
Bode plot A w wc j w jpm zonder vertraging: 39°
6dB 3dB w 0dB wc 1 2 j w -90° jpm zonder vertraging: 39° -135° -180° jpm met vertraging: -33°
104
Hoe met Matlab simuleren?
Voor de tijdsvertraging gebruikt Matlab de Padé-benadering: (Henri Padé, ) format: pade(T,N) N = orde vb. T = 1s en N = 3 >> pade(1,3) Hoe gebeurt die benadering?
105
-540°
106
Padé-benadering met bindex = aindex als de index even is
en bindex = -aindex als de index oneven is vb. T = 2s en N = 4 : >> pade(2,4)
107
Inzicht in Padé-benadering
>> [t,n]=pade(2,4);Gd=tf(t,n) >> zero(Gd) >> pole(Gd) Wat blijkt: nulpunten en polen zijn symmetrisch gelegen t.o.v. imaginaire as Dit is een aldoorlaat-systeem
108
Aldoorlaat systeem jw jw Lp1 Lz1 p1 jwd z1 p1 z1 Lp1 Lz1 Lp2 Lz2 s s
nulpunten in RHV symmetrisch t.o.v. polen in LHV jw jw Lp1 Lz1 p1 jwd z1 p1 z1 Lp1 Lz1 Lp2 Lz2 s s -zwn zwn -zwn zwn Lp2 Lz2 p2 -jwd p2 z2 -jwd z2
109
Minimum fase ↔ niet-minimum fase
jw jw minimum fase niet-minimum fase Lz Lz Lp Lp jz jz jp jp s s z = -4 p = -1 p = -1 z = 4 A(w) = Lz / Lp → zelfde amplitudeverloop j(w) = jz - jp → verschillend faseverloop
110
Faseverloop als z = -p j(w) = jz - jp
Lp Lz jp jz s p = -4 z = 4 j(w) = jz - jp Gelijkbenige driehoek: jz = 180° - jp Hieruit volgt: j(w) = 180° - 2jp
111
Gevolg De fasenaijling van (Padé-benadering voor T = 2 s)
is precies het dubbele van de fasenaijling van Deze laatste is de transferfunctie van een genormeerd Bessel filter met tijdsvertraging T = 1 s.
112
Simulatie van ons voorbeeld
We nemen N = 3 voor de Padé-benadering >> [t,n]=pade(1,3);Gd=tf(t,n) >> G=tf(2,[1 1 0]);L=G*Gd en vergelijk jpm zonder en met de tijdsvertraging >> margin(G) >> margin(L)
113
Mengkraan van een douche
temperatuur TM temperatuur TW temperatuur TK warm water koud water mengkraan
114
Model van de mengkraan TM TK a TM = TK + a (TW – TK)/p TW warm koud
(hoek a in radialen)
115
Model bediening we nemen aan dat de wijziging van de hoek ( dit is de afgeleide da/dt ) evenredig is met het temperatuursverschil DT tussen de gewenste temperatuur en de gemeten temperatuur In formulevorm (dimensie K: radialen/s per graad Celsius)
116
Blokschema a DT TM gewenste temperatuur + + K/s (TW – TK)/p + TK
gemeten temperatuur e-sT De lusversterking is: Stel: TW = 59°C, TK = 5°C, tijdsvertraging T = 3 s
117
Maximale waarde voor K ? Bepalen van de crossover-frequentie wc :
Bepalen van de fasemarge jpm : j(wc) = -90° - wc T 180°/p zodat jpm = 90° - wc T 180°/p Rand van stabiliteit: fasemarge jpm = 0 90° = wc T 180°/p zodat wc = p / 2T = p / 6 Maximale K: wc = p / 6 = K 54/ p zodat Kmax = p2/ 324 = 0,03 rad/s per graad Celsius
118
Interpretatie Kmax = 0,03 rad/s per graad Celsius wil zeggen dat per temperatuurverschil van 1°C de positie van de mengkraan niet sneller mag bewegen dan 0,03 rad/s (ofwel ongeveer 1,7 hoekgraden per seconde)
119
Simulatie >> [t,n]=pade(3,3);Gd=tf(t,n)
>> K=0.01;G=tf(K*54/pi,[1 0]);L=G*Gd; >> margin(L) >> T=feedback(L,1);step(T) Verhoog K en interpreteer de fasemarge en de stapresponsie Bekijk ook nyquist(L), nichols(L), rlocus(L)
120
Besluit Het frequentiedomein geeft ons een eenvoudig criterium (fasemarge positief) voor het bepalen van de stabiliteit De invloed van een tijdsvertraging kan in het frequentiedomein zeer eenvoudig worden geanalyseerd
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.