Sei sulla pagina 1di 8

Capitolo 3 Esempi numerici generali

Dopo aver realizzato e analizzato l’algoritmo risolutivo per l’ottenimento della classe di
compensatori stabilizzanti per un generico sistema, vengono in questo capitolo riportati alcuni
esempi numerici.

3.1 Esempio 1

Sia assegnato il seguente sistema sotto forma di equazioni di stato:

Ẋ =AX + BU (3.1 )

Y =CX + DU (3.2)

A= [ 10 −20 ] , B=[ 11] , C=[−4 1 ] , D=0

Attraverso l’utilizzo della funzione MATLAB “statocoprima” realizzata come descritto nel
Capitolo 2 si determinano le funzioni di trasferimento X , Y , M ed N. Vengono allora assegnati i
seguenti autovalori per determinare le matrici H ed F: [−3 , −4] per determinare F, [−5 −6 ]
per determinare H.

MATRICE F

Affinché A+ BF abbia come autovalori [−3 , −4] deve essere vera la seguente relazione:

det ¿

−20 2
Questa equazione, risolta per F, ci dice che: F=[ , ]. Tale soluzione può facilmente essere
3 3
verificata utilizzando il seguente comando in MATLAB: place( A ,−B ,[−3 , −4 ]).

MATRICE H

Ragionando come per la matrice F, si trova H per avere [−5 −6 ]come autovalori per A+ HC. Va
allora verificata la seguente equazione:

det ¿

3.5
Si ottiene così che H=
4 [ ]
. Tale risultato può essere calcolato in MATLAB dal comando:

H=( place(inv( A),−inv (C),[−5 −6 ])) ’.

RAPPRESENTAZIONE DI STATO A CICLO CHIUSO


Ottenuti i vettori di guadagno F ed H è possibile scrivere la fattorizzazione coprima del sistema
attraverso le funzioni definite nel Capitolo 2. Utilizzando la funzione “statocoprima” con i dati del
problema, fissando Q=1 si ha:

−13 3.5 3.5 −13 3.5 −1

[
X = −16 2 4
−6.667 0.667 0
, Y =
] [
−16 2 −1
−6.667 0.667 1 ]
−5.667 0.667 1 −5.667 0.667 1

[
−6.667 0.667 1 −4] [
M = −6.667 −1.333 1 , N = −6.667 −1.333 1
1 0 ]
Da queste è possibile trovare M (s) e N ( s) ottenendo:

s2 + s−2 −3 s−9
M (s)= 2
, N (s )= 2 (3.5)
s + 7 s+ 12 s +7 s+12

Avendo fissato Q=1, dalla funzione MATLAB vengono restituite anche le matrici di stato della
funzione di trasferimento a ciclo chiuso del sistema T =XN + MQN . Queste matrici verranno
denominate col pedice “ t ”. In questo caso esse sono così fatte:

−13 3.5 0 0 0 0 0 0

[ ]
−16 2 0 0 0 0 0 0
−6.667 0.667 −5.667 0.667 0 0 0 0
−6.667 0.667 −6.667 −1.333 0 0 0 0
At =
0 0 0 0 −5.667 0.667 0 0
0 0 0 0 −6.667 −1.333 0 0
0 0 0 0 −6.667 0.667 −5.667 0.667
0 0 0 0 −6.667 0.667 −6.667 −1.333

3.5

[]
4
0
Bt = 0
1
1
11

C t=[ 0 0−4 1 0 0−4 1]

Dt =0

A conferma di quanto svolto si possono valutare gli autovalori della matrice di stato appena trovata
tramite il comando MATLAB eig( A t ), il quale restituisce il seguente vettore:
[−6 ,¿−5 ,¿−4 ,¿−3 ,¿−4 ,¿−4 ,¿−3 ,¿−3 ]. In fine si calcola l’integrale J, per valutare l’errore
della risposta al gradino tramite i comandi:

