24
Simone Buso - Microcontrollori e DSP - Lezione 12 1 Lezione 12 Sommario Uso di mC e DSP in applicazioni di Signal Processing e controllo Filtri FIR e IIR Regolatori PI e PID Regolatori predittivi (cenni) Simone Buso - Microcontrollori e DSP - Lezione 12 2 Lezione 12 Materiale di riferimento 1. D. Glover, J.R. Deller, “Digital Signal Processing and the Microcontroller”, Prentice Hall, 1999. 2. A.V. Oppenheim, R.W. Schafer, J.R. Buck, “Discrete Time Signal Processing”, Second Edition, Prentice Hall. 3. K. Ogata, “Discrete Time Control Systems”, Prentice Hall, 1987. 4. M. Morari, E. Zafirou, “Robust Process Control”, Prentice Hall, 1989.

Lezione 12 - Università degli studi di Padovastatic.gest.unipd.it/~buso/mc_&_DSP_Lezioni/Lezione_12_(2... · 2011-02-24 · Simone Buso - Microcontrollori e DSP - Lezione 12 13 Filtro

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lezione 12 - Università degli studi di Padovastatic.gest.unipd.it/~buso/mc_&_DSP_Lezioni/Lezione_12_(2... · 2011-02-24 · Simone Buso - Microcontrollori e DSP - Lezione 12 13 Filtro

1

Simone Buso - Microcontrollori e DSP - Lezione 12 1

Lezione 12Sommario• Uso di mC e DSP in applicazioni di

Signal Processing e controllo• Filtri FIR e IIR• Regolatori PI e PID• Regolatori predittivi (cenni)

Simone Buso - Microcontrollori e DSP - Lezione 12 2

Lezione 12Materiale di riferimento1. D. Glover, J.R. Deller, “Digital Signal

Processing and the Microcontroller”, PrenticeHall, 1999.

2. A.V. Oppenheim, R.W. Schafer, J.R. Buck, “Discrete Time Signal Processing”, Second Edition, Prentice Hall.

3. K. Ogata, “Discrete Time Control Systems”, Prentice Hall, 1987.

4. M. Morari, E. Zafirou, “Robust ProcessControl”, Prentice Hall, 1989.

Page 2: Lezione 12 - Università degli studi di Padovastatic.gest.unipd.it/~buso/mc_&_DSP_Lezioni/Lezione_12_(2... · 2011-02-24 · Simone Buso - Microcontrollori e DSP - Lezione 12 13 Filtro

2

Simone Buso - Microcontrollori e DSP - Lezione 12 3

Digital Signal ProcessingUno degli usi più frequenti di mC e DSP è nello svolgimento di funzioni di elaborazione numerica del segnale e/o di controllo real-timedi processi o sistemi.La distinzione fondamentale tra queste due attività è data dalla retroazione, assente nella prima, indispensabile nella seconda.Le problematiche di questo tipo di applicazioni sono legate al funzionamento a tempo discretodei processori, alla precisione finita della loro aritmetica e alla quantizzazione di dati e coefficienti.

Simone Buso - Microcontrollori e DSP - Lezione 12 4

Digital Signal ProcessingLa teoria dei sistemi a tempo discreto e della elaborazione numerica del segnale è piuttosto complessa ed oggetto di corsi specifici.Esamineremo qui alcuni esempi di applicazione molto semplici, che vengono frequentemente utilizzati nella pratica.Lo scopo sarà solo quello di illustrare il funzionamento degli algoritmi considerati, senza fornire una giustificazione approfonditadella loro struttura e discutere nel dettaglio i criteri per il loro dimensionamento (i.e. scelta dei coefficienti).

Page 3: Lezione 12 - Università degli studi di Padovastatic.gest.unipd.it/~buso/mc_&_DSP_Lezioni/Lezione_12_(2... · 2011-02-24 · Simone Buso - Microcontrollori e DSP - Lezione 12 13 Filtro

3

Simone Buso - Microcontrollori e DSP - Lezione 12 5

Filtri digitali

Sorgente di segnale

Condizionamento

+-

Conversione A/D(S/H + quantizzazione)

Segnali a tempo continuo, analogici

Segnali a tempo discreto, analogici

Segnali a tempo discreto, digitali

Filtro

DSP

y

t

s(t)

k

s(kT)

T

s

Simone Buso - Microcontrollori e DSP - Lezione 12 6

Filtri digitaliIn un filtro digitale, un segnale viene acquisito dal mC o DSP attraverso un convertitore A/D.Questo produce due effetti: campionamento e quantizzazione.Il campionamento trasforma il segnale da tempo continuo s(t) a tempo discreto s(kT).La quantizzazione trasforma il segnale da analogico a numerico (o digitale).L’elaborazione avviene quindi sulla sequenza di campioni e produce una nuova sequenza (y).

Page 4: Lezione 12 - Università degli studi di Padovastatic.gest.unipd.it/~buso/mc_&_DSP_Lezioni/Lezione_12_(2... · 2011-02-24 · Simone Buso - Microcontrollori e DSP - Lezione 12 13 Filtro

4

Simone Buso - Microcontrollori e DSP - Lezione 12 7

Filtri digitaliCome i filtri analogici, anche i filtri digitali possono essere di tipo:1. passa basso;2. passa alto;3. passa banda o elimina banda;

a seconda dell’andamento della loro risposta in frequenza.Ogni filtro analogico può essere riprodotto, più o meno fedelmente, per via digitale. Il vice-versa non è vero: esistono filtri digitali che non hanno equivalente analogico (filtri FIR).

Simone Buso - Microcontrollori e DSP - Lezione 12 8

Filtri digitaliOgni filtro digitale è esprimibile attraverso una equazione alle differenze del tipo:

y(k) = b0x(k) + b1x(k-1) + … + bnx(k-n) ++ a1y(k-1) + a2y(k-2) + … +amy(k-m)

Quando almeno uno dei coefficienti ai è <> 0 il filtro si dice di tipo IIR (a risposta impulsiva infinita).Un filtro FIR (a risposta impulsiva finita) è invece caratterizzato da coefficienti ai tutti identicamente nulli. Esso corrisponde ad una combinazione lineare di ritardi sull’ingresso.

Page 5: Lezione 12 - Università degli studi di Padovastatic.gest.unipd.it/~buso/mc_&_DSP_Lezioni/Lezione_12_(2... · 2011-02-24 · Simone Buso - Microcontrollori e DSP - Lezione 12 13 Filtro

5

Simone Buso - Microcontrollori e DSP - Lezione 12 9

Filtro passa basso di tipo IIRUn esempio molto semplice di filtro passa basso di tipo IIR è il seguente:

y(k) = b·x(k) + (1-b)·y(k-1)

E’ possibile analizzare la risposta al gradino di questo filtro, ovvero la sua risposta alla sequenza di ingresso g = {1, 1, 1, 1, 1, … }.Scegliendo, per esempio, b = 0.1 si ha:y = {0.1, 0.19, 0.27, 0.34, 0.41, … }.La sequenza y tende a 1, con un transitorio che non si estingue mai a causa del termine y(k-1). Si parla di filtro ricorsivo.

Simone Buso - Microcontrollori e DSP - Lezione 12 10

Filtro passa basso di tipo IIR

Il nostro filtro IIR risponde al gradino come se fosse la versione campionatadi un filtro analogico di tipo passa-basso del primo ordine.

La sua velocità di risposta, rispetto al periodo di campionamento, dipende dalla nostra scelta di b. Più b è elevato, purchè < 1 (!), più la risposta sarà veloce.

k

1

0.5

10 20 30 40 50 60 70 80

y

Page 6: Lezione 12 - Università degli studi di Padovastatic.gest.unipd.it/~buso/mc_&_DSP_Lezioni/Lezione_12_(2... · 2011-02-24 · Simone Buso - Microcontrollori e DSP - Lezione 12 13 Filtro

6

Simone Buso - Microcontrollori e DSP - Lezione 12 11

Filtro passa basso di tipo IIRAl variare di b tra 0 e 1 possiamo ottenere qualsiasi risposta di tipo passa basso. I coefficienti di x(k) e y(k-1) possono essere scelti in modo non vincolato, tuttavia:1. se la somma dei coefficienti è pari a 1

allora il guadagno del filtro è unitario;2. se il coefficiente di y(k-1) ha modulo < 1

allora il filtro risulta stabile.Ad esempio, il filtro descritto da:

y(k) = 2.1·x(k) - 1.1·y(k-1)

è instabile!

Simone Buso - Microcontrollori e DSP - Lezione 12 12

Filtro passa basso di tipo IIRQuando si vuole ottenere dal filtro una risposta molto veloce, si è portati a scegliere b molto vicino a 1.In questi casi, però, la precisione finita del processore a disposizione limita la nostra possibilità di rappresentare i coefficienti!Ad esempio, in un processore a 8 bit,scegliere b > 0.992 comporta l’impossibilità di rappresentare poi correttamente 1-b.Infatti, il minimo numero rappresentabile sarà pari a 2-7 ≅ 0.008. Al di sotto di tale quantità tutti i numeri sono visti come 0.

Page 7: Lezione 12 - Università degli studi di Padovastatic.gest.unipd.it/~buso/mc_&_DSP_Lezioni/Lezione_12_(2... · 2011-02-24 · Simone Buso - Microcontrollori e DSP - Lezione 12 13 Filtro

7

Simone Buso - Microcontrollori e DSP - Lezione 12 13

Filtro passa basso di tipo FIRUn filtro come il precedente, si può ottenere anche in modo non ricorsivo. Ad esempio, un filtro del tipo:

y(k) = 1N Σ x(k-i)

i=0

N-1·

è detto filtro a media mobile di ordine N. Ha caratteristiche di tipo passabasso, ma la sua risposta si assesta dopo N periodi di campionamento. Come tutti i filtri FIR, non ha problemi di stabilità in caso di errata scelta dei coefficienti.

Simone Buso - Microcontrollori e DSP - Lezione 12 14

Filtro passa basso di tipo FIRConsiderando ad esempio il caso N=4, il filtro risponde al gradino g = {1, 1, 1, … } con la sequenza y = {0.25, 0.5, 0.75, 1, 1, 1, … }.Quindi, dopo solo 4 passi il suo transitorio è concluso. Una simile risposta non può essere ottenuta da alcun filtro analogico.Osserviamo che, per rendere simili le risposte al gradino dei due filtri, è necessario considerare per il filtro FIR un ordine molto più elevato (oppure un valore di b molto più alto per il filtro IIR).

Page 8: Lezione 12 - Università degli studi di Padovastatic.gest.unipd.it/~buso/mc_&_DSP_Lezioni/Lezione_12_(2... · 2011-02-24 · Simone Buso - Microcontrollori e DSP - Lezione 12 13 Filtro

8

Simone Buso - Microcontrollori e DSP - Lezione 12 15

Filtro passa basso di tipo FIRConsiderando ad esempio il caso N=22, i due filtri rispondono in modo simile.

k

1

0.5

10 20 30 40 50 60 70 80

yIIR

yFIR

Il filtro FIR richiede però una maggiore quantità di calcoli per produrre una risposta simile al filtro IIR (22 termini invece di 2). Questo è un dato di valore generale.

Simone Buso - Microcontrollori e DSP - Lezione 12 16

Risposta in frequenzaAnche per i filtri digitali si può valutare la risposta in frequenza, proprio come per i filtri analogici.

Filtro analogico1

9s + 1PB(s) =

Filtro IIR

Filtro FIR (N=22)

dB

f/F0.50.050.01

0

-50

-20

-40

Frequenza di Nyquist

-3

0.017

0.1

Page 9: Lezione 12 - Università degli studi di Padovastatic.gest.unipd.it/~buso/mc_&_DSP_Lezioni/Lezione_12_(2... · 2011-02-24 · Simone Buso - Microcontrollori e DSP - Lezione 12 13 Filtro

9

Simone Buso - Microcontrollori e DSP - Lezione 12 17

Risposta in frequenzaAnche dal punto di vista della risposta in frequenza (N.B. ragioniamo solo sul modulo) i filtri hanno un comportamento simile.Il filtro FIR presenta dei fenomeni di cancellazione (alcune frequenze vengono eliminate) dovuti alla periodicità della sua struttura. L’inviluppo del modulo della sua risposta in frequenza segue quello del filtro IIR e del filtro analogico di riferimento.Il filtro IIR e quello analogico rispondono in modo praticamente identico (uno è proprio la versione discretizzata dell’altro).

Simone Buso - Microcontrollori e DSP - Lezione 12 18

Filtro passa alto di tipo IIRUn semplice filtro passa alto si può ottenere usando la seguente equazione alle differenze:

y(k) = x(k) – x(k-1) + a·y(k-1)

Si tratta di una equazione ricorsiva che quindi individua un filtro IIR. Il parametro apermette di tarare la risposta del filtro.Tutto funziona a dovere se: 0 < a < 1,altrimenti si possono risposte oscillatorie (smorzate) o addirittura comportamenti instabili del filtro. In realtà, conviene almeno prendere a > 0.5.

Page 10: Lezione 12 - Università degli studi di Padovastatic.gest.unipd.it/~buso/mc_&_DSP_Lezioni/Lezione_12_(2... · 2011-02-24 · Simone Buso - Microcontrollori e DSP - Lezione 12 13 Filtro

10

Simone Buso - Microcontrollori e DSP - Lezione 12 19

Filtro passa alto di tipo IIR

Il nostro filtro IIR risponde al gradino come se fosse la versione campionatadi un filtro analogico di tipo passa-alto del primo ordine.

Il grafico è ottenuto per a = 0.91. Valori più piccoli di a producono risposte più veloci.

1

0.5

k

010 20 30 40 50 60 700

Simone Buso - Microcontrollori e DSP - Lezione 12 20

Filtro passa alto di tipo FIRUn filtro come il precedente, si può ancora ottenere in modo non ricorsivo. Ad esempio, un filtro del tipo:

è un filtro passa alto di ordine N. La sua risposta al gradino si assesta dopo N periodi di campionamento. Per avere una risposta confrontabile con quella del filtro precedente N deve essere elevato (>20).

y(k) = 1N Σ x(k-i)

i=1

N-1·x(k) -N-1

Page 11: Lezione 12 - Università degli studi di Padovastatic.gest.unipd.it/~buso/mc_&_DSP_Lezioni/Lezione_12_(2... · 2011-02-24 · Simone Buso - Microcontrollori e DSP - Lezione 12 13 Filtro

11

Simone Buso - Microcontrollori e DSP - Lezione 12 21

Risposta in frequenza

0

-20

-40

-600.50.01 0.10.001 f/F

dB

-3

0.017

Frequenza di Nyquist

Filtro analogico10s

10s + 1PB(s) =

Filtro IIR

Filtro FIR (N=22)

Anche in questo caso le risposte in frequenza sono molto simili: la frequenza di taglio è ben minore della frequenza di campionamento.

Simone Buso - Microcontrollori e DSP - Lezione 12 22

DiscretizzazioneÈ sempre possibile ricorrere a tecniche di discretizzazione per trasformare un filtro a tempo continuo in uno a tempo discreto.Il modo più comune consiste nell’approssimare l’operatore integrale (1/s) con una sua versione a tempo discreto, ad esempio basata sull’approssimazione di Eulero:

Σ x(k)k=1

n·T∫ x dt ≅

0

nTdove T è detto passo di integrazione.

Page 12: Lezione 12 - Università degli studi di Padovastatic.gest.unipd.it/~buso/mc_&_DSP_Lezioni/Lezione_12_(2... · 2011-02-24 · Simone Buso - Microcontrollori e DSP - Lezione 12 13 Filtro

12

Simone Buso - Microcontrollori e DSP - Lezione 12 23

DiscretizzazionePossiamo quindi scrivere:

Int_x(nT) ≅ T·[x(1)+x(2)+…+x(n-1)+x(n)]

Int_x[(n-1)T]

Int_x(nT) = Int_x[(n-1)T]+T·x(n)

ovvero

1s

= T1-z-1

da cui deriviamo

s =T

1-z-1ritardo unitario

Simone Buso - Microcontrollori e DSP - Lezione 12 24

DiscretizzazioneTrattandosi di un procedimento approssimato, la discretizzazione non conserva la risposta in frequenza del filtro che viene discretizzato. Infatti la risposta in frequenza del filtro originale viene perturbata e si introduce una distorsione (warping). Bisogna quindi usare la massima attenzione nell’applicazione di questo metodo, per evitare comportamenti imprevisti da parte del filtro numerico. Una regola di comodo è quella di ritenere affidabili i risultati solo fino a frequenze pari al massimo ad 1/10 della frequenza di campionamento.

Page 13: Lezione 12 - Università degli studi di Padovastatic.gest.unipd.it/~buso/mc_&_DSP_Lezioni/Lezione_12_(2... · 2011-02-24 · Simone Buso - Microcontrollori e DSP - Lezione 12 13 Filtro

13

Simone Buso - Microcontrollori e DSP - Lezione 12 25

DiscretizzazioneEsistono metodi di discretizzazione più raffinati, che mantengono una migliorecorrispondenza tra le due risposte in frequenza. Ad esempio:

s =T

1-z-121+z-1·

Integrazione trapezoidale, o trasformata di Tustin.

Infine, esistono metodi basati sull’invarianzadella risposta ad un segnale canonico, ad esempio il gradino o la rampa.

Simone Buso - Microcontrollori e DSP - Lezione 12 26

Controllo real-timeIl controllo digitale a catena chiusa di sistemi o processi richiede, da parte del mC o DSP in uso, l’elaborazione di segnali prelevati dal campo secondo algoritmi opportuni, che corrispondono a regolatori per il sistema da controllare.Il progetto di tali regolatori richiede l’applicazione della teoria dei controlli automatici estesa ai sistemi a tempo discreto.La loro realizzazione richiede invece l’uso delle tecniche di signal processing richieste anche dalla sintesi dei filtri.

Page 14: Lezione 12 - Università degli studi di Padovastatic.gest.unipd.it/~buso/mc_&_DSP_Lezioni/Lezione_12_(2... · 2011-02-24 · Simone Buso - Microcontrollori e DSP - Lezione 12 13 Filtro

14

Simone Buso - Microcontrollori e DSP - Lezione 12 27

Controllo real-time

Sistema

Condizionamento

+-

Conversione A/D(S/H + quantizzazione)

Algoritmo di

controllo

mC

yAttuatore

u

Sistema di controllo a catena chiusa con mC

Trasduttore

tempo discreto

periferica

Simone Buso - Microcontrollori e DSP - Lezione 12 28

Controllo real-timeAnche per la sintesi dei controllori si possono considerare molti approcci diversi.Il più semplice consiste nel tradurre in un algoritmo di controllo, regolatori progettati nel dominio continuo del tempo, ancora una volta tramite discretizzazione.Il caso più comune in questo ambito è quello dei regolatori di tipo PID.In alternativa, si può ricorrere ad algoritmi di controllo che non hanno equivalente nel dominio continuo, come ad esempio i controllori predittivi.

Page 15: Lezione 12 - Università degli studi di Padovastatic.gest.unipd.it/~buso/mc_&_DSP_Lezioni/Lezione_12_(2... · 2011-02-24 · Simone Buso - Microcontrollori e DSP - Lezione 12 13 Filtro

15

Simone Buso - Microcontrollori e DSP - Lezione 12 29

Controllo real-timeÈ importante ricordare che, nella larga maggioranza dei casi, i regolatori impiegati in ambito industriale sono di tipo PID.I regolatori PID rappresentano, di norma, un compromesso molto buono tra complessità e prestazioni ottenibili.Si tratta di algoritmi estremamente robusti e relativamente facili da sintonizzare (pochi parametri).Le prestazioni offerte sono spesso più che soddisfacenti, anche se comunque inferioririspetto a quelle dei regolatori analogici.

Simone Buso - Microcontrollori e DSP - Lezione 12 30

Regolatore PIIn termini analogici un regolatore PI è caratterizzato da una relazione tra ingresso (i.e. errore) e uscita del tipo:

Y(s)

E(s)= kp + ki

skp = guadagno proporzionaleki = guadagno integrale

PI(s)uref

u

e y+-

Page 16: Lezione 12 - Università degli studi di Padovastatic.gest.unipd.it/~buso/mc_&_DSP_Lezioni/Lezione_12_(2... · 2011-02-24 · Simone Buso - Microcontrollori e DSP - Lezione 12 13 Filtro

16

Simone Buso - Microcontrollori e DSP - Lezione 12 31

Regolatore PIAttraverso discretizzazione, è possibile tradurre il regolatore PI a tempo continuo in un algoritmo di controllo. Naturalmente, le costanti kp e ki devono essere già state determinate.Si trovano allora le seguenti equazioni di controllo:

y(k) = kp·e(k) + yI(k)

yI(k) = ki·T·e(k) + yI(k-1)

parte integrale

k’i

Simone Buso - Microcontrollori e DSP - Lezione 12 32

Regolatore PI

++

++

kp

k’i

z-1

e yyI

k’i = ki·T (T è il periodo di campionamento).

z-1 = ritardo unitario

Realizzazione in parallelodell’algoritmo PI

Page 17: Lezione 12 - Università degli studi di Padovastatic.gest.unipd.it/~buso/mc_&_DSP_Lezioni/Lezione_12_(2... · 2011-02-24 · Simone Buso - Microcontrollori e DSP - Lezione 12 13 Filtro

17

Simone Buso - Microcontrollori e DSP - Lezione 12 33

Regolatore PIData la semplicità delle equazioni di controllo, il calcolo di y può essere molto veloce. Se si dispone di un mC o DSP dotato di istruzione MAC, il tutto può richiedere 3 cicli di clock:1. precarica dell’accumulatore con yI(k-1);2. calcolo di yI(k), i.e. MAC e(k),k’I; 3. calcolo di y(k), i.e. MAC e(k),kp;

Al termine, l’accumulatore conterrà y.

Naturalmente, quando si esegue una moltiplicazione, molte cose possono andare storte (overflow, effetti di quantizzazione, …)!

Simone Buso - Microcontrollori e DSP - Lezione 12 34

Regolatore PIDIn termini analogici un regolatore PID è caratterizzato da una relazione tra ingresso (i.e. errore) e uscita del tipo:

Y(s)

E(s)= kp +

kis + s·kd

kp = guadagno proporzionaleki = guadagno integrale

kd = guadagno derivativo

PID(s)uref

u

e y+-

Page 18: Lezione 12 - Università degli studi di Padovastatic.gest.unipd.it/~buso/mc_&_DSP_Lezioni/Lezione_12_(2... · 2011-02-24 · Simone Buso - Microcontrollori e DSP - Lezione 12 13 Filtro

18

Simone Buso - Microcontrollori e DSP - Lezione 12 35

Regolatore PIDL’azione derivativa pura non è realizzabile fisicamente (la funzione di trasferimento non è propria), tuttavia è possibile calcolarla numericamente, ad esempio così:

yd(k) = k’d·[e(k)-e(k-1)], k’d= kd/T

L’azione derivativa è comunque molto sensibileal rumore, che viene amplificato.Deve quindi essere usata con attenzione: un comune accorgimento consiste nell’introdurre un fattore di attenuazione per le frequenze più elevate.

Simone Buso - Microcontrollori e DSP - Lezione 12 36

Regolatore PIDL’azione derivativa viene spesso realizzata con il seguente algoritmo:

·[e(k)-e(k-1)] +yd(k) =kd

T+τL·yd(k-1)

τLT+τL

che corrisponde alla relazione a tempo continuo:

kd·sYd(s)E(s) 1+s·τL

=Termine di tipo passa-basso: limita l’azione derivativa in alta frequenza.

Page 19: Lezione 12 - Università degli studi di Padovastatic.gest.unipd.it/~buso/mc_&_DSP_Lezioni/Lezione_12_(2... · 2011-02-24 · Simone Buso - Microcontrollori e DSP - Lezione 12 13 Filtro

19

Simone Buso - Microcontrollori e DSP - Lezione 12 37

Regolatore PIDIn alternativa si può fare ricorso ad algoritmi più complessi, basati su formule di interpolazione lineare di più campioni.

Viene costruito un campione fittizio e* che è posto a metà dell’intervallo considerato (qui di 4 campioni) e il cui valore è la media dei campioni considerati.

k

e(k)

k-1k-2k-3

e*

∆T∆T/2

Simone Buso - Microcontrollori e DSP - Lezione 12 38

Regolatore PIDLa derivata viene poi espressa come media dei rapporti incrementali tra i campioni considerati ed il campione fittizio e*, ovvero:

dedt

e(k)–e*1.5T

≅ +14

·e(k-1)–e*

0.5Te(k-2)–e*

0.5Te(k-3)–e*

1.5T- -

essendo e* = 14

· [e(k)+e(k-1)+e(k-2)+e(k-3)]

dedt

≅16T

· [e(k)+3e(k-1)-3e(k-2)-e(k-3)]

da cui si trova:

Page 20: Lezione 12 - Università degli studi di Padovastatic.gest.unipd.it/~buso/mc_&_DSP_Lezioni/Lezione_12_(2... · 2011-02-24 · Simone Buso - Microcontrollori e DSP - Lezione 12 13 Filtro

20

Simone Buso - Microcontrollori e DSP - Lezione 12 39

Regolatore PIDE’ possibile mediare su più campioni, riducendo ancora la sensibilità del calcolo al rumore sovrapposto ai dati. Tuttavia, la velocità di risposta diviene più lenta al crescere del numero di campioni coinvolti.Non conviene quindi estendere il procedimento molto al di là di qualche campione, come nel nostro esempio.Inoltre, è possibile ricorrere a configurazioni alternative del regolatore, in cui la parte derivativa sia separata da quelle proporzionale e integrale.

Simone Buso - Microcontrollori e DSP - Lezione 12 40

Regolatore PID

PIuref

u

e y+-

+-

D

sistema u

Iuref

u

e y+-

+-

PD

sistema u

Page 21: Lezione 12 - Università degli studi di Padovastatic.gest.unipd.it/~buso/mc_&_DSP_Lezioni/Lezione_12_(2... · 2011-02-24 · Simone Buso - Microcontrollori e DSP - Lezione 12 13 Filtro

21

Simone Buso - Microcontrollori e DSP - Lezione 12 41

Regolatore PI con anti-wind-upUn problema serio dei regolatori con azione integrale deriva dalla saturazione di questa durante i transitori (o in presenza di saturazioni nell’anello di controllo del sistema).La presenza di un errore diverso da zero per tempi significativi, porta necessariamente, all’uscita dalla saturazione, ad un transitoriodi “scarica” dell’integrale dell’errore che è cresciuto in modo anomalo.Questo transitorio è spesso inaccettabile. Può essere rimosso ricorrendo a tecniche dette di anti-wind-up.

Simone Buso - Microcontrollori e DSP - Lezione 12 42

Regolatore PI con anti-wind-upIl modo più semplice di attuare un’azione di anti-wind-up è il seguente.

++

++

kp

k’i

z-1

e y

iL

Ymax

|L(k)| = Ymax - |kp·e(k)|

Ad ogni passo, si calcola il limite L. Il valore corrente della parte integrale viene limitato entro ±L. In questo modo l’uscita y è sempre < Ymaxin modulo.

Page 22: Lezione 12 - Università degli studi di Padovastatic.gest.unipd.it/~buso/mc_&_DSP_Lezioni/Lezione_12_(2... · 2011-02-24 · Simone Buso - Microcontrollori e DSP - Lezione 12 13 Filtro

22

Simone Buso - Microcontrollori e DSP - Lezione 12 43

Regolatore PI con anti-wind-upL’azione di anti-wind-up complica l’algoritmo del PI in modo significativo, perché richiede di valutare L ovvero la distanza tra Ymax e la parte proporzionale del controllo ad ogni passo di calcolo. Inoltre, l’azione di saturazione della parte integrale richiede di eseguire confronti (con il limite L) e in base all’esito di questi di operare azioni diverse, i.e. nel programma compaiono salti condizionati. Alcuni mC e DSP facilitano la scrittura di questo tipo di algoritmo, perché il loro assembly include istruzioni apposite.

Simone Buso - Microcontrollori e DSP - Lezione 12 44

Regolatore PI con anti-wind-upRisposte ad un gradino unitario di un sistema a catena chiusa con 2 regolatori PI. Il primo non include l’azione anti-wind-up, il secondo invece la include.

L’anti-wind-up rimuove le sovraelongazioni in risposta ad un gradino del riferimento.

1

00

1.35

t

Intervento dell’azione di anti-wind-up

Variazione a gradino di uref

Sovraelongazione del 35%

Page 23: Lezione 12 - Università degli studi di Padovastatic.gest.unipd.it/~buso/mc_&_DSP_Lezioni/Lezione_12_(2... · 2011-02-24 · Simone Buso - Microcontrollori e DSP - Lezione 12 13 Filtro

23

Simone Buso - Microcontrollori e DSP - Lezione 12 45

Regolatore predittivoQuando si dispone di un modello affidabile del sistema da controllare, diventa possibile la realizzazione di controllori di tipo predittivo o dead-beat.Si tratta di controllori che possono essere ottenuti solo per via digitale in quanto si basano su un modello del sistema interno al controllore.La dinamica del sistema a catena chiusa, in assenza di errori di modello, può essere resa pari ad un numero finito di ritardi elementari.

Simone Buso - Microcontrollori e DSP - Lezione 12 46

Regolatore predittivoLa struttura generale di un regolatore predittivo è del tipo:

yref

y

e+-

sistemau+

-1-z-1

kI·T

K Stimatore dello stato

y

x

Il controllo richiede una stima dello stato del sistema, sulla quale operare la controreazione.

integratoreu

Page 24: Lezione 12 - Università degli studi di Padovastatic.gest.unipd.it/~buso/mc_&_DSP_Lezioni/Lezione_12_(2... · 2011-02-24 · Simone Buso - Microcontrollori e DSP - Lezione 12 13 Filtro

24

Simone Buso - Microcontrollori e DSP - Lezione 12 47

Regolatore predittivoPur essendo uno strumento molto potente il controllo basato su regolatori predittivi è poco usato nell’ambiente industriale.Le ragioni sono legate alla relativa complessitàdella teoria che lo giustifica e alla difficoltàconseguente nella progettazione dei regolatori.Inoltre, non sempre sono disponibili modelli affidabili del processo da controllare (è richiesta una identificazione preliminare).Infine, si tratta di un tipo di controllo che è piuttosto sensibile al rumore di misura.