Controllo deadbeat: differenze tra le versioni

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Contenuto cancellato Contenuto aggiunto
eliminato template "da verificare" cfr discussione
Nessun oggetto della modifica
Riga 11: Riga 11:
<math>G(z)=\frac{D(z)G_p(z)}{1+D(z)G_p(z)}</math>
<math>G(z)=\frac{D(z)G_p(z)}{1+D(z)G_p(z)}</math>


In questo contesto <math>D(z)</math> è il controllore e <math>G_p(z)</math> la funzione di trasferimento del plant in anello aperto.
In questo contesto <math>D(z)</math> è il controllore e <math>G_p(z)</math> la funzione di trasferimento del plant.
====Raggiungimento del valore finale in tempo minimo====
====Raggiungimento del valore finale in tempo minimo====
Affinché l'uscita raggiunga il valore finale in un numero limitato di passi si impone che essa sia del tipo<math>G_m(z)=a_0+a_1z^{-1}+...+a_Nz^{-N}</math> dove, poiché il ritardo nel sistema in anello chiuso non può essere inferiore al ritardo del sistema in anello aperto, dev'essere <math>N\ge n</math> se n è il grado del polinomio caratteristico del plant.
Affinché l'uscita raggiunga il valore finale in un numero limitato di passi, si impone che essa sia del tipo<math>G_m(z)=a_0+a_1z^{-1}+...+a_Nz^{-N}</math> dove, poiché il ritardo nel sistema in anello chiuso non può essere inferiore al ritardo del sistema in anello aperto, dev'essere <math>N\ge n</math> se n è il grado del polinomio caratteristico del plant.


Imponendo la condizione <math>G_m(z)=G(z)</math> è possibile esplicitare la funzione di trasferimento del controllore:
Imponendo la condizione <math>G_m(z)=G(z)</math> è possibile esplicitare la funzione di trasferimento del controllore:
Riga 19: Riga 19:
<math> D(z)=\frac{G_m(z)}{G_p(z)\left [1-G_m(z)\right ]} </math>
<math> D(z)=\frac{G_m(z)}{G_p(z)\left [1-G_m(z)\right ]} </math>


Benché teoricamente sia sempre possibile costruire un regolatore con questa struttura, affinché esso sia stabile, causale e di conseguenza realizzabile anche nella pratica, devono essere rispettate una serie di condizioni.
Si noti come il regolatore possiede la dinamica inversa del plant. Benché teoricamente sia sempre possibile costruire un regolatore con questa struttura, affinché esso sia stabile, causale e di conseguenza realizzabile anche nella pratica, devono essere rispettate una serie di condizioni.
Le condizioni di causalità sono:
Le condizioni di causalità sono:
# Il grado del numeratore di D(z) non può essere maggiore del grado del denumeratore
# Il grado del numeratore di D(z) non può essere maggiore del grado del denominatore
# Se nel plant è presente un ritardo di k intervalli di campionamento, nel controllore dev'esserci necessariamente un ritardo di h intervalli di campionamento con <math>h\ge k</math>
# Se nel plant è presente un ritardo di k intervalli di campionamento, nel controllore dev'esserci necessariamente un ritardo di h intervalli di campionamento con <math>h\ge k</math>

La prima di queste condizioni è dettata dal fatto che se il grado del numeratore della funzione di trasferimento è maggiore del grado del denominatore, essa risponde ad un impulso di Kronecker applicato all'istante zero con un segnale più veloce del segnale d'ingresso. Il sistema è quindi anticipativo e non è fisicamente realizzabile.

Le condizioni per la stabilità sono:
Le condizioni per la stabilità sono:
# Tutti i poli instabili o criticamente stabili di <math>G_p(z)</math> devono essere zeri di 1-G_m(z)
# Tutti i poli instabili o criticamente stabili di <math>G_p(z)</math> devono essere zeri di 1-G_m(z)
# Tutti gli zeri di <math>G_p(z)</math> che si trovano nella regione di instabilità devono essere zeri di <math>G_m(z)</math>
# Tutti gli zeri di <math>G_p(z)</math> che si trovano nella regione di instabilità devono essere zeri di <math>G_m(z)</math>

