TP 02 Master Inf Indust Sys Multiv 20 21e

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 15

TP Systèmes Linéaires Multivariables

M1 Automatique et Informatique industrielle Prof. Z. Ahmida


Faculté de Technologie, Dépt. Génie Electrique
Université 20 Août 1955 de Skikda
Travaux Pratiques : Systèmes Multivariables
Master 1 : Informatique Industrielle

TP N° 02
Simulation des Systèmes Représentés par des Equations d’Etat
sur Matlab
A partir du cours sur Les systèmes linéaires multi-variables, l’étudiant a appris que les systèmes dynamiques
décrits par des équations différentielles dans un premier temps, puis par des fonctions de transfert dans un
espace complexe peuvent, aussi, être représentés par ce qu’on appelle : les modèles d’état.
Le modèle d’état est une représentation matricielle d’un système dynamique pour lequel est défini un
vecteur d’état dont les éléments sont appelés variables d’état :

= +
= +

Dans ce système d’équations est le vecteur d’état du système, représente l’entrée et la sortie.
, , et sont des matrices de dimensions appropriées dont les éléments sont directement calculés à
partir des paramètres du système.
Le langage Matlab permet la description d’un système linéaire par des équations d’état de la façon
suivante :

NomSys = ss(A,B,C,D);

Avec: ‘NomSys’ est chaine de caractères pour désigner un système quelconque.


La déclaration ‘ss’ est une commande Matlab pour la construction d’une structure
d’espace d’état (State Space).
, , et sont les matrices de la représentation d’état du système.

Pour une structure d’état donnée, Matlab permet l’extraction des paramètres du système de la manière
suivante :

[A,B,C,D] = ssdata(SysName);

Matlab possède, aussi, des commandes puissantes pour convertir une structure d’état en une fonction de
transfert et vice-versa :

FT_NomSys = tf(NomSys); Conversion d’une structure d’état en une fonction de


transfert nommée FT_NomSys

L’extraction des paramètres de la fonction de transfert est réalisé à l’aide de la commande :


[num,den] =tfdata(FT_NomSys,’v’); num et den sont des vecteurs contenants les
coefficients du numérateur et du
dénominateur de la fonction de transfert,
respectivement. Le switch ‘v’ indique au
compilateur qu’il s’agit d’un système SISO.
1
TP Systèmes Linéaires Multivariables
M1 Automatique et Informatique industrielle Prof. Z. Ahmida
Faculté de Technologie, Dépt. Génie Electrique
Université 20 Août 1955 de Skikda

Partie 1.

C’est un système mécanique en rotation mono-entrée mono-sortie (SISO).

Figure (1)

Par l’application de la loi de la dynamique pour les systèmes mécaniques en rotation, on obtient :
= =

Avec ∑ la somme algébrique des COUPLES, est le COUPLE moteur, b le coefficient d’amortissement
et le coefficient d’élasticité d’un ressort de torsion.

Il découle l’équation différentielle suivante :

+ + =

En définissant les variables d’état comme suit :

=
= =

Si la variable de sortie est prise comme étant la position angulaire alors, les équations d’état suivantes sont
obtenues comme représentation du système :

= ! + !

=" # +" #

Dans cette partie on simule le système mécanique pour les valeurs numériques suivantes : J=1 kg.m2 ,
b=4 N.m.s et kR=40 N.m/rad

2
TP Systèmes Linéaires Multivariables
M1 Automatique et Informatique industrielle Prof. Z. Ahmida
Faculté de Technologie, Dépt. Génie Electrique
Université 20 Août 1955 de Skikda

Premièrement : Définition de la structure d’état du système mécanique

>> J=1
J=
1
>> b=4
b=
4
>> kR=40
kR =
40
>> A=[0 1; -kR/J -b/J]
A=
0 1
-40 -4
>> B=[0;1/J]
B=
0
1
>> C=[1 0]
C=
1 0
>> D=[0]
D=
0
>> SysRot_ss=ss(A,B,C,D)
a=
x1 x2
x1 0 1
x2 -40 -4
b=
u1
x1 0
x2 1
c=
x1 x2
y1 1 0
d=
u1
y1 0
Continuous-time model.

3
TP Systèmes Linéaires Multivariables
M1 Automatique et Informatique industrielle Prof. Z. Ahmida
Faculté de Technologie, Dépt. Génie Electrique
Université 20 Août 1955 de Skikda

Deuxièmement : Extraction des matrices d’une structure d’état

>> [A1,B1,C1,D1]=ssdata(SysRot_ss)
A1 =
0 1
-40 -4
B1 =
0
1
C1 =
1 0
D1 =
0

