Controlli automatici/Sistemi di controllo digitali
![]() |
Sistema di controllo digitale[modifica | modifica sorgente]
Campionatore[modifica | modifica sorgente]
2 Il campionatore è un convertitore A/D che genera in uscita la sequenza di campioni <math>\left\{ e_k \right\}</math> con passo di campionamento <math>T</math> a partire dall'errore di inseguimento <math>e(t)</math>:
- nel dominio del tempo:
- <math>e^* (t) = e(t) \sum_{k=0}^{+ \infty} \delta \left( t-kT \right) = \sum_{k=0}^{+ \infty} e_k \cdot \delta \left( t-kT \right)</math>
- nel dominio della trasformata zeta:
- <math>\mathcal{Z} \left\{ \left\{ e_k \right\} \right\} = E^* \left( z \right) = \sum_{k=0}^{+ \infty} e_k \cdot z^{-k}</math>
- nel dominio della trasformata di Laplace:
- <math>\mathcal{L} \left\{ e^* \left( t \right) \right\} = E^* (s) = \sum_{k=0}^{+ \infty} e_k \cdot e^{-kTs} = {\left. E^* (z) \right|}_{z = e^{sT}}</math>
4 Il passo di campionamento <math>T</math> deve essere sufficientemente piccolo:
- il teorema del campionamento impone una pulsazione di campionamento <math>\omega_s</math> maggiore del doppio della pulsazione di banda <math>\omega_B</math>:
- <math>\omega_s \gg \omega_B</math>
- la riduzione del margine di fase <math>m_\varphi</math> introdotta dal ricostruttore deve essere contenuta:
- <math>\omega_s \gg \omega_c</math>
Il passo di campionamento <math>T</math> non deve essere troppo piccolo, per non incorrere in:
- problemi di quantizzazione;
- necessità di utilizzare processori costosi per garantire elevate prestazioni.
Ricostruttore[modifica | modifica sorgente]
5 Il ricostruttore è un convertitore D/A che genera il comando <math>u(t)</math> a partire dalla sua sequenza di campioni <math>\left\{ u_k \right\}</math>. Il filtro Z.O.H. di ordine zero mantiene nell'intervallo <math>T</math> il comando <math>u(t)</math> pari al valore dell'ultimo campione acquisito. La funzione di trasferimento del filtro Z.O.H. si può approssimare a una funzione razionale tramite l'approssimazione di Padè del I ordine:
- <math>H_0 (s) = \frac{U(s)}{U^* (s)} = \frac{1- e^{-sT}}{s} \cong \frac{T}{1+ s \frac{T}{2}}</math>
{s}</math>
è pari alla sua funzione di trasferimento:
- all'ingresso:
- <math>U^* (z) = \sum_{k=0}^{+ \infty} u_k z^{-k} \Rightarrow U^* (s) = \sum_{k=0}^{+ \infty} u_k e^{-ksT}</math>
- all'uscita:
- <math>U(s) = \mathcal{L} \left\{ \sum_{k=0}^{+ \infty} u_k h_0 \left( t-kT \right) \right\} = \sum_{k=0}^{+ \infty} u_k H_0 (s) e^{-kTs}</math>
Approssimando il termine esponenziale della funzione di trasferimento <math>H_0 (s)</math>:
- <math>e^{-sT} \approx \frac{1-s \frac{T}{2}}{1+s \frac{T}{2}} \Rightarrow H_0 (s) = \frac{1- e^{-sT}}{s} \approx \frac{1}{s} \left( 1- \frac{1- s \frac{T}{2}}{1+ s \frac{T}{2}} \right) = \frac{\cancel{1} + \cancel{s} \frac{T}{2} - \cancel{1} + \cancel{s} \frac{T}{2}}{\cancel{s} \left( 1 + s \frac{T}{2} \right)} = \frac{T}{1+ s \frac{T}{2}}</math>
}}
6 La funzione di trasferimento <math>H_0 (s)</math> del filtro Z.O.H. ha un polo in <math>- \tfrac{2}{T}</math> che crea una perdita di fase in corrispondenza della pulsazione di taglio <math>\omega_c</math>, cioè una riduzione del margine di fase <math>m_\varphi</math>. Riducendo via via il passo di campionamento <math>T</math>, il polo si sposta ad una pulsazione sufficientemente elevata rispetto alla pulsazione di taglio <math>\omega_c</math> con conseguente riduzione della perdita del margine di fase <math>m_\varphi</math>.
Controllore digitale[modifica | modifica sorgente]
3 Il controllore digitale è definito dalla sua funzione di trasferimento <math>C(z)</math> nel dominio della trasformata zeta, che è calcolabile tramite un metodo di discretizzazione a partire dalla funzione <math>C(s)</math> del controllore analogico.
- 7 Metodi di approssimazione dell'integrazione nel tempo
- metodo delle differenze all'indietro: approssima mantenendo costante l'ultimo campione:
- metodo non valido: genera forti distorsioni
- metodo delle differenze in avanti: approssima mantenendo costante il prossimo campione:
- metodo non valido: non garantisce la stabilità di <math>C(z)</math> ottenuta a partire da <math>C(s)</math> stabile
- trasformazione bilineare (o di Tustin): approssima tramite trapezi:
- metodo valido: genera distorsioni ridotte, e garantisce la stabilità di <math>C(z)</math> ottenuta a partire da <math>C(s)</math> stabile
- trasformazione bilineare con precompensazione in frequenza: precalcola e compensa la distorsione alla pulsazione di taglio <math>\omega_c</math>:
- metodo valido: genera distorsioni molto ridotte, e garantisce la stabilità di <math>C(z)</math> ottenuta a partire da <math>C(s)</math> stabile
- Altri metodi
- metodo di invarianza della risposta all'impulso: garantisce che a fronte di un medesimo ingresso ad impulso la sequenza di campioni all'uscita di <math>C(z)</math> coincida con la sequenza di valori assunti negli istanti di campionamento dall'uscita di <math>C(s)</math>:
- metodo non valido: non garantisce l'assenza di aliasing
- metodo di invarianza della risposta al gradino: garantisce che a fronte di un medesimo ingresso a gradino la sequenza di campioni all'uscita di <math>C(z)</math> coincida con la sequenza di valori assunti negli istanti di campionamento dall'uscita di <math>C(s)</math>, ed è equivalente a considerare <math>C(s)</math> in cascata a un fittizio filtro Z.O.H.:
C(z) = \mathcal{Z} \left\{ \frac{C(s)}{s} \right\} ; \; C(z) = \left( 1- z^{-1} \right) \mathcal{Z} \left\{ \frac{C(s)}{s} \right\}</math>
Applicare il metodo di invarianza della risposta al gradino è matematicamente equivalente a fare la trasformata zeta di <math>C(s)</math> in cascata ad un fittizio Z.O.H.:
- <math>\mathcal{Z} \left\{ \frac{1- e^{-sT}}{s} \cdot C(s) \right\} = \left( 1- z^{-1} \right) \mathcal{Z} \left\{ \frac{C(s)}{s} \right\}</math>
}}
- metodo valido: garantisce l'assenza di aliasing
- metodo della corrispondenza poli-zeri: calcola direttamente i poli e gli zeri di <math>C(z)</math> a partire da quelli di <math>C(s)</math> (<math>z=e^{sT}</math>):
- metodo valido
Progetto per la realizzazione del controllore digitale[modifica | modifica sorgente]
- 8 si sceglie il passo di campionamento <math>T</math>:
- si considera come prima scelta un valore dell'ordine di qualche millisecondo:
- <math>T= \frac{2 \pi}{\alpha \omega_B} , \quad 5 \leq \alpha \leq 20</math>
- si valuta il nuovo margine di fase <math>m_\varphi</math> della funzione d'anello corrispondente alla cascata del campionatore, del controllore e del filtro Z.O.H. approssimato (basta introdurre il termine <math>1+s \tfrac{T}{2}</math> a denominatore della funzione d'anello del sistema da controllare);
- se il margine di fase <math>m_\varphi</math> risulta insufficiente, si riduce il passo di campionamento <math>T</math> per quanto possibile;
- si considera come prima scelta un valore dell'ordine di qualche millisecondo:
- 9 si sceglie un metodo di discretizzazione e si calcola la funzione <math>C(z)</math> del controllore digitale a partire da <math>C(s)</math>;
- 10 si verifica il comportamento del sistema complessivo in presenza del controllore digitale <math>C(z)</math>:
- analisi a tempo discreto (in frequenza e nel tempo): si trasformano in zeta la funzione d'anello <math>G_a(s)</math> e la funzione di trasferimento in catena chiusa <math>W_y (s)</math> del sistema, scegliendo il metodo di invarianza della risposta al gradino come metodo per trasformare la funzione <math>F(s)</math> del sistema da controllare;
- simulazione del sistema ibrido con Simulink.
![]() |