Per ridurre gli effetti della saturazione negli anelli di regolazione si possono adottare speciali configurazioni di controllo.
Nel caso di sistemi a parametri costanti nel tempo (che ad esempio non presentino brusche variazioni di carico o ampi disturbi), il sistema più semplice è quello di interporre fra il segnale di riferimento e l'ingresso al regolatore un circuito a rampa, cioè un circuito limitatore della massima variazione del segnale nel tempo.
La Fig. 25.1 mostra l'effetto di un tale circuito: quando al suo ingresso è applicato un segnale R (primo grafico), l'uscita risulta Rrp (secondo grafico), e cioè uguale ad R solo se questo varia lentamente altrimenti si ha un andamento lineare..

Questo ovviamente riduce la dinamica del sistema e la pendenza della rampa dovrebbe essere fatta corrispondere alla massima variazione naturale' (senza alcun forzamento) del sistema stesso, cioè alla sua principale costante di tempo.
Nei sistemi digitali la rampa è in realtà un andamento a gradini, ciascuno dei quali ha durata DT (intervallo di campionamento) e altezza DR (massima variazione ammessa).
Se il controllo è implementato a programma, una possibile procedura (in linguaggio Basic) è indicata nella Fig. 25.2, in cui le variabili hanno il significato già visto.
Naturalmente tale procedura deve essere eseguita ad ogni DT.
If Rrp < R - DR Then Rrp = Rrp + DR
ElseIf Rrp > R + DR Then Rrp = Rrp - DR
Else Rrp = R
End If
|
Fig. 25.2 - Programma Basic per la realizzazione di una rampa.
Nel caso di un sistema con una costante di tempo T , con un valore massimo di riferimento Rmax e con intervallo di scansione DT, il gradino DR dovrebbe quindi essere posto uguale a Rmax· DT / T.
Questo evita il pericolo di sovraelongazioni (superamento del riferimento) nei casi in cui ciò è indesiderato, come ad esempio nei controlli di posizione.
Una soluzione più sofisticata è la struttura anti-windup, che deriva il suo nome dal termine inglese windup, cioè dall'azione di accumulo di controllo dovuta alla parte integratrice del regolatore, durante le fasi di saturazione del segnale in uscita dal regolatore stesso.
Quando il regolatore è saturato infatti, il sistema riceve un segnale fisso, non più dipendente dall'errore, mentre l'integratore continua ad accumulare l'errore ben oltre il valore strettamente necessario a mantenere l'equilibrio una volta raggiunto l'errore nullo. Ciò comporta quindi una conseguente sovraelongazione, fino a che la parte proporzionale (di segno opposto) e l'integrazione dell'errore (pure questo di segno opposto) non hanno annullato tale accumulo.
Nei regolatori analogici la struttura anti-windup classica prevede un integratore della differenza fra segnale di correzione (u) e l'effettivo segnale d'uscita (usat). Se questo integratore ha la stessa costante di quello del regolatore e la sua uscita viene sottratta alla somma dell'azione regolatrice (vedi Fig. 25.3), l'effetto di accumulo viene evitato.
Nei sistemi digitali è più semplice bloccare l'azione integratrice del regolatore quando si verifica la saturazione. In effetti non occorre nemmeno rilevare usat, in quanto è possibile confrontare direttamente u con i limiti noti dell'uscita e permettere le successive integrazioni solo quando u risulta entro questi limiti.

La flessibilità dei sistemi digitali permette però anche altre più raffinate soluzioni, quali i regolatori a struttura variabile (VS-PI).
L'osservazione che l'azione integratrice serve solo quando l'errore diventa piccolo e che l'azione proporzionale tende a saturare l'uscita quando l'errore è grande, suggerisce di far dipendere i parametri del regolatore dall'entità dell'errore stesso.
Gli algoritmi più opportuni per tali strutture sono ancora in fase di studio, ma il concetto fondamentale è quello di far dipendere il guadagno proporzionale all'inverso del valore assoluto dell'errore e la costante integrativa dall'inverso del suo quadrato.
Kp0 | Ki0 |
||||
Kp | = | ------------- | Ki | = |
----------- |
1 + cp·çe ç | 1 + ci·e2 |
In tal modo, con una opportuna scelta dei parametri iniziali Kp0 e Ki0 e dei coefficienti cp e ci, è possibile migliorare il comportamento dinamico dell'anello chiuso anche in presenza della saturazione.
Le Fig. 25.5a...d mostrano le risposte ottenute con regolatori diversi sul medesimo sistema, ma è opportuno premettere un'analisi più approfondita sull'azione dei parametri.
Con un classico regolatore PI , come visto al capitolo 21, la funzione di trasferimento è
R(s) = Kp + Ki / s
che nella versione digitale (capitolo 22) si trasforma in
R(z) =
(ar0 + ar1·z-1) / (1 - br1·z-1)
I parametri del regolatore digitale possono essere espressi in funzione dei guadagni proporzionale (Kp) e integrale (Ki) con le relazioni:
ar0 = Ki·DT + Kp
ar1 = - Kp
br1 = 1
Si è anche visto (Fig. 22.2) che se il sistema controllato ha una sola costante di tempo T e se non vi è saturazione, può essere prefissata la costante di tempo Tdes dell'anello chiuso.
Ma in presenza di saturazione (Fig. 21.6) l'uscita del regolatore ha un valore costante umax e la grandezza regolata y segue semplicemente la legge esponenziale (risposta al gradino, almeno finchè dura lo stato di saturazione).
Per un'analisi più approfondita del fenomeno è opportuno considerare l'effetto separato delle azioni proporzionale ed integrale.
La Fig. 25.4 indica due schemi di calcolo, diversi ma equivalenti, per implementare un regolatore PI numerico: il primo fa riferimento alle relazioni polinomiali precedentemente citate, mentre il secondo è ricavato direttamente come somma della pura azione proporzionale e della pura azione integrale, cioè
upt = Kp · et uit = uit-1 +
Ki · et ut
= upt + uit
La Fig. 25.5a mostra la risposta di un sistema ad una costante di tempo, controllato da un regolatore PI con uscita non saturata. Nella parte inferiore vengono indicati gli andamenti separati delle azioni proporzionale (up) e di quella integrale (ui), nonchè il loro totale, cioè l'uscita u del regolatore.
La risposta risultante segue quindi la teoria e i parametri Kp e Ki sono stati ottimizzati per ottenere una costante di tempo prefissata (Tdes).
Fig. 25.5a - Risposta di un sistema senza saturazione.