Queste condizioni sono necessarie poiché nella pratica non è possibile compensare con precisione i poli e gli zeri. A questo proposito è opportuno ricordare che un [[modello matematico]] non rappresenta il sistema in sé ma una sua approssimazione. Talvolta questi sistemi sono conosciuti soltanto grazie alle loro [[modello black box|variabili esterne]] e costituiscono quindi un'approssimazione decisamente grossolana. Per quanto detto è impossibile stabilire con precisione la posizione di un polo o di uno zero per compensarli con precisione. Tutto ciò non crea problemi alla stabilità del sistema quando i poli sono stabili ma la situazione diventa problematica se i poli sono instabili (ci si può rendere conto facilmente degli effetti di una cancellazione imperfetta di un polo o di uno zero analizzando il [luogo delle radici]] del sistema).


====Errore a regime nullo====
====Errore a regime nullo====
Riga 47: Riga 52:


====Evitare fenomeni di ringing====
====Evitare fenomeni di ringing====
Per capire cos'è il fenomeno del ringing e come prevenirlo bisogna studiare la dinamica della variabile di attuazione. A questo proposito si consideri un plant con tutti i poli e gli zeri nella regione di stabilità e sia <math>p_1=-a</math> un polo del controllore molto vicino al punto -1. Con questi presupposti si [[Controllo deadbeat#metodo semplificato|dimostra]] che il controllore per ingressi a gradino si può scrivere nella forma: <math> D(z)=\frac{1}{(s-a)\tilde{G}_p(z)}\frac{1}{z^h-1}</math>
I fenomeni di ringing si verificano solitamente per periodi di campionamento troppo piccoli e possono saturare gli attuatori nel sistema reale.

In questo caso la variabile di attuazione può essere descritta dalla funzione di trasferimento: <math>\frac{U(z)}{V(z)}=\frac{D(z)}{1+D(z)G_p(z)}=\frac{1}{\tilde{G}_p(z)(z-a)}z^{-h}</math>.

Utilizzando l'espansione in fratti semplici è possibile dimostrare che il polo in -a dà un contributo alla variabile di attuazione del tipo <math>(-a)^{k}</math> cioè alternato con modulo decrescente. In altre parole si può avere una variabile di attuazione che varia in maniera molto brusca, soprattutto all'inizio, e può danneggiare gli attuatori.

Questo fenomeno si verifica solitamente per periodi di campionamento molto piccoli.

Per evitare fenomeni di ringing bisogna imporre delle condizioni sulla variabile di attuazione. A questo proposito si può mettere in relazione la variabile di attuazione con il segnale di ingresso:
Per evitare fenomeni di ringing bisogna imporre delle condizioni sulla variabile di attuazione. A questo proposito si può mettere in relazione la variabile di attuazione con il segnale di ingresso:


<math>U(z)=\frac{Y(z)}{G_p(z)}=G_m(z)\frac{V(z)}{G_p(z)}</math>
<math>U(z)=\frac{Y(z)}{G_p(z)}=G_m(z)\frac{V(z)}{G_p(z)}</math>


In questo modo è possibile "scegliere" la funzione la forma
In questo modo è possibile "scegliere" la funzione la forma desiderata per la variabile di attuazione e ricavare le costanti del polinomio <math>G_m(z)</math>.
===Metodo semplificato===
===Metodo semplificato===
Se il plant non ha poli né zeri fuori dal cerchio unitario si può considerare un metodo semplificato per la progettazione del controllore.
Se il plant non ha poli né zeri fuori dal cerchio unitario si può considerare un metodo semplificato per la progettazione del controllore.