Troisièmement : Conversion du modèle d’état en une fonction de transfert

>> SysRot_ft=tf(SysRot_ss)
Transfer function:
1
--------------
s^2 + 4 s + 40
>> [num,den]=tfdata(SysRot_ft,'v')
num =
0 0 1.0000
den =
1.0000 4.0000 40.0000

Partie 2 : Simulation du système mécanique dans l’espace d’état

Dans cette partie nous allons apprendre à utiliser la fonction de simulation lsim dans l’espace d’état et qui
peut-être invoquée de la manière suivante :

[y,t,x] = lsim(NomSys,u,t,x0)

Les arguments de la fonction lsim sont la structure de données NomSys, t représente le vecteur temps
spécifié par le programmeur, x0 un vecteur de dimension représentant l’état initial et u le signal appliqué
à l’entrée.
Les résultats de la simulation du système NomSys sont affectés à la matrice y pour la sortie et, à la matrice
x pour l’état.

Les courbes des variables de sortie ou des variables d’état peuvent être tracées après exécution de la
fonction lsim.

Notre exemple pour cette simulation et le système mécanique en rotation (SISO) avec comme entrée le
couple τ(t) et comme sortie le déplacement angulaire θ(t). On simule la réponse du système libre (τ(t)=0)
en boucle ouverte avec un état initial donné par le vecteur x(0)=[0.4, 0.2]T en utilisant la fonction lsim.

4
TP Systèmes Linéaires Multivariables
M1 Automatique et Informatique industrielle Prof. Z. Ahmida
Faculté de Technologie, Dépt. Génie Electrique
Université 20 Août 1955 de Skikda

>> t=[0:0.01:4];
>> u=[zeros(size(t))];
>> x0=[0.4;0.2];
>> [y,t,x]=lsim(SysRot_ss,u,t,x0) ;
>> figure;
>> subplot(211),plot(t,x(:,1));grid;
>> axis([0 4 -0.2 0.5]);
>> xlabel('t(sec)'); ylabel('x1(rad)');
>> subplot(212),plot(t,x(:,2));grid;
>> axis([0 4 -2 1]);
>> xlabel('t(sec)'); ylabel('x2(rad/sec)');

Application 2.
Le deuxième exemple est un système mécanique en translation constitué de deux masse
comme l’indique la figure (2). Le système est soumis à deux forces u1(t) et u2(t) s’exerçant sur
les deux masse m1 et m2, respectivement. Les sorties sont les déplacement y1(t) et y2(t). Le
système est, donc, multi-entrées-multi-sorties (MIMO).
Les paramètres du système sont les masses mi, les coefficients d’amortissements ci ainsi que les
coefficients d’élasticité des ressorts ki, avec i=1,2.

Figure (2)

5
TP Systèmes Linéaires Multivariables
M1 Automatique et Informatique industrielle Prof. Z. Ahmida
Faculté de Technologie, Dépt. Génie Electrique
Université 20 Août 1955 de Skikda

Figure (3)

La figure (3) est un digramme des bilans des forces présentes dans le système.
En appliquant la loi de Newton pour chacune des masse, on obtient les deux équations
modélisant la dynamique du système :

Ces équations sont reformulée en écrivant les termes de sortie yi(t) et leurs dérivées à gauche et,
les termes d’entrée à droite comme suit :

Ce système d’équations différentielles couplées du deuxième ordre peut, aussi, s’écrire sous la
forme matricielle:

6
TP Systèmes Linéaires Multivariables
M1 Automatique et Informatique industrielle Prof. Z. Ahmida
Faculté de Technologie, Dépt. Génie Electrique
Université 20 Août 1955 de Skikda

Pour déduire le modèle d’état à partir des équations différentielles couplés, on commence par
sélectionner les variables d’état ( Le choix des variables d’état s’oriente vers les variables liées
aux éléments de stockage de l’énergie mécanique : les ressorts et les amortisseurs).

En combinant avec les équations différentielles précédentes, le système suivant est facilement
obtenu :

Les équations d’état de ce système s’écrivent :

7
TP Systèmes Linéaires Multivariables
M1 Automatique et Informatique industrielle Prof. Z. Ahmida
Faculté de Technologie, Dépt. Génie Electrique
Université 20 Août 1955 de Skikda

Avec

et les équations de sortie sont données par

Avec

Si les paramètres constants du systèmes sont donnés par le tableau suivant :

Alors, les matrices suivantes sont obtenues :

8
TP Systèmes Linéaires Multivariables
M1 Automatique et Informatique industrielle Prof. Z. Ahmida
Faculté de Technologie, Dépt. Génie Electrique
Université 20 Août 1955 de Skikda