Ma se nelle stesse condizioni si considera la saturazione, l'andamento della risposta si modifica come rappresentato in Fig. 25.5b: in questo caso l'uscita non è più u, ma è usat, cioè se la somma u supera un dato limite questa viene bloccata a quel limite e l'effetto è quindi la risposta naturale del sistema al massimo gradino, indipendentemente dal valore del riferimento. Se questo non è il massimo (nell'esempio è stato considerato il 50% del massimo) si può avere una sovraelongazione che viene esaltata finchè ui non rientra al suo valore di regime (errore e=0, quindi up=0).

Fig. 25.5c - Risposta di un sistema con anti-windup.
Una disposizione anti-windup evita, come si è detto, che l'integrazione abbia luogo durante la saturazione, quindi evita la sovraelongazione, ma allunga ovviamente il tempo occorrente per entrare in una data banda di tolleranza (errore assoluto inferiore ad una soglia prefissata).
Nei sistemi numerici è semplice realizzare un dispositivo anti-windup, ponendo Ki=0 quando êu ê> usat.
Poco più complessa è invece l'implementazione di un regolatore cosiddetto a struttura variabile, ma in realtà con i soli parametri variabili nel tempo, in funzione dell'entità dell'errore.
Il caso della Fig. 25.5d è stato ottenuto semplicemente con i parametri variabili (nell'esempio è stato posto Lim = 100)
Kp = Lim / (1+Abs(e))
Ki = Lim / (1+ e2) con la condizione If Ki > 10 Then Ki = 10

Fig. 25.5d - Risposta di un sistema con regolatore a struttura variabile (VS-PI).
Come si vede, l'effetto è di mantenere praticamente saturato il regolatore finchè non viene raggiunto un errore piccolo che porta al massimo Ki.
In tal modo l'integrazione compensa la corrispondente diminuzione dell'azione proporzionale e l'effetto complessivo è di raggiungere più rapidamente possibile (comunque il massimo fisicamente permesso) un errore abbastanza piccolo e poi eliminare anche questo mediante l'azione integrale.
Sistemi con ritardo (26)
Oltre alle costanti di tempo che caratterizzano i sistemi da controllare, può essere riscontrato in alcuni di questi un ritardo (delay) sul segnale in uscita, rispetto al segnale in ingresso, ritardo che complica non poco la regolazione del sistema.Spesso tale ritardo è dovuto semplicemente al rilevatore del segnale in uscita, ad esempio se questo è situato ad una certa distanza dalla posizione in cui forma il segnale stesso.
Per chiarire una situazione di questo tipo, è opportuno ricorrere alla comune esperienza della doccia: se si tenta di regolare bruscamente la temperatura dell’acqua si rischia di oscillare fra momenti di acqua caldissima e momenti di acqua fredda senza raggiungere la temperatura desiderata.
Ciò è dovuto al ritardo di percezione causato dalla distanza che l’acqua deve percorrere fra i rubinetti di miscelazione (regolatore) ed il corpo (sensore), quindi dal tempo che impiega l’acqua a percorrere tale distanza.
Nel caso di regolatori automatici classici (analogici), la presenza di un ritardo puro che non sia trascurabile nei confronti delle costanti di tempo, costringe in generale ad un abbassamento delle prestazioni, rendendo soprattutto lento l’anello chiuso di regolazione.
Al contrario, i regolatori digitali hanno intrinsecamente la possibilità (almeno in linea teorica) di annullare l’effetto del ritardo, sia questo costante o variabile.
La Fig. 26.1 mostra in dettaglio l’effetto del ritardo sulla risposta del sistema, ed è facile immaginare che se un tale sistema si trova all’interno di un anello chiuso di regolazione contenente un integratore, quest’ultimo continua ad integrare il massimo dell’errore per tutto il tempo di ritardo, con conseguente saturazione. Solo quindi un tempo di integrazione che sia molto più lungo del ritardo, consente di stabilizzare l’anello ma, come si è detto, con conseguente rallentamento della risposta complessiva. Per evitare tale inconveniente, si dovrebbe disporre di una retroazione ‘depurata’ dal ritardo, costruendo un blocco che abbia le medesime caratteristiche del sistema (cioè gli stessi guadagni e le stesse costanti di tempo) ma senza il ritardo. Matematicamente, il ritardo t può essere espresso con la sua trasformata di Laplace e-ts (vedi tabella al capitolo 7) per renderla compatibile con le espressioni delle funzioni di trasferimento, ed in tal caso la funzione di un blocco rappresentante il processo da controllare risulta e-ts·Gp(s), dove Gp(s) è appunto la pura funzione di trasferimento. La Fig. 26.2a mostra una possibile soluzione del problema posto, nota come predittore di Smith. Una semplice analisi del comportamento di tale configurazione 1) evidenzia infatti che il regolatore non ‘vede’ più il ritardo, risultando equivalente alla configurazione della Fig. 26.2b. Il problema è così teoricamente risolto, salvo l’osservazione che Gp(s) deve essere esattamente identificato e che deve ritenersi assolutamente costante, ma la realizzazione pratica del predittore di Smith con tecniche analogiche rimane difficoltosa.
1) Dalle relazioni err = Rif - y - u·(1-e-ts)·Gp u = err·Gr = y / (e-ts·Gp) eliminando err ed u, si può ricavare y/Rif = e-ts·(Gr·Gp/ (1+Gr·Gp)) , cioè la funzione di trasferimento globale che corrisponde alla Fig. 26.2b. Il ricorso a tecniche digitali semplifica la soluzione, osservando che in questo campo il ritardo t è esprimibile semplicemente come z - n(t), dove n(t) = t / DT 26.2) . Ciò significa che il ritardo può essere espresso in un numero n(t) di campionamenti DT equivalente a t. La funzione di trasferimento in forma digitale (funzione in z) del processo è quindi semplicemente la S(z), come visto a pag. 22-1, moltiplicata per il ritardo z-n(t). L’errore all’ingresso del regolatore con predittore di Smith è allora err = Rif - y - u·(1- z-n(t))·S(z) mentre l’uscita è u = err·R(z) Supponendo per semplicità che il processo abbia una sola costante di tempo ed il regolatore sia di tipo PI, si ha S(z) = a0s / (1- b1s·z-1) e R(z) = (a0r + a1r· z-1) / (1- b1r·z-1) Utilizzando i coefficienti ottimizzati per avere una risposta complessiva Td (fig. 22.2 ) è possibile simulare il comportamento dell’intero sistema calcolando per ogni istante n·DT i valori di err, u e y. La Fig. 26.3 simula questo comportamento sia con semplice regolatore PI, sia con l’aggiunta del predittore di Smith. Si sono mantenuti per il processo gli stessi valori della Fig.26.1, e si è ipotizzata una risposta complessiva desiderata Td = 80 (ms). Malgrado questa scelta di risposta abbastanza lenta (il doppio di T) si dimostra che senza predittore si ha una sovraelongazione del 25%, quindi inaccettabile. Una scelta di risposta più veloce porterebbe ad un andamento decisamente oscillatorio e solo l’inserimento del predittore consente di ottenere una risposta ottimizzata. La Fig.26.4 mostra una possibile implementazione del regolatore predittivo con il calcolo algebrico dei parametri di una struttura generalizzata (3 al numeratore e 4 al denominatore), dalla quale potrebbero essere ricavati i coefficienti di strutture normalizzate (occorrerebbero 2 blocchi biquadratici, vedi cap.18). Si evidenzia che il valore dei coefficienti può essere molto critico, per cui deve essere valutato l’effetto degli inevitabili arrotondamenti.
Si sottolinea inoltre che, come già citato, simili soluzioni richiedono la perfetta conoscenza dei parametri del processo (nonchè la loro costanza nel tempo), il che ne potrebbe rende impraticabile l’impiego. Per questi casi, si consiglia un approccio sempre digitale, meno teorico, ma senz’altro più ‘affidabile’. Uno dei metodi più banali per diminuire gli inconvenienti del ritardo è una regolazione campionata, che agisca cioè solo in determinati istanti, rimanendo poi in attesa, prima di esaminare l’effetto conseguito. In altre parole, la regolazione viene periodicamente ‘congelata’, per permettere che il sistema si stabilizzi prima di effettuare un’ulteriore correzione.Fig. 26.2a - Configurazione di regolazione con predittore di Smith.
2) Si veda l’equivalenza a pag.17-1 fra la trasformata z a quella s: z - n(t) = e - n(t)·DT·s = e-ts