Data l'importanza pratica dell'argomento torno a quanto già trattato in precedenti articoli
([1] [2] [3]
[4]) per mostrare la possibilità di simulazione con Microcap nello studio e nell'ottimizzazione delle prestazioni dei più diffusi regolatori PI e PID.
Nella realtà industriale la grande maggioranza dei sistemi regolati ha una, o al massimo due, costanti di tempo (cdt) significative ed il problema si riduce a fissare i parametri del regolatore per ottenere la risposta "migliore".
In genere si giudica la prestazione in base alla risposta ad un gradino di riferimento ed i parametri tipici considerati sono il tempo di risposta (o di salita), cioè il tempo impiegato a raggiungere il 90% del riferimento (ove non diversamente specificato), ed il tempo di ristabilimento, cioè il tempo in cui il sistema rientra stabilmente nell'intervallo di tolleranza (errore del 5%, se non espressamente specificato).
La risposta "migliore" può infatti variare a secondo dell'applicazione. A volte si preferisce ridurre il tempo di salita, accettando una piccola sovraelongazione (overshoot), altre volte si devono assolutamente evitare sovraelongazioni (ad es. in posizionamenti con vitoni motorizzati o con trazione a funi).
Negli esercizi scolastici viene sempre fornita l'espressione della funzione di trasferimento (fdt)
ma nella pratica industriale è raro che questa si conosca a priori, quindi va ricavata con prove dirette sull'impianto.
Un metodo comune è quello di dare al sistema un semplice gradino di riferimento (a ciclo aperto) e registrare la risposta.
La cdt T del sistema è ricavata dall'incontro del riferimento (blu) con la tangente dell'inizio risposta (rossa) e nel caso della figura risulta T=0.3s. Per una maggior precisione nella valutazione della cdt, si possono utilizzare procedure alternative
(vedi cap.23
di Elaborazione Numerica dei Segnali).
La fdt del sistema è dunque .
Indice |
Gli strumenti di simulazione
Per simulare l'intero anello, Microcap dispone di speciali funzioni. Il riferimento a gradino può essere ottenuto col generatore di tensione programmato in PWL(semplicemente ad es. con : 0,0 1m,1 ), mentre per il regolatore ed il sistema si possono utilizzate le Funzioni di Laplace (LF)
I percorsi per attivare le singole funzioni sono:
generatore tensione: Component/Analog Primitives/Waveform Sources/Voltage Source
sottrattore: Component/Analog Primitives/Macros/Sub
funzioni di Laplace: Component/Analog Primitives/Laplace Sources/LFVofV
deviatore: Component/Animation/Animeted SPDT Switch
Come si vede, lo schema prevede un generatore di gradino (V1), una LF per il regolatore (E1) ed una LF per il sistema (E2).
Il deviatore serve ad aprire l'anello in caso di studio delle fdt con Bode (Analysis/AC..), mentre con l'anello chiuso si ottiene la risposta nel tempo (Analysis/Transient)
Il regolatore PI
Un regolatore PI ha una fdt espressa da
in cui rappresenta l'azione integrale (nel diagramma di Bode
retta a -20dB/dec passante per )
e l'azione proporzionale (retta orizzontale) ottenuta compensando l'azione integratrice per
).
K sposta tutto il grafico verso l'alto (con conseguenze che vedremo in seguito).
Studio dell'anello aperto
Abbiamo ora gli elementi per lo studio dell'anello di regolazione. Scrivendo nelle rispettive LF le espressioni del regolatore e del sistema possiamo ricavare i relativi diagrammi di Bode.
Seguendo la normale pratica, possiamo iniziare ponendo nel regolatore la stessa cdt del sistema (Tr=T e K=1)ottenendo come risultato una banda passante uguale a quella del sistema (ma col vantaggio di un errore statico nullo). cco infatti come appare il diagramma di Bode:
In nero la fdt del sistema R(s), in blu quella del regolatore G(s) ed in rosso quella complessiva risultante .
Si noti che Microcap mette in ascissa la frequenza (Hz) invece che la pulsazione ω (r/s). Nel nostro caso con T=0.3 si ha la frequenza di taglio .
E' quindi estremamente rapido e facile vedere cosa accade di questi grafici se si cambiano le cdt.
Risposta dell'anello chiuso
La simulazione ad anello chiuso è particolarmente utile poiché fornisce direttamente l'andamento nel tempo della risposta.
E' infatti immediato il risultato di una variazione nei parametri del regolatore (e trovo altamente istruttivo rendersi conto dell'effetto che ciascun parametro ha).
Supponiamo ad es. di applicare al nostro sistema di T=0.3s un regolatore PI tarato per Tr=0.5s. Cosa accadrà? Ecco il risultato della simulazione:
(in verde l'uscita del regolatore, in rosso l'uscita regolata)
Si nota una salita molto lenta (tempo di risposta di 1.5s, e di ristabilimento oltre i 2s).
Se al contrario poniamo TR=0.1s si ottiene quest'altro andamento:
Il tempo di risposta si è ridotto a 0.38s, quello di ristabilimento a 0.84s, ma con sovraelongazione e forzamento (si noti la curva verde).
Il caso di Tr=T non viene riportato in quanto è lo stesso andamento della figura iniziale (risposta del sistema in ciclo aperto).
Come si vede con la simulazione è possibile mettere rapidamente a punto la risposta più appropriata all'applicazione.
Il regolatore PID
Il caso di sistemi con 2 cdt è particolarmente delicato, in quanto inserendo nell'anello un integratore si rischia di rendere instabile l'anello. In tal caso è utile un regolatore PID che permetta di compensare anche il polo più veloce. L'obiettivo rimane infatti sempre quello di ottenere una fdt complessiva rettilinea.
Ecco l'esempio di sistema con T1=1s e T2=0.1:
Si noti l'andamento a "sella" (curva blu) tipico del PID.
Il risultato è una banda passante di 1r/s, cioè 0.16Hz, come mostrato in figura.
Il forzamento
Abbiamo visto come sia semplice ottenere una buona risposta mantenendo la frequenza di taglio del sistema regolato (polo più lento), ma è possibile migliorare le prestazioni agendo sul guadagno K del regolatore.
Una volta realizzata la linearità della fdt globale è infatti possibile "spostare" la pulsazione di taglio con .
Questo è vero in teoria, ma comporta la possibilità di saturazione del regolatore, rendendo illusoria la velocizzazione della risposta per variazioni significative. Sull'argomento si veda il paragrafo forzamento in
[4])
Si è detto che in generale gran parte delle regolazioni industriali sono semplici, ma molto spesso accade che il sistema vari i suoi parametri in differenti condizioni di lavoro (ad es. da vuoto a carico)
per cui viene vanificata anche una messa a punto accurata.
Altro problema pratico è la regolazione in presenza di ritardi, per cui l'azione integratrice è controproducente.
La tecnica digitale mette però a disposizione metodi che vanno ben oltre i classici regolatori
analogici, potendo compensare anche fdt variabili o ritardi. Si possono infatti realizzare regolatori autosintonizzanti o addirittura autoadattativi, che rilevano i parametri effettivi del sistema e li compensano.
Per chi fosse interessato all'argomento segnalo
cap.24 e cap.25 di Elaborazione Numerica dei Segnali.
Mi auguro un dibattito nel Forum di EY sullo "stato dell'arte" in questo campo.