# Controlli automatici/Sistemi di controllo digitali

Controlli automatici
Copertina Tutti i moduli · Sviluppo
    CopertinaControlli automatici/Copertina
* Introduzione ai sistemi di controlloControlli automatici/Introduzione ai sistemi di controllo
* Schemi a blocchiControlli automatici/Schemi a blocchi
* Specifiche di progettoControlli automatici/Specifiche di progetto
* Inseguimento riferimenti polinomialiControlli automatici/Inseguimento riferimenti polinomiali
* Reiezione disturbi polinomialiControlli automatici/Reiezione disturbi polinomiali
* Diagrammi di BodeControlli automatici/Diagrammi di Bode
* Diagrammi polari e di NyquistControlli automatici/Diagrammi polari e di Nyquist
* Criterio di NyquistControlli automatici/Criterio di Nyquist
* Margini di stabilitàControlli automatici/Margini di stabilità
* Risposta transitoria e in frequenzaControlli automatici/Risposta transitoria e in frequenza
* Diagrammi e carta di NicholsControlli automatici/Diagrammi e carta di Nichols
* Riferimenti e disturbi sinusoidaliControlli automatici/Riferimenti e disturbi sinusoidali
* Analisi delle specificheControlli automatici/Analisi delle specifiche
* Reti di compensazioneControlli automatici/Reti di compensazione
* Funzione di sensibilitàControlli automatici/Funzione di sensibilità
* Regolatori PIDControlli automatici/Regolatori PID
* Realizzazione dei controllori analogiciControlli automatici/Realizzazione dei controllori analogici
* Sistemi di controllo digitaliControlli automatici/Sistemi di controllo digitali
Modifica il sommario

## Sistema di controllo digitale
### Campionatore

Il campionatore è un convertitore A/D che genera in uscita la sequenza di campioni $\left\{e_{k}\right\}$ con passo di campionamento $T$ a partire dall'errore di inseguimento $e(t)$:
* nel dominio del tempo:
    $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)$
* nel dominio della trasformata zeta:
    ${\mathcal {Z}}\left\{\left\{e_{k}\right\}\right\}=E^{*}\left(z\right)=\sum _{k=0}^{+\infty }e_{k}\cdot z^{-k}$
* nel dominio della trasformata di Laplace:
    ${\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}}$
Il passo di campionamento $T$ deve essere sufficientemente piccolo:
* il teorema del campionamento impone una pulsazione di campionamento $\omega _{s}$ maggiore del doppio della pulsazione di banda $\omega _{B}$:
    $\omega _{s}\gg \omega _{B}$
* la riduzione del margine di fase $m_{\varphi }$ introdotta dal ricostruttore deve essere contenuta:
    $\omega _{s}\gg \omega _{c}$
Il passo di campionamento $T$ non deve essere troppo piccolo, per non incorrere in:
* problemi di quantizzazione;
* necessità di utilizzare processori costosi per garantire elevate prestazioni.

### Ricostruttore

Il ricostruttore è un convertitore D/A che genera il comando $u(t)$ a partire dalla sua sequenza di campioni $\left\{u_{k}\right\}$. Il filtro Z.O.H. di ordine zero mantiene nell'intervallo $T$ il comando $u(t)$ 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:
    $H_{0}(s)={\frac {U(s)}{U^{*}(s)}}={\frac {1-e^{-sT}}{s}}\cong {\frac {T}{1+s{\frac {T}{2}}}}$
La risposta all'impulso $H_{0}(s)$ del filtro Z.O.H.:
    $h_{0}(t)=\varepsilon (t)-\varepsilon \left(t-T\right)\Rightarrow H_{0}(s)={\frac {1-e^{-sT}}{s}}$
è pari alla sua funzione di trasferimento:
* all'ingresso:
    $U^{*}(z)=\sum _{k=0}^{+\infty }u_{k}z^{-k}\Rightarrow U^{*}(s)=\sum _{k=0}^{+\infty }u_{k}e^{-ksT}$
* all'uscita:
    $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}$
Approssimando il termine esponenziale della funzione di trasferimento $H_{0}(s)$:
    $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}}}}$
