Regime permanente e transitorio -...

45
Controlli automatici Esempi di analisi e simulazione © 2007 Politecnico di Torino 1 Regime permanente e transitorio 2 Analisi del comportamento in regime permanente e verifica in simulazione Analisi del comportamento nel dominio della frequenza e in transitorio Esempi di analisi e simulazione

Transcript of Regime permanente e transitorio -...

Page 1: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 1

Regime permanente e transitorio

2

Analisi del comportamento in regime permanente e verifica in simulazioneAnalisi del comportamento nel dominio della frequenza e in transitorio

Esempi di analisi e simulazione

Page 2: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 2

Esempi di analisi e simulazione

4

Esempio 1 (1/2)

Si consideri il seguente schema di controllo

con c2

s 1F(s) , K 0.2

s(s 2.5s 4)(s 0.2)−

= = −+ + +

e ydy

++

F(s)ydes

+Kc

du

++Kr

r

Page 3: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 3

5

Esempio 1 (1/2)

Si consideri il seguente schema di controllo

con

N.B.: L’asintotica stabilità del sistema in catena chiusa è già stata verificata nella lezione dedicata ad alcuni “Casi di studio” nell’unità precedente

e ydy

++

F(s)ydes

+Kc

du

++Kr

r

c2

s 1F(s) , K 0.2

s(s 2.5s 4)(s 0.2)−

= = −+ + +

6

Calcolare l’errore di inseguimento in regime permanente nei seguenti casi:

r(t) = t con Kr = 0.4 (quindi ydes(t) = 0.4t), in presenza dei disturbi du(t) = Du = 0.1 e dy(t) = Dy = 0.5 r(t) = ε(t) con Kr = 2 (quindi ydes(t) = 2), in presenza dei disturbi du(t) = Du = 0.1 e dy(t) = αdyt = 0.01t

Verificare la correttezza dei risultati ottenuti, simulando il comportamento del sistema nei casi in oggetto utilizzando Simulink

Esempio 1 (2/2)

Page 4: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 4

7

Per calcolare l’errore in regime permanente, tenendo conto del riferimento applicato e dei disturbi presenti lungo l’anello, è opportuno determinare tipo e guadagno stazionario di ogni blocco

Calcolo dell’errore (1/7)

8

Per calcolare l’errore in regime permanente, tenendo conto del riferimento applicato e dei disturbi presenti lungo l’anello, è opportuno determinare tipo e guadagno stazionario di ogni blocco

Calcolo dell’errore (1/7)

e ydy

++

F(s)ydes

+Kc

du

++Kr

r

Tipo 0 Tipo 1

Page 5: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 5

9

Il guadagno stazionario di F(s) risulta pari a

Calcolo dell’errore (2/7)

{ }F s 0K lim s F(s) 1.25

→= ⋅ = −

10

Il guadagno stazionario di F(s) risulta pari a

In Matlab è possibile utilizzare il comando dcgain per calcolare il guadagno stazionario, una volta definita la funzione F(s)

Calcolo dell’errore (2/7)

{ }F s 0K lim s F(s) 1.25

→= ⋅ = −

Page 6: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 6

11

Il guadagno stazionario di F(s) risulta pari a

In Matlab è possibile utilizzare il comando dcgain per calcolare il guadagno stazionario, una volta definita la funzione F(s)

Calcolo dell’errore (2/7)

{ }F s 0K lim s F(s) 1.25

→= ⋅ = −

Kf = dcgain(s*F) dcgain calcola il valore in s = 0 della funzione messa come argomento

12

L’errore di inseguimento in regime permanente è calcolabile come:

Calcolo dell’errore (3/7)

r, du, dy,e e e e∞ ∞ ∞ ∞= + +

Page 7: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 7

13

L’errore di inseguimento in regime permanente è calcolabile come:

Calcolo dell’errore (3/7)

r, du, dy,e e e e∞ ∞ ∞ ∞= + +

Errore intrinseco di inseguimento al riferimento

14

L’errore di inseguimento in regime permanente è calcolabile come:

Calcolo dell’errore (3/7)

r, du, dy,e e e e∞ ∞ ∞ ∞= + +