%--------------------------------------------------------------------
% programme Matlab : Représentation d’état d’un système
% mécanique en translation (MIMO)
%--------------------------------------------------------------------

A = [0 1 0 0 ; -15 -0.75 5 0.25; 0 0 0 1 ; 10 0.5 -10 -0.5]

B = [0 0 ; 0.025 0 ; 0 0 ; 0 0.05]

C = [1 0 0 0 ; 0 0 1 0]

D = [0 0 ; 0 0]

Mec2Trans = ss(A,B,C,D)

Mec2Transtf = tf(Mec2Trans)

%--------------------------------------------------------------------

L’exécution du programme donne les résultats suivants :

A=

0 1.0000 0 0
-15.0000 -0.7500 5.0000 0.2500
0 0 0 1.0000
10.0000 0.5000 -10.0000 -0.5000

B=

0 0
0.0250 0
0 0
0 0.0500

9
TP Systèmes Linéaires Multivariables
M1 Automatique et Informatique industrielle Prof. Z. Ahmida
Faculté de Technologie, Dépt. Génie Electrique
Université 20 Août 1955 de Skikda

C=

1 0 0 0
0 0 1 0

D=

0 0
0 0

a=
x1 x2 x3 x4
x1 0 1 0 0
x2 -15 -0.75 5 0.25
x3 0 0 0 1
x4 10 0.5 -10 -0.5

b=
u1 u2
x1 0 0
x2 0.025 0
x3 0 0
x4 0 0.05

c=
x1 x2 x3 x4
y1 1 0 0 0
y2 0 0 1 0

d=
u1 u2
y1 0 0
y2 0 0

Continuous-time model.

Transfer function from input 1 to output...

0.025 s^2 + 0.0125 s + 0.25


#1: ---------------------------------------
s^4 + 1.25 s^3 + 25.25 s^2 + 10 s + 100

0.0125 s + 0.25
#2: ---------------------------------------
s^4 + 1.25 s^3 + 25.25 s^2 + 10 s + 100

10
TP Systèmes Linéaires Multivariables
M1 Automatique et Informatique industrielle Prof. Z. Ahmida
Faculté de Technologie, Dépt. Génie Electrique
Université 20 Août 1955 de Skikda

Transfer function from input 2 to output...


0.0125 s + 0.25
#1: ---------------------------------------
s^4 + 1.25 s^3 + 25.25 s^2 + 10 s + 100

0.05 s^2 + 0.0375 s + 0.75


#2: ---------------------------------------
s^4 + 1.25 s^3 + 25.25 s^2 + 10 s + 100

La matrice de transfert du système est :

Partie 2 : Simulation du système mécanique dans l’espace d’état

Dans cette partie nous allons apprendre à utiliser la fonction de simulation lsim dans l’espace d’état et qui
peut-être invoquée de la manière suivante :

[y,t,x] = lsim(NomSys,u,t,x0)

Les arguments de la fonction lsim sont la structure de données NomSys, t représente le vecteur temps
spécifié par le programmeur, x0 un vecteur de dimension représentant l’état initial et u le signal appliqué
à l’entrée.
Les résultats de la simulation du système NomSys sont affectés à la matrice y pour la sortie et, à la matrice
x pour l’état.

Les courbes des variables de sortie ou des variables d’état peuvent être tracées après exécution de la
fonction lsim.

Notre exemple pour cette simulation et le système mécanique en rotation (SISO) avec comme entrée le
couple τ(t) et comme sortie le déplacement angulaire θ(t). On simule la réponse du système libre (τ(t)=0)
en boucle ouverte avec un état initial donné par le vecteur x(0)=[0.4 ; 0.2 ;0.1 ;0]T en utilisant la fonction
lsim.

11
TP Systèmes Linéaires Multivariables
M1 Automatique et Informatique industrielle Prof. Z. Ahmida
Faculté de Technologie, Dépt. Génie Electrique
Université 20 Août 1955 de Skikda

>> t=[0:0.01:30];
>> u=[zeros(size(t)) ; zeros(size(t)) ];
>> x0=[0.4;0.2 ;0.1 ;0];
>> [y,t,x]=lsim(Mec2Trans,u,t,x0) ;
>> figure;
>> subplot(411),plot(t,x(:,1));grid;
>> axis([0 30 -0.2 0.5]);
>> xlabel('t(sec)'); ylabel('x1(m)');
>> subplot(412),plot(t,x(:,2));grid;
>> axis([0 30 -2 1]);
>> xlabel('t(sec)'); ylabel('x2(m/sec)');
>> subplot(413),plot(t,x(:,3));grid;
>> axis([0 30 -0.2 0.5]);
>> xlabel('t(sec)'); ylabel('x1(m)');
>> subplot(414),plot(t,x(:,4));grid;
>> axis([0 30 -2 1]);
>> xlabel('t(sec)'); ylabel('x2(m/sec)');