La funzione di trasferimento $H_{0}(s)$ del filtro Z.O.H. ha un polo in $-{\tfrac {2}{T}}$ che crea una perdita di fase in corrispondenza della pulsazione di taglio $\omega _{c}$, cioè una riduzione del margine di fase $m_{\varphi }$. Riducendo via via il passo di campionamento $T$, il polo si sposta ad una pulsazione sufficientemente elevata rispetto alla pulsazione di taglio $\omega _{c}$ con conseguente riduzione della perdita del margine di fase $m_{\varphi }$.

### Controllore digitale

Il controllore digitale è definito dalla sua funzione di trasferimento $C(z)$ nel dominio della trasformata zeta, che è calcolabile tramite un metodo di discretizzazione a partire dalla funzione $C(s)$ del controllore analogico.

#### Metodi di approssimazione dell'integrazione nel tempo

* Metodo delle differenze all'indietro
* Metodo delle differenze in avanti
* Trasformazione bilineare o di Tustin
* 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 $C(z)$ ottenuta a partire da $C(s)$ stabile
* trasformazione bilineare (o di Tustin): approssima tramite trapezi:
    metodo valido: genera distorsioni ridotte, e garantisce la stabilità di $C(z)$ ottenuta a partire da $C(s)$ stabile
* trasformazione bilineare con precompensazione in frequenza: precalcola e compensa la distorsione alla pulsazione di taglio $\omega _{c}$:
    metodo valido: genera distorsioni molto ridotte, e garantisce la stabilità di $C(z)$ ottenuta a partire da $C(s)$ 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 $C(z)$ coincida con la sequenza di valori assunti negli istanti di campionamento dall'uscita di $C(s)$:
    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 $C(z)$ coincida con la sequenza di valori assunti negli istanti di campionamento dall'uscita di $C(s)$, ed è equivalente a considerare $C(s)$ in cascata a un fittizio filtro Z.O.H.:
Dato un ingresso a gradino $u(t)$, l'uscita $y(t)$ del controllore analogico $C(s)$, campionata agli istanti di campionamento, coincide con l'uscita $\left\{y_{k}\right\}$ del controllore digitale $C(z)$:
    ${\begin{cases}u(s)={\frac {1}{s}}\Rightarrow Y(s)={\frac {C(s)}{s}}\\u(z)={\frac {1}{1-z^{-1}}}\Rightarrow Y(z)={\frac {C(z)}{1-z^{-1}}}\end{cases}}\Rightarrow {\frac {1}{1-z^{-1}}}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\}$
Applicare il metodo di invarianza della risposta al gradino è matematicamente equivalente a fare la trasformata zeta di $C(s)$ in cascata ad un fittizio Z.O.H.:
    ${\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\}$
       metodo valido: garantisce l'assenza di aliasing
* metodo della corrispondenza poli-zeri: calcola direttamente i poli e gli zeri di $C(z)$ a partire da quelli di $C(s)$ ($z=e^{sT}$):
    metodo valido

## Progetto per la realizzazione del controllore digitale

* si sceglie il passo di campionamento $T$:
** si considera come prima scelta un valore dell'ordine di qualche millisecondo:
    $T={\frac {2\pi }{\alpha \omega _{B}}},\quad 5\leq \alpha \leq 20$
** si valuta il nuovo margine di fase $m_{\varphi }$ della funzione d'anello corrispondente alla cascata del campionatore, del controllore e del filtro Z.O.H. approssimato (basta introdurre il termine $1+s{\tfrac {T}{2}}$ a denominatore della funzione d'anello del sistema da controllare);
** se il margine di fase $m_{\varphi }$ risulta insufficiente, si riduce il passo di campionamento $T$ per quanto possibile;
* si sceglie un metodo di discretizzazione e si calcola la funzione $C(z)$ del controllore digitale a partire da $C(s)$;
* si verifica il comportamento del sistema complessivo in presenza del controllore digitale $C(z)$:
** analisi a tempo discreto (in frequenza e nel tempo): si trasformano in zeta la funzione d'anello $G_{a}(s)$ e la funzione di trasferimento in catena chiusa $W_{y}(s)$ del sistema, scegliendo il metodo di invarianza della risposta al gradino come metodo per trasformare la funzione $F(s)$ del sistema da controllare;
** simulazione del sistema ibrido con Simulink.