Errore intrinseco di inseguimento al riferimento

Errore dovuto alla presenza del disturbo du

Page 8: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 8

15

L’errore di inseguimento in regime permanente è calcolabile come:

Calcolo dell’errore (3/7)

r, du, dy,e e e e∞ ∞ ∞ ∞= + +

Errore intrinseco di inseguimento al riferimento

Errore dovuto alla presenza del disturbo du

Errore dovuto alla presenza del disturbo dy

16

Nel primo caso:Poiché il riferimento è di grado uno e Ga(s) = Kc F(s) è di tipo uno, risulta un erroreintrinseco in regime permanente finito pari a

Calcolo dell’errore (4/7)

rr,

c F

Ke 1.6

K K∞ = =⋅

Page 9: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 9

17

Nel primo caso:Poiché il riferimento è di grado uno e Ga(s) = Kc F(s) è di tipo uno, risulta un erroreintrinseco in regime permanente finito pari a

Poiché du(t) è di grado zero, il blocco che lo precede è di tipo zero, mentre il blocco che lo segue è di tipo uno, l’errore è finito, pari a

Calcolo dell’errore (4/7)

rr,

c F

Ke 1.6

K K∞ = =⋅

udu,

c

De 0.5

K∞ = − =

18

Poiché dy(t) è di grado zero e la cascata di blocchi che lo precede è complessivamente di tipo uno, l’errore è nullo

Calcolo dell’errore (5/7)

dy,e 0∞ =

Page 10: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 10

19

Poiché dy(t) è di grado zero e la cascata di blocchi che lo precede è complessivamente di tipo uno, l’errore è nullo

L’errore totale in regime permanente è pertanto pari a

Calcolo dell’errore (5/7)

dy,e 0∞ =

∞e = 2.1

20

Poiché dy(t) è di grado zero e la cascata di blocchi che lo precede è complessivamente di tipo uno, l’errore è nullo

L’errore totale in regime permanente è pertanto pari a Data l’entità dell’errore risultante, la soluzione di controllo costituita da C(s) = Kc = -0.2 risulta non idonea all’esecuzione di compiti aventi le caratteristiche del caso considerato

Calcolo dell’errore (5/7)

dy,e 0∞ =

∞e = 2.1

Page 11: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 11

21

Nel secondo caso:Poiché il riferimento è di grado zero e Ga(s) = Kc F(s) è di tipo uno, risulta un erroreintrinseco nullo in regime permanente

Calcolo dell’errore (6/7)

r,e 0∞ =

22

Nel secondo caso:Poiché il riferimento è di grado zero e Ga(s) = Kc F(s) è di tipo uno, risulta un erroreintrinseco nullo in regime permanente

Poiché du(t) è di grado zero, il blocco che lo precede è di tipo zero, mentre il blocco che lo segue è di tipo uno, l’errore è finito, pari a

Calcolo dell’errore (6/7)

r,e 0∞ =

udu,

c

De 0.5

K∞ = − =N.B.: È uguale al caso precedente!

Page 12: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 12

23

Poiché dy(t) è di grado uno e la cascata di blocchi che lo precede è complessivamente di tipo uno, l’errore è finito, pari a

Calcolo dell’errore (7/7)

dydy,

c F

e 0.04K K∞

α= = −

24

Poiché dy(t) è di grado uno e la cascata di blocchi che lo precede è complessivamente di tipo uno, l’errore è finito, pari a

L’errore totale in regime permanente è pertanto pari a

Calcolo dell’errore (7/7)

dydy,

c F

e 0.04K K∞

α= = −

∞e = 0.46

Page 13: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 13

25

Il file “U3L5_es1.m” realizza in Matlab i calcoli precedentemente illustrati ed apre i modelli Simulink per la simulazione del comportamento del sistema nei due casi analizzati:

“U3L5_model_11.mdl”“U3L5_model_12.mdl”

Utilizzo di Matlab

26

Simulazione con Simulink (1/4)

Modello per la simulazione del primo caso:

ydesdu dy

uscita

errore

U3L5_es1_1.mat

To File

Ramp(slope=0.4)

F

LTI System

Kc

Gain

0.5

