TP 02 Master Inf Indust Sys Multiv 20 21e
TP 02 Master Inf Indust Sys Multiv 20 21e
TP 02 Master Inf Indust Sys Multiv 20 21e
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);
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 :
Partie 1.
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.
+ + =
=
= =
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
>> 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
>> [A1,B1,C1,D1]=ssdata(SysRot_ss)
A1 =
0 1
-40 -4
B1 =
0
1
C1 =
1 0
D1 =
0
>> 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
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 :
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
Avec
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)
%--------------------------------------------------------------------
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)
%--------------------------------------------------------------------
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.
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
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)');
= +
= +
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
Ecrire et exécuter un programme Matlab pour effectuer la transformation du système d’état suivant vers sa
forme canonique de commandabilité :
= ! + !
2
=" # +" #
= ! + !
3 3 4
C=[1 0 0] , D=[0]
. 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
= +
= +
Example 1 :
= ! + !
3 3 4
C=[1 0 0] , D=[0]
. 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