In questo caso infatti si può sempre raggiungere la situazione ideale in cui <math>G_m(z)=z^{-k}</math>. Il sistema in questo caso si comporta a tutti gli effetti come un vero e proprio "deadbeat", un "tempo morto", poiché l'uscita segue fedelmente l'ingresso dopo k istanti di campionamento.
In questo caso infatti si può sempre raggiungere la situazione ideale in cui <math>G_m(z)=z^{-k}</math>. Il sistema in questo caso si comporta a tutti gli effetti come un vero e proprio "deadbeat", un "tempo morto", poiché l'uscita segue fedelmente l'ingresso dopo k istanti di campionamento.
Riga 89: Riga 101:
*C. Bonivento, C. Melchiorri, R. Zanasi, ''Sistemi di controllo digitale'', Esculapio, 1995. 8885040969
*C. Bonivento, C. Melchiorri, R. Zanasi, ''Sistemi di controllo digitale'', Esculapio, 1995. 8885040969
*I. D. Landau, G. Zito, ''Digital control systems'', Springer, 2006. 1846280559
*I. D. Landau, G. Zito, ''Digital control systems'', Springer, 2006. 1846280559
{{Portale|Controlli automatici}}


[[Categoria:Teoria del controllo]]
[[Categoria:Teoria del controllo]]

Versione delle 15:39, 3 mag 2013

Il controllo deadbeat, nell'ambito del controllo automatico, è una tecnica usata per sintetizzare dei controllori analogici o digitali. Ha come obbiettivi principali, in risposta ad un dato segnale in ingresso, il raggiungimento del valore finale nel tempo minimo e l'assenza di errore a regime.

Controllori digitali

Un controllore digitale deadbeat richiede che, in seguito all'applicazione di un segnale di prova (gradino, rampa, parabola, ecc.):

  1. l'uscita raggiunga il valore finale nel tempo minimo
  2. l'errore a regime sia nullo
  3. non ci siano oscillazioni (ringing) tra gli istanti di campionamento

Progettazione

Si considera anzitutto un sistema in retroazione unitaria, descritto dalla funzione di trasferimento discreta:

In questo contesto è il controllore e la funzione di trasferimento del plant.

Raggiungimento del valore finale in tempo minimo

Affinché l'uscita raggiunga il valore finale in un numero limitato di passi, si impone che essa sia del tipo dove, poiché il ritardo nel sistema in anello chiuso non può essere inferiore al ritardo del sistema in anello aperto, dev'essere se n è il grado del polinomio caratteristico del plant.

Imponendo la condizione è possibile esplicitare la funzione di trasferimento del controllore:

Si noti come il regolatore possiede la dinamica inversa del plant. Benché teoricamente sia sempre possibile costruire un regolatore con questa struttura, affinché esso sia stabile, causale e di conseguenza realizzabile anche nella pratica, devono essere rispettate una serie di condizioni. Le condizioni di causalità sono:

  1. Il grado del numeratore di D(z) non può essere maggiore del grado del denominatore
  2. Se nel plant è presente un ritardo di k intervalli di campionamento, nel controllore dev'esserci necessariamente un ritardo di h intervalli di campionamento con

La prima di queste condizioni è dettata dal fatto che se il grado del numeratore della funzione di trasferimento è maggiore del grado del denominatore, essa risponde ad un impulso di Kronecker applicato all'istante zero con un segnale più veloce del segnale d'ingresso. Il sistema è quindi anticipativo e non è fisicamente realizzabile.

Le condizioni per la stabilità sono:

  1. Tutti i poli instabili o criticamente stabili di devono essere zeri di 1-G_m(z)
  2. Tutti gli zeri di che si trovano nella regione di instabilità devono essere zeri di

Queste condizioni sono necessarie poiché nella pratica non è possibile compensare con precisione i poli e gli zeri. A questo proposito è opportuno ricordare che un modello matematico non rappresenta il sistema in sé ma una sua approssimazione. Talvolta questi sistemi sono conosciuti soltanto grazie alle loro variabili esterne e costituiscono quindi un'approssimazione decisamente grossolana. Per quanto detto è impossibile stabilire con precisione la posizione di un polo o di uno zero per compensarli con precisione. Tutto ciò non crea problemi alla stabilità del sistema quando i poli sono stabili ma la situazione diventa problematica se i poli sono instabili (ci si può rendere conto facilmente degli effetti di una cancellazione imperfetta di un polo o di uno zero analizzando il [luogo delle radici]] del sistema).

