Nessun titolo diapositiva
Transcript
Nessun titolo diapositiva
Lezione 27. Legge di controllo PID F. Previdi - Fondamenti di Automatica - Lez. 27 1 Schema 1. Definizione 2. Funzione di trasferimento di un PID “ideale” 3. Funzione di trasferimento di un PID “reale” 4. Diagrammi di Bode di un PID “reale” 5. Casi particolari 6. Metodi di taratura per un controllore PID 6.1 Procedura di progetto teorica 6.2 Metodi di taratura empirica 6.2.1 Metodo di Ziegler & Nichols in anello chiuso 6.2.2 Metodo di Ziegler & Nichols in anello aperto 7. Limitazione dell’azione derivativa 8. Saturazione dell’azione integrale (wind up) e implementazione “anti-windup” F. Previdi - Fondamenti di Automatica - Lez. 27 2 1. Definizione Controllori PID → ad azione Proporzionale, Integrale, Derivativa. e(t ) PID u (t ) de(t ) u (t ) = K p e(t ) + K i ∫ e(τ )dτ + K d 0 dt t Coeff. Azione Proporzionale Coeff. Azione Integrale 1 u (t ) = K p e(t ) + Ti Coeff. Azione Derivativa ∫0 e(τ )dτ + Td e(t ) t Tempo Azione Integrale Tempo Azione Derivativa F. Previdi - Fondamenti di Automatica - Lez. 27 Ti = Kp Ki Kd Td = Kp 3 Interpretazione delle tre azioni P entità dell’errore più errore più controllo I valor medio dell’errore polarizzazione (storia passata) D tendenza dell’errore errore crescente più controllo (storia futura) F. Previdi - Fondamenti di Automatica - Lez. 27 4 2. Funzione di trasferimento di un PID “ideale” 1 + Td s E (s ) U (s ) = K p 1 + Ti s Derivatore ideale 1 + Ti s + TiTd s 2 1 + Ti s + TiTd s 2 U (s ) = Kp = Ki R(s ) = E (s ) Ti s s Se Ti − 4TiTd ≥ 0 2 (ovvero Ti ≥ 4Td ) allora i 2 zeri di R(s) risultano reali R(s ) = K i (1 + sτ1 )(1 + sτ2 ) s Funzione di trasferimento del PID “ideale” un polo nell’origine ⇒ precisione statica due zeri ⇒ precisione dinamica ⇒ guadagno d’anello guadagno F. Previdi - Fondamenti di Automatica - Lez. 27 5 3. Funzione di trasferimento di un PID “reale” azione derivativa “ideale” Td s azione derivativa “reale” Td s Td s 1+ N Non realizzabile Realizzabile polo in alta frequenza s=− Td s 1 + U (s ) = K p 1 + T Ti s 1 + d N N , N = 5 ÷ 20 Td E (s ) s Derivatore reale F. Previdi - Fondamenti di Automatica - Lez. 27 6 T Ti s1 + d U (s ) N ( ) K Rs = = p E (s ) T s + 1 + d s + TiTd s 2 N = Td Ti s1 + s N 1 Td 1 + + Ti s + + 1TiTd s 2 N N = Ki Td s 1 + s N ( 1 + sτ1 )(1 + sτ2 ) R(s ) = K i s (1 + sτ3 ) Funzione di trasferimento del PID “reale” Con una scelta opportuna di N (grande) : τ3 << τ1 , τ3 << τ2 polo in alta frequenza τ1 ≅ τ1 , τ2 ≅ τ 2 zeri prossimi a quelli del PID “ideale” F. Previdi - Fondamenti di Automatica - Lez. 27 7 4. Diagrammi di Bode di un PID “reale” R ( jω ) −1 1 τ2 1 τ1 0 +1 1 τ3 ω 0 Rete “a sella” o Rete a ritardo e anticipo ∠R( jω ) 90 0 1 τ1 1 τ2 1 τ3 ω − 90 F. Previdi - Fondamenti di Automatica - Lez. 27 8 5. Casi particolari P controllore proporzionale R(s ) = K p I controllore integrale R(s ) = PI controllore proporzionale-integrale R(s ) = K i PD controllore proporzionale-derivativo R(s ) = K p (1 + sTd ) Ki s (1 + sTi ) s FdT “ideale” F. Previdi - Fondamenti di Automatica - Lez. 27 9 6. Metodi per la taratura di un controllore PID PID: Kp, Ti, Td 6.1 Teorica (loop shaping) 6.2 Empirica (taratura basata su esperimenti, in assenza di informazioni a priori sul sistema) → utile per taratura automatica 6.3 Ad autosintonia (self tuning) Controlli Automatici I anno LS F. Previdi - Fondamenti di Automatica - Lez. 27 10 6.1 Procedura di progetto teorica Esempio 100 Tarare un controllore PI per un sistema con fdt G (s ) = 1+ s in modo tale da avere 1 ≤ ωc ≤ 10 La funzione di trasferimento del controllore è: 1 1 + sTi K p 1 + sTi 1 + sTi Ki = K p R (s ) = K p + = = Ki = K p 1 + s Ti s Ti s s Ti s Quindi la funzione d’anello è: 1 + sTi 100 L(s ) = R (s )G (s ) = Ki s 1+ s La scelta è “obbligata”: si usa lo zero del regolatore per cancellare il polo dominante del sistema. Scelgo Ti = 1 da cui ottengo 100 Ki L(s ) = R (s )G (s ) = s F. Previdi - Fondamenti di Automatica - Lez. 27 11 100 Ki ωc = 100 Ki rad/s L(s ) = R (s )G (s ) = s Per es. per avere ωc = 5 rad/s bisogna scegliere Ki = 0.05 Kp Essendo Ki = si avrà K p = 0.05 Ti Quindi i parametri del controllore (quelli da scrivere nel codice del PLC) sono K p = 0.05 Ki = 0.05 F. Previdi - Fondamenti di Automatica - Lez. 27 12 6.2 Metodi di taratura empirica approfondimento Il PID è un regolatore “semplice” (con pochi gradi di libertà) e quindi può tenere conto solo delle principali caratteristiche dinamiche del processo. Ciò significa però che si può fare un progetto adeguato anche senza una conoscenza profonda del sistema sotto controllo. I metodi di taratura empirica si basano sui risultati di opportuni esperimenti presupponendo nessuna conoscenza sul sistema sotto controllo oppure la conoscenza di un modello molto semplice. Due esempi sono: Regola di Ziegler-Nichols in anello aperto Regola di Ziegler-Nichols in anello chiuso F. Previdi - Fondamenti di Automatica - Lez. 27 13 6.2.1 Regola di Ziegler-Nichols in anello chiuso w e + − PID u S y approfondimento (i). inserire il controllore con Ki = Kd = 0 e Kp = “piccolo” (ii). osservare la risposta a w(t)=sca(t) (iii). aumentare Kp finché y(t) diventa un’oscillazione permanente di periodo T in corrispondenza di un valore di Kp detto guadagno critico K p (iv). Si determinano Kp,Ti, Td in funzione di T , K p consultando un’apposita tabella F. Previdi - Fondamenti di Automatica - Lez. 27 14 Kp P PI PID 0.5 K p Ti - 0.45 K p 0.8T 0.6 K p 0.5T Td - approfondimento Ti = 4Td 0.125T zeri coincidenti in −4 T ωc max regole ottimizzate per ottenere ϕ m ≅ 30° Più che regole rigide vanno intese come procedure per individuare valori indicativi dei parametri (intorno ai quali operare una taratura manuale fine). F. Previdi - Fondamenti di Automatica - Lez. 27 15 Interpretazione approfondimento 1 (il guadagno critico è il margine di guadagno) ◊ K p ≡ km = G ( jω π ) cioè: trovare K p corrisponde a trovare G ( jωπ ) ◊ T= 2π ωπ (le oscillazioni hanno pulsazione ωπ ) cioè: trovare T corrisponde a trovare la pulsazione ωπ ◊ Quindi: K p , T ⇒ G ( jω π ) Modello usato = un punto di G ( jω ) Nota. La procedura non è applicabile quando: - non si raggiunge mai il limite di stabilità (km= ∞) - la presenza di oscillazioni può danneggiare l’impianto F. Previdi - Fondamenti di Automatica - Lez. 27 16 Esempio approfondimento Ampiezza 1.8 1 G (s ) = (s + 1)3 K p4 1.6 1.4 K p1 = 0.1 K p3 1.2 K p2 = 1 1 0.8 0.6 K p3 = 5 K p2 0.4 0.2 K p4 = 8 ← K p K p1 00 5 (s + 1) 3 10 ( t [sec] + K p = (s + α ) s + ω PID “ideale” 2 15 2 )→ K 20 T ≅ 3.6 25 = 8, α = 3, ω = 3 → T = 2 p K p = 0.6 K p = 4.8 T i= 0.5T = 1.8138 T = 0.125T = 0.4534 d 2π ω = 3.6276 ⇒ ω c ≅ 1.6, ϕ m ≅ 37 F. Previdi - Fondamenti di Automatica - Lez. 27 17 6.2.2 Regola di Ziegler-Nichols in anello aperto approfondimento y u S (i). Applicare u(t) = Usca(t) (ii). Registrare la risposta y(t) e ricavare alcuni parametri caratteristici (metodo della tangente) τ = ritardo equivalente T = costante di tempo equivalente µ = Y/U = guadagno (Y = valore di regime di y(t)) (iii). Determinare Kp, Ti, Td in funzione di µ, τ, T consultando un’apposita tabella. F. Previdi - Fondamenti di Automatica - Lez. 27 18 y (t ) approfondimento Y Metodo della tangente τ Punto di flesso t T +τ approssimazione: G (s ) = Altri metodi: • metodo delle aree • metodo dei momenti µ 1 + Ts e −τs (µ = Y/U) E’ un metodo di identificazione! F. Previdi - Fondamenti di Automatica - Lez. 27 19 Kp P T PI 0.9T PID Ti approfondimento Td µτ 1.2T µτ 3τ µτ 2τ Ti = 4Td 0.5τ zeri coincidenti in −1 τ risultati analoghi alle regole in anello chiuso necessaria una taratura “manuale” fine procedura applicabile solo se la risposta è del tipo illustrato F. Previdi - Fondamenti di Automatica - Lez. 27 20 Esempio approfondimento Ampiezza 1 G (s ) = (s + 1)3 1 0.9 0.8 modello approssimante (metodo della tangente): 0.7 0.6 risposta a scalino del modello approssimante del 1° ordine con ritardo 0.5 0.4 0.3 Gˆ (s ) = 1 e −0.8 s 3.7 s + 1 µ = 1, T = 3.7, τ = 0.8 punto di flesso 0.2 PID “ideale”: 0.1 0 0 5 t [sec] 10 15 K p = 5.55, Ti = 1.6, Td = 0.4 ⇒ ω c ≅ 1.5, ϕ m ≅ 22 modello approssimante (metodo delle aree):µ = 1, T = 1.83, τ = 1.17 PID “ideale”: K p = 1.877, Ti = 2.34, Td = 0.59 ⇒ ω c ≅ 0.75, ϕ m ≅ 63 F. Previdi - Fondamenti di Automatica - Lez. 27 21 7. Limitazione dell’azione derivativa de(t ) d u (t ) = + K d = + K d (w(t ) − y (t )) dt dt Se w(t ) = sca (t ) u (t ) = imp(t ) Alternativa: u (t ) = + K d Indesiderabile! d dw(t ) dy (t ) (w(t ) − y(t )) = + K d − Kd dt dt dt La fdt d’anello è un filtro passa-basso. Quindi l’uscita non ha mai variazioni a scalino! F. Previdi - Fondamenti di Automatica - Lez. 27 22 Schema a derivazione dell’uscita w(t ) + − e(t ) Kp Ki s + + u (t ) + − d (t ) G (s ) + + y (t ) Kd s La funzione di trasferimento da d(t) a y(t) non cambia Nella funzione di trasferimento da w(t) a y(t) cambiano solo gli zeri Non cambiano le proprietà di stabilità e il comportamento statico. F. Previdi - Fondamenti di Automatica - Lez. 27 23 Generalizzazione U (s ) = K p E p (s ) + dove Ki E (s ) + K d s Ed (s ) s E (s ) = W (s ) − Y (s ) E p (s ) = αW (s ) − Y (s ) Ed (s ) = βW (s ) − Y (s ) α = β = 1 → PID standard α = β = 0 → azioni derivativa e proporzionale calcolate solo su y(t) Nota. α e β non influiscono su stabilità e comportamento statico del sistema in anello chiuso. F. Previdi - Fondamenti di Automatica - Lez. 27 24 8. Saturazione dell’azione integrale (wind-up) Tutti gli attuatori hanno dei limiti sull’azione di controllo che possono esercitare sul sistema sotto controllo. Tali limiti sono ben modellabili mediante saturazione. Quando la legge di controllo contiene un’azione integrale, la presenza della saturazione può causare un effetto indesiderato noto come wind-up. F. Previdi - Fondamenti di Automatica - Lez. 27 25 w Ki s e u Azione di controllo integrale m uM G(s) y -u M Saturazione Equazione della saturazione − u M u (t ) < −u M m(t ) = u (t ) u (t ) ≤ u M u M u (t ) > u M F. Previdi - Fondamenti di Automatica - Lez. 27 26 2.5 T1) e(t)>0 → u(t) cresce senza limiti mentre m(t) cresce solo fino a uM u 2 1.5 m T2) e(t)<0 → m(t) dovrebbe diminuire, ma bisogna prima attendere che u(t) decresca fino a uM 1 0.5 e 0 -0.5 T1 0 T2 5 10 T3 15 20 t [sec] 25 30 T3) quando finalmente u(t) raggiunge la soglia uM allora anche m(t) può diminuire. Si noti che basta un breve transitorio per portare e(t) a 0 F. Previdi - Fondamenti di Automatica - Lez. 27 27 Implementazione anti wind-up (a derivazione dell’uscita) w e + _ Kp q u’ + -u + z u m uM M 1 1 + sTi + _ G(s) y K p sTd 1+ sTd / N Azione proporzionale Azione integrale (con anti wind-up) F. Previdi - Fondamenti di Automatica - Lez. 27 Azione derivativa (a derivazione dell’uscita) 28 e Kp u’ q + m uM -u + z M + 1 1 + sTi Quando il controllore opera nella zona lineare della saturazione si ha: m(t ) = u ' (t ) 1 + sTi K 1 M ( s) = K p + i Controllore PI = Kp = K p 1 E ( s) s sTi 1− 1 + sTi Si supponga di operare in saturazione nelle seguenti condizioni: m(t ) = u M con e(t ) > 0 e q(t ) > 0 Dopo un transitorio si ha : z (t ) = u M Però, appena l’errore cambia segno si ha: e si torna u ' (t ) = q(t ) + u M < u M e(t ) < 0, q(t ) < 0 nella zona lineare. F. Previdi - Fondamenti di Automatica - Lez. 27 29