Un regolatore digitale è caratterizzato, oltre che dall’elaborazione numerica dell’algoritmo di controllo, anche da un ciclo di scansione, cioè da un periodo di tempo durante il quale si suppone che i segnali in gioco non varino ed entro il quale deve completarsi lo svolgimento delle operazioni di calcolo.
Più in dettaglio, una tipica configurazione di controllo digitale è rappresentabile come in Fig. 22.1, in cui gli interruttori 1 e 2 vengono chiusi in opportuna sequenza per il tempo strettamente necessario a trasferire il segnale al relativo convertitore e con un periodo di ripetizione costante, normalmente indicato con DT.
Precisamente all’inizio di ciascun ciclo viene momentaneamente chiuso l’interruttore 1 per trasferire il segnale (analogico) y al convertitore Analogico/Digitale (A/D), in modo da avere disponibile per il calcolo l’aggiornamento di questo valore, vengono poi svolti i calcoli nell’unità di elaborazione ed alla fine di questi viene momentaneamente chiuso il 2 onde permettere la conversione Digitale/Analogica (D/A) e quindi l’aggiornamento del segnale d’uscita u.
Ovviamente il segnale (analogico) u è memorizzato, cioè mantenuto costante fra un aggiornamento e l’altro, risultando quindi in realtà un segnale a gradini nel tempo, con durata di ciascun gradino uguale a DT.
Fig. 22.1 - Configurazione di una regolazione digitale.
Valgono perciò tutte le relazioni viste nei capitoli precedenti sui segnali campionati, ed in particolare è possibile convertire le funzioni di trasferimento da trasformate s di Laplace in trasformate z (vedi pag. 17-2).
Supponendo ad esempio che il sistema della Fig. 22.1 sia lo stesso visto nella Fig. 21.3 e che il regolatore sia di tipo PI, varranno le trasformazioni:
S(s) = 1 / (1 + T·s) S(z) = as0 /
(1 - bs1 · z-1 )
R(s) = (1 + T·s) / (Tdes· s) R(z) = (ar0 + ar1
· z-1 ) / (1 - br1 · z-1 )
G(s) = R(s) · S(s) = 1/ (Tdes · s) G(z) = a0 / (1 - b1 · z-1
)
dove i coefficienti del sistema sono, come già visto, as0 = DT / ( T + DT)
e bs1 = T / ( T + DT) , mentre ponendo quelli del regolatore ai valori
ar0 = ( T+ DT) / Tdes , ar1 = -T / Tdes e br1 = 1 si ottengono a0 = DT / Tdes e b1 = 1 , cioè i coefficienti di un nuovo blocco integratore puro con costante Tdes .
La Fig. 22.2 mostra in programma Mathcadâ la progettazione di un regolatore digitale applicato ad un sistema con una costante di tempo T = 15 ms (il che corrisponde ad una frequenza di taglio di circa 10 Hz) in cui si desidera raggiungere una costante di tempo dell’anello chiuso Tdes = 5 ms. Come tempo di scansione si è scelto DT = 1 ms .
I diagrammi di Bode rispettivamente del sistema S, del regolatore R e dell’intero anello (aperto) G, mostrano l’effetto di ‘compensazione‘ del regolatore per ottenere un integratore puro, cioè una retta con inclinazione di -20 dB / decade, che tagli l’asse 0 dB alla frequenza desiderata di 1/(2·p·Tdes) @ 32 Hz.
I diagrammi mostrano anche chiaramente l’effetto della scelta del tempo di scansione: aliasing oltre i 500 Hz (cioè la metà della frequenza di scansione, che con DT = 1 ms corrisponde ad 1 kHz).
|
Fig. 22.2 - Calcolo di un regolatore digitale con
risposta prefissata
La chiusura dell’anello su un integratore puro genera, come già visto, un blocco equivalente ad una costante di tempo , che nel caso specifico corrisponde a Tdes = 5 ms.
La Fig. 22.3 mostra la risposta dell’anello chiuso, considerando l’introduzione di un filtro (analogico, del secondo ordine) antialiasing sui segnali d’ingresso di riferimento e di retroazione con banda passante [1]) di 100 Hz.
L’andamento del filtro è rappresentato dalla linea a tratti, mentre la risposta dell’anello chiuso, comprendente il filtro, è rappresentata dalla linea continua.
Come si vede la banda passante dell’anello chiuso è circa 32 Hz ed assumendo in prima approssimazione che corrisponda ad un blocco con una sola costante di tempo [2]), questa risulterebbe infatti 5 ms
|
Fig. 22.3 - Risposta dell’anello chiuso, tenendo conto dell’inserimento di un filtro antialiasing.
Si può quindi assumere come funzione di trasferimento dell’anello chiuso la funzione
H(z) =G(z) / (1+ G(z)) = ah0 / (1 - bh1 · z-1
)
con ah0 = DT / ( Tdes + DT) e
bh1 = Tdes / ( Tdes + DT)
Trasformando nel tempo la H(z) si può ricavare con calcolo ricorsivo ad esempio la risposta al gradino Rif = 100 .
La Fig. 22.4 mostra questo esempio, in cui si è assunto:
y0 = 0 yt = yt-1 · bh1 + Rif · ah0 con ah0 =1 / 6 e bh1 = 5 / 6
|
Fig. 22.4 - Risposta al gradino dell’anello chiuso, paragonata alla risposta ‘naturale’ del sistema S (linea tratteggiata).
Come ci si aspettava, si vede che la costante di tempo è effettivamente di 5 ms
Nella figura è anche rappresentata la risposta che si sarebbe ottenuta applicando direttamente il gradino di riferimento al blocco originario, senza regolatore e senza la chiusura dell’anello, cioè utilizzando rispettiva-mente i coefficienti as0 e bs1 , anzichè ah0 e bh1
Con il metodo di progettazione illustrato è quindi possibile prefissare la risposta desiderata ed è importante sottolineare che, almeno in linea teorica, con i regolatori digitali risulterebbe possibile compensare qualsiasi struttura del sistema controllato.
Una struttura di regolatore polinomiale, permette sempre infatti il calcolo dei suoi vari coefficienti in modo tale da ‘annullare’ esattamente i poli e gli zeri del sistema controllato, comunque questo sia complesso.
Già una semplice struttura
biquadratica (vedi pag. 18-1) con 5 coefficienti è superiore in questo senso ad un classico regolatore
PID.
Ovviamente però anche per le soluzioni digitali valgono le limitazioni di carattere fisico viste per i corrispondenti regolatori analogici, eventualmente aggravate da eventuali limitazioni pratiche di calcolo (ad esempio con l’utilizzazione di numeri interi che permettono una elevata velocità di elaborazione, ma pongono limiti nei valori massimi o nel troncamento dei risultati).
Occorre quindi molta prudenza nell’applicazione pratica di metodi di ottimizzazione, che devono essere almeno supportati da simulazioni specifiche, tendenti a controllare i limiti delle grandezze in gioco.
[1]) Si ricorda che banda passante è definita (vedi pag. 14 -5) la serie di frequenze la cui attenuazione non supera i 3 dB
[2]) Ciò equivale a trascurare l’effetto del filtro nella banda utile del blocco, ed in realtà la funzione del filtro è solo quella di tagliare le frequenze più alte per evitare l’aliasing.
Si assume pertanto che la dinamica del blocco sia influenzata solo dalla G(z) .