Constant1

0.1

Constant

Page 14: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 14

27

Simulazione con Simulink (2/4)

Andamento dell’errore nel primo caso:

0 20 40 60 80 100 120 140 160 180 200-0.5

0

0.5

1

1.5

2

2.5

3

3.5e(t)

tempo (s)

come calcolato primae = 2.1∞

28

Simulazione con Simulink (3/4)

Modello per la simulazione del secondo caso:

du dy

ydes

uscita

errore

U3L5_es1_2.mat

To File

Step(amplitude=2)

Ramp(slope=0.01)

F

LTI System

Kc

Gain

0.1

Constant

Page 15: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 15

29

Simulazione con Simulink (4/4)

Andamento dell’errore nel secondo caso:

come calcolato primae = 0.46∞

0 20 40 60 80 100 120 140 160 180 200-0.5

0

0.5

1

1.5

2

2.5e(t)

tempo (s)

30

Esempio 2 (1/2)

Si consideri il seguente schema di controllo

con

e ydy

++

F(s)ydes

+Kc

du

++Kr

r

2

c4 3 2

0.1s 1.1s 1F(s) , K 10

s 4s 8s+ +

= =+ +

Page 16: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 16

31

Esempio 2 (1/2)

Si consideri il seguente schema di controllo

con2

c4 3 2

0.1s 1.1s 1F(s) , K 10

s 4s 8s+ +

= =+ +

e ydy

++

F(s)ydes

+Kc

du

++Kr

r

Esercizio proposto: Verificare l’asintotica stabilità del sistema in catena chiusa mediante applicazione del criterio di Nyquist

32

Calcolare l’errore di inseguimento in regime permanente nei seguenti casi:

r(t) = t con Kr = 1, in presenza dei disturbi du(t) = Du = 0.1 e dy(t) = Dy = 0.5r(t) = t con Kr = 2, in presenza del solo disturbo dy(t) = αdyt = 0.01t (du(t) = 0)r(t) = t2/2 con Kr = 1, in presenza dei disturbi du(t) = Du = 0.1 e dy(t) = Dy = 0.2

Verificare la correttezza dei risultati ottenuti, simulando il comportamento del sistema nei casi in oggetto utilizzando Simulink

Esempio 2 (2/2)

Page 17: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 17

33

Si rileva la seguente tipologia dei blocchi

Calcolo dell’errore (1/7)

e ydy

++

F(s)ydes

+Kc

du

++Kr

r

Tipo 0 Tipo 2

34

Si rileva la seguente tipologia dei blocchi

Il guadagno stazionario di F(s) risulta pari a

Calcolo dell’errore (1/7)

e ydy

++

F(s)ydes

+Kc

du

++Kr

r

Tipo 0 Tipo 2

{ }2F s 0

K lim s F(s) 0.125→

= ⋅ =

Page 18: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 18

35

Come nell’esempio precedente, l’errore di inseguimento in regime permanente ècalcolabile come:

Calcolo dell’errore (2/7)

r, du, dy,e e e e∞ ∞ ∞ ∞= + +

Errore intrinseco di inseguimento al riferimento

Errore dovuto alla presenza del disturbo du

Errore dovuto alla presenza del disturbo dy

36

Nel primo caso:Poiché il riferimento è di grado uno e Ga(s) = Kc F(s) è di tipo due, risulta un erroreintrinseco nullo in regime permanente

Calcolo dell’errore (3/7)

r,e 0∞ =

Page 19: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 19

37

Nel primo caso:Poiché il riferimento è di grado uno e Ga(s) = Kc F(s) è di tipo due, risulta un erroreintrinseco nullo in regime permanente

Poiché du(t) è di grado zero, il blocco che lo precede è di tipo zero, mentre il blocco che lo segue è di tipo due, l’errore è finito, pari a

Calcolo dell’errore (3/7)

r,e 0∞ =

udu,

c

De 0.01

K∞ = − = −

38

Poiché dy(t) è di grado zero e la cascata di blocchi che lo precede è complessivamente di tipo due, l’errore è nullo

Calcolo dell’errore (4/7)

dy,e 0∞ =

Page 20: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 20

39

