Comments
Description
Transcript
Esercitazione: Sintesi per tentativi
Università degli Studi di Firenze Esercitazione: Sintesi per tentativi L. Chisci, P. Falugi Corso di Fondamenti di Automatica per CdL Ing. dell’Informazione e Ing. dell’Ambiente e delle Risorse Anno Accademico 2005/06 Fondamenti di Automatica 1 Sintesi per tentativi: esempio 1 d(t) − 6 r(t) - C(S) e−sT s ? y(t) • Assumendo C(s) = K determinare i valori di K e T , per i quali il sistema ad anello chiuso è stabile 1 G(s) = s mφ = 90◦ • Il ritardo critico Tc per il quale si perde stabilità è Tc = kG(jωφ ) = k jωφ k ωφ =1 ω φ = k ⇒ Tc = mφ π ωφ 180 π 2k A.A. 2005/06 Fondamenti di Automatica 2 Esempio 1: Diagramma di Bode sys = tf (1, [1 0]); w = logspace(−1, 1, 200)0 ; [mag, phase] = bode(sys, w); f ase = squeeze(phase); T = 1; phasetot = f ase − 180 ∗ w ∗ T /pi; magnew = squeeze(mag); magdb = 20 ∗ log10(magnew); subplot(211) semilogx(w, magdb) subplot(212) semilogx(w, phasetot) hold on semilogx(w, −180 ∗ ones(1, 200),0 b − −0 ) 20 10 0 −10 −20 −1 10 0 1 10 10 0 −100 −200 −300 −400 −500 −600 −700 −1 10 0 1 10 10 A.A. 2005/06 Fondamenti di Automatica 3 Esempio 1: Diagramma di Nyquist sys = tf (1, [1 0]); w = [0.1 : 0.1 : 100]; [Re, Im] = nyquist(sys, w); Rer = squeeze(Re); Imr = squeeze(Im); newf = (Rer + i ∗ Imr). ∗ exp(−i ∗ w); plot(real(newf ), imag(newf )) 2 Im 0 −2 −4 −6 −8 −10 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 Re A.A. 2005/06 Fondamenti di Automatica 4 Sintesi per tentativi: esempio 1 Assumendo T = 1 si determini il controllore C(s) in modo da soddisfare le seguenti specifiche • L’errore a regime corrispondente ad un disturbo d(t) a rampa unitaria sia non superiore a ed = 0.5; • Il margine di fase mφ sia non inferiore a 30◦ ; • La pulsazione di attraversamento sia circa uguale a ωφ = 1 rad s Specifiche statiche: yd (s) = s 1 d(s) = d(s) −sT 1 + CGH s + Kc e C(s) 1 1 1 = ≤ 0.5 ⇒ Kc ≥ 2 lim s s→0 s + Kc e−sT C(s) s2 Kc 2 A.A. 2005/06 Fondamenti di Automatica 5 Specifiche dinamiche: ∠L(jωφ ) = −57, 3◦ − 90◦ = −147.3◦ ⇒ mφ = 32.7◦ |L(jωφ )|dB = 20 log10 2 − 20 log10 1 = 6.02dB Per perdere 6.02dB di modulo non posso perdere più di 2.7◦ Se ωφ τ = 90 e m = 2 si perde 6.018dB di modulo e circa 0.62◦ C(s) = 2 1 + 45s 1 + 90s A.A. 2005/06 Fondamenti di Automatica 6 Verifica delle specifiche sui diagrammi di Bode Bode Diagram 80 70 Magnitude (dB) 60 50 40 30 20 10 0 −90 Phase (deg) w = logspace(−1, 1, 200)0 ; C = tf (2 ∗ [45 1], [90 1]) P = tf (1, [1 0]) L = C ∗ P ; [mag, f ase] = bode(L, w); magr = squeeze(mag); f aser = squeeze(f ase); f asetot = f aser − 180 ∗ w/pi; magdb = 20 ∗ log10(magr) subplot(211) semilogx(w, magdb) subplot(212) semilogx(w, f asetot) hold on semilogx(w, −180∗ones(1, length(w)),0 b−−0 ) −120 −150 −3 10 −2 −1 10 10 Frequency (rad/sec) A.A. 2005/06 0 10 Fondamenti di Automatica 7 Verifica delle specifiche tramite simulazione La specifica richiesta sul disturbo a regime è verificata solo asintoticamente 2.5 2 simout Step 2.5*[16 1] 1 40s+1 s Transfer Fcn Transport Delay1 To Workspace 1.5 Transfer Fcn3 Scope Ramp 1 step To Workspace1 0.5 Scope2 0 0 10 20 30 40 50 60 70 80 90 A.A. 2005/06 100 Fondamenti di Automatica 8 Nuovo progetto Maggiore attenuazione del disturbo ⇒ Kc = 2.5 20 log10 2.5 = 7.96dB 1 ) = −7.96dB ⇒ m = 2.5 Per perdere 7.96dB ⇒ 20log10( m Se si sceglie ωφ τ = 10m si perde −3.42◦ in ω = ωφ È necessario avere una perdita di fase minore: Se ωφ τ = 40 si perde −2.15◦ in ω = ωφ 1 + 16s C(s) = 2.5 1 + 40s A.A. 2005/06 Fondamenti di Automatica 9 Verifica delle specifiche Bode Diagram 2.5 80 70 Magnitude (dB) 60 2 50 40 30 20 1.5 10 0 −90 Phase (deg) 1 −120 0.5 −150 −3 10 −2 −1 10 10 Frequency (rad/sec) 0 10 0 0 10 20 30 40 50 60 70 80 90 A.A. 2005/06 100 Fondamenti di Automatica 10 Margine di fase e di guadagno Calcola il margine di guadano, il margine di fase e le rispettive pulsazioni Il margine di guadagno in dB è 20 ∗ log10(Gm) 60 Magnitude (dB) • [Gm, P m, W cg, W cp] = margin(L) 80 40 20 0 −20 0 −180 Phase (deg) • w = logspace(−3, 1, 600); bode(L, w); hold on margin(L) Bode Diagram Gm = 3.78 dB (at 1.55 rad/sec) , Pm = 30.5 deg (at 1 rad/sec) −360 −540 −720 −3 10 −2 10 −1 10 Frequency (rad/sec) 0 10 A.A. 2005/06 1 10 Fondamenti di Automatica 11 Luogo delle Radici Root Locus 15 Esempio s−z s(s + 1)(s + 5) z = −8 s = tf (0 s0 ); G = (s − z)/s/(s + 1)/(s + 5); rlocus(G) 5 Imaginary Axis L(s) = k 10 0 −5 −10 −15 −8 −7 −6 −5 −4 −3 Real Axis −2 −1 0 A.A. 2005/06 1 Fondamenti di Automatica 12 Root Locus 4 3 3 2 2 1 1 Imaginary Axis Imaginary Axis Root Locus 4 0 0 −1 −1 −2 −2 −3 −3 −4 −5 −4.5 −4 z = −8/7 −3.5 −3 −2.5 Real Axis −2 −1.5 −1 −0.5 0 −4 −5 −4.5 −4 −3.5 −3 −2.5 Real Axis −2 −1.5 −1 −0.5 z = −9/8 A.A. 2005/06 0 Fondamenti di Automatica 13 Sintesi per tentativi: esempio 2 Dato l’impianto s+1 s2 (s − 1) si determini un controllore C(s) in modo da soddisfare le seguenti specifiche G(s) = • L’errore a regime corrispondente ad un disturbo d(t), in ingresso all’impianto, a gradino unitario sia non superiore a ed = 0.1; • Il margine di fase mφ sia non inferiore a 40◦ ; • Il tempo di salita sia non superiore a 0.2s Specifiche statiche: s+1 G d(s) = 2 d(s) yd (s) = 1 + CG s (s − 1) + Kc C 0 (s)(s + 1) A.A. 2005/06 Fondamenti di Automatica lim s s→0 14 1 (s + 1) 1 ≤ 0.1 ⇒ Kc ≥ 10 = 2 0 s (s − 1) + (s + 1)Kc C (s) s Kc Specifiche dinamiche: • Conversione specifiche ad anello chiuso (ts ) in specifiche ad anello aperto (ωφ ) ω b ts ' 3 ⇒ ωb ' 15 rad/s ωφ ' [0.5; 0.85]ωb ⇒ ωφ ' 0.7 ∗ 15 ' 10 rad/s |L(jωφ )|dB = −20dB ∠L(jωφ ) = −π − 2 π2 + 2tg−1 (10) A.A. 2005/06 Fondamenti di Automatica 15 Comandi matlab: g = 10 ∗ (s + 1)/s2 /(s − 1) [mag, f as] = bode(g, 10) ⇒ ∠L(jωφ ) = f as ' 168◦ ∠C(jωφ ) = −180◦ + mϕ − ∠L(jωφ ) ' −180◦ + 40◦ − (−360◦ + 168◦ ) ' 52◦ Dalle tabelle si può scegliere m = 14, ωφ τ = 4 ⇒ τ = 0.4 Si guadagnano v 60◦ di fase e v 11.96dB di modulo Per avere |L(jωφ )|dB ' 0 si deve aumentare il modulo di 8.04dB (108.04/20 = 2.52) 1 + 0.4s C(s) = 25.2 1 + 0.0286s A.A. 2005/06 Fondamenti di Automatica 16 Verifica delle specifiche Bode Diagram 150 10 100 0 −3 −10 Magnitude (dB) Magnitude (dB) Bode Diagram Gm = −14.8 dB (at 2.6 rad/sec) , Pm = 49.2 deg (at 10.3 rad/sec) 50 0 −20 −30 −40 −50 −50 −60 −100 −90 −70 45 Phase (deg) Phase (deg) 0 −180 −270 −45 −90 −135 −360 −2 10 −1 10 margin(c*g) 0 1 10 10 Frequency (rad/sec) 2 10 3 10 −180 −1 10 0 10 1 10 Frequency (rad/sec) 2 10 bode(c*g/(1+c*g)) A.A. 2005/06 3 10 Fondamenti di Automatica 17 Verifica delle specifiche Step Response 1.4 Step Response(risposta al disturbo) 0.04 1.2 0.035 0.03 0.8 0.025 Amplitude Amplitude 1 0.6 0.02 0.015 0.4 0.01 0.2 0.005 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 Time (sec) 1.6 1.8 2 2.2 2.4 2.5 0 0 0.5 1 1.5 2 Time (sec) step(cg/(1+cg)) step(g/(1+c*g)) A.A. 2005/06 2.5