You are on page 1of 18

Universit Paul Sabatier

Systeme linaire Invariant I

- TP2 : Moteur -

Auteurs :
BEZIA Ayoub Pr
Encadrant :
Carolina Albea
MOUSSAOUI Mahdi

1er dcembre 2017


Table des matires

Introduction 1

1 prsentation du TP 2

2 TUDE PRLIMINAIRE DU PROCD : 5

3 Mise en place d'un retour d'etat 9

4 Conclusion 13

Annexes 15
Annexe 1 - code Matlab 15

Annexe 2 - code Matlab 16


Introduction

En automatique, la commande par retour d'tat est un moyen de modier le comportement en boucle ferme
d'un systme dynamique donn par une reprsentation d'tat. Cette approche suppose l'tat connu. Quand ce
n'est pas le cas, on peut utiliser un observateur d'tat de manire reconstruire l'tat partir des mesures
disponibles. Une nalit de la commande par retour d'tat peut tre de minimiser (ou maximiser) un indice
de performance . Ce peut tre aussi d'obtenir un systme en boucle ferme dont les ples, c'est--dire les
valeurs propres de la matrice d'tat, soient placs de manire approprie. Ces ples, en eet, dterminent le
comportement du systme.

1
1. Prsentation et prparions du TP

But de travail :
Lidentification des paramtre et lasservissement de la position dun moteur a courant continue
en utilisant une commande par retour dtat et un pr-compensateur de gain statique.
Prsentation de procd :

Figure 1 : schma gnrale simplifi du procd.

Figure 2 : schma Bloc du procd.

() est la tension dentre du moteur.


() est la position de laxe secondaire du moteur.

2
Figure 3 : Implmentation sur Simulink.
1. Le model sous espace dtat :

Ks Ks
vs ( s ) 9 K s vg ( s ) x1 ( s ) 9 K s x2 ( s )
g
x1 (t ) vs (t ) g

Km K g Km K g
On a : vg ( s ) vm ( s ) et on pose : x2 (t ) vg (t ) on obtient : x2 ( s ) u (s)
1 Tm s 1 Tm s
y ( s ) vs ( s ) u (t ) vm (t ) y ( s ) x1 ( s )

. Ks
Ks x1 (t ) 9 K x2 (t )
x1 ( s) 9 K s x2 ( s ) g
g
. 1 .
Km K g
On applique x2 ( s )(1 Tm s ) K m K g u ( s ) et enfin : x 2 (t ) x 2 (t ) u (s)
Tm Tm
y (t ) x1 (t ) vs ( s ) y (t ) x1 (t )


Le systme d'tat s'crit alors :

Ks
. 0 9 K x (t ) 0
x1 (t ) g 1 u (t )
Km K g
. 1 x2 (t )
x 2 (t ) 0 T Tm
m
x (t )
y (t ) 1 0 1
x2 (t )

3
1. Le model sous espace dtat :

On a qua chang la sortie :

Ks
. 0 9 K x (t ) 0
x1 (t ) g 1
Km K g u (t )
. 1 x2 (t )
x 2 (t ) 0 Tm
T m
x (t )
y (t ) 0 1 1
x2 (t )

2. Etude pour K s 7 et Tm 0.3

Sur Matlab on a trouv que :

Les deux system et sont instables.

est commandable et observable,

est commandable mais non observable.

Les code de simulation sont jointes aux annexes.

4
2. TUDE PRLIMINAIRE DU PROCD :

1. Le model dtat :

Ks
. 0 9 K x (t ) 0
x1 (t ) g 1
Km K g u (t )
. 1 x2 (t )
x 2 (t ) 0 T Tm
m
x (t )
y (t ) 1 0 1
x2 (t )
2. Les pointe dquilibre :
.
On a X (t ) 0 et u (t ) 0 ; alors on trouve lunique pointe dquilibre X (t ) 0 0

- La stabilit du systme :

1
Vu que la matrice A est triangulaire suprieur le system a deux valeurs propres 0 et <=0
Tm
Donc le system est instable.

3. Les modes de systme


1
t
Les modes associent au system sont : m1 (t ) e 0t
1 et m1 (t ) e Tm

Donc Tm reprsente le constant du temp pour le system.


4. La commandabilit du system :