P=lyap(A,B*B'); %soluzione equazione di Sylvester


J=C*inv(A)*P*inv(A')*C' %calcolo di J
Q J Tali comandi riportano il seguente risultato: J=0.4467. Come
1 0.4467 esempio si riportano altri valori di J al variare di Q=cost in Tabella
2 0.7288 3.1. Come si può notare dai risultati, al crescere di Q il valore
5 2.0715 dell’integrale J tende ad aumentare. Se invece Q assume valori
10 5.9640
sempre più piccoli questo integrale tende ad annullarsi.
0.1 0.2635
0.01 0.2489

Tabella 3.1: Errore J al variare di Q.

3.2 Esempio 2

Dato il sistema in Figura 3.1, con la seguente funzione di trasferimento,

10
G(s)= (3.5)
( s+1)(s 0.1+1)

progettare un compensatore C (s) tale che:

1. L’errore al gradino unitario sia nullo


2. L’errore alla rampa unitaria sia minore o uguale di 0.1
3. La sovraelongazione sia minore di 0.1
4. La pulsazione di attraversamento sia circa 2 [ rad / s ]

Figura 3.1: Schema a blocchi del sistema retroazionato.

Per assicurare l’errore al gradino unitario nullo C (s) deve avere un polo nell’origine.
Per assicurare l’errore alla rampa unitaria minore o uguale di 0,1 bisogna lavorare sul guadagno

1
statico. L’errore alla rampa unitaria R( s)= ( s2)è descritto dalla seguente relazione:

CG CG R
E( s)=R−Y =R−R
1+CG
=R 1− ( =
1+CG 1+CG
=¿ )
1 1 1 (s+1)(s 0.1+ 1)
¿ 2
= (3.6)
s 1+ k 10 s s (s +1)(s 0.1+1)+k 10
s (s+ 1)( s 0.1+1)

Per il teorema del valor finale si ha che:

(s+ 1)( s 0.1+1) 1 1


lim e( t)=lim sE (s )=lim ¿ = ≤ (3.7)¿
t→∞ s→0 s→0 s(s+1)( s 0.1+1)+ k 10 10 k 10

Da questa relazione si ha che k ≥ 1. Per il sistema viene scelto k =2. Possiamo adesso definire allora

2
un C 1(s)= tale da soddisfare le specifiche statiche richieste. Per utilizzare la tecnica messa a
s
punto nel Capitolo 2 viene considerata non più la sola G(s); a questa va già moltiplicata la C 1(s)
appena determinata. Il nostro sistema da analizzare sarà allora:

~ 20 N ( s)
G(s )=C 1(s)G(s )= = (3.8)
s (s +1)(s 0.1+1) M ( s)
~
Determino preventivamente una rappresentazione di stato del sistema G(s ). Per semplicità si usa la
rappresentazione in forma canonica, facilmente ricavabile dalla funzione di trasferimento.

0 1 0 0
A= 0 0
[ ] []
1 , B= 0 , C=[ 200 0 0 ] , D=0(3.9)
0 −1 −11 1

Assegno adesso gli autovalori per determinare i vettori di guadagno F ed H. Gli autovalori scelti
per determinare F sono ¿ e quelli per H sono ¿1. Fissato inizialmente Q=1 si può usare la funzione
MATLAB “statocoprima”. I vettori di guadagno ottenuti sono:

0.020

[ ]
F=[ −40 −37 0 ] , H = −0.295 (3.10)
3.175

Le rappresentazioni di stato delle funzioni della fattorizzazione coprima sono:

1
N.b: se si sceglie un numero complesso è necessario che ci sia anche il suo coniugato.
4 1 0 0.2 4 1 0 0
X=
[
−59 0 1 −0.295
635 −1 −11 3.175
−40 −37 0 0
,Y= −59 0
][1 0
635 −1 −11 −1
−40 −37 0 1
]
0 1 0 0 0 1 0 0
M= 0
[ 0 1 0
−40 −38 −11 1
−40 −37 0 1
,N= 0

200
0

0
][
1

0
0 (3.11)
−40 −38 −11 1
0
]
X + MQ
Tali funzioni permettono di definire C (s)= , famiglia di compensatori stabilizzanti per il
Y −NQ
sistema. Si deve adesso scegliere Q per assicurare le specifiche dinamiche, punti 3 e 4. Per fare ciò
si ipotizza inizialmente che il sistema in esame si comporti come un sistema del 2° ordine con poli

ω n2
complessi e coniugati con generica funzione di trasferimento 2 2 . La specifica del
(s +2 ξ ω n +ω n )
punto 3 richiede una sovraelongazione minima; per questo tipo di sistemi significa scegliere ξ ≈ 0.77
. Sfruttando la relazione empirica tra ξ e il margine di fase mφ si ottiene:

mφ=cos−1 (−2 ξ 2 + √ 4 ξ 4 +1 ¿ ) ≈ 68 °(3.12) ¿


~
Il compensatore da progettare C (s) deve pertanto assicurare al sistema G(s )le seguenti specifiche
dinamiche:

ω t ≈ 2rad / s ,mφ ≈ 68 ° (3.13)


~
Dai diagrammi di Bode del sistema C (s) G(s) si ottiene:

ω t=2.83 rad / s ,mφ=12.7° (3.14 )

Rimane solo da modificare Q( s) affinché assicuri le specifiche dinamiche di (3.13).

3.2 Esempio 3

La Figura 3.2 mostra il circuito elettrico equivalente dell’armatura e il diagramma di corpo


libero del rotore di un motore in corrente continua (DC motor). Il sistema in analisi ha come
ingresso una tensione V applicata all’armatura e come uscita la velocità angolare dell’albero θ̇
(viene considerato un attrito viscoso tra rotore e albero).
Figura 3.2: Modello del motore in corrente continua.

DATI
 J=0.01 kg m2 , momento d’inerzia del rotore
 b=0.1 Nms, costante di attrito viscoso
 k e =0.01V /rad /s, costante forza elettromotrice

 k t=0.01 Nm/ A , costante torsione motore


 R=1 Ω, resistenza elettrica
 L=0.5 H , induttanza elettrica

EQUAZIONI

La torsione generata dal motore è proporzionale alla corrente di armatura ed alla forza del campo
magnetico. Si consideri un campo magnetico costante, la torsione sarà data allora dalla seguente
relazione:

T =k t i(3.15)

La forza elettromotrice è definita come

e=k e θ(3.16)

Le due equazioni (3.15) e (3.16) hanno stesse unità di misura nel SI (sistema internazionale),
pertanto si assume:

K=k t =k e (3.17)

Dalla seconda legge di Newton della dinamica e dalla legge di Kirchhoff alle maglie si ottengono le
seguenti equazioni che descrivono il sistema in Figura 3.2:
J θ̈+b θ̇=Ki ( 3.18 )

di
L + Ri=V −K θ̇(3.19)
dt

FUNZIONE DI TRASFERIMENTO

Passando al dominio di Laplace, le equazioni (3.18) e (3.19) si trasformano in:

s ( Js +b ) Θ ( s )=KI ( s ) ( 3.20 )

( Ls+ R) I ( s)=V (s )−KΘ( s)(3.21)

Si può adesso valutare la funzione di trasferimento:

Θ̇(s) K rad /s
G(s)= =
V (s) (Js +b)( Ls+ R)+ K 2
V [ ]
(3.22)

RAPPRESENTAZIONE DI STATO

Dalle equazioni (3.18) e (3.19) è possibile ricavare le matrici di stato:

−b K
A= J
−K
L
[ ] J , B=
−R
L
0
1 ,C=¿
L []
CONTROLLORE

Si vuole progettare un compensatore C (s) che soddisfi le seguenti specifiche:

1. Errore al gradino unitario inferiore a 1%.


2. Settling time minore di 2 secondi.
3. Sovraelongazione minore del 5%

L’errore al gradino del sistema si definisce nel seguente modo:

CG CG R
E ( s )=R−Y =R−R
1+CG
=R 1− ( =
1+CG 1+CG)=¿

1 1 1 p
¿ = (3.24)
s 0.01 p s (s +10)(50 s +100)+ 0.01
1+
(0.01 s+0.1)(0.5 s +1)+ 0.0001

Per assicurare un errore al gradino unitario inferiore a 1% si agisce sul guadagno statico (qui
definito come p) come per l’Esempio 2:
p p
lim e( t)=lim sE (s )=lim ¿ = ≤0.01( 3.25)¿
t→∞ s→0 s→0 ( s+ 10)(50 s+100)+0.01 10∗100+ 0.01

Da questa relazione si ha che p<10. Viene scelto p=9. Per utilizzare la funzione MATLAB
“statocoprima” si utilizza una rappresentazione di stato della funzione p ×G(s) le cui matrici sono:

A= −12 −20.02 , B= 1 , C=¿


1 [ 0 0] []
Vengono assegnati i seguenti autovalori: [−9 , −10 ] per determinare il vettore H, [−8 −11] per
determinare il vettore F. Si fissa Q=1 e si procede all’utilizzo della funzione MATLAB
“statocoprima”. Si ottengono le seguenti matrici compatte di stato delle funzioni X , Y , M ed N:

−12 −33 −0.7211 −12 −33 −1


X= 1
[ 2
−7 −67.98
0.1111 ,Y = 1
0
2
] [0 ,
−7 −67.98 1 ]
−19 −88 1 −19 −88 1
M=
[ 1 0 0
−7 −67.98 1 ] [
, N= 1
0
0
18 0
0 (3.27)
]
X + MQ
Da queste è possibile definire la classe di compensatori stabilizzanti C (s)= passando alle
Y −NQ
funzioni di trasferimento tramite il seguente codice:

%Numeratori e denominatori funzioni di trasferimento


[numX,denX]=ss2tf(Ax,Bx,Cx,Dx)
[numY,denY]=ss2tf(Ay,By,Cy,Dy)
[numM,denM]=ss2tf(Am,Bm,Cm,Dm)
[numN,denN]=ss2tf(An,Bn,Cn,Dn)
%Funzioni di trasferimento
Xs=tf(numX,denX)
Ys=tf(numY,denY)
Ms=tf(numM,denM)
Ns=tf(numN,denN)
La classe di compensatori stabilizzanti per il sistema assume la seguente espressione:

−2.506 s−26.05 s 2 +12 s+20.02


+ 2 Q(s )
s 2+ 10 s+ 9 s +19 s+ 88
C (s)= (3.28)
s2 +17 s+62.98 18
2
− 2 Q( s)
s +10 s+9 s +19 s +88

Potrebbero piacerti anche