Comments
Description
Transcript
Errore a regime per segnali canonici
Comportamento a regime dei sistemi in retroazione per segnali di ingresso canonici Errore a regime ed inseguimento • Un obiettivo primario nella progettazione dei sistemi di controllo è l’inseguimento del segnale di riferimento • Analizziamo le proprietà di inseguimento dei sistemi di controllo in retroazione a regime per segnali canonici calcolando l’errore di inseguimento (ogni segnale può essere sviluppato in serie di Taylor ed essere approssimato da una c.l. di segnali canonici) R(s) + E(s) - L(s) Y(s) L(s) 1 E(s) = R(s) - Y(s) = R(s) R( s ) = R( s) 1 + L(s) 1 + L( s ) Analizziamo il comportamento a regime di E(s) per segnali di ingresso canonici (gradino, rampa, parabola..) tk R ( s ) = k +1 ⇒ r (t ) = k! s k = 0 → gradino 1 k = 1 → rampa k = 2 → parabola Nell’ipotesi che il sistema a ciclo chiuso sia stabile, possiamo applicare il teorema del valore finale 1 1 1 e∞ = limt →∞ e(t ) = lim s→0 E ( s ) = lim s→0 s R( s ) = lim s→0 s 1 + L( s ) 1 + L( s ) s k +1 1 1 e∞ = lim s→0 1 + L( s ) s k Affinchè l’errore a regime sia finito, devono semplificarsi i k poli nell’origine Poiché: 1 D( s) = 1 + L( s ) N ( s ) + D ( s ) con L( s ) = N ( s) D( s) il numero di poli nell’origine di L(s) coincide con il numero di zeri nell’origine di 1/(1+L(s)) Definiamo ‘tipo di un sistema’ il numero di poli nell’origine che possiede: Sistema di tipo zero: non ha poli nell’origine Sistema di tipo uno: ha un polo nell’origine Sistema di tipo due: ha due poli nell’origine …. Errore al gradino per un sistema di tipo zero e∞ = lim s→0 1 1 1 + L( s ) s k e∞ = lim s→0 con k=0 1 1 1 = = 1 + L ( s ) 1 + L ( 0) 1 + k p k p = lim s→0 L( s ) costante di posizione L’errore è finito e diminuisce all’aumentare del guadagno di Bode di L(s) Errore al gradino per un sistema di tipo uno e∞ = lim s→0 1 1 1 + L( s ) s k con k=0 e∞ = lim s→0 perchè 1 =0 1 + L( s ) lim s→0 L( s ) = ∞ L’errore è nullo, a regime si ottiene l’inseguimento perfetto Lo stesso accade per sistemi di tipo due, tre…. Errore alla rampa per un sistema di tipo zero e∞ = lim s→0 1 1 1 + L( s ) s k con k=1 1 1 1 D( s) = lim s→0 =∞ e∞ = lim s→0 1 + L( s ) s s N ( s) + D( s) Errore alla rampa per un sistema di tipo uno e∞ = lim s→0 e∞ = lim s→0 1 1 1 + L( s ) s k con k=1 s 1 1 1 1 1 1 1 = lim s→0 = lim s→0 = = ~ ~ 1 ~ s s + L ( s ) L ( 0) k v 1 + L( s ) s s 1 + L ( s) s ~ L (0) = sL( s ) kv = lim s→o sL( s ) costante di velocità Errore alla rampa per un sistema di tipo due e∞ = lim s→0 1 1 1 + L( s ) s k con k=1 s2 1 1 1 1 1 = lim s→0 = lim s→0 2 ~ = 0 e∞ = lim s→0 1 ~ s s + L ( s) s 1 + L ( s) 1 + L( s ) s s2 • Se un sistema non ha il numero di poli nell’origine necessari a garantire l’errore a regime richiesto, è possibile introdurli tramite il controllore • Analogamente il controllore può modificare il valore dell’errore a regime introducendo un guadagno opportuno • Le proprietà di inseguimento a regime possono quindi essere modificate da un controllore del tipo: con k ed l opportuni k C ( s) = l s C(s) è detto ‘controllore statico’ L’inserimento del controllore statico riduce il margine di fase del sistema e può renderlo instabile Esempio 1 • Dato il processo con f.d.t.: P ( s ) = s+2 progettare un controllore che garantisca: - errore a regime per un ingresso a gradino nullo - errore a regime per un ingresso a rampa <1 Il processo è di tipo zero, quindi se venisse chiuso in retroazione unitaria presenterebbe errore al gradino finito e pari a: e∞ = 1 1 1 = = = 0.6 1 + k p 1 + lim s→0 P( s ) 1 + 0.5 Verifichiamolo: 0. 3 0.25 Amplitude >> p=1/(s+2); >> w=feedback(p,1) Transfer function: 1-----s + 3 >> step(w) St ep Response 0.35 0. 2 0.15 0. 1 0.05 0 0 0. 2 0.4 0.6 0.8 1 Time (sec) 1.2 1.4 1.6 1.8 2 Per avere errore al gradino nullo è necessario che L(s)=C(s)*P(s) sia di tipo 1, per avere errore alla rampa <=1 è necessario che il guadagno di L(s) sia opportuno, la f.d.t. di C(s) dovrà quindi essere del tipo C(s)=k/s Calcoliamo k: e∞ramp = 1 1 1 2 = = = <= 1 k kv lim s→0 sL( s ) lim s k 1 s →0 s s+2 k >= 2 C ( s) = 2 s St ep Response 1. 4 1. 2 A mplitude 1 0. 8 0. 6 0. 4 0. 2 0 0 1 2 3 4 5 6 Time (sec) Linear Simulation Results 10 9 8 7 6 Amplitude >> c=2/s; >> l=c*p; >> w=feedback(l,1) Transfer function: 2 ------------s^2 + 2 s + 2 >> step(w) >> figure >> t=[0:.1:10]; >> lsim(w,t,t) 5 4 3 2 1 0 0 1 2 3 4 5 Time (sec) 6 7 8 9 10 Analisi della stabilità • Verifichiamo l’effetto che ha l’aggiunta di C(s) sulla stabilità robusta del sistema a ciclo chiuso: B ode Diagram Gm = Inf dB (at Inf rad/sec ) , P m = 65.5 deg (at 0.91 rad/ sec) 0 40 -10 20 Magn itude (dB) Magn itude (dB) B ode Diagram Gm = Inf , Pm = Inf -20 -30 -40 0 -20 -40 -60 -80 -90 Phase (deg ) P hase (de g) -50 0 -45 -135 -90 -1 10 0 1 10 10 Frequency (rad/sec) 2 10 -180 -1 10 0 1 10 10 Frequency (rad/sec) margin(p) margin(c*p) 2 10 Nyquist Diagram Nyquist Diagram 1 8 0. 8 6 0. 6 4 Imag inary Axis Imagin ary A xis 0. 4 0. 2 0 -0. 2 2 0 -2 -0. 4 -4 -0. 6 -6 -0. 8 -1 -1 -0.5 0 Real Axis nyquist(p) 0.5 -8 -1 -0. 9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 Real Axis nyquist(c*p) -0.2 -0.1 0 Analisi in frequenza del sistema a ciclo chiuso B od e D ia g ra m 0 Magn itude (dB) -1 0 -2 0 -3 0 -4 0 -5 0 -6 0 -7 0 0 w1 Phase (deg ) >> w1=feedback(p,1) Transfer function: 1 ----s+3 >> w2=feedback(c*p,1) Transfer function: 2 ------------s^2 + 2 s + 2 >> bode(w1,w2) w2 -4 5 -9 0 -1 3 5 Con l’inserimento di C(s): -1 8 0 10 -2 - Si nota che la w2(s) ha modulo 1 (0db) alle basse frequenze, garantendo un buon inseguimento a regime per segnali sinusoidali di pulsazione inferiore alla banda passante - Si ha una riduzione della banda passante 10 -1 10 F req u e nc y 0 (ra d / s ec ) 10 1 10 2 Analisi tramite luogo delle radici Root Locus Root Locus 0. 8 1 0. 8 Sys tem: untitled1 Gain: 0.748 Pole: -1 + 0.704i Damping: 0. 818 Overshoot (%): 1.15 Frequency (rad/sec): 1.22 0. 6 0. 6 0. 4 Imagin ary A xis Imagin ary Axis 0. 4 0. 2 0 -0. 2 0. 2 0 -0. 2 -0. 4 -0. 4 -0. 6 -0. 6 -0. 8 -1 -4 -3.5 -3 -2.5 -2 -1. 5 -1 -0.5 0 -0. 8 -2 -1. 8 -1.6 -1.4 -1.2 -1 -0.8 -0.6 -0.4 -0.2 0 Real Axis Real Axis rlocus(p) rlocus(p*c) Il sistema a ciclo chiuso ha sempre una dinamica di primo ordine Il sistema a ciclo chiuso al crescere di k può avere una dinamica di secondo ordine con: Ta=cost Ts crescente S% crescente esempio • Dato il processo con f.d.t.: 5 P( s) = s ( s + 2) progettare il compensatore statico in modo da avere: - errore al gradino nullo - errore alla rampa<=0.1 Il processo è di tipo uno, quindi messo in retroazione unitaria ha già errore al gradino nullo ed errore alla rampa finito e pari a: 1 e∞ramp = lim s→0 s 5 s ( s + 2) = 2 = 0.4 > delle specifiche 5 Linear Simulation Results St ep Response 10 1. 4 9 1. 2 8 7 1 Amplitude Amplitude 6 0. 8 0. 6 5 4 3 0. 4 2 0. 2 1 0 0 1 2 3 Time (sec) 4 5 6 0 0 1 2 3 4 5 Time (sec) 6 7 8 9 10 • Si deve introdurre un controllore per aumentare opportunamente il guadagno: e∞ramp = 1 5k lim s→0 s s ( s + 2) 0.4 k >= =4 0.1 C ( s) = 4 2 = <= 0.1 5k St ep Response Linear Simulation Res ults 1. 5 10 w 9 w1 8 7 1 Amplitude A mplitude 6 5 4 0. 5 3 2 1 0 0 1 2 3 4 5 Time (sec) >> w=feedback(p,1); >> w1=feedback(4*p,1); >> step(w,w1) Il sistema è più veloce La sovraelongazione è aumentata L’errore alla rampa è diminuito 6 0 0 1 2 3 4 5 Time (sec) >> lsim(w,t,t) >> hold Current plot held >> lsim(w1,t,t) 6 7 8 9 10 Analisi in frequenza del sistema a ciclo aperto (stabilità robusta) B ode Diagram Gm = Inf dB (at Inf rad/sec ) , P m = 25.2 deg (at 4.25 rad/ sec) Nyquist Diagram 80 60 40 System: p Real: -1.25 Imag: 45 Frequency (rad/s ec): -0.0622 20 20 0 -20 -40 -60 0 -80 -90 -20 Phase (deg ) I maginary Axis 40 Magn itude (dB) 60 -40 -60 -80 -5 -135 -180 -4. 5 -4 -3.5 -3 -2.5 -2 -1.5 -1 -0.5 0 -1 10 Real Axis La pulsazione di attraversamento è aumentata Il margine di fase è diminuito Il sistema a ciclo chiuso è comunque stabile 0 1 10 10 Frequency (rad/sec) 2 10 Analisi in frequenza del sistema a ciclo chiuso B ode Diagram Magn itude (dB) 20 0 -20 -40 -60 -80 0 bode(w,w1) Phase (deg ) w w1 -45 -90 -135 -180 -1 10 0 1 10 10 2 10 Frequency (rad/sec) Sono aumentati modulo alla risonanza e banda passante esempio • Dato il processo con f.d.t.: P( s) = 5 s( s + 2)( s + 1) progettare il compensatore statico in modo da avere: - errore al gradino nullo - errore alla rampa<=0.001 • È lo stesso del precedente ma deve essere: 1 e∞ramp = lim s→0 s 5k s( s + 2)( s + 1) = 2 <= 0.001 5k 0.4 = 400 0.001 C ( s ) = 400 k >= St ep Response 5 St ep Response 2 4. 5 1. 8 4 1. 4 3. 5 1. 2 3 Amplitude A mplitude 1. 6 1 0. 8 2. 5 2 0. 6 1. 5 0. 4 1 0. 2 0. 5 0 0 20 40 60 80 100 120 Time (sec) 0 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0. 4 Time (sec) Sistema a ciclo chiuso senza compensatore statico Sistema a ciclo chiuso con compensatore statico: È diventato instabile 0.45 B ode Diagram Gm = -50.5 dB (at 1.41 rad/sec) , Pm = -76.4 deg (at 12.5 rad/sec) 100 150 50 100 Magnit ude (dB) Magnit ude (dB) Bode Diagram Gm = 1.58 dB (at 1.41 rad/sec) , Pm = 5.02 deg (at 1.29 rad/sec) 0 -50 -100 0 -50 -150 -90 -100 -90 -135 -180 -225 Phase (deg ) Phase (deg ) 50 -135 2 -270 -180 -225 -270 -2 10 -1 10 0 10 Frequency (rad/sec) 10 1 10 -2 10 -1 10 0 10 10 1 2 10 Frequency (rad/sec) Senza compensatore Con compensatore In questi casi è necessario introdurre, oltre al compensatore statico, un altro compensatore che stabilizzi il sistema a ciclo chiuso senza modificare guadagno E tipo di L(s) Errore a regime per disturbi ‘canonici’ sulla catena diretta R(s) + + - C(s) P(s) Df(s) + Consideriamo un sistema di controllo in retroazione su cui agisce un disturbo additivo Df(s) sulla catena diretta Obiettivo del controllore è quello di rendere trascurabile l’azione del disturbo sull’uscita del sistema controllato Ci occupiamo dell’effetto a regime di disturbi costanti (gradino) o a rampa • Agendo per sovrapposizione degli effetti consideriamo nullo R(s) e calcoliamo la f.d.t. tra uscita e disturbo 1 1 Y ( s) = D f ( s) = D f ( s) 1 + C ( s) P( s) 1 + L( s ) La f.d.t ha lo stesso denominatore della f.d.t. tra ingresso ed uscita, se il sistema è stabile per calcolare l’uscita a regime quando agisce il disturbo si può usare Il teorema del valore finale D( s) 1 D f ( s) y∞ = lim s→0 s D f ( s ) = lim s→0 s N ( s) + D( s) 1 + L( s ) • Se il disturbo è un gradino ed il sistema è di tipo 0 si ha: 1 1 1 1 1 D f ( s ) = lim s→0 s = = L( s ) che a regime 1 +ilLdisturbo ( s ) s 1 +abbia L(0) una 1+ kp quindi se 1si+ vuole y∞ = lim s→0 s scarsa influenza sull’uscita si deve aumentare il guadagno di L(s) Analogamente a quanto visto precedentemente si ottiene che per annullare l’uscita per un disturbo a gradino è necessario avere un sistema di tipo 1 o superiore • Anche per disturbi di tipo ‘rampa’ valgono i risultati ottenuti precedentemente: sistema di tipo 0: uscita a rampa sistema di tipo 1: uscita a gradino, inversamente proporzionale a kv sistema di tipo 2: uscita nulla • Consideriamo ora un disturbo agente sull’uscita del controllore: R(s) + Df(s) + - C(s) + P(s) La f.d.t. tra uscita e disturbo è: P( s) D f ( s) Y ( s) = 1 + C ( s ) P( s ) N p ( s) Dp ( s) P( s) D ( s) = Y ( s) = D f ( s) = N c ( s) N p ( s) f 1 + C ( s ) P( s ) 1+ Dc ( s ) D p ( s ) = N p ( s) Dc ( s ) D p ( s ) D p ( s ) Dc ( s ) D p ( s ) + N c ( s ) N p ( s ) D f ( s) = Dc ( s ) N p ( s ) Dc ( s ) D p ( s ) + N c ( s ) N p ( s ) D f ( s) Consideriamo un disturbo a gradino e applichiamo il teorema del valore finale: y∞ = lim s→0 s Dc ( s ) N p ( s ) 1 Dc ( s ) D p ( s ) + N c ( s ) N p ( s ) s Se sia C(s) che P(s) sono di tipo 0, l’uscita a regime ha un valore finito e non nullo y∞ = Dc (0) N p (0) Dc (0) D p (0) + N c (0) N p (0) Se P(s) è di tipo 1: y∞ = lim s→0 Dc ( s ) N p ( s ) Dc (0) N p (0) Dc (0) = = ~ Dc ( s ) sD p ( s ) + N c ( s ) N p ( s ) N c (0) N p (0) N c (0) Se C(s) è di tipo 1: ~ sDc ( s ) N p ( s ) =0 y∞ = lim s→0 ~ sDc ( s ) D p ( s ) + N c ( s ) N p ( s ) In generale: Per annullare l’effetto di un disturbo a gradino è necessario che sia presente un polo nell’origine nella f.d.t. del sistema a monte del punto di ingresso del disturbo