Transformations, Commandabilité et Observabilité des


Systèmes
Le modèle d’état d’un système dynamique est donné par:

= +
= +

I. Transformation vers la forme canonique de commandabilité

Pour transformer le système d’état vers la forme canonique de commandabilité on exécute


l’algorithme suivant :
1° vérifier que la matrice $ = " . . . &' # est non singulière
( () $ ≠
2° Calculer l’inverse $' de la matrice .
3° Calculer la matrice + = " ... #$' .
4° Former la matrice
+
. + 1
- .. 0
+=- 0
- . 0
,+ &' /
Et calculer +'
5° Calculer les matrices du système transformé : Afcc= + +' et Bfcc= + .

12
TP Systèmes Linéaires Multivariables
M1 Automatique et Informatique industrielle Prof. Z. Ahmida
Faculté de Technologie, Dépt. Génie Electrique
Université 20 Août 1955 de Skikda

Application sur Matlab

Ecrire et exécuter un programme Matlab pour effectuer la transformation du système d’état suivant vers sa
forme canonique de commandabilité :

= ! + !
2

=" # +" #

II. Test de commandabilité d’un système


Le modèle d’état d’un système dynamique est donné par:
= +
= +
Example 1 :

= ! + !
3 3 4

C=[1 0 0] , D=[0]

a) Définir la structure d’état de ce système qu’on nomme Sys1.


b) Construire la matrice de commandabilité $ = " . . . &' # du système.
c) Tester la commandabilité du système en comparant le rang de S (rank(S) avec l’ordre du système
(size(A,1)). Que conclure ?
d) Comparer votre matrice $ avec la matrice que produit la commande Matlab :
>> ctrb(Sys1)

Example 2 : Répéter les étapes de l’éxample 1

. 1 . 1
- 0
=- 0 + -- 0
0
- 0 - 0
, / , /

C=5 6 , =5 6

13
TP Systèmes Linéaires Multivariables
M1 Automatique et Informatique industrielle Prof. Z. Ahmida
Faculté de Technologie, Dépt. Génie Electrique
Université 20 Août 1955 de Skikda

III. Test d’observabilité d’un système

Le modèle d’état d’un système dynamique est donné par:

= +
= +

Example 1 :

= ! + !
3 3 4

C=[1 0 0] , D=[0]

a) Définir la structure d’état de ce système qu’on nomme Sys1.


b) Construire la matrice d’observabilité 7 = " ′ ′ ′ ′ ′ . . . ′ &' ′ # du système.
c) Tester l’observabilité du système en comparant le rang de V (rank(V) avec l’ordre du système
(size(A,1)). Que conclure ?
d) Comparer votre matrice 9 avec la matrice que produit la commande Matlab :
>> obsv(Sys1)

Example 2 : Répéter les étapes de l’éxample 1

. 1 . 1
- 0
=- 0 + -- 0
0
- 0 - 0
, / , /

C=5 6 , =5 6

14
TP Systèmes Linéaires Multivariables
M1 Automatique et Informatique industrielle Prof. Z. Ahmida
Faculté de Technologie, Dépt. Génie Electrique
Université 20 Août 1955 de Skikda

Application 01

Votre Rapport sur cette partie consiste à appliquer les connaissances acquises dans cette application sur le
système électrique illustré par la figure en considérant la sortie y(t)=V3(t). Les valeurs numériques à utiliser
sont les suivantes :
R1=R2=R3=2 Ohms, L1=L2=1 Henry et C2=C3=0.5 Farads
1° Définir la structure d’état du système électrique.
2° Extraire les paramètres de la structure d’état
3° Convertir vers la représentation fonction de transfert
4° Extraire les paramètres de la fonction du transfert, calculer les pôles et déduire la stabilité
du système électrique.
5° Effectuer les tests de commandabilité et d’observabilité de ce système

Application 02

Votre Rapport sur cette partie consiste à écrire un programme pour la simulation du système électrique en
considérant la sortie y(t)=V3(t). L’intervalle de simulation est limité entre 0 et 10 secondes, avec un pas de
0.01sec. Les valeurs numériques à utiliser sont les suivantes :
R1=R2=R3=2 Ohms, L1=L2=1 Henry et C2=C3=0.5 Farads
La tension d’entrée est un échelon d’amplitude 5volts et les conditions initiales sont considérées nulles
Tracer les courbes des variables d’état V2 (t), V3(t), i1(t) et i2(t)

15

Vous aimerez peut-être aussi