Vai al contenuto
Controllo Digitale

Sistemi a dati campionati: il processo visto dal calcolatore

Anello di controllo digitale, funzione di trasferimento con mantenimento di ordine zero dimostrata, primo ordine, integratore e doppio integratore, zeri del campionamento, comportamento tra i campioni.

Oggi quasi ogni regolatore è un programma: un microcontrollore legge le misure con un convertitore analogico-digitale, calcola il comando e lo manda all’attuatore con un convertitore digitale-analogico. Il processo però resta continuo. Un sistema in cui convivono segnali continui e sequenze di campioni si chiama a dati campionati, e per progettarlo serve un modello che li metta insieme. In questa lezione vediamo l’anello di controllo digitale, la funzione di trasferimento discreta del processo vista dal calcolatore con la sua dimostrazione e tre esempi, gli zeri introdotti dal campionamento e ciò che succede tra un campione e l’altro.

L’anello di controllo digitale

Anello di controllo digitale
Nel calcolatore (riquadro tratteggiato) il riferimento r(k) è confrontato con la misura y(k) e il regolatore C(z) calcola il comando u(k). Il convertitore D/A lo mantiene costante per un periodo e lo applica al processo G(s); l’uscita continua y(t) è campionata con periodo T e convertita dall’A/D.

Ogni T secondi il convertitore A/D campiona l’uscita, il programma calcola u(k) e il convertitore D/A lo tiene costante fino all’aggiornamento successivo: è il mantenimento di ordine zero (ZOH), già visto nella lezione sul controllo digitale di Controllo dei processi, dove si è mostrato che alle basse frequenze equivale a un ritardo di T/2 e come si sceglie T.

Il calcolatore vede solo sequenze: u(k) in uscita e y(k) = y(kT) in ingresso. Gli strumenti naturali sono quindi la trasformata zeta e le equazioni alle differenze (lezioni sui sistemi a tempo discreto di Teoria dei segnali e di Teoria dei sistemi). Il regolatore è una funzione di trasferimento C(z); serve l’equivalente discreto del processo, cioè la funzione che lega la sequenza u(k) alla sequenza y(k).

La funzione di trasferimento con il mantenimento

Teorema. Se il processo ha funzione di trasferimento G(s) ed è preceduto da un mantenimento di ordine zero, la funzione di trasferimento discreta da u(k) a y(k) è

    \[ G(z) = (1 - z^{-1})\,\mathcal{Z}\left\{\frac{G(s)}{s}\right\} \]

dove \mathcal{Z}\{G(s)/s\} è la trasformata zeta dei campioni h_1(kT) della risposta al gradino h_1(t) del processo.

Dimostrazione. Il sistema da u(k) a y(k) è lineare e tempo-invariante a tempo discreto, quindi la sua funzione di trasferimento è la trasformata zeta della risposta all’impulso unitario u(0) = 1, u(k) = 0 per k \ne 0. Con questo ingresso il mantenimento produce un rettangolo alto 1 e largo T, cioè un gradino all’istante 0 meno un gradino all’istante T. Per linearità il processo risponde con h_1(t) - h_1(t - T), e i campioni sono h_1(kT) - h_1((k-1)T). Il secondo termine è il primo ritardato di un passo, e un ritardo di un passo nella trasformata zeta è una moltiplicazione per z^{-1}. Quindi la trasformata dei campioni è (1 - z^{-1}) per la trasformata di h_1(kT), e la trasformata di Laplace di h_1 è G(s)/s. ∎

Il modello è esatto negli istanti di campionamento: non c’è nessuna approssimazione, a differenza dei metodi che approssimano le derivate.

Tre esempi

Primo ordine. Con G(s) = a/(s + a) si ha G(s)/s = 1/s - 1/(s + a), quindi h_1(kT) = 1 - e^{-akT} e

    \[ \mathcal{Z}\{h_1\} = \frac{z}{z - 1} - \frac{z}{z - e^{-aT}} \]

Moltiplicando per (z - 1)/z:

    \[ G(z) = 1 - \frac{z - 1}{z - e^{-aT}} = \frac{1 - e^{-aT}}{z - e^{-aT}} \]

Il polo continuo -a è diventato il polo discreto e^{-aT}, e il guadagno statico G(1) = 1 è rimasto lo stesso, come nella discretizzazione esatta in spazio di stato (lezione sui sistemi a tempo discreto di Teoria dei sistemi).

Integratore. Con G(s) = 1/s la risposta al gradino è la rampa h_1(kT) = kT, con trasformata Tz/(z - 1)^2. Quindi G(z) = T/(z - 1): il comando si accumula, moltiplicato per il periodo.

Doppio integratore. Con G(s) = 1/s^2 (una massa spinta da una forza, un satellite che ruota) si ha h_1(kT) = (kT)^2/2, con trasformata T^2z(z + 1)/(2(z - 1)^3), e

    \[ G(z) = \frac{T^2}{2}\cdot\frac{z + 1}{(z - 1)^2} \]

Gli zeri del campionamento

L’ultimo esempio mostra un fatto importante: il processo continuo 1/s^2 non ha zeri, ma il suo equivalente discreto ha uno zero in z = -1. Il campionamento crea zeri che il processo continuo non ha. Un processo con n poli e nessuno zero diventa in generale un sistema discreto con n - 1 zeri. Per periodi piccoli, questi zeri tendono a valori che dipendono solo dal grado relativo, e da grado relativo 3 in su almeno uno sta fuori dal cerchio unitario: il modello discreto è a fase non minima anche se il processo continuo non lo è. Non si possono quindi cancellare tutti gli zeri del modello con i poli del regolatore, come vedremo nella lezione sul controllo deadbeat.

Che cosa succede tra i campioni

Il modello in z descrive l’uscita solo negli istanti kT. Tra un campione e l’altro l’uscita può fare cose che il calcolatore non vede:

  • un’oscillazione nascosta (ripple tra i campioni), tipica dei regolatori molto aggressivi: i campioni sono fermi sul riferimento, ma l’uscita continua oscilla;
  • un campionamento patologico: se un modo oscillante del processo ha frequenza \omega con \omega T multiplo di \pi, i suoi campioni lo fanno sembrare costante o alternato e il sistema campionato può perdere la raggiungibilità o l’osservabilità che il sistema continuo aveva.

Per questo il progetto si verifica sempre anche con una simulazione continua del processo, e il periodo si sceglie con un margine generoso: da 10 a 30 campioni per tempo di salita dell’anello chiuso.

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
0
Would love your thoughts, please comment.x
()
x