Sei sulla pagina 1di 46

Sistemi di controllo industriali

D01

Sistemi di controllo digitali


Controllori analogici vs digitali
Sistema con controllo digitale
Una struttura di controllo digitale
Schema e dispositivi tecnologici

D01

Sistemi di controllo digitali

D01

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

D01

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 numerico
Naturalmente 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 sorgente
Compilazione del codice sorgente con opportuno
compilatore codice oggetto
D01

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 controllo
Che garantisce il soddisfacimento delle specifiche
Che caratterizzata da operatori e da parametri

Dovr produrre il segnale di controllo u


D01

Esempio (1/4)
Sia da realizzare un controllo di tipo P
u K pe

con

e y des y

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));

D01

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
double
A Kp stato assegnato un valore numerico (come da
progetto)

D01

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)

D01

Esempio (4/4)
ydes (t)

AD

ydes
e=ydes-y; u
u=Kp*e;

y(t)

AD

DA

u(t)

D01

10

Esempio (4/4)
ydes (t)

AD

ydes
e=ydes-y; u
u=Kp*e;

y(t)

AD

DA

u(t)

analogico

analogico

D01

11

Esempio (4/4)
ydes (t)

AD

ydes
e=ydes-y; u
u=Kp*e;

y(t)

AD

DA

u(t)

y
digitale

D01

12

Esempio (4/4)
ydes (t)

AD

ydes
e=ydes-y; u
u=Kp*e;

y(t)

AD

DA

u(t)

interf.

interf.

D01

13

Esempio (4/4)
ydes (t)

y(t)
analogico

AD

AD
interf.

ydes
e=ydes-y; u
u=Kp*e;

DA

digitale

interf.

u(t)

D01

analogico

14

Esempio (4/4)
ydes (t)

AD

ydes
e=ydes-y; u
u=Kp*e;

y(t)

dal sistema
da contr.

AD

ADC

DA

u(t)

elaboratore numerico

DAC

al sistema
da contr.

D01

15

Esempio (4/4)
ydes (t)

AD

ydes
e=ydes-y; u
u=Kp*e;

y(t)

AD

DA

u(t)

y
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
D01

16

Esempio (4/4)
ydes (t)

AD

ydes
e=ydes-y; u
u=Kp*e;

y(t)

AD

DA

u(t)

y
digitale
a tempo discreto
(a passo Tc)
D01

17

Esempio (4/4)
ydes (t)

AD

ydes
e=ydes-y; u
u=Kp*e;

y(t)

AD

DA

u(t)

y
sincronizzazione
(a passo Tc)

D01

18

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 fisici
Incertezza (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)

D01

19

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
Overflow
Superamento delle dinamiche di ingresso degli ADC e
di uscita dei DAC
D01

20

Controllori analogici vs digitali (3/4)


Relativa difficolt nel trasportare le variabili in gioco
le variabili e i parametri sono naturalmente
disponibili attraverso il nome con cui sono stati
definiti
Relativa 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

D01

21

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 sorgente
Facilit 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.)
D01

22

Altri vantaggi del controllo digitale


Realizzazione di funzioni aggiuntive a costi molto
contenuti, quali
Monitoraggio di variabili e di indicatori vari
Diagnostica
Gestione di allarmi
Supervisione

Realizzazione relativamente semplice di algoritmi di


controllo anche molto complessi e sofisticati
Come gi detto si tratta di scrivere linee di
codice sorgente
D01

23

Eventuali svantaggi del controllo digitale


Costo dellelaboratore numerico
Costo dei convertitori ADC e DAC
Costo del sistema di sviluppo (HW e SW)

D01

24

Eventuali svantaggi del controllo digitale


Costo dellelaboratore numerico
Costo dei convertitori ADC e DAC
Costo del sistema di sviluppo (HW e SW)

Effettuare unattenta analisi costi/benefici

D01

25

Eventuali svantaggi del controllo digitale


Costo dellelaboratore numerico
Costo dei convertitori ADC e DAC
Costo del sistema di sviluppo (HW e SW)

