Upload
francesca
View
214
Download
0
Embed Size (px)
DESCRIPTION
sistemi di controllo
Citation preview
D01
Sistemi di controllo industriali
2D01
Sistemi di controllo digitali
Controllori analogici vs digitaliSistema con controllo digitaleUna struttura di controllo digitaleSchema e dispositivi tecnologici
D01
Sistemi di controllo digitali
4D01
Controllori analogici vs digitali
Sebbene non sia agevole dimostrare in questa fase leffettiva convenienza dei controllori digitali, si ritiene comunque opportuno anticipare alcuni concetti semplici (ma fondamentali)La realizzazione di un controllore digitale implica luso di un elaboratore numerico nella catena di controllo
5D01
Caratteristiche del controllore digitale (1/2)
Il controllore digitale costituito da codice macchina che realizza lalgoritmo (ovvero la legge) di controllo e che eseguibile sullo stesso elaboratore numericoNaturalmente il codice macchina ottenuto attraverso i passi canonici di
Codifica della legge di controllo in un linguaggio di programmazione scelto a priori (ad esempio C o Assembler) codice sorgenteCompilazione del codice sorgente con opportuno compilatore codice oggetto
6D01
Caratteristiche del controllore digitale (2/2)
Linking del codice oggetto con eventuali librerie oggetto codice macchina (o eseguibile)
Lalgoritmo di controllo, o controllore digitale, analogamente al controllore analogico,
Sulla base dei segnali di riferimento ydes e di uscita y (e magari di altri segnali)Secondo una legge opportuna
Che definita in fase di progetto del controlloChe garantisce il soddisfacimento delle specificheChe caratterizzata da operatori e da parametri
Dovr produrre il segnale di controllo u
7D01
Esempio (1/4)
Sia da realizzare un controllo di tipo P
Il segmento di codice sorgente (in C) che realizza il controllore digitale corrispondente potrebbe essere il seguente
ydes = acquire(from_inport(1));y = acquire(from_inport(2));e = ydes y;u = Kp*e;output(u, by_outport(1));
yyeconeKu desp
8D01
Esempio (2/4)
Note importanti relative al segmento di codice sorgente
Il codice deve essere eseguito in tempo reale (ciclicamente, in un loop infinito)ydes, y, e, u, Kp sono stati dichiarati real o doubleA Kp stato assegnato un valore numerico (come da progetto)
9D01
Esempio (3/4)
acquire una funzione che, interagendo con lhardware, misura il valore istantaneo della variabile analogica (ydes(t) o y(t)) collegata a una porta di ingresso (la 1 o la 2) e lo memorizza nella variabile digitale assegnata (ydes o y)output una funzione che, interagendo con lhardware, trasforma il valore numerico della variabile digitale (u) in una tensione che viene resa disponibile in forma analogica (u(t)) su una porta di uscita (la 1)
10D01
Esempio (4/4)
AD
AD
e=ydes-y;u=Kp*e; DA
uydes
y
ydes(t)
y(t)
u(t)
11D01
Esempio (4/4)
analogicoanalogico
AD
AD
e=ydes-y;u=Kp*e; DA
uydes
y
ydes(t)
y(t)
u(t)
12D01
Esempio (4/4)
digitale
AD
AD
e=ydes-y;u=Kp*e; DA
uydes
y
ydes(t)
y(t)
u(t)
13D01
Esempio (4/4)
interf. interf.
AD
AD
e=ydes-y;u=Kp*e; DA
uydes
y
ydes(t)
y(t)
u(t)
14D01
Esempio (4/4)
analogicointerf.analogico interf.digitale
AD
AD
e=ydes-y;u=Kp*e; DA
uydes
y
ydes(t)
y(t)
u(t)
15D01
Esempio (4/4)
elaboratore numericoADCdal sistemada contr.
DAC al sistemada contr.
AD
AD
e=ydes-y;u=Kp*e; DA
uydes
y
ydes(t)
y(t)
u(t)
16D01
Esempio (4/4)
digitale
Le operazioni (cicliche) sulle variabili digitali non possono che essere eseguite a intervalli di tempo finiti e regolari, multipli del
periodo di clock del processore tempo discreto
AD
AD
e=ydes-y;u=Kp*e; DA
uydes
y
ydes(t)
y(t)
u(t)
17D01
Esempio (4/4)
a tempo discreto (a passo Tc)
digitale
AD
AD
e=ydes-y;u=Kp*e; DA
uydes
y
ydes(t)
y(t)
u(t)
18D01
Esempio (4/4)
sincronizzazione(a passo Tc)
AD
AD
e=ydes-y;u=Kp*e; DA
uydes
y
ydes(t)
y(t)
u(t)
19D01
Controllori analogici vs digitali (1/4)
opportuno riesaminare i problemi tipici dei controllori analogici alla luce della possibilit di realizzare lazione di controllo in forma digitale
Degradazione dei componenti (seppur lenta) col passare del tempo non ci sono componenti fisiciIncertezza (seppur limitata) nel valore dei parametri il valore dei parametri memorizzato una volta per tutte nella RAM del processore (lincertezza solo dellordine della precisione di macchina)
20D01
Controllori analogici vs digitali (2/4)
Variabilit del valore dei parametri in funzione delle condizioni operative (correnti, pressioni, temperature, ecc.) il valore dei parametri, una volta memorizzato nella RAM, non cambia al variare delle condizioni operative Non linearit (ovvero linearit limitata a un intorno piccolo delle condizioni di funzionamento nominali) se lalgoritmo di controllo lineare, tale caratteristica sempre garantita tranne che in due casi
OverflowSuperamento delle dinamiche di ingresso degli ADC e di uscita dei DAC
21D01
Controllori analogici vs digitali (3/4)
Relativa difficolt nel trasportare le variabili in gioco le variabili e i parametri sono naturalmentedisponibili attraverso il nome con cui sono stati definitiRelativa difficolt nellelaborare le variabili in gioco le elaborazioni, anche complesse, sono realizzate grazie alle innumerevoli funzioni e ai numerosi operatori disponibili nelle librerie e/o definibili dal progettista stesso
22D01
Controllori analogici vs digitali (4/4)
Dispendio nel caso si voglia cambiare un parametro del controllore, se non lintero controllore stesso cambiare un parametro implica una diversa assegnazione numerica nel codice sorgente; cambiare il controllore implica la sostituzione di linee di codice sorgenteFacilit di generazione e/o captazione di disturbi gli unici disturbi presenti allinterno di un controllore digitale sono dovuti alla limitata precisione di macchina (si pensi agli errori di troncamento intrinseci nel calcolo dei prodotti, ma anche al calcolo delle funzioni trigonometriche, delle radici, ecc.)
23D01
Altri vantaggi del controllo digitale
Realizzazione di funzioni aggiuntive a costi molto contenuti, quali
Monitoraggio di variabili e di indicatori variDiagnosticaGestione di allarmiSupervisione
Realizzazione relativamente semplice di algoritmi di controllo anche molto complessi e sofisticati
Come gi detto si tratta di scrivere linee di codice sorgente
24D01
Eventuali svantaggi del controllo digitale
Costo dellelaboratore numericoCosto dei convertitori ADC e DACCosto del sistema di sviluppo (HW e SW)
25D01
Costo dellelaboratore numericoCosto dei convertitori ADC e DACCosto del sistema di sviluppo (HW e SW)
Effettuare unattenta analisi costi/benefici
Eventuali svantaggi del controllo digitale
26D01
controllo analogico
Costo dellelaboratore numericoCosto dei convertitori ADC e DACCosto del sistema di sviluppo (HW e SW)
Effettuare unattenta analisi costi/benefici
Eventuali svantaggi del controllo digitale
27D01
controllo digitale
Costo dellelaboratore numericoCosto dei convertitori ADC e DACCosto del sistema di sviluppo (HW e SW)
Effettuare unattenta analisi costi/benefici
Eventuali svantaggi del controllo digitale
D01
Sistemi di controllo digitali
29D01
Schema generale con controllo analogico
Sr(t) C y(t)u(t)
x(t)
30D01
Schema generale con controllo digitale
elaboratore numerico
y(t)u(t)
x(t)
Cr(k) u(k)
x(k)
y(k)
S
31D01
Cr(k) u(k)
x(k)
y(k)
Schema generale con controllo digitale
elaboratore numerico
ADCr(t)
DAC
ADC
ADC
y(t)u(t)
x(t)
S
D01
Sistemi di controllo digitali
33D01
Controllo digitale in catena chiusa
Nelle diapositive successive illustrato il passaggio dallo schema di principio generale allo schema adottato nel presente corso
Si suppostoSchema generale in catena chiusaSchema generale con retroazione dalla sola uscitaSchema con retroazione dalluscita, errore di inseguimento e compensatore a tempo discreto
rydes
34D01
Cr(k) u(k)
x(k)
y(k)
Schema generale della catena chiusa
digitale e a TD
ADC Sr(t) y(t)u(t)DAC
ADC
ADC
x(t)
35D01
Cr(k) u(k)
y(k)
Catena chiusa con retroazione dalluscita
digitale e a TD
S y(t)ADCr(t) u(t)DAC
ADC
36D01
Schema adottato (1/4)
digitale e a TD
+
S y(t)) u(k)C(z)ADCr(t) u(t)DAC
ADC
r(k
y(k)
37D01
Schema adottato (2/4)
Lo schema quello classico gi adottato nel caso del controllo analogico:
Retroazione dalla sola uscitaControllo a un grado di libertCalcolo dellerrore di inseguimento ryControllore consistente in un compensatore lineare a TD (e digitale)
38D01
Schema adottato (3/4)
NB Il blocco S rappresenta linsieme (in cascata) di: attuatore processo sensore condizionatore necessario fornire le caratteristiche dei convertitori A/D e D/A (se ne parler nel prosieguo)A volte il riferimento fornito direttamente nella forma digitale r(k); naturalmente in tal caso non richiesto n r(t) n lADC relativo
39D01
Schema adottato (4/4)
Quando sono utilizzati pi converitori A/D corretto dire che si utilizza un dispositivo ADC a pi canali di ingresso (un canale per ogni segnale analogico da convertire)Quando sono utilizzati pi converitori D/A corretto dire che si utilizza un dispositivo DAC a pi canali di uscita (un canale per ogni variabile digitale da convertire)
D01
Sistemi di controllo digitali
41D01
Schema adottato
elaboratore numerico
+
ADC Sr(t) y(t)u(t)DAC
ADC
r(k) u(k)
y(k)
C(z)
42D01
I dispositivi tecnologici
I dispositivi tecnologici del sistema di controllo adottato sono gli stessi gi visti nel caso del controllo analogico, con laggiunta dei convertitori (ADC e DAC) e, naturalmente, dellelaboratore numericoPer la descrizione di dettaglio dellHW dei convertitori si rimanda ai testi specializzati; in questa sede sono fornite solo le descrizioni di principio
43D01
Funzione del convertitore A/D (1/9)
La funzione del convertitore A/D quella di trasformare, in tempo reale, una variabile analogica (tensione, definita nel dominio TC) in una variabile digitale corrispondente (definita nel dominio TD)
44D01
Funzione del convertitore A/D (2/9)
Segnale analogico
t
y10 V
0 V
45D01
Funzione del convertitore A/D (3/9)
Istanti di campionamento (discretizzazione di t)
t0 t1 tkt
Ts
y10 V
0 V
Ts = passo di campionamento (fisso)
46D01
Funzione del convertitore A/D (4/9)
Campioni istantanei di y
t0 t1 tkt
Ts
y10 V
0 V
47D01
Funzione del convertitore A/D (5/9)
Operazione di hold dei campioni
t0 t1 tkt
Ts
y10 V
0 V
48D01
Funzione del convertitore A/D (6/9)
Determinazione del valore numerico teorico
t0 t1 tkt
Ts
y10 V
0 V
c c
49D01
Funzione del convertitore A/D (7/9)
Codifica e quantizzazione (ADC a 3 bit 8 livelli)
0 1 kk
y (in ua)7
0
654321
111
011
101
001
110
010
100
000
MSBLSB
50D01
Funzione del convertitore A/D (8/9)
Variabile analogica e corrispondente digitale
0 1 k
y7
0
654321
10 V
0 V
51D01
Funzione del convertitore A/D (9/9)
0 1 k
y7
0
654321
10 V
0 V
Intervallo di quantizzazione qADC = 10/7 V
52D01
Grandezze caratteristiche di un ADC (1/2)
Le grandezze caratteristiche fondamentali di un ADC sono quindi
Dinamica della tensione di ingresso, VminVmax(010 V nellesempio)Numero di bit, N (3 nellesempio) numero di livelli = 2NIntervallo delle possibili frequenze di campionamento, fs=1/Ts (pulsazione di campionamento s=2/Ts); tale intervallo contiene in genere un numero finito, ma elevato, di frequenze disponibili
53D01
Grandezze caratteristiche di un ADC (2/2)
Tempo di conversione, cGuadagno stazionario,
KADC=(2N 1)/(VmaxVmin) ua/V
Intervallo di quantizzazione (in volt)
qADC=(VmaxVmin)/(2N 1) V
Altre caratteristiche, pur fornite sui data sheet dei produttori, non verranno prese in considerazione
54D01
Caratteristica statica dellADC
Caratteristica statica dellADC a 3 bit su 010 V (quantizzazione per approssimazione)
y(k)
y(t)
7
0
654321
0 V 10 VqADC
55D01
Per passare dalla variabile analogica a quella digitale corrispondente sono stati effettuati i seguenti passi
Discretizzazione (nel tempo) ovvero campionamentoHold (per misurare il valore)Quantizzazione (sui 2N livelli di tensione)Codifica (da livello di tensione a maschera di bit)
quantizza-zione
hold codificafs
y(t) y(k)
Osservazioni importanti (1/4)
56D01
Osservazioni importanti (2/4)
La sequenza dei campioni della variabile digitale y(k) rappresenta tanto pi fedelmente la variabile y(t) quanto pi sono soddisfatte le seguenti relazioni
dove min,y rappresenta la costante di tempo minima contenuta nel segnale y(t)
)2(T
)1(T
sc
ymin,s
57D01
Osservazioni importanti (3/4)
La precedente relazione (1) pu essere reinterpretatacome segue
dove fmax,y rappresenta la frequenza massima (posto che sia finita) contenuta nel segnale y(t)Si noti che la relazione (1bis) richiama direttamente il teorema del campionamento(vedasi bibliografia consigliata)
)bis1(ff ymax,s
58D01
Osservazioni importanti (4/4)
La precedente relazione (1) pu essere reinterpretatacome segue
dove fmax,y rappresenta la frequenza massima (posto che sia finita) contenuta nel segnale y(t)Si noti che la relazione (1bis) richiama direttamente il teorema del campionamento(vedasi bibliografia consigliata)
)bis1(ff ymax,s
ymax,s f2f
59D01
La funzione del convertitore D/A quella di trasformare, in tempo reale, una variabile digitale (definita nel dominio TD) in una variabile analogica corrispondente (tensione, definita nel dominio TC)
Dati i campioni della variabile digitale fino allistante di campionamento kesimo (incluso), determinare un opportuno profilo continuo di tensione nellintervallo di tempo
kTs t (k+1)Ts, k
Funzione del convertitore D/A (1/12)
60D01
Funzione del convertitore D/A (2/12)
0 1 k
u7
0
654321
10 V
0 Vk+1
quale andamento di y(t)?
Campioni della variabile digitale u
61D01
Funzione del convertitore D/A (3/12)
NB: il campione (k+1)esimo da considerare non ancora disponibileLa funzione del DAC quindi quella della ricostruzione di un segnale analogico (TC) a partire dai campioni di una variabile digitale (TD) subito evidente che tale ricostruzione offre un grado di arbitrariet infinito: noti i campioni fino a k, e in attesa del campione in k+1, qualunque profilo u(t) per kTs t (k+1)Ts del tutto arbitrario
62D01
Funzione del convertitore D/A (4/12)
Si tratta quindi di scegliere un metodo di ricostruzione fra gli infiniti ipotizzabili (possibilmente privilegiando la semplicit concettuale ovvero la semplicit/economicit della realizzazione HW)Ipotesi ragionevole: determinare u(t) per
kTs t (k+1)Ts, kmediante estrapolazione polinomiale basata sui campioni negli istanti
kj, per j=0,,nodove no0 si definisce ordine del ricostruttore
63D01
0 1 k
u7
0
654321
10 V
0 Vk+1
quale andamento di y(t)?
Campioni della variabile digitale u
Funzione del convertitore D/A (5/12)
64D01
0 1 k
u7
0
654321
10 V
0 Vk+1
interpolazione
no=0
estrapolazione
Funzione del convertitore D/A (6/12)
65D01
0 1 k
u7
0
654321
10 V
0 Vk+1
interpolazione
no=1
estrapolazione
Funzione del convertitore D/A (7/12)
66D01
0 1 k
u7
0
654321
10 V
0 Vk+1
interpolazione
no=2
estrapolazione
Funzione del convertitore D/A (8/12)
67D01
Il ricostruttore anche noto come elemento di tenuta (hold device)
no=0 zero order hold zohno=1 first order hold fohecc.
Funzione del convertitore D/A (9/12)
68D01
0 1 k
u7
0
654321
10 V
0 Vk+1 k+2
no=1
Ricostruzione al passo k
Funzione del convertitore D/A (10/12)
69D01
0 1 k
u7
0
654321
10 V
0 Vk+1
no=1
Ricostruzione al passo k+1
Funzione del convertitore D/A (11/12)
70D01
0 1 k
u7
0
654321
10 V
0 Vk+1
no=1
Ricostruzione dal passo 1 al passo k+2
Funzione del convertitore D/A (12/12)
71D01
0 1 k
u7
0
654321
10 V
0 Vk+1
no=1
Ricostruzione dal passo 1 al passo k+2
Funzione del convertitore D/A (12/12)
72D01
Grandezze caratteristiche di un DAC
Le grandezze caratteristiche fondamentali di un DAC sono quindi
Dinamica della tensione di uscita, VminVmax (010 V nellesempio)Numero di bit, N (3 nellesempio) numero di livelli = 2NIntervallo delle possibili frequenze di campionamento, fs=1/Ts (pulsazione di campionamento s=2/Ts); tale intervallo contiene in genere un numero finito, ma elevato, di frequenze disponibili
73D01
Grandezze caratteristiche di un DAC
Tempo di conversione, cGuadagno stazionario,
KDAC=(VmaxVmin)/(2N 1) V/ua
Intervallo di quantizzazione (in volt)
qDAC=(VmaxVmin)/(2N 1) V
Altre caratteristiche, pur fornite sui data sheet dei produttori, non verranno prese in considerazione
74D01
Caratteristica statica del DAC
Caratteristica statica del DAC a 3 bit su 010 V (algoritmo eseguito con precisione infinita)
y(k)
10 Vy(t)
70 6543210 V
qDAC
75D01
Osservazioni importanti (1/3)
Nelle diapositive precedenti non si tenuto conto del tempo che il dispositivo di tenuta impiega ad eseguire la conversioneIn particolare, tra listante in cui si rende disponibile il campione della variabile digitale in ingresso e listante in cui disponibile la tensione in uscita intercorre un tempo di conversione c (in genere c
77D01
Per passare dalla variabile digitale a quella analogica corrispondente sono stati effettuati i seguenti passi
Decodifica (da maschera di bit a livello di tensione)Sincronizzazione a frequenza fsRicostruzione per un periodo di tempo Ts (hold)
Osservazioni importanti (3/3)
holddecodificafs
u(t)u(k)
78D01
Nella catena chiusa dello schema di controllo adottato vengono utilizzati sia un DAC che un ADCIn generale possono essere differenti
Le dinamiche in tensioneVmin,DAC Vmin,ADCVmax,DAC Vmax,ADC
Il numero di bit, NDAC NADCI ritardi di conversione, c,DAC c,ADC
Utilizzo della coppia DACADC (1/3)
79D01
Utilizzo della coppia DACADC (2/3)
necessario tenere presente che la presenza dei due convertitori cambia il guadagno danello di un fattore
Il guadagno Kconv unitario se i due convertitori hanno il medesimo numero di bit e la stessa dinamica in tensione (ci succede spesso, specialmente nel caso in cui i due tipi di convertitori sono integrati sulla stessa scheda)
ADCDACconv KKK
80D01
Utilizzo della coppia DACADC (3/3)
I guadagni KADC e KDAC possono in genere esseremodificati via software (con lobiettivo, per esempio, di realizzare un fattore di scala 1:1 tra y(k):y(t) e u(t):u(k), rispettivamente)
Mediante opportune linee di codice inseriterispettivamente a monte e a valle dellalgoritmo di controlloMediante il ricorso a procedure software messe a disposizione dal produttore
81D01
Ipotesi di lavoro (1/2)
Il seguito del corso si basa sulle seguenti ipotesiLelemento di tenuta lo zohI ritardi di conversione c sono trascurabili (rispetto a Ts)La frequenza di campionamento fs la medesima per i due tipi di convertitoriIn fase di analisi e di progetto non si tiene conto dei fenomeni di quantizzazione (eventualmente se ne studieranno gli effetti in fase di verifica)
82D01
Ipotesi di lavoro (2/2)
La precisione con cui eseguito lalgoritmo di controllo infinita (ovvero il numero di bit dellunitaritmetica molto maggiore del numero di bit dei convertitori)I guadagni dei convertitori sono unitari (KADC=1 eKDAC=1)I convertitori sono rappresentati dai seguenti schemi di principio
fsy(t) y(k)
ADC
zohfs
u(t)u(k)
DAC
83D01
+
ADC Sr(t) y(t)u(t)DAC
ADC
r(k) u(k)
y(k)
C(z)
Schema adottato (1/5)
84D01
Schema adottato (2/5)
Lelaboratore numerico vede un sistema dinamico a TD in quanto
Lingresso u(k) a TDLuscita y(k) a TD
Il sistema tra u(k) e y(k) pu allora essere rappresentato da un modello a TD, per esempio dalla fdt F(z)Lo schema adottato pu quindi essere trasformato in un altro pi semplice
85D01
Schema adottato (3/5)
+
F(z)y(k)r(k) u(k)
C(z)
86D01
Schema adottato (4/5)
Si tenga presente che lo schema precedente rappresenta il sistema di controllo solo negli istanti di campionamento
zohfs u(t)u(k) fs y(k)S y(t)C(z)
r(k)
+
87D01
Schema adottato (5/5)
Tra un istante di campionamento e laltro (per un intervallo Ts) il sistema S evolve in catena aperta con ingresso costante
fs u(t)u(k) fs y(k)S y(t)C(z)r(k)
+
zoh
88D01
Schema adottato (5/5)
fs u(t)u(k) fs y(k)S y(t)C(z)r(k)
+
zoh
89D01
Schema adottato (5/5)
fs u(t)u(k) fs y(k)S y(t)C(z)r(k)
+
zoh
90D01
Schema adottato (5/5)
fs u(t)u(k) fs y(k)S y(t)C(z)r(k)
+
zoh
91D01
Schema adottato (5/5)
fs u(t)u(k) fs y(k)S y(t)C(z)r(k)
+
zoh
92D01
problemi:uc con spigoli
yr* con alias.
Schema tecnologico completo
T
e* u y
yTyr
C A SL
uc
ADC
DAC
yr*
uc*
T
e* u y
yTyr
C A SL
uc
ADC
DAC
yr*
uc* Filtro dismoothing
Filtro dismoothing
Filtro diantialias.