La matrice C est de rang plein (rang=2 = nombre d'tats) donc le systme est commandable.

Le fait que le systme soit commandable signifie qu'il existe une commande U(t) dfinie sur t0 t1
Permettant de faire voluer (en un temps fini) le systme d'un tat initial quelconque X t0 a un tat
dsire quelconque X t1 .

5
5. Lobservabilit du systme :

1 0

0 K s
9K g

La matrice O est de rang plein (rang=2 = nombre d'tats) donc le systme est observable.
Le fait qu'il soit observable signifie que l'on est capable destimer les tats x1 et x2 partir des variables
de sortie y mesures et la commande u.
6. Comme le systme est commandable et observable, il admet donc une reprsentation sous forme
de compagne de commande et une forme campagne d'observation.

Pour obtenir la forme compagne de commande on pose X (t ) Pc X c (t ) . Pc P1 P2 .

P2 B et P1 AP2 a1B AB a1B ( a1 est le deuxime coefficient du polynme caractristique)

1 1
On a ( ) ( ) 2
Tm Tm

Km K g Km K g
0 0
9Tm 9Tm
Donc P2 K m K g et P1 enfin P
Km K g c
Km K g Km K g
Tm (1 Tm ) (1 Tm )
Tm Tm Tm
2 2

.
X (t ) Pc 1 APc X c (t ) Pc 1BU (t )
Alors : c
y (t ) CPc X c (t ) DU (t )
Aprs calcule on trouve :

K K
Cc m g 0
Tm

Pour obtenir la forme compagne de commande on pose X (t ) Pc X c (t ) . Pc P1 P2 .

Aprs calcule on trouve :

0
Bo K m K g
Tm

6
2.2 Reprsentation de lensemble sous forme :

Figure 4 : le systme

Le systme d'tat est identique sauf que cette fois on a y = vg = x2 (figure 2)

Ks
. 0 9 K x (t ) 0
x1 (t ) g 1 u (t )
Km K g
. 1 x2 (t )
x 2 (t ) 0 T Tm
m
x (t )
y (t ) 0 1 1
x2 (t )

Comme les matrices (A, B) sont inchanges, le nouveau systme considre est commandable (cf. Partie
2.1) et ses proprits de stabilits sont identiques : le systme possde les mmes valeurs propres il est
donc est galement instable.
La matrice de commandabilit reste inchange.
la matrice d'observabilit :

La matrice n'est pas de rang plein donc le systme n'est pas observable.
Le mode concerne par cette perte d'observabilit est le mode associe x1 donc le mode 1/Tm :
Ctait prvisible car l'tat x1 n'est plus mesur, la mesure se faisant avant l'intgrateur (1/s), on ne peut
Connaitre l'historique de x1 (Dans notre cas, on connaitre la vitesse mais on ne pourra pas dterminer
La position).

7
2.2 Identification des coefficients Km et Tm :

Comme on a dit au question 2.1 Tm est le constant du temp du systme


Donc applique une entre echlon damplitude 2 et on calcule le temps reponce

Figure 5 : La rponse du systme rel

Le temps de monte 63% avec un signal d'entre chelon (2 dans notre cas) .
Nous avons obtenu exprimentalement :
Tm = 0.28s.
Et on a Km* Kg = 1.18 donc km=1.18/kg=11.23.

8
3. Mise en place d'un retour d'tat :
3.1 calcule des paramtre ki dans la base initiale :

Figure 6 : Implmentation sous Simulink


1.le model du system :

Do la reprsentation dtat :

x
y 0 1 1
x2

On peut placer les ples dsirs ou on veut, il suffit de calculer le polynme caractristique de la
matrice A du (qui aura en paramtres K1 et K2), et d'identifier celui-ci au polynme dsir :

Par identification nous obtenons :

Et Finalement nous avons :

9
3.2 Calcule des ki en utilisant la forme compagne de commande :

1. La loi de commande sous la forme commandable :

u t Kc . X c t .

2. Lexpression du model :

3. Calcule de Kc :
On sait que les coefficients de la dernire line de la matrice A2c sont les mmes coefficients que
celle des polynmes caractristiques en ordre invers avec un signe ngative et on :

1 1
Donc -Kc1=-36.01 et Kc 2 4.8 Kc 2 4.8 1.22
Tm Tm

5. La relation entre Kc et K :
Si On utilise nimporte quelle reprsentation on doit trouver la mme loi de commande

Donc u t K . X t Kc . X c t . Alors K .Pc. X c t K c . X c t .

Enfin : K Kc * Pc 1
On a vrifi sur Matlab et on a trouv le mme rsultat

3.3. Calcule du pr-compensateur :

1. Lexpression du gain statique :


Gs C * A B * K * B
1

2. Pour avoir une erreur de position nulle on doit compenser le gain statique donc :
1
N

C * A B * K * B
1

10
3.4. Simulation sous Matlab-Simulink :
Les code utilis pour calculer les paramtres et les lois de commande sont joindre lannexe.
1. Implmentation sous Simulink :

Figure 7 : Implmentation du system sous Simulink


Pour extraire les tats sous Simulink on utilise un bloc state space et on met aux champs de la
matrice C de la matrice identit puis on multiplie par une la matrice C pour retrouver la sortie y
2. Rsultat de sugillation :

- Figure 7 : rsultat de simulation sous Simulink


-
3. Le courbe jaune reprsente la sortie y ou ltat x1 et le courbe bleu reprsente ltat x2
Daprs le graphe le temps to de rponse a 90 % cest 0.8 et la pseudo-priode T cest 1.1
4. Et on sait que la partie relle pole de systme R 3 0.8*3 2.4
2
et la partie imaginaire cest la pseudo-pulsation 0 5.7 rad / s donc
T
on trouve bien les spcifications imposes par les ples dsirs.

11
Si lentre est une rampe :

La sortie y(t) :

Lerreur e(t) :

On remarque la sortie y(t) suite la consigne mais il y a une erreur de tranage.

12
4 | Conclusion

Dans ce TP on a arriv indenti les parametre et command la procd du moteur avec un contrleur de
type reteur d'etat et un precomensateur par deux mthode la premire directe et la deuxieme en passent par
la forme compane de commande et on a satisfait les spcication des performances dsires pour une entre
echlone mais pour un entre rampe on a pas arriv a ellimin l'erreur de trinage .

13
Annexes

14
Annexe 1 - code Matla

1 clc ; close all ; clear all ;


2 Ke =10;
3 Ks =10;
4 Kg =0.105;
5 Tm =0.28;
6 km =11.23;
7 A =[0 Ks /(9* Kg ) ;0 -1/ Tm ];
8 B =[0 ; km * Kg / Tm ];
9 C =[1 0];
10 D =0;
11 sys = ss (A ,B ,C , D )
12 Cr = ctrb ( sys ) ;
13 rank ( Cr )
14 % le sys est comandable
15 Ob = obsv ( sys ) ;
16 rank ( Ob )
17 % le sys est Observable
18 % forme compagne de commande
19 pol = poly ( A ) ;
20 a1 = pol (2) ;
21 P2 = B ;
22 P1 = A * P2 + a1 * B
23 Pc =[ P1 P2 ]
24 Ac = inv ( Pc ) * A * Pc
25 Bc = inv ( Pc ) * B
26 Cc = C * Pc
27 Dc = D ;
28 G1 = ss2tf (A ,B ,C , D ) ;
29 G2 = ss2tf ( Ac , Bc , Cc , Dc ) ;
30 % forme compagne d ' observation
31 Ao = Ac . ';
32 Bo = Cc . '
33 Co = Bc . '
34 Do =0;
35 G3 = ss2tf ( Ac , Bc , Cc , Dc ) ;
36 % identification de to et Tm
37 Km =1.18/ Kg
38 to =0.28
39 % 3 reteur d ' etat
40 Pd =[ -2.4+5.5 i -2.4 -5.5 i ]
41 Kcv = place ( Ac , Bc , Pd )
42 % 3.2
43 polyd = poly ( Pd ) ;
44 Ad =[0 1; - polyd (3) - polyd (2) ];
45 R = Ac - Ad ;
46 Kc = R (2 ,:)
47 K = Kc * inv ( Pc )
48 K2 = place (A ,B , Pd )
49 N = -1/( C * inv (A - B * K ) * B )

15
Annexe 2 - code Matlab

1 clc
2 close all
3 clear all
4 Ke =10;
5 Ks =10;
6 Kg =0.105;
7 Tm =0.3;
8 km =7;
9 A =[0 Ks /(9* Kg ) ;0 -1/ Tm ];
10 B =[0 ; km * Kg / Tm ];
11 C =[0 1];
12 D =0;
13 sys = ss (A ,B ,C , D )
14 Cr = ctrb ( sys ) ;
15 rank ( Cr )
16 % le sys est comandable
17 Ob = obsv ( sys ) ;
18 rank ( Ob )
19 % le sys n ' est Observable

16

You might also like