feat: Aggiunta sezione riguardante i controllori digitali
All checks were successful
Build document / build (push) Successful in 10s
All checks were successful
Build document / build (push) Successful in 10s
This commit is contained in:
@@ -519,4 +519,48 @@ Dopo aver aggiunto il polo è necessario controllare di nuovo la sovraelongazion
|
||||
|
||||
In ogni caso se la specifica sul disturbo sinusoidale è violata di poco la penalizzazione è minima ($\sim 1$ punto).
|
||||
|
||||
\section{Controllori digitali}
|
||||
\subsection{L'implementazione analogica} Il controllore $G_c(s)$ appena progettato è un sistema dinamico LTI a \textbf{tempo continuo}. La sua implementazione pratica, che può essere ottenuta direttamente dalla funzione di trasferimento $G_c(s)$, è un circuito elettronico analogico costituito da amplificatori operazionali con un certo numero di elementi passivi (resistori, condensatori, induttori). Esistono degli schemi circuitali generali con relative formule che permettono di ottenere il circuito partendo dalla funzione di trasferimento.
|
||||
|
||||
\subsection{L'implementazione digitale} In molti casi il controllore è implementato in forma digitale. Gli elementi fondamentali sono:
|
||||
\begin{itemize}
|
||||
\item Elaboratore digitale: calcola il segnale di comando a partire dalla misura del sensore e dal valore di riferimento.
|
||||
\item Convertitore A/D: trasforma il segnale analogico del sensore in un segnale digitale.
|
||||
\item Convertitore D/A: trasforma il comando digitale in un segnale analogico che pilota l'attuatore.
|
||||
\end{itemize}
|
||||
|
||||
Il risultato della conversione A/D è un segnale discreto nel tempo e quantizzato. Un parametro importante è il tempo di sample $T_s$.
|
||||
|
||||
\paragraph{L'elaboratore digitale} L'elaboratore digitale implementa l'algoritmo di controllo:
|
||||
\begin{itemize}
|
||||
\item Generazione del segnale di riferimento da applicare al sistema di controllo
|
||||
\item Calcolo a ogni tempo di sample la differenza $e$ tra il segnale di riferimento e il segnale ottenuto dal convertitore A/D moltiplicato per la costante $G_f$: $e(k) = r(k) - y(k) \cdot G_f$
|
||||
\item Il segnale $e(k)$ deve essere elaborato in modo da generare il segnale di controllo $u(k)$, che è il segnale campionato corrispondente al segnale analogico $u(s)$ generato da $G_c(s)$.
|
||||
\end{itemize}
|
||||
|
||||
Per fare quest'ultima operazione è necessario trasformare il controllore $G_c(s)$ in un sistema LTI a \textbf{tempo discreto}. Ciò si ottiene attraverso la trasformata z, che ci permette di calcolare $G_{cd}(z)$. Con \matlab:
|
||||
\begin{lstlisting}
|
||||
Gcd = czd(Gc, Ts, 'matched')
|
||||
\end{lstlisting}
|
||||
|
||||
Vale la relazione:
|
||||
\[ u(z) = G_{cd}(z)\cdot e(z) \]
|
||||
|
||||
Si antitrasforma quindi la $u(z)$ utilizzando le proprietà note (linearita, traslazione, \ldots) e si ottiene quindi la formula da implementare per ottenere il campione $u(k)$. In genere $u(k)$ dipende sia dal segnale $e$ che del segnale $u$ dell'istante attuale e degli istanti precedenti, che quindi devono essere memorizzati.
|
||||
|
||||
\paragraph{L'effetto del convertitore D/A sul sistema} Il convertitore D/A trasforma il segnale discreto $u(k)$ nel segnale a tempo continuo $u(t)$. Il segnale si approssima in genere con un filtro \emph{zero order hold}, che mantiene costante il segnale tra l'istante corrispondente a $k$ e $k+1$. Il filtro \emph{zero order hold} si può descrivere con una funzione di trasferimento a tempo continuo:
|
||||
\[ G_{zoh} (s) = \frac{1 - e^{-Ts}}{s} \simeq \frac{T_s}{1 + s\frac{T_s}{2}} \]
|
||||
Il filtro di tenuta modifica il comportamento del sistema di controllo, pertanto all'inizio della progettazione del sistema di controllo è bene includere la funzione $G_{zoh}$ nella funzione di trasferimento dell'impianto $G_p$. Osserviamo che è presente un polo che causa a una perdita di fase alla $\omega_{c,des}$. In particolare è possibile dimostrare che per contenere tale perdita di fase tra i -6° e -3° il tempo di campionamento va scelto nel seguente range:
|
||||
\[ \omega_{c,des} \cdot T_s \in (0.1, 0.2) \]
|
||||
|
||||
|
||||
\paragraph{Riassumendo} Quando si progetta un sistema di controllo analogico che deve poi essere implementato in forma digitale, si deve:
|
||||
\begin{itemize}
|
||||
\item Scegliere $T_s$ in modo che la perdita di fase alla $\omega_{c,des}$ sia al più 6° (vedi formula precedente).
|
||||
\item Si definisce $\tilde{G_p(s)} = \frac{1}{1+s \frac{T_s}{2}}G_p(s)$.
|
||||
\item Si progetta il sistema considerando come impianto $\tilde{G_p(s)}$.
|
||||
\item Si calcola $G_{cd}(z)$ con il comando \emph{czd}.
|
||||
\end{itemize}
|
||||
\simulink può simulare automaticamente il sistema in tempo discreto considerando l'effetto dello \emph{zero order hold}.
|
||||
|
||||
\end{document}
|
||||
|
||||
Reference in New Issue
Block a user