Errore a regime nullo

Si considera un ingresso nella forma:

Essa comprende i segnali di riferimento più semplici:

  • per e si ha il gradino unitario
  • per si ha la rampa unitaria

e così via.

Si vuole che l'errore vada a zero in un tempo finito e che rimanga tale. Poiché la dinamica dell'errore si può scrivere come:

si impone la condizione dove è un generico polinomio in . In questo modo si verifica facilmente che l'errore avrà la dinamica e andrà quindi a zero dopo un numero finito di passi, quale che sia il valore di purché siano rispettate le condizioni di stabilità e causalità.

Evitare fenomeni di ringing

Per capire cos'è il fenomeno del ringing e come prevenirlo bisogna studiare la dinamica della variabile di attuazione. A questo proposito si consideri un plant con tutti i poli e gli zeri nella regione di stabilità e sia un polo del controllore molto vicino al punto -1. Con questi presupposti si dimostra che il controllore per ingressi a gradino si può scrivere nella forma:

In questo caso la variabile di attuazione può essere descritta dalla funzione di trasferimento: .

Utilizzando l'espansione in fratti semplici è possibile dimostrare che il polo in -a dà un contributo alla variabile di attuazione del tipo cioè alternato con modulo decrescente. In altre parole si può avere una variabile di attuazione che varia in maniera molto brusca, soprattutto all'inizio, e può danneggiare gli attuatori.

Questo fenomeno si verifica solitamente per periodi di campionamento molto piccoli.

Per evitare fenomeni di ringing bisogna imporre delle condizioni sulla variabile di attuazione. A questo proposito si può mettere in relazione la variabile di attuazione con il segnale di ingresso:

In questo modo è possibile "scegliere" la funzione la forma desiderata per la variabile di attuazione e ricavare le costanti del polinomio .

Metodo semplificato

Se il plant non ha né poli né zeri fuori dal cerchio unitario si può considerare un metodo semplificato per la progettazione del controllore.

In questo caso infatti si può sempre raggiungere la situazione ideale in cui . Il sistema in questo caso si comporta a tutti gli effetti come un vero e proprio "deadbeat", un "tempo morto", poiché l'uscita segue fedelmente l'ingresso dopo k istanti di campionamento.

In questa situazione, per ingressi a gradino, è facile verificare che il controllore può essere riscritto come:

Si noti come non vengono imposte delle specifiche sulla variabile di attuazione. In altre parole questo metodo da solo non è in grado di evitare fenomeni di ringing.

Metodo semplificato con specifica sull'attuazione

E' possibile considerare un altro metodo semplificato per la progettazione di un controllore deadbeat, imponendo delle specifiche sulla variabile di attuazione.

Si consideri un generico plant .

Si moltiplica e divide per una costante affinché la somma dei coefficienti del numeratore sia pari ad uno, ottenendo una nuova funzione nella forma: .

Il controllore sarà quindi:

Controllori analogici

Nei sistemi a tempo continuo il controllo deadbeat richiede, in risposta ad un particolare ingresso:

  1. Errore nullo a regime
  2. Tempo di salita minimo
  3. Tempo di assestamento minimo
  4. Meno del 2% di overshoot/undershoot
  5. Output del segnale di controllo molto alto


Si noti come, a differenza del controllo digitale, il controllo analogico non può garantire che l'uscita raggiunga il segnale di riferimento in un tempo finito.

Bibliografia

  • C. Bonivento, C. Melchiorri, R. Zanasi, Sistemi di controllo digitale, Esculapio, 1995. 8885040969
  • I. D. Landau, G. Zito, Digital control systems, Springer, 2006. 1846280559