Poiché dy(t) è di grado zero e la cascata di blocchi che lo precede è complessivamente di tipo due, l’errore è nullo

L’errore totale in regime permanente è pertanto pari a

Calcolo dell’errore (4/7)

dy,e 0∞ =

∞e = -0.01

40

Nel secondo caso:Poiché il riferimento è di grado uno e Ga(s) = Kc F(s) è di tipo due, risulta un erroreintrinseco nullo in regime permanente

Calcolo dell’errore (5/7)

r,e 0∞ =

Page 21: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 21

41

Nel secondo caso:Poiché il riferimento è di grado uno e Ga(s) = Kc F(s) è di tipo due, risulta un erroreintrinseco nullo in regime permanente

Poiché dy(t) è di grado uno e la cascata di blocchi che lo precede è complessivamente di tipo due, l’errore è nullo

Calcolo dell’errore (5/7)

r,e 0∞ =

dy,e 0∞ = N.B.: du(t) = 0

42

Nel secondo caso:Poiché il riferimento è di grado uno e Ga(s) = Kc F(s) è di tipo due, risulta un erroreintrinseco nullo in regime permanente

Poiché dy(t) è di grado uno e la cascata di blocchi che lo precede è complessivamente di tipo due, l’errore è nullo

L’errore totale in regime permanente è pertanto nullo

Calcolo dell’errore (5/7)

r,e 0∞ =

dy,e 0∞ = N.B.: du(t) = 0

Page 22: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 22

43

Nel terzo caso:Poiché il riferimento è di grado due e Ga(s) = Kc F(s) è di tipo due, risulta un erroreintrinseco in regime permanente finito pari a

Calcolo dell’errore (6/7)

rr,

c F

Ke 0.8

K K∞ = =⋅

44

Nel terzo caso:Poiché il riferimento è di grado due e Ga(s) = Kc F(s) è di tipo due, risulta un erroreintrinseco in regime permanente finito pari a

Poiché du(t) è di grado zero, il blocco che lo precede è di tipo zero, mentre il blocco che lo segue è di tipo due, l’errore è finito, pari a

Calcolo dell’errore (6/7)

udu,

c

De 0.01

K∞ = − = −

rr,

c F

Ke 0.8

K K∞ = =⋅

N.B.: È uguale al primo caso!

Page 23: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 23

45

Poiché dy(t) è di grado zero e la cascata di blocchi che lo precede è complessivamente di tipo due, l’errore è nullo

L’errore totale in regime permanente è pertanto pari a

Calcolo dell’errore (7/7)

dy,e 0∞ =

∞e = 0.79

46

Il file “U3L5_es2.m” realizza in Matlab i calcoli precedentemente illustrati ed apre i modelli Simulink per la simulazione del comportamento del sistema nei tre casi analizzati:

“U3L5_model_21.mdl”“U3L5_model_22.mdl”“U3L5_model_23.mdl”

Utilizzo di Matlab

Page 24: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 24

47

Simulazione con Simulink (1/6)

Modello per la simulazione del primo caso:

ydesdu dy

uscita

errore

U3L5_es2_1.mat

To File

Ramp(slope=1)

F

LTI System

Kc

Gain

0.5

Constant1

0.1

Constant

48

Simulazione con Simulink (2/6)

Andamento dell’errore nel primo caso:

come calcolato primae = -0.01∞

0 5 10 15 20 25 30-0.5

0

0.5

1e(t)

tempo (s)

Page 25: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 25

49

Simulazione con Simulink (3/6)

Modello per la simulazione del secondo caso:

du dy

ydes

uscita

errore

U3L5_es2_2.mat

To File

Ramp(slope=2)

Ramp(slope=0.01)

F

LTI System

Kc

Gain

0

Constant

50

Simulazione con Simulink (4/6)

Andamento dell’errore nel secondo caso:

come calcolato primae = 0∞

0 5 10 15 20 25 30-1

-0.5

0

0.5

1

1.5e(t)

tempo (s)

Page 26: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 26

51

Simulazione con Simulink (5/6)

Modello per la simulazione del terzo caso:

ydesdu dy

uscita

errore

U3L5_es2_3.mat

