Control Engineering Stability Analysis Hans-Petter Halvorsen
Dataverktøy MathScript LabVIEW Differensial -likninger Tidsplanet Laplace 2.orden 1.orden Realisering/ Implementering Reguleringsteknikk Serie, Parallel, Feedback Det komplekse plan S-planet K = Forsterkning T=Tidskonstant Transferfunksjoner Blokkdiagrammer Tilstandsrommodeller Analyse/Design Stabilitetsanalyse Det komplekse plan 2. Frekvensrespons 1. Systemets poler Bodediagram Sprangrespons 1.orden med tidsforsinkelse Diskretisering Reguleringssystem Asymptotisk stabilt system Air Heater Tidsplanet Ustabilt system Marginalt stabilt system Asymptotisk stabilt system Marginalt stabilt system Ustabilt system
Reguleringssystem (Tilbakekoblet) Mål: Det tilbakekoblede systemet (med regulator) må være stabilt og gi god regulering
Stabilitetsanalyse Hensikt: Finne ut om systemet er stabilt eller ikke. Ulike metoder: 1. Impuls-/Sprangrespons 2. Polplassering 3. Frekvensrespons (lærer om dette senere)
Sløyfetransferfunksjonen Loop Transfer Function MathScript: Hr =... Hp =... Hm =... L = series(series(hr, Hp), Hm) Sløyfetransferfunksjonen er definert som produktet av alle transferfunksjonene i det lukkede systemet.
Trackingfunksjonen Følgeforholdet MathScript: L =... T = feedback(l, 1) Følgeforholdet sier noe om hvor godt utgangen følger referansen. Reguleringssystemet har gode følgeegenskaper når
Det karakteristiske polynom En transferfunksjon kan skrives på følgende generelle polynomform: Der telleren til transferfunksjonen beskriver nullpunktene til systemet, mens nevneren beskriver polene til systemet. Røttene i tellerpolynomet b(s) kalles systemets eller transferfunksjonens nullpunkter Røttene i nevnerpolynomet a(s) kalles systemets eller transferfunksjonens poler Nevnerpolynomet a(s) kalles for transferfunksjonens karakteristiske polynom
Poler og Nullpunkter - Eksempel Gitt følgende system: Poler, Penn og papir: Finn nullpunkter og poler for dette systemet. Bruk Penn og papir samt MathScript. MathScript: num=... den= H = tf(num,den) zero(h) pole(h) eller: num=... den= H = tf(num,den) roots(num) %Zeros roots(den) %Poles
Poler og Nullpunkter Eksempel - Løsning MathScript: %Transfer Function num=[2,1]; den=[0.5, 2, 1]; H=tf(num,den) %Zeros z = zero(h) %roots(num) %Poles p = pole(h) %roots(den)
Impuls-/Sprangrespons impulse(h) step(h) Asymptotisk stabilt system: Marginalt stabilt system: Ustabilt system: [Figures: F. Haugen, Advanced Dynamics and Control: TechTeach, 2010]
Stabilitetsanalyse Sprangrespons MathScript - Eksempel T(s) Dette er den totale transferfunksjonen ( The Tracking transfer function ) fra referansen (r) til utgangen (y) for et gitt system. Systemet blir regulert av en P regulator (proporsjonalregulator). Implementer (transferfunksjon) og simuler (sprangrespons) systemet i MathScript. Prøv forskjellige verdier av Kp Hva blir resultatet??
Kp=1; MathScript Løsning num = [Kp]; den = [1, 2, 1, Kp]; H = tf(num, den); step(h) Litt mer avansert utgave: clc clear K = [1, 2, 4]; N = length(k); for i= 1:N Kp = K(i); num = [Kp]; den = [1, 2, 1, Kp]; H = tf(num, den); figure(i) step(h) end Asymptotisk stabilt Marginalt stabilt Ustabilt
Stabilitetsanalyse 2.ordens systemer Det er verdien på zeta som bestemmer stabilitetsegenskapene ifm 2.ordens systemer [Figure: F. Haugen, Advanced Dynamics and Control: TechTeach, 2010]
Stabilitetsanalyse 2.ordens systemer - Eksempel Masse-Fjær-demper system [Figure: F. Haugen, Advanced Dynamics and Control: TechTeach, 2010] Implementer systemet i MathScript. Prøv ulike verdier av zeta slik at vi kan gjenskape de ulike responsene (sprangrespons) som er typisk for et 2.ordens system. Begynn med f.eks. m=1, k=1, d=1
Masse-Fjær-demper system MathScript kode [Figure: F. Haugen, Advanced Dynamics and Control: TechTeach, 2010] Prøv ulike verdier av zeta slik at vi kan gjenskape de ulike responsene som er typisk for et 2.ordens system % Mass-spring-damper clear clc clear all % Define variables m = 1; d = 1; k = 1; zeta= d/(2*sqrt(m*k)) % Define Transfer function num = 1/m ; den = [1, (d/m), (k/m)]; H = tf(num, den); % Step Response step(h)
Masse-Fjær-demper system MathScript kode Noen eksempler på z verdier m=1, k=1, d=1 -> z=0.5 dvs 0<z<1 -> Stabilt (Underdempet) m=1, k=1, d=-1 -> z=-0.5 dvs z<0 -> Ustabilt m=1, k=1, d=2 -> z=1 -> Stabilt (Kritisk dempet) m=1, k=1, d=0 -> z=0 -> Marginalt stabilt
Polplassering Eksempel: Systemets poler finner man ved å sette nevneren i transferfunksjonen lik 0 Stabilt Ustabilt MathScript: num = [3]; den = [0.5, 1]; H = tf(num, den) p = poles(h) pzgraph(h) [Figure: F. Haugen, Advanced Dynamics and Control: TechTeach, 2010] Studenter: Prøv ut dette scriptet!
Polplassering Asymptotisk stabilt system: Marginalt stabilt system: En eller flere poler ligger på den imaginære akse (har realdelen lik 0), og alle polene er forskjellige/ikke sammenfallende. Dessuten, ingen poler i høyre halvplan Alle polene ligger i venstre halvplan (negativ realdel). Ingen poler på den imaginære akse. Ustabilt system: En eller flere poler ligger i høyre halvplan (har realdel større enn 0). Eller: Det er multiple/sammenfallende poler på den imaginære akse.
Stabilitetsanalyse Poler MathScript - Eksempel Dette er den totale transferfunksjonen ( The Tracking transfer function ) fra referansen (r) til utgangen (y). Systemet blir regulert av en P regulator (proporsjonalregulator). Implementer (transferfunksjon) og finn polene til systemet vha MathScript. Prøv forskjellige verdier av Kp (Kp=1, Kp=2, Kp=3) Hva blir resultatet??
Stabilitetsanalyse Poler MathScript - Løsning MathScript: Dette er den totale transferfunksjonen ( The Tracking transfer function ) fra referansen (r) til utgangen (y). Systemet blir regulert av en P regulator (proporsjonalregulator). Kp=1 num = [Kp]; den = [1, 2, 1, Kp]; H = tf(num, den) figure(1) step(h) poles(h) Poler: figure(2) pzmap(h) [Figure: F. Haugen, Advanced Dynamics and Control: TechTeach, 2010]
Masse-Fjær-demper system Eksempel - MathScript kode % Mass-spring-damper system clear clc clear all [Figure: F. Haugen, Advanced Dynamics and Control: TechTeach, 2010] Prøv ulike verdier av zeta slik at vi kan gjenskape de ulike responsene som er typisk for et 2.ordens system. Metode 1 (Sprangrespons) Metode 2 (Polplassering) % Define variables m = 1;d = 1; k = 1; zeta= d/(2*sqrt(m*k)) % Define Transfer function num = 1/m ; den = [1, (d/m), (k/m)]; H = tf(num, den); % Step Response figure(1), step(h) % Stability Analysis p = poles(h) figure(2), pzmap(h) Studenter: Prøv ut dette!
Hans-Petter Halvorsen, M.Sc. University College of Southeast Norway www.usn.no E-mail: hans.p.halvorsen@hit.no Blog: http://home.hit.no/~hansha/