Lezione 6.
Transcript
Lezione 6.
Lezione 6. Sistemi di controllo digitale: sintesi a tempo continuo (realizzazione digitale di controllori analogici) F. Previdi - Controlli Automatici - Lez. 6 1 Schema della lezione 1. Introduzione 2. Scelta del periodo di campionamento 3. Filtri antialiasing 4. (Ri)-formulazione del problema di sintesi 5. Metodi di discretizzazione basasti su trasformazioni bilineari 6. Altri metodi di discretizzazione del regolatore 7. Matlab F. Previdi - Controlli Automatici - Lez. 6 2 1. Introduzione Il progetto di un controllore digitale può svilupparsi secondo due linee alternative: • La prima si basa su tecniche di progetto a tempo continuo basate su un modello a tempo continuo del sistema e su metodi di realizzazione digitale del controllore analogico progettato. Il controllore a tempo continuo ottenuto viene implementato mediante un modello ibrido esternamente a tempo continuo. Si parla di “punto di vista del processo” o di progetto basato su “modelli riferiti al processo” (process-oriented model) • La seconda si basa su tecniche di progetto direttamente a tempo discreto basate su un modello ibrido esternamente a tempo discreto del sistema. Il controllore viene quindi progettato direttamente a tempo discreto . Si parla in questo caso di “punto di vista del controllore” e il modello ibrido esternamente a tempo discreto del sistema è anche detto “modello riferito al controllore” (controller-oriented model). F. Previdi - Controlli Automatici - Lez. 6 3 E’ già stato osservato che lo schema a campionamento dell’errore si presta ad una progettazione da un punto di vista completamente analogico. y(t) e*(k) w(t) e(t) u*(k) u(t) A/D R*(z) G(s) D/A +_ e(t) A/D e*(k) R*(z) u*(k) D/A u(t) R(s) Punto di vista del processo w(t) e(t) +_ R(s) u(t) G(s) F. Previdi - Controlli Automatici - Lez. 6 y(t) 4 E’ quindi possibile progettare, per il sistema sotto controllo descritto da G(s), un controllore a tempo continuo con funzione di trasferimento R(s) usando i metodi (noti). w(t) e(t) y(t) u(t) G(s) R(s) +_ Il regolatore analogico descrive ciò che in realtà è un sistema ibrido, esternamente a tempo continuo. e(t) u(t) R(s) e(t) A/D e*(k) R*(z) u*(k) D/A F. Previdi - Controlli Automatici - Lez. 6 u(t) 5 Si pone quindi un problema di realizzazione digitale (approssimata) di controllori analogici che può essere formulato come segue: Determinare la funzione di trasferimento R*(z) in modo tale che il legame tra u(t) ed e(t) sia una buona approssimazione di quello descritto dal controllore analogico con funzione di trasferimento R(s). La progettazione a campionamento dell’errore segue quindi il seguente schema: • si scrive un modello a tempo continuo del sistema sotto controllo; • si progetta un controllore utilizzando tecniche a tempo continuo; • si sceglie il periodo di campionamento; • si discretizza il controllore. Infine si testa l’algoritmo di controllo digitale sul sistema “vero” inserendolo nello schema a campionamento dell’uscita. F. Previdi - Controlli Automatici - Lez. 6 6 Bisogna quindi affrontare due problemi: • Scegliere un valore per il periodo di campionamento (Sez 2); • discretizzare un controllore analogico (Sez 5 e seguenti). F. Previdi - Controlli Automatici - Lez. 6 7 2. Scelta del periodo di campionamento La scelta del periodo di campionamento dipende da numerosi fattori, principalmente connessi alla velocità del sistema di controllo (ωc), alla potenza di calcolo disponibile ed alla complessità dell’algoritmo. La pulsazione di Nyquist deve essere superiore alla pulsazione critica (con un certo margine, per es. un fattore 10): N 10c da cui s 20c 2 quindi 2f s 20c cioè 20c T infine T 10c F. Previdi - Controlli Automatici - Lez. 6 8 E’ utile esprimere tale vincolo in funzione della durata dei transitori del sistema di controllo. Infatti, si può affermare che la durata dei transitori (per es. il tempo di assestamento della risposta a scalino) è pari a circa 5 volte la costante di tempo dominante del sistema, che, nella (ragionevole) ipotesi che il sistema di controllo abbia transitori ben smorzati, può essere approssimata mediante il valore 1 c 5 ta ta Quindi, essendo t a si ha T c 10c 50 16 ta T 16 (p.e. 20 campioni per transitorio) F. Previdi - Controlli Automatici - Lez. 6 9 3. Filtri antialiasing Se il segnale di ingresso presenta non trascurabili componenti “in alta frequenza”, ovvero a pulsazioni N , (per esempio è affetto da disturbi a spettro sensibilmente diverso da zero su una banda di frequenze con estremo superiore molto maggiore di ωc) e non è possibile scegliere un periodo di campionamento in modo da aumentare il valore di N , si può salvaguardare l’informazione utile anteponendo al convertitore A/D un filtro analogico passabasso con pulsazione di taglio pari a circa N . E’ necessario tenere conto della presenza di tale filtro nell’anello di controllo. F. Previdi - Controlli Automatici - Lez. 6 10 Perchè la presenza di un filtro antialiasing F(s) non alteri sensibilmente le prestazioni dell’anello di controllo esso • non deve modificare l’ampiezza della banda di controllo, cioè F jc 1 • non deve ridurre eccessivamente il margine di fase, cioè arg F jc piccolo • deve attenuare significativamente già poco oltre la pulsazione critica Queste richieste risultano in filtri di ordine potenzialmente elevato (4-6 poli) e in tempi di campionamento estremamente brevi. F. Previdi - Controlli Automatici - Lez. 6 11 Esempio Si supponga di voler tarare un filtro antialiasing del primo ordine 1 F s s 1 AA Se si desidera avere un’attenuazione di almeno un fattore 10 a pulsazioni superiori a quella di Nyquist si ha che N AA 10 Se si desidera che F jc 1 con sfasamento “piccolo” si ha che AA c 10 cioè N 100c ta (approx T ) 150 arg F jc 6 Tempi di campionamento molto brevi F. Previdi - Controlli Automatici - Lez. 6 12 Esempio Si consideri il seguente sistema di controllo a tempo continuo w(t) e(t) +_ dove G s 1 s 1 0.1s R(s) u(t) G(s) y(t) Rs 20 Si verifichino le proprietà del sistema con una implementazione digitale del controllore al variare del tempo di campionamento. w(t) e(t) +_ A/D e*(k) R*(z) u*(k) D/A F. Previdi - Controlli Automatici - Lez. 6 u(t) G(s) y(t) 13 Diagramma di Bode - Modulo L s 20 s1 0.1s c 12.5 rad/s 50 m 38.7 40 30 Sistema poco smorzato, si valuta ta 500 1.05 s m c 10 dB ta 20 0 T 0.1 s -10 -20 (solo 10 campioni per transitorio) -30 -40 -1 10 0 1 10 10 2 10 pulsazione F. Previdi - Controlli Automatici - Lez. 6 14 uscita 2 azione di controllo 20 Sistema a tempo continuo Sistema a tempo continuo 1.8 15 1.6 10 1.4 1.2 5 1 0 0.8 0.6 -5 0.4 -10 0.2 0 0 Sistema con controllore digitale 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 -15 0 Sistema con controllore digitale 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Il ritardo intrinseco di conversione (ZOH) dà uno sfasamento grande a c T 180 m c 35.8 2 T 180 c rapporto 180 con s 5c Infatti m c troppo basso! 2 s F. Previdi - Controlli Automatici - Lez. 6 15 c Per avere m 5 bisogna che 180 5 s s 36 e quindi c Scegliendo s 40c 500 rad/s cioè T 0.0125 s uscita 1.4 azione di controllo 20 Sistema a tempo continuo Sistema a tempo continuo 1.2 15 1 10 0.8 5 0.6 0 0.4 -5 0.2 Sistema con controllore digitale 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 -10 0 Sistema con controllore digitale 0.2 0.4 0.6 F. Previdi - Controlli Automatici - Lez. 6 0.8 1 1.2 1.4 1.6 1.8 2 16 4. Riformulazione del problema di sintesi Come già detto, la progettazione di controllori digitali per discretizzazione di controllori analogici viene affrontata seguendo il seguente schema: 1. si progetta un controllore utilizzando tecniche a tempo continuo, basandosi su un modello a tempo continuo del sistema sotto controllo. 2. si sceglie il periodo di campionamento (cfr. lucidi precedenti). 3. si discretizza il controllore F. Previdi - Controlli Automatici - Lez. 6 17 R 1. La progettazione di un regolatore a tempo continuo è fatta utilizzando i metodi noti (loop shaping, taratura di PID, luogo delle radici, etc...): w(t) e(t) y(t) u(t) G(s) R(s) +_ 2. Scelto il periodo di campionamento, si “cerca” una legge di controllo a tempo discreto * in modo tale che il legame tra u(t) ed e(t) nel sistema ibrido e*(k) e(t) u*(k) u(t) A/D R R*(z) D/A sia una buona approssimazione di quello descritto dal controllore analogico con funzione di trasferimento R(s). e(t) u(t) R(s) F. Previdi - Controlli Automatici - Lez. 6 18 E’ noto che (Cfr Lez 4) 1R * R s H La discussione sviluppata precedentemente consente di eliminare dal problema di sintesi ogni riferimento esplicito alla funzione 1 R H Infatti, se per un assegnato periodo di campionamento, è stato progettato in modo tale da avere un’eccedenza di margine di fase adeguata per compensare gli effetti del ritardo di conversione (ed eventualmente di elaborazione) e lo sfasasmento introdotto da eventuali filtri antialiasing, è lecito riformulare il problema di discretizzazione come segue: Determinare * in modo tale che R * RsR F. Previdi - Controlli Automatici - Lez. 6 19 Per risolvere questo problema si può pensare di utilizzare l’inversa della trasformazione di campionamento 1 s log z T ottenendo R R z In questo modo però si ottiene * non razionale. R * Per questa ragione si usano metodi per trovare una funzione di trasferimento * razionale la cui risposta in frequenza approssimi la risposta in frequenza di una funzione di trasferimento a tempo continuo assegnata, per 0, N R R F. Previdi - Controlli Automatici - Lez. 6 20 5. Metodi di discretizzazione basati su trasformazioni bilineari e(t) R(s) ? u(t) Rs csI x t Ax e(t) A/D ? e*(k) R*(z) u*(k) D/A u(t) Il controllore a tempo discreto sarà descritto mediante equazioni alle differenze. E’ quindi sensato provare ad usare metodi di integrazione numerica. Si ottengono le cosiddette trasformazioni bilineari. F. Previdi - Controlli Automatici - Lez. 6 21 La forma più generale di trasformazione bilineare è la seguente: s 1 s 1 s 2 s 1 Eulero in avanti Eulero indietro Trapezio (metodo di Tustin) F. Previdi - Controlli Automatici - Lez. 6 22 Nota • Queste relazioni trasformano funzioni di trasferimento razionali in funzioni di trasferimento razionali. R R • Si può dimostrare che se ha n poli, anche * ha n poli. Ma dove finiscono i poli? In particolare: dove finiscono i poli a parte reale negativa di ? F. Previdi - Controlli Automatici - Lez. 6 R 23 Posizione dei poli: Eulero in avanti Il semipiano reale negativo nel dominio s, cioè viene trasformato nel semipiano Im e z es Im z s 1 Re Re C’è un rischio instabilità! F. Previdi - Controlli Automatici - Lez. 6 24 Posizione dei poli: Eulero indietro e s viene trasformato nel cerchio di raggio 0.5 e centro 0.5 Il semipiano reale negativo nel dominio s, cioè Im Im z s 1 Re Re C’è una riduzione delle possibili dinamiche F. Previdi - Controlli Automatici - Lez. 6 25 Posizione dei poli: Tustin e s viene trasformato nel cerchio di raggio 1 e centro l’origine Il semipiano reale negativo nel dominio s, cioè Im Im z s 1 Re F. Previdi - Controlli Automatici - Lez. 6 Re 26 6. Altri metodi di discretizzazione Esistono altri metodi per la discretizzazione di un controllore analogico. • Un primo metodo fa riferimento alla già vista analisi a tempo discreto dei sistemi ibridi. • Il secondo esegue una trasformazione diretta di poli e zeri (Pole/Zero matching) mediante trasformazione di campionamento. • Il terzo è basato sull’equivalenza della risposta allo scalino (Step response equivalence) F. Previdi - Controlli Automatici - Lez. 6 27 Discretizzazione per tenuta e campionamento (“esatta”) Questo metodo è basato sull’idea di adottare, come controllore digitale, il seguente sistema ibrido, esternamente digitale e*(k) D/A e(t) R(s) u(t) A/D u*(k) R Dal momento che è certamente priva di ritardi puri, detta una sua realizzazione minima, il controllore digitale saràcdescritto c dalla seguente funzione di trasferimento A , B , R z C zI * F. Previdi - Controlli Automatici - Lez. 6 * A *T A e B e Ac Cc C Dc D 28 Inserendo il regolatore discretizzato nello schema di controllo in uso si ha: w(t) e(t) +_ A/D e*(k) R*(z) u*(k) D/A u(t) G(s) y(t) R*(z) w(t) +_ e(t) A/D e*(k) D/A R0(s) u*(k) A/D F. Previdi - Controlli Automatici - Lez. 6 D/A u(t) y(t) G(s) 29 Questo schema di controllo presenta una doppia coppia mantenitore/campionatore. Esse introducono nell’anello di controllo un ritardo intrinseco di conversione pari ad un periodo di campionamento T (il doppio di quanto precedentemente osservato). Perchè tale ritardo non limiti le prestazioni del sistema retroazionato è quindi necessario progettare il regolatore a tempo continuo con un’eccedenza di margine di fase doppia rispetto a quella normalmente usata (per quanto concerne il contributo dato dal ritardo intrinseco di conversione). R Nota Questo metodo di discretizzazione è detto “esatto” in quanto presuppone che la funzione di trasferimento * del controllore digitale venga calcolata a partire da senza alcuna approssimazione (è il modello stroboscopico del controllore). R R F. Previdi - Controlli Automatici - Lez. 6 30 Trasformazione diretta di poli e zeri (pole-zero matching) Questo metodo si basa sulla considerazione che è possibile ricavare poli e zeri (al finito) della funzione di trasferimento del sistema a segnali campionati direttamente dalla funzione di trasferimento del sistema a tempo continuo originario utilizzando la trasformazione di campionamento. Gli zeri all’infinito (zeri di campionamento) sono calcolati usando i risultati asintotici validi per T→0. F. Previdi - Controlli Automatici - Lez. 6 31 R Specificamente, data con n poli, m zeri, tipo g e guadagno μ è possibile ricavare una funzione di trasferimento * applicando le seguenti regole: 1. Il guadagno di *è R * g R T 2. Gli n poli di applicando * si ottengono da quelli di R di campionamento z sTR la trasformazione e 3. m zeri di applicando * si ottengono da quelli di R di campionamento z RsT la trasformazione ; e* sono scelti coincidenti i rimanenti (eventuali) m–n–1 zeri di R con le radici del noto polinomio An m F. Previdi - Controlli Automatici - Lez. 6 32 n–m radici 2 Az n1 m 3 z 2 4z 1 – 0.268, –3.73 4 z 3 11z 2 11z 1 – 0.1, –1, –9.89 5 4 3 2 z 26 z 66 z 26 z 1 –1 –0.0043, –0.43, –2.322, –23.2 F. Previdi - Controlli Automatici - Lez. 6 33 Equivalenza della risposta allo scalino Questo metodo è basato sull’osservazione che la risposta allo scalino unitario (a tempo discreto) di * deve coincidere con i valori ottenuti per campionamento della risposta allo scalino unitario (a tempo continuo) di . R R sca(t) R(s) sca(k) u(t) R*(z) A/D u*(k) u*(k) F. Previdi - Controlli Automatici - Lez. 6 34 Il calcolo di R * si effettua seguendo questa procedura: 1. Scrivere la trasformata (di Laplace) della risposta allo scalino di , cioè: R U s del controllore analogico u 2. Calcolare l’uscita mediante antitrasformazione e valutare 3. Calcolare la trasformata Z * di u*kT u ku kT U 4. Ricavare * dal rapporto tra * e la trasformata Z dell’ingresso, lo scalino unitario, cioè: R U U z R z z * * F. Previdi - Controlli Automatici - Lez. 6 35 Esempio Calcolare la funzione di trasferimento del sistema a segnali campionati con periodo di campionamento T del sistema a tempo continuo con funzione di trasferimento G s 1 usando s l’equivalenza delle risposte allo scalino G s 1 2 1. Y s s s 2. y t t , per t 0 3. Y z kTz * k 0 k y * k y kT kT , per k 0,1,2, Tz z 12 Tz z 1 T è la funzione di trasferimento 4. G z z 12 z z 1 dell’integratore a tempo discreto. * F. Previdi - Controlli Automatici - Lez. 6 36 7. Matlab >> Gd=c2d(Gc,Ts,'method') I diversi metodi sono: 'zoh' 'imp' 'tustin' 'prewarp' 'matched' Discretizzazione per tenuta e campionamento (esatta) Equivalenza della risposta all’impulso Trasformazione bilineare (Tustin) Trasformazione di Tustin con “frequency prewarping”. La pulsazione ω (in rad/sec) è specificata come quarto ingresso Trasformazione diretta poli/zeri (solo per sistemi SISO). Esiste anche un’altro metodo basato sulla rappresentazione ibrida esternamente digitale con mantenitore del primo ordine 'foh' Discretizzazione “esatta” (con mantenitore FOH) F. Previdi - Controlli Automatici - Lez. 6 37