To File

Ramp(slope=1)

F

LTI System

1s

Integrator

Kc

Gain

0.2

Constant1

0.1

Constant

52

Simulazione con Simulink (6/6)

Andamento dell’errore nel terzo caso:

come calcolato primae = 0.79∞

0 5 10 15 20 25 30-0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4e(t)

tempo (s)

Page 27: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 27

Esempi di analisi e simulazione

54

Esempio 3 (1/2)

Il sistema di controllo in esame è rappresentato dal seguente schema a blocchi

dcost è un disturbo costante (BF) di ampiezza 0.5dAF è un disturbo in AF (ω≥200) di ampiezza 0.1

+

ydAF

++r

F(s)C(s)

dcost

++ u y’e

Page 28: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 28

55

Esempio 3 (2/2)

(modello del sistema)

(fdt del compensatore)

La catena è di tipo 1, per cui L’errore stazionario di inseguimento al gradino, eg, ènulloL’errore stazionario di inseguimento alla rampa, er, èfinito e vale 1/KGa = 1/(C(0)⋅KF) = 1/(1⋅4) = 0.25

)100s10s()1s(s)20s(20)s(F 2 +++

+=

6s6s4)s(C

++

=

56

Analisi degli errori (1/4)

Per ridurre er sarebbe necessario aumentare il guadagno stazionario C(0) del compensatore (ma, a pari specifiche, sarebbe certamente da riprogettare la restante parte dinamica)Per azzerare er sarebbe necessario introdurre un integratore nel compensatore (ma, a pari specifiche, anche in questo caso sarebbe certamente da riprogettare la restante parte dinamica)

L’errore stazionario di inseguimento alla parabola cresce indefinitamente (→∞)

Page 29: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 29

57

L’errore stazionario edcost, indotto dal disturbo dcost, è dato dalla seguente espressione

NB: edcost dipende solo da C(0)Per ridurre |edcost| sarebbe necessario aumentare il guadagno stazionario del compensatore (ma, a pari specifiche, sarebbe certamente da riprogettare la restante parte dinamica)

Analisi degli errori (2/4)

5.0)0(C

5.0s5.0

)s(F)s(C1)s(Fslime

0sdcost −=−=⎭⎬⎫

⎩⎨⎧

⎟⎠⎞

⎜⎝⎛ ⋅

+−

⋅=→

58

Analisi degli errori (3/4)

Per azzerare |edcost| sarebbe necessario introdurre un integratore nel compensatore (ma, a pari specifiche, anche in questo caso sarebbe certamente da riprogettare la restante parte dinamica)

Ipotesi di lavoro: modificare solo il guadagno stazionario del compensatore originario, ovvero inserirvi un integratore, senza riprogettare la parte dinamica →

C1=CC2=2CC3=3CC4=C/s

Page 30: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 30

59

Analisi degli errori (4/4)

È facile verificare che il sistema in catena chiusa diventa instabile nei seguenti casi

Fattore moltiplicativo ≥ 3.37 un (10.6 dB)Aggiunta del fattore 1/s (integratore)

60

Errore di inseguimento alla rampa

0 5 10 15 20 25 30-0.05

00.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4Errore di inseguimento per r(t)=rampa 1

Tempo (sec)

Am

piez

za

C1

C2

C3

0.250

0.125

0.083

Page 31: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 31

61

Errore indotto dal disturbo di BF

0 5 10 15 20 25 30-0.7

-0.6

-0.5

-0.4

-0.3

-0.2

-0.1

0Errore di inseguimento per d cos t (t)=0.5

Tempo (sec)

Am

piez

za

C1

C2

C3

-0.5

-0.25

-0.167

62

Risposta al gradino con C1

0 5 10 15 20 25 300

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2y(t) per r(t)=gradino 1

Tempo (sec)

Am

piez

za

C1

Page 32: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 32

63

Risposta al gradino con C2

0 5 10 15 20 25 300

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2y(t) per r(t)=gradino 1

Tempo (sec)

Am

piez

za

C2

64

Risposta al gradino con C3

0 5 10 15 20 25 300

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2y(t) per r(t)=gradino 1

Tempo (sec)

Am

piez

za

C3

Page 33: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 33

65

Risposta al gradino

0 5 10 15 20 25 300

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2y(t) per r(t)=gradino 1

Tempo (sec)

Am

piez

za

C1

C2

C3

66

Margini di stabilità (1/2)

-100

-50

0

50

100

Mod

ulo

(dB

)

10-2 10-1 100 101 102-405-360-315-270-225-180-135

-90

Fase

(deg

)

Margini di stabilità

ω (rad/sec)

C1

C2

C3C4

rad/s 73c ÷≅ω

Page 34: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 34

67

Margini di stabilità (2/2)

-315 -270 -225 -180 -135 -90-60

-50

-40

-30

-20

-10

0

10

20

30

400 dB

6 dB

0.25 dB0.5 dB

1 dB

3 dB

DdNic di G ai

Fase catena aperta (deg)

Mod

ulo

cate

na a

pert

a (d

B)

C1

C2

C3

C4

68

Effetti dell’aumento del guadagno d’anello

Dai DdB e dai DdNic è facile osservare che all’aumentare del guadagno del compensatore (e quindi d’anello) si riducono sia il margine di fase che il margine di guadagno

Page 35: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 35

69

Effetti dell’aumento del guadagno d’anello

Dai DdB e dai DdNic è facile osservare che all’aumentare del guadagno del compensatore (e quindi d’anello) si riducono sia il margine di fase che il margine di guadagno

Nel dominio del tempo: minore smorzamento nella dinamica della catena chiusa

70

Effetti dell’aumento del guadagno d’anello

Dai DdB e dai DdNic è facile osservare che all’aumentare del guadagno del compensatore (e quindi d’anello) si riducono sia il margine di fase che il margine di guadagno

Nel dominio della frequenza: maggiore picco di risonanza della catena chiusa

Page 36: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 36

71

Effetti dell’aumento del guadagno d’anello

Dai DdB e dai DdNic è facile osservare che all’aumentare del guadagno del compensatore (e quindi d’anello) si riducono sia il margine di fase che il margine di guadagno

Nel dominio del tempo: minore smorzamento nella dinamica della catena chiusaNel dominio della frequenza: maggiore picco di risonanza della catena chiusa

72

Risposta in frequenza della fdt W

-150

-100

-50

0

50

Mod

ulo

(dB

)

10-1 100 101 102-360-270-180

-900

90180

Fase

(deg

)

ω (rad/sec)

C1

C4

C2

C3

Page 37: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 37

73

Esempio 3 con nuovo progetto (1/2)

È stato progettato un nuovo compensatore (C5) con l’obiettivo di azzerare l’errore di inseguimento alla rampa e l’errore indotto dal disturbo dcont

Come già detto tale compensatore deve avere un integratoreLa restante parte dinamica del compensatore ètale da rispettare le altre specifiche giàsoddisfatte dal compensatore C1 (stabilità della catena chiusa, tempo di salita, ecc.)

74

Esempio 3 con nuovo progetto (2/2)

La fdt del nuovo compensatore è la seguente:

Nelle diapositive successive sono messe a confronto le risposte in catena chiusa con i compensatori C1 e C5

2

2

5 )6.13s(s)68.0s(3.114)s(C

++

=

Page 38: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 38

75

Errore di inseguimento alla rampa

0 5 10 15 20 25 30-0.05

00.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45Errore di inseguimento per r(t)=rampa 1

Tempo (sec)

Am

piez

za

C1

C5

76

Errore indotto dal disturbo di BF

0 5 10 15 20 25 30-0.6

-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1Errore di inseguimento per d cont(t)=0.5

Tempo (sec)

Am

piez

za

C1

C5

Page 39: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 39

77

Risposta al gradino di y in catena chiusa

0 5 10 15 20 25 300

0.2

0.4

0.6

0.8

1

1.2

1.4y(t) per r(t)=gradino 1

Tempo (sec)

Am

piez

za

C1

C5

78

Risposta al gradino di u in catena chiusa

C1

C5

0 0.5 1 1.5 2 2.5 3-1

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4u(t) per r(t)=gradino 1

Tempo (sec)

Am

piez

za

Page 40: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 40

79

Margini di stabilità (1/2)

10-1 100 101 102 103-360

-270

-180

-90

Fase

(deg

)

-150

-100

-50

0

50

100

Mod

ulo

(dB

)

ω (rad/sec)

C1C5

80

Margini di stabilità (2/2)

-360 -315 -270 -225 -180 -135 -90 -45 0

-30

-20

-10

0

10

20

30

-20 dB

3 dB6 dB

0.25 dB

-12 dB

1 dB

0.5 dB

-6 dB

-1 dB

-3 dB

DdNic di G a1 e di G a5

Fase catena aperta (deg)

Mod

ulo

cate

na a

pert

a (d

B)

C1C5

Page 41: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 41

81

DdB di W1 e di W5

-150

-100

-50

0

Mod

ulo

(dB

)

10-1 100 101 102 103-360

-270

-180

-90

0

Fase

(deg

)

ω (rad/sec)

10-1

101-4

0

2

C1C5

82

Effetto del disturbo di AF su y (1/3)

Analisi degli effetti di dAF sull’uscita y

⎩⎨⎧

=⇒∞→ω≅⇒=ω

+==

1W1W200

CF11

dyW

AF,y

AF,y

AFAF,y

Page 42: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 42

83

Effetto del disturbo di AF su y (2/3)

10-1 100 101 102 103-40

-30

-20

-10

0

10

20

30M

odul

o (d

B)

ω (rad/sec)

1 un

C5

C1

C2

C3

84

Effetto del disturbo di AF su y (3/3)

0 2 4 6

0

0.5

1

1.5

2

t

y

Con compensatore C1

0 2 4 6

0

0.5

1

1.5

2

t

y

Con compensatore C2

0 2 4 6

0

0.5

1

1.5

2

t

y

Con compensatore C3

0 2 4 6

0

0.5

1

1.5

2

t

y

Con compensatore C5

)1.0(1 ±⋅=

Page 43: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 43

85

Effetto del disturbo di AF su u (1/3)

Analisi degli effetti di dAF sul controllo u

⎪⎪⎪⎪⎪

⎪⎪⎪⎪⎪

⎪⎪⎩

⎪⎪⎨

=∞=⇒∞→ω

⎪⎪⎩

⎪⎪⎨

≅⇒=ω

+−

==

5

3

2

1

AF,u

5

3

2

1

AF,u

AFAF,u

C con 0C con 12C con 8C con 4

)(CW

C con 57.0C con 12C con 8C con 4

W200

CF1C

duW

86

Effetto del disturbo di AF su u (2/3)

10-1 100 101 102 103-30

-20

-10

0

10

20

30

40

50

Mod

ulo

(dB

)

ω (rad/sec)

12 un8 un

4 un

0.57 un

C5

C1

C2

C3

Page 44: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 44

87

Effetto del disturbo di AF su u (3/3)

0 2 4 6-10

-5

0

5

10

15

t

u

Con compensatore C1

0 2 4 6-10

-5

0

5

10

15

t

u

Con compensatore C2

0 2 4 6-10

-5

0

5

10

15

t

u

Con compensatore C3

0 2 4 6-10

-5

0

5

10

15

t

u

Con compensatore C5

)1.0(4 ±⋅= )1.0(57.0 ±⋅=

)1.0(8 ±⋅= )1.0(12 ±⋅=

88

Strumenti di analisi (1/2)

I grafici relativi all’esempio trattato sono stati ottenuti con l’ausilio dello script Matlab“Sim_dist_AF.m” che a sua volta apre il modello Simulink “Dist_AF.mdl”

Page 45: Regime permanente e transitorio - polito.itcorsiadistanza.polito.it/on-line/Controlli_automatici/pdf/U3_5.pdf · In Matlab è possibile utilizzare il comando dcgain per calcolare

Controlli automatici Esempi di analisi e simulazione

© 2007 Politecnico di Torino 45

89

Strumenti di analisi (2/2)

u ys yer

y

u

1

U_AF1

Y_AF1F

Processo

C1

Controllore

Clock0.1*sin(200t)

Modello Simulink Dist_AF.mdl