Effettuare unattenta analisi costi/benefici


controllo
analogico
D01

26

Eventuali svantaggi del controllo digitale


Costo dellelaboratore numerico
Costo dei convertitori ADC e DAC
Costo del sistema di sviluppo (HW e SW)

Effettuare unattenta analisi costi/benefici


controllo
digitale
D01

Sistemi di controllo digitali

D01

27

Schema generale con controllo analogico

r(t)

u(t)

y(t)

S
x(t)

D01

29

Schema generale con controllo digitale


elaboratore numerico
r(k)

u(k)
x(k)

u(t)

y(t)

S
x(t)

y(k)

D01

30

Schema generale con controllo digitale


elaboratore numerico
r(t)

ADC

r(k)

u(k)

DAC

x(k)

u(t)

y(t)

S
x(t)

ADC
y(k)

ADC

D01

Sistemi di controllo digitali

D01

31

Controllo digitale in catena chiusa


Nelle diapositive successive illustrato il passaggio
dallo schema di principio generale allo schema
adottato nel presente corso
y des r
Si supposto
Schema generale in catena chiusa
Schema generale con retroazione dalla sola uscita
Schema con retroazione dalluscita, errore di
inseguimento e compensatore a tempo discreto

D01

33

Schema generale della catena chiusa


digitale e a TD
r(t)

ADC

r(k)

u(k)

DAC

u(t)

y(t)

S
x(t)

x(k)
ADC
y(k)

ADC

D01

34

Catena chiusa con retroazione dalluscita


digitale e a TD
r(t)

ADC

r(k)

u(k)

y(k)

DAC

u(t)

y(t)

ADC

D01

35

Schema adottato (1/4)


digitale e a TD
r(t)

ADC

r(k )

C(z)

u(k)

y(k)

DAC

u(t)

y(t)

ADC

D01

36

Schema adottato (2/4)


Lo schema quello classico gi adottato nel caso del
controllo analogico:
Retroazione dalla sola uscita
Controllo a un grado di libert
Calcolo dellerrore di inseguimento r y
Controllore consistente in un compensatore lineare a
TD (e digitale)

D01

37

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

D01

38

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

D01

39

Schema adottato
elaboratore numerico
r(t)

ADC

r(k)

C(z)

u(k)

y(k)

DAC

u(t)

y(t)

ADC

D01

41

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
numerico
Per la descrizione di dettaglio dellHW dei
convertitori si rimanda ai testi specializzati; in questa
sede sono fornite solo le descrizioni di principio

D01

42

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)

D01

43

Funzione del convertitore A/D (2/9)


Segnale analogico
10 V

0V

t
D01

44

Funzione del convertitore A/D (3/9)


Istanti di campionamento (discretizzazione di t)
T = passo di campionamento (fisso)
y s
10 V

0V
t0

t1

Ts

tk

D01

45

Funzione del convertitore A/D (4/9)


Campioni istantanei di y
y

10 V

0V
t0

t1

Ts

tk
D01

t
46

Funzione del convertitore A/D (5/9)


Operazione di hold dei campioni
y

10 V

0V
t0

t1

Ts

tk
D01

47

Funzione del convertitore A/D (6/9)


Determinazione del valore numerico teorico
c = tempo di conversione
y
10 V
c

c<<Ts

0V
t0

t1

Ts

tk
D01

t
48

Funzione del convertitore A/D (7/9)


Codifica e quantizzazione (ADC a 3 bit 8 livelli)
7
6
5
4
3
2
1
0

y (in ua)

k0

MSB
LSB

D01

49

Funzione del convertitore A/D (8/9)


Variabile analogica e corrispondente digitale
10 V

7
6
5
4
3
2
1
0

0V
0

k
D01

50

Funzione del convertitore A/D (9/9)


Intervallo di quantizzazione qADC = 10/7 V
10 V

7
6
5
4
3
2
1
0

0V
0

k
D01

51

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 = 2N
Intervallo 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
D01

52

Grandezze caratteristiche di un ADC (2/2)


