Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
Ẋ =AX + BU (3.1 )
Y =CX + DU (3.2)
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:
[
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
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:
3.2 Esempio 2
10
G(s)= (3.5)
( s+1)(s 0.1+1)
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)
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
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:
3.2 Esempio 3
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
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)
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
s ( Js +b ) Θ ( s )=KI ( s ) ( 3.20 )
Θ̇(s) K rad /s
G(s)= =
V (s) (Js +b)( Ls+ R)+ K 2
V [ ]
(3.22)
RAPPRESENTAZIONE DI STATO
−b K
A= J
−K
L
[ ] J , B=
−R
L
0
1 ,C=¿
L []
CONTROLLORE
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: