Slide del corso di Controllo digitale Corso di Laurea in Ingegneria Informatica e dell Informazione Università di Siena, Dip. Ing. dell Informazione e Sc. Matematiche Parte VI Sintesi diretta a tempo discreto Gianni Bianchini c 23-23 - Il presente documento è rilasciato nei termini di licenze Creative Commons come indicato su http://www.dii.unisi.it/ giannibi/teaching
SINTESI DIRETTA NEL DISCRETO Lasintesidirettaatempodiscretosibasasull imporreunvaloredesideratow (z), corrispondente alle specifiche, alla funzione di trasferimento tra la risposta campionata y k e il riferimento r k. Si considera pertanto l equivalente campionato con ZOH dell impianto r k _ e k C(z) u k ZOH u h (t) P(s) y(t) A/D y k P d (z) P d (z) = ( z )Z P(s) s Problema della sintesi diretta. Progettare il compensatore digitale C(z) in modo tale che la funzione di trasferimento ad anello chiuso tra il riferimento e l uscita campionata W(z) = Y(z) R(z) sia pari ad una data W (z) che soddisfa opportune specifiche. Soluzione. Analogamente al caso a tempo continuo W(z) = C(z)P d(z) +C(z)P d (z) = W (z) C(z) = W (z) P d (z) W (z) Nota. In questo modo viene impostata la funzione di trasferimento tra il segnale di riferimento r k e l uscita campionata y k. Tuttavia ciò che si ha interesse a controllare è l uscita analogica fisica y(t), per cui sarà necessario verificare che questa non presenti comportamenti indesiderati in corrispondenza del progetto effettuato. 2
SINTESI DIRETTA: VINCOLI DI PROGETTO Causalità. Il controllore deve essere causale, cioè proprio. Affinché il controllore sia proprio, il grado relativo n w m w di W (z) = N W (z)/d W (z) deve essere maggiore o uguale al grado relativo n p m p dip d (z) = N P (z)/d P (z), ovvero, lafunzioneditrasferimentoadanello chiuso desiderata non può presentare un ritardo (discreto) ingressouscita inferiore a quello dell equivalente campionato dell impianto. Infatti, analogamente al caso a tempo continuo C(z) = D P(z) N P (z) N W (z) D W (z) N W (z) n c m c = m p +n w (n p +m w ) n w m w n p m p Stabilità interna del sistema di controllo: non devono esistere cancellazioni tra poli e zeri con modulo maggiore o uguale a nel prodotto C(z)P d (z). Essendo C(z)P d (z) = W (z) W (z) ogni zero di P d (z) con modulo deve comparire tra gli zeri di W (z) in modo che permanga come zero del prodotto C(z)P d (z) ogni polo di P d (z) con modulo deve comparire tra gli zeri di W (z) in modo che permanga come polo di C(z)P d (z) Come nel caso a tempo continuo, il controllore tende a cancellare la dinamica dell impianto per sostituirvene una corrispondente alle specifiche, salvo le cancellazioni esplicitamente impedite. 3
SINTESI DIRETTA: SPECIFICHE STATICHE Specifiche tipiche di precisione a regime Errore e di inseguimento al gradino (r k = k ) nullo E(z) = ( W (z))r(z) z e, = lim(z ) z z ( W (z)) = W () = Errore e, di inseguimento alla rampa (r k = kt k ) finito e pari a e Tz e, = lim(z ) z (z ) 2( W (z)) = T dw (z) = e dz z= Si può anche scrivere T dw (z) dz z= = T W (z) dw (z) dz Se W (z) è espressa nella forma poli-zeri W (z) = K w m w j=(z z w j ) n w i=(z p w i ) z= = T d dz logw (z) z= dalla precedente relazione risulta T n w i= p w i mw j= z w j = e che mette in relazione l errore di inseguimento alla rampa unitaria con i poli e gli zeri della f.d.t. W (z) ad anello chiuso (formula di Truxal). 4
SCELTA DI W (z) In generale W (z) è scelta della forma W (z) = (z z )...(z z r ) w m z m +...w = W (z p )...(z p q ) z N (z)(w m z m +...w ) I poli p i si fissano sulla base delle specifiche di transitorio (vedi seguito) Gli zeri z j sono gli zeri di P d (z) che non si vuole vengano cancellati da C(z) (ad es., quelli con z j ) con la relativa molteplicità. I coefficienti w k si calcolano imponendo le condizioni di stabilità interna relative ai poli instabili di P d (z) e di precisione statica. Ovviamente, si sceglie m+ pari al numero di condizioni da imporre. * W ( p) = per ogni polo p di P d (z) con p, ovvero per ogni polo di P d (z) che non si vuole venga cancellato da C(z); se la molteplicità di p è ν > si deve imporre anche di dz i [ W (z)] z= p = i =,...,ν * W () = (errore a regime nullo al gradino); questa condizione è analoga a quella che previene la cancellazione di un eventuale polo in z = di P d (z). * Precisioneallarampa: imporrelacondizione T dw (z) dz z= = e,oppure usare la formula di Truxal per ricavare un unico zero incognito di W (s) se tutti gli altri sono noti. 5
SCELTA DI W (z) I poli in z = si aggiungono se necessario per rispettare la condizione di causalità del controllore (in modo cioè che W (z) venga ad avere grado relativo n p m p. Questi poli corrispondono a dinamiche che vanno a zero in tempo finito e quindi, in generale, non alterano significativamente il transitorio della risposta al gradino. Attenzione. Per imporre le condizioni che portano al calcolo degli zeri o dei coefficienti del numeratore di W (z) (stabilità interna, precisione statica), è necessario considerare la W (z) completa degli eventuali poli in z =. Aggiungerli dopo aver calcolato gli zeri senza tenerne conto altera alcune condizioni (es. l errore alla rampa). 6
SCELTA DI W (z): TRANSITORIO DEADBEAT Obiettivo. Progettare W (z) in modo da soddisfare le specifiche: Errore a regime al gradino nullo La risposta y k al gradino deve raggiungere il valore di regime in un numero N finito di passi, possibilmente minimo Soluzione nel caso di P d (z) con poli e zeri tutti interni al cerchio unitario o con al più un polo in z =. Basta scegliere W (z) = z N con N uguale o superiore al grado relativo n p m p di P d (z). In questo modo l uscita y k insegue qualunque riferimento con un ritardo di N passi. In particolare quindi la risposta al gradino va a regime in N passi La specifica sull errore a regime è soddisfatta poiché W () =. Non sono richieste altre condizioni per la stabilità interna avendo P d (z) poli e zeri tutti stabili Controllore corrispondente C(z) = P d (z) z N Si noti che z = è uno zero di W (z) per qualunque N. Quindi anche se P d (z) ha un polo semplice in z =, C(z) non lo cancella. Si noti inoltre che, se P d (z) è l equivalente campionato di un dato P(s), allora ha tanti poli in z = quanti sono i poli in zero di P(s). 7
SCELTA DI W (z): TRANSITORIO DEADBEAT Esempio (file Scilab deadbeat.sce) Impianto a tempo continuo P(s) = e.2s +s Equivalente a dati campionati con ZOH, T =.2 s P d (z) =.823 z(z.887) P d (z) ha poli e zeri stabili e grado relativo 2, per cui si sceglie W (z) = z 2 Controllore corrispondente C(z) = Risposta al gradino (uscita e comando) z(z.887).823(z 2 ).2 6 5.8 4 risposta al gradino.6 comando 3.4 2.2.5.5 2 2.5.5.5 2 2.5 8
SCELTA DI W (z): TRANSITORIO DEADBEAT Esempio (file Scilab interper.sce, prima parte) Impianto P(s) = e s +8s+5s 2 Equivalente campionato con ZOH, T = s P d (z) =.28(z +.8357) z 3.5353z 2 +.5866z Controllore deadbeat (W (z) = z 2 ). [N.B. Lo zero di P d (z) è stabile] C(z) = z(z 2.5353z +.5866).28(z +)(z )(z +.8357) Risposta al gradino (uscita analogica e comando).4 5.2 4 3 2 risposta al gradino.8.6 comando.4 2.2 3 4 5 5 2 25 5 5 5 2 25 Presenza di forti oscillazioni interperiodo nell uscita analogica Causa: il controllore ha poli prossimi a z = che cancellano zeri dell impianto discretizzato (z r =.8357). Tali poli compaiono quindi nella f.d.t. tra riferimento e comando e ne producono un andamento oscillatorio che causa l oscillazione della risposta analogica Se lo zero risonante z r comparisse tra gli zeri di W (z), tale cancellazione verrebbe prevenuta, allo stesso modo delle cancellazioni di zeri instabili 9
TRANSITORIO DEADBEAT: CASO GENERALE Forma generale di W (z) deadbeat W (z) = (z z )...(z z r ) w mz m +...w z N In questo caso W (z) non è più un ritardo puro. La risposta al gradino y k diventa diversa da zero dopo un numero di passi pari al grado relativo di W (z) e va a regime in N passi. Infatti W (z) è della forma W (z) = α z N +...+α r+m z N+r+m Esempio P(s) = s 2 P d (z) = T2 2 z + (z ) 2 P d (z) ha uno zero in z = e due poli in z =, per cui si deve imporre W ( ) = [] ; W () = [2] ; d( W ) () = [3] dz N.B. L imposizione delle condizioni [2] e [3] preserva i poli in z = già presentiinp d (z)chealtrimentiilcontrollorecancellerebbe,compromettendo l errore nullo al gradino e la stabilità interna. Scelta di W (z): inclusione dello zero [] e due parametri liberi per [2] e [3]. Inoltre il grado relativo di W (z) deve essere almeno, per cui N = 3 W (z) = (z +)(w z +w ) z 3 Imponendo le tre condizioni si ricava w = 5 4, w = 3 4 C(z) = W (z) P d (z) W (z) = 2 5z 3 T 2 4z +3
TRANSITORIO DEADBEAT Soluzione (file Scilab interper.sce, seconda parte) Impianto P(s) = e s +8s+5s 2 Equivalente campionato con ZOH, T = s P d (z) =.28(z +.8357) z 3.5353z 2 +.5866z Si include lo zero risonante z r =.8357 dell impianto tra gli zeri di W (z) per prevenirne la cancellazione, come si farebbe per uno zero instabile allo scopo di preservare la stabilità interna. Si impedisce così che z r sia un polo della f.d.t. tra riferimento e comando. Dunque si sceglie W (z) = (z +.8357) w z 3 sono necessari 3 poli in z = per preservare la causalità w si calcola imponendo errore a regime nullo al gradino (W () = ) W (z) risultante W (z) = Risposta al gradino (uscita e comando).5443(z +.837) z 3.4 2.2 5 risposta al gradino.8.6 comando 5.4 5.2 5 5 2 25 5 5 5 2 25
SCELTA DI W (z): TRANSITORIO DEL PRIMO ORDINE (DAHLIN) Si impone che la risposta al gradino del sistema presenti un transitorio assimilabile a quello di un sistema del primo ordine con una costante di tempo assegnata τ. Si sceglie quindi W (z) = (z z )...(z z r ) w m z m +...w z e T/τ z N Esempio (primoordine.sce): P(s) come in interper.sce, τ = 5 s, T = s W (z) = e T/τ z e T/τ z Risposte al gradino uscita e comando 8.9.8 6.7 4 risposta al gradino.6.5.4 comando 2.3.2 2. 5 5 2 25 4 5 5 2 25 Esempio precedente con inclusione dello zero risonante in W (z) W (z) = z +.837 w z e T/τ z 2 dove w è calcolata affinché W () =. 2
SCELTA DI W (z): TRANSITORIO DEL SECONDO ORDINE Si impone che le dinamiche dominanti della risposta al gradino siano la versione campionata di quelle della risposta continua desiderata. Ciò equivale a richiedere che i poli dominanti di W (z) siano il corrispondente secondo z = e st di una coppia di poli che nel continuo danno una risposta con le caratteristiche transitorie desiderate.. Si determinano ζ e ω n corrispondenti alle specifiche richieste ed i relativi poli p = ζω n +jω n ζ2 e p = ζω n jω n ζ 2 2. Si sceglie una W (z) che abbia come poli e pt, e pt più ulteriori poli in z = e zeri scelti come al solito in modo da rispettare causalità ed altri vincoli W (z) = (z z )...(z z r ) w m z m +...w (z e pt )(z e pt ) z N 3
TRANSITORIO DEL SECONDO ORDINE Esempio (file Scilab secondoordine.sce) Specifiche P(s) =. s(s+.) Errore di inseguimento al gradino nullo Errore di inseguimento alla rampa unitaria e e = Tempo di salita t s.5 s Massima sovraelongazione ŝ.4. Equivalente campionato con ZOH e T = s P d (z) =.4837(z +.9672) (z )(z.948) Occhio allo zero di P d (z), molto vicino al punto z = Dalle specifiche dinamiche si può assumere ζ =.5, ω n = Poli dominanti nel continuo: p, p = /2±j 3/2 Polinomio corrispondenti ai poli dominanti nel discreto: (z e pt )(z e pt ) = z 2.7859z +.3679 Scelta di W (z): due parametri liberi: in questo caso è conveniente scrivere W (z) = w z +w z 2.7859z +.3679 = K(z z ) z 2.7859z +.3679 z si calcola imponendo l errore alla rampa con la regola di Truxal: z =.793 K si calcola imponendo W () = : K =.632 4
TRANSITORIO DEL SECONDO ORDINE Funzione di trasferimento ad anello chiuso desiderata z.793 W (z) =.632 z 2.7859z +.3679 Controllore C(z) = W (z) P d (z) W (z) = 3.68(z.948)(z.793) (z +.9672)(z.48) Risposta al gradino nell uscita.4.2 risposta al gradino.8.6.4.2 2 4 6 8 2 4 6 8 2 Risposta al gradino nel comando 5 5 comando 5 5 2 2 4 6 8 2 4 6 8 2 Forti oscillazioni dovute al polo risonante di C(z) che cancella lo zero dell impianto 5
TRANSITORIO DEL SECONDO ORDINE Per eliminare le oscillazioni, si include il polo risonante tra gli zeri di W (z), in modo che non compaia più in C(z) W (z) = K (z +.9672)(z z ) z(z 2.7859z +.3679) Ènecessarial inclusionediunpoloinz =, cheintroduceunadinamica rapida (un passo di ritardo), per preservare la causalità Si effettua di nuovo il calcolo di z e K sulla base delle specifiche statiche Controllore Risposta al gradino nell uscita (z +.9672)(z.3662) W (z) =.4668 z(z 2.7859z +.3679) (z.948)(z.3662) C(z) = 9.6495 (z.552)(z.2994).4.2 risposta al gradino.8.6.4.2 2 4 6 8 2 4 6 8 2 Risposta al gradino nel comando 5 comando 5 2 4 6 8 2 4 6 8 2 6