Tempo di conversione, c
Guadagno 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
D01

53

Caratteristica statica dellADC


Caratteristica statica dellADC a 3 bit su 010 V
(quantizzazione per approssimazione)
y(k)
7
6
5
4
3
2
1
0

0V

qADC
D01

10 V

y(t)
54

Osservazioni importanti (1/4)


Per passare dalla variabile analogica a quella digitale
corrispondente sono stati effettuati i seguenti passi
Discretizzazione (nel tempo) ovvero campionamento
Hold (per misurare il valore)
Quantizzazione (sui 2N livelli di tensione)
Codifica (da livello di tensione a maschera di bit)

y(t)

fs

quantizzazione

hold

codifica

y(k)

D01

55

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
Ts min, y

(1)

c Ts

(2)

dove min,y rappresenta la costante di tempo minima


contenuta nel segnale y(t)

D01

56

Osservazioni importanti (3/4)


La precedente relazione (1) pu essere reinterpretata
come segue
fs fmax, y

(1bis)

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)

D01

57

Osservazioni importanti (4/4)


La precedente relazione (1) pu essere reinterpretata
come segue
fs fmax, y

(1bis)

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)
fs 2fmax,y

D01

58

Funzione del convertitore D/A (1/12)


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,

D01

59

Funzione del convertitore D/A (2/12)


Campioni della variabile digitale u
u

10 V

quale andamento di y(t)?

0V
0

7
6
5
4
3
2
1
0

k k+1
D01

60

Funzione del convertitore D/A (3/12)


NB: il campione (k+1)esimo da considerare non
ancora disponibile
La 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
D01

61

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, k
mediante estrapolazione polinomiale basata sui
campioni negli istanti
kj, per j=0,,no
dove no0 si definisce ordine del ricostruttore
D01

62

Funzione del convertitore D/A (5/12)


Campioni della variabile digitale u
u

10 V

quale andamento di y(t)?

0V
0

7
6
5
4
3
2
1
0

k k+1
D01

63

Funzione del convertitore D/A (6/12)


interpolazione
no=0

10 V

estrapolazione

7
6
5
4
3
2
1
0

0V
0

k k+1
D01

64

Funzione del convertitore D/A (7/12)


interpolazione
no=1

10 V

estrapolazione

7
6
5
4
3
2
1
0

0V
0

k k+1
D01

65

Funzione del convertitore D/A (8/12)


interpolazione
no=2

10 V

estrapolazione

7
6
5
4
3
2
1
0

0V
0

k k+1
D01

66

Funzione del convertitore D/A (9/12)


Il ricostruttore anche noto come elemento di
tenuta (hold device)
no=0 zero order hold zoh
no=1 first order hold foh
ecc.

D01

67

Funzione del convertitore D/A (10/12)


Ricostruzione al passo k
u

10 V

no=1

7
6
5
4
3
2
1
0

0V
0

k k+1 k+2
D01

68

Funzione del convertitore D/A (11/12)


Ricostruzione al passo k+1
u

10 V

no=1

7
6
5
4
3
2
1
0

0V
0

k k+1
D01

69

Funzione del convertitore D/A (12/12)


Ricostruzione dal passo 1 al passo k+2
u

10 V

no=1

7
6
5
4
3
2
1
0

0V
0

k k+1
D01

70

Funzione del convertitore D/A (12/12)


Ricostruzione dal passo 1 al passo k+2
u

10 V

no=1

7
6
5
4
3
2
1
0

0V
0

k k+1
D01

71

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 = 2N
Intervallo 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
D01

72

Grandezze caratteristiche di un DAC


Tempo di conversione, c
Guadagno 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
D01

73

Caratteristica statica del DAC


Caratteristica statica del DAC a 3 bit su 010 V
(algoritmo eseguito con precisione infinita)
y(t)
10 V

qDAC

0V

0 1 2 3 4 5 6 7
D01

y(k)
74

Osservazioni importanti (1/3)


Nelle diapositive precedenti non si tenuto conto del
tempo che il dispositivo di tenuta impiega ad eseguire
la conversione
In 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 << Ts)
La tensione in uscita viene perci mantenuta ancora
per un periodo c successivo allarrivo del nuovo
campione
D01

75

Osservazioni importanti (2/3)


c
no=1

10 V

7
6
5
4
3
2
1
0

0V
0

k k+1
D01

76

Osservazioni importanti (3/3)


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 fs
Ricostruzione per un periodo di tempo Ts (hold)

u(k)

decodifica

fs

hold

D01

u(t)

77

Utilizzo della coppia DACADC (1/3)


Nella catena chiusa dello schema di controllo adottato
vengono utilizzati sia un DAC che un ADC
In generale possono essere differenti
Le dinamiche in tensione
Vmin,DAC Vmin,ADC
Vmax,DAC Vmax,ADC
Il numero di bit, NDAC NADC
I ritardi di conversione, c,DAC c,ADC

D01

78

Utilizzo della coppia DACADC (2/3)


necessario tenere presente che la presenza dei
due convertitori cambia il guadagno danello di un
fattore
K conv K DACK ADC

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)
D01

79

Utilizzo della coppia DACADC (3/3)


I guadagni KADC e KDAC possono in genere essere
modificati 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 inserite
rispettivamente a monte e a valle dellalgoritmo di
controllo
Mediante il ricorso a procedure software messe a
disposizione dal produttore

D01

80

Ipotesi di lavoro (1/2)


Il seguito del corso si basa sulle seguenti ipotesi
Lelemento di tenuta lo zoh
I ritardi di conversione c sono trascurabili
(rispetto a Ts)
La frequenza di campionamento fs la
medesima per i due tipi di convertitori
In fase di analisi e di progetto non si tiene conto
dei fenomeni di quantizzazione (eventualmente se
ne studieranno gli effetti in fase di verifica)

D01

81

Ipotesi di lavoro (2/2)


La precisione con cui eseguito lalgoritmo di
controllo infinita (ovvero il numero di bit dellunit
aritmetica molto maggiore del numero di bit dei
convertitori)
I guadagni dei convertitori sono unitari (KADC=1 e
KDAC=1)
I convertitori sono rappresentati dai seguenti
schemi di principio
y(t)

fs

y(k)

u(k)

fs

zoh

u(t)

DAC

ADC
D01

82

Schema adottato (1/5)

r(t)

ADC

r(k)

C(z)

u(k)

y(k)

DAC

u(t)

y(t)

ADC

D01

83

Schema adottato (2/5)


Lelaboratore numerico vede un sistema dinamico
a TD in quanto
Lingresso u(k) a TD
Luscita 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
D01

84

Schema adottato (3/5)

r(k)

C(z)

u(k)

y(k)

F(z)

D01

85

Schema adottato (4/5)


Si tenga presente che lo schema precedente
rappresenta il sistema di controllo solo negli
istanti di campionamento

r(k)
+

C(z)

u(k)

fs

zoh

D01

u(t)

y(t)

fs

y(k)

86

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


r(k)
+

C(z)

u(k)

fs

zoh

u(t)

y(t)

fs

y(k)

D01

87

Schema adottato (5/5)

r(k)
+

C(z)

u(k)

fs

zoh

D01

u(t)

y(t)

fs

y(k)

88

Schema adottato (5/5)

r(k)
+

C(z)

u(k)

fs

zoh

u(t)

y(t)

fs

y(k)

D01

89

Schema adottato (5/5)

r(k)
+

C(z)

u(k)

fs

zoh

D01

u(t)

y(t)

fs

y(k)

90

Schema adottato (5/5)

r(k)
+

C(z)

u(k)

fs

zoh

u(t)

y(t)

y(k)

fs

D01

91

Schema tecnologico completo


e*

uc*

uc

DAC

y r*

ADC

yr

yT

problemi:
uc con spigoli
yr* con alias.

e*

uc*

Filtro di
smoothing

y r*

DAC

Filtro di
smoothing

ADC

Filtro di
antialias.

D01

uc

yr

A
L

yT

T
92