Vous êtes sur la page 1sur 19

ROYAME DU MAROC

UNIVERSITE HASSAN II DE CASABLANCA

ECOLE NATIONALE SUPERIEURE

D’ELECTRICITE ET DE MECANIQUE

DEPARTEMENT GENIE ELECTRIQUE

COMPTE RENDU

Travaux pratiques

Modélisation des Systèmes Dynamiques

Elaboré par :
COUKI Ayman 1ére Année GESET

BARGACH Achraf 1ére Année GESET

LATIFI Salma 1ére Année GESET

Encadré par :
Prof : B.Rached

Année Universitaire : 2023-2024


1. Objectif du TP :
L'objectif de ce TP est de permettre l'acquisition de compétences en modélisation et simulation
de systèmes simples dans les domaines de l'électrique, de la mécanique et du fluidique, dans le
but de comprendre les fondements essentiels de la modélisation des systèmes dynamiques.

2. Introduction :
Le travail se déroulera à travers un processus méthodique, structuré en six étapes, appliqué à
chaque système étudié. Ces étapes fournissent une approche systématique pour élaborer des
modèles cohérents et précis, éclairant ainsi les caractéristiques intrinsèques des systèmes
dynamiques. Les différentes phases du travail incluent :

1. Modélisation par Bond Graph

2. Analyse des Chemins Causaux (affectation de la causalité)

3. Étiquetage des Liaisons Bond Graph

4. Détermination des Équations Différentielles et Identification des Variables d'État

5. Dérivation des Équations d'État du Système

6. Simulation du Modèle dans MATLAB


3. Système Electrique :

Nous allons examiner le système suivant :

Les paramètres des systèmes sont :

Inductance (L) : 2 mH

Résistance (R) : 1 k..2

Condensateur (C) : 10 uF

Rapport de transformation : 1 : 3

E(t) : Entrée du système

2.1. Etudier le comportement de ce système.


a) Le Bond Graph, la Causalité et l’équipage.
b) Equation différentielle :

𝐼 = 𝑥1
{
𝑒𝑐 = 𝑥2

𝑑𝐼 𝑅. 𝑛2 𝑛. 𝑒𝑐
=− 𝑥1 − 𝑥 +𝑒
{𝑑𝑡 𝐿 𝐶 2
𝑑𝑒𝑐 𝑛
= 𝑥1
𝑑𝑡 𝐿

c) Equation d’état :

𝑑𝑥
= 𝐴. 𝑋 + 𝐵. 𝑈
𝑑𝑡

0 𝑛/𝐿 1
(𝑥̇𝑥̇ 1 ) = ( ). (𝑥1) + ( ) . 𝑒
2 −𝑛/𝐶 − (𝑅. 𝑛2 )/𝐿 𝑥2 0

2.2. Simulation du Modèle dans MATLAB.


a) Par équation différentielle :
Le programme :

%Modèle électrique d'équation diff

function dxdt = modelElq(t,x,u)

R = 1000;
L = 0.002;
C = 0.000001;
n = 1/3;

e = u(t);
I = x(1);
ec = x(2);

dI_dt = -(R*(n^2)/L)*I - (n/C)*ec + e;


dec_dt = (n/L)*I;

dxdt = [dI_dt ; dec_dt];

end
La fonction main :

%Modèle électrique d'équation diff


function main()
x0 = [0;0];
tspan = [0 10];
amp = 20.0;
freq = 2.0;
u = @(t) amp*sin(2*pi*freq*t);
[t,X]=ode45(@(t,x) modelElq(t,x,u),tspan,x0);

figure;
subplot(2,1,1);
plot(t,X(:,1))
xlabel('Temps(s)'); ylabel('X1')
title ('etat X1');

subplot(2,1,2);
plot(t,X(:,2))
xlabel('Temps(s)'); ylabel('X2')
title ('etat X2');
end

La simulation :
b) Par équation d’état :
Le programme :

%Modèle électrique d'équation d’etat

function dxdt = modelElq_EE(t,X,U,A,B)


dxdt = A*X + B*U;
end

La fonction main :

%Modèle électrique d'équation d’état

function mainEE()
R = 1000;
L = 0.002;
C = 0.000001;
n = 1/3;

A = [0, n/L; -n/C, -R*(n^2)/L];


B = [0; 1];
C = [0 1];
D= 0;
X0 = [0; 0];

tspan=[0 10];
amp = 20.0;
freq = 2.0;
U = @(t) amp*sin(2*pi*freq*t);
[t,X]=ode45(@(t,X) modelElq_EE(t,X,U(t),A,B),tspan,X0);

y=C*X' + D*U(t)';

figure;
subplot(2,1,1);
plot(t,X(:,1))
xlabel('Temps(s)'); ylabel('X1')
title ('etat X1');

subplot(2,1,2);
plot(t,X(:,2))
xlabel('Temps(s)'); ylabel('X2')
title ('etat X2');
figure
plot (t,y)
xlabel('temps(s)');
ylabel('Y');
title('sortie Y');
end

La simulation :
4. Système mécanique :

Nous allons examiner le système suivant :

Les paramètres des systèmes sont :

Tm : Couple appliqué

Өm : Déplacement angulaire du moteur

K= 300 Nm/rad : Constante de raideur du ressort

Bm= 0.1 Nms/rad : Coefficient de friction visqueuse du moteur

BL= 0.05 Nms/rad : Coefficient de friction visqueuse du bras d'essuie-glace

Jm = 0.005 kgm2 : Inertie du moteur

Jl = 0.01 kgm2 : Inertie du bras d'essuie-glace

N1 : Nombre de dents de l'engrenage

n = 1.8 : Rapport de transmission de l'engrenage

k = 100 Nm/rad : Constante de raideur du ressort

B = 0.05 Nms/rad : Constante d'amortissement


4.1. Etudier le comportement de ce système.
a) Le Bond Graph, la Causalité et l’équipage.

b) Equation différentielle :

𝜃𝑚 = 𝑥(1)
𝜃𝑙 = 𝑥(3)
𝜃̇𝑚 = 𝑥(3)
̇
{ 𝜃𝑙 = 𝑥(4)

𝑛2 . 𝐾̈ 𝑛. 𝐾 𝐵𝑚. 𝑛2 . 𝐵 𝑛. 𝐵 𝑇𝑚
𝜃̈𝑚 = − 𝜃𝑚 + 𝜃𝑙 + 𝜃̇𝑚 + 𝜃̇𝑙 +
𝐽𝑚 𝐽𝑚 𝐽𝑚 𝐽𝑚 𝐽𝑚
2 2
𝑛 .𝐾 𝑛. 𝐾 𝑛 .𝐵 𝑛. 𝐵 + 𝐵𝑙
𝜃̈𝑙 = 𝜃𝑚 − 𝜃𝑙 + 𝜃̇𝑚 + 𝜃̇𝑙
{ 𝐽𝑙 𝐽𝑙 𝐽𝑙 𝐽𝑚

c) Equation d’état :

𝑑𝑥
= 𝐴. 𝑋 + 𝐵. 𝑈
𝑑𝑡

0 0 1 0
0 0 0 1 𝜃𝑚 0
𝑛2 . 𝐾 𝑛. 𝐾 𝐵𝑚. 𝑛2 . 𝐵 𝑛. 𝐵 𝜃𝑙 0
𝑑𝑥
= −
𝐽𝑚 𝐽𝑚 𝐽𝑚 𝐽𝑚 . ̇ + 1 . 𝑇𝑚
𝑑𝑡 𝜃𝑚
2 𝑛. 𝐾 𝐽𝑚
𝑛 .𝐾 𝑛2 . 𝐵 𝑛. 𝐵 + 𝐵𝑙 𝜃𝑙̇
− ( ) (0)
( 𝐽𝑙 𝐽𝑙 𝐽𝑙 𝐽𝑚 )
4.2. Simulation du Modèle dans MATLAB.
a) Par équation différentielle :
Le programme :

%Modèle Mécanique d'équation différentielle


function dxdt = modelMec(t,x,u)
Tm = u(t);
K=300;
Bm=0.1;
Bl=0.05;
Jm=0.005;
Jl=0.01;
n=1.8;
B=0.05;

teta_m = x(1);
teta_l = x(2);
dteta_m = x(3);
dteta_l = x(4);

d2teta_m= -(n^2*K/Jm)*teta_m + (n*K/Jm)*teta_l -


((Bm+(n^2)*B)/Jm)*dteta_m + (n*B/Jm)*dteta_l +Tm/Jm;
d2teta_l= (((n^2)*K)/Jl)*teta_m -(n*K/Jl)*teta_l
+((n^2)*B/Jl)*dteta_m - (Bl+(n*B)/Jl)*dteta_l;

dxdt = [dteta_m ; dteta_l; d2teta_m; d2teta_l];


end

La fonction main :

%Modèle Mécanique d’eq différentiel

function mainMec()
x0 = [0; 0; 0; 0];
tspan = [0 1];
amp = 20.0;
freq = 50.0;
u = @(t) amp*sin(2*pi*freq*t);
[t,X]=ode45(@(t,x) modelMec(t,x,u),tspan,x0);

figure;
subplot(2,2,1);
plot(t,X(:,1))
xlabel('Temps(s)'); ylabel('X1')
title ('etat X1');

subplot(2,2,2);
plot(t,X(:,2))
xlabel('Temps(s)'); ylabel('X2')
title ('etat X2');
subplot(2,2,2);
plot(t,X(:,2))
xlabel('Temps(s)'); ylabel('X2')
title ('etat X2');

subplot(2,2,3);
plot(t,X(:,3))
xlabel('Temps(s)'); ylabel('X3')
title ('etat X3');

subplot(2,2,4);
plot(t,X(:,4))
xlabel('Temps(s)'); ylabel('X4')
title ('etat X4');
end

La simulation :
b) Par équation d’état :
Le programme :

%Modèle Mécanique d'équation D’état


function medelMec_EE(t,X,U,A,B)
dxdt = A*X + B*U;
end

La fonction main :

function mainMec_EE()
K=300;
Bm=0.1;
Bl=0.05;
Jm=0.005;
Jl=0.01;
n=1.8;
B=0.05;

A = [0, 0, 1, 0; 0, 0, 0, 1; -n^2*K/Jm, n*K/Jm, -


(Bm+(n^2)*B)/Jm, n*B/Jm; n^2*K/Jl, -n*K/Jl, n^2*B/Jl, -
(Bl+n*B)/Jl];
B = [0; 0; 1/Jm; 0];
C = [0 1 0 0];
D = 0;
X0 = [0; 0; 0; 0];

tspan = [0 1];
amp = 20.0;
freq = 50.0;
U = @(t) amp*sin(2*pi*freq*t);
[t,X]=ode45(@(t,X) modelElq_EE(t,X,U(t),A,B),tspan,X0);
y=C*X' + D*U(t)';

figure;
subplot(2,2,1);
plot(t,X(:,1))
xlabel('Temps(s)'); ylabel('X1')
title ('etat X1');

subplot(2,2,2);
plot(t,X(:,2))
xlabel('Temps(s)'); ylabel('X2')
title ('etat X2');
subplot(2,2,3);
plot(t,X(:,3))
xlabel('Temps(s)'); ylabel('X3')
title ('etat X3');

subplot(2,2,4);
plot(t,X(:,4))
xlabel('Temps(s)'); ylabel('X4')
title ('etat X4');

figure
plot (t,y)
xlabel('temps(s)');
ylabel('Y');
title('sortie Y');

end

La simulation :
5. Système Hydraulique :

Nous allons examiner le système suivant :


Les paramètres du système sont :

A1 = 2 m2 : Surface de la base du réservoir 1

A2 = 3 m2 : Surface de la base du réservoir 2

h1 = 1 m : Hauteur initiale du réservoir 1

h1 = 2 m : Hauteur initiale du réservoir 2

g = 9.81 m.s-2 : Accélération due à la gravité

Cd_R0 = 0.7 : Coefficient de débit de la vanne R o

Cd_R1 = 0.6 : Coefficient de débit de la vanne R 1

Cd_R2= 0.6 : Coefficient de débit de la vanne R 2

1
R=
𝐶𝑑_𝑅𝑖 ∗𝑠𝑞𝑟𝑡(2∗𝑔)

4.1. Etudier le comportement de ce système.


a) Le Bond Graph, la Causalité et l’équipage.

b) Equation différentielle :

𝐽1 = 𝑥1
{
𝐽2 = 𝑥2
𝑑𝐽1 1 1 1
= −( + ) 𝑥1 + 𝑥 + 𝑄𝑖/𝐶1
{ 𝑑𝑡 𝐶1. 𝑅0 𝐶1. 𝑅1 𝐶1. 𝑅1 2
𝑑𝐽2 1 1 1
= 𝑥1 − ( + )𝑥
𝑑𝑡 𝐶2. 𝑅1 𝐶2. 𝑅1 𝐶2. 𝑅2 2

a) Equation d’état :

𝑑𝑥
= 𝐴. 𝑋 + 𝐵. 𝑈
𝑑𝑡

1 1 1
−( + ) 1/𝐶1
(𝑥̇𝑥̇ 1 ) = ( 𝐶1.𝑅01 𝐶1.𝑅1 1
𝐶1.𝑅1
1 ). (𝑥𝑥1 ) + ( ) . 𝑄𝑖
2
− ( 𝐶2.𝑅1 + 𝐶2.𝑅2 ) 2 0
𝐶2.𝑅1

4.2. Simulation du Modèle dans MATLAB.


a) Par équation différentielle :
Le programme :

%Modèle Hydraulique d'équation diff


function dxdt = modelHyd(t, x, u)
Qi = u(t);
Cd_R0 = 0.7;
Cd_R1 = 0.6;
Cd_R2 = 0.6;
A1 = 2; A2 = 3;
h1 = 1; h2 = 2;
C1 = A1*h1;
C2 = A2*h2;
g = 9.81;
R0 = 1/(Cd_R0*sqrt(2*g));
R1 = 1/(Cd_R1*sqrt(2*g));
R2 = 1/(Cd_R2*sqrt(2*g));

J1 = x(1);
J2 = x(2);

dJ1dx = -(1/(C1*R0) + 1/(C1*R1))*J1 + 1/(R1*C2)*J2 + Qi;


dJ2dx = 1/(R1*C1)*J1 -(1/(C2*R1) + 1/(C2*R2))*J2 ;

dxdt = [dJ1dx ; dJ2dx ];


end
La fonction main :

function mainHyd()
x0 = [0;0];
tspan = [0 5];
amp = 20.0;
freq = 50.0;
u = @(t) amp*sin(2*pi*freq*t);
[t,X]=ode45(@(t,x) modelHyd(t,x,u),tspan,x0);

figure;
subplot(2,1,1);
plot(t,X(:,1))
xlabel('Temps(s)'); ylabel('X1')
title ('etat X1');

subplot(2,1,2);
plot(t,X(:,2))
xlabel('Temps(s)'); ylabel('X2')
title ('etat X2');
end

La simulation :
b) Par équation d’état :
Le programme :

function dxdt = modelHyd_EE(t,X,U,A,B)


dxdt = A*X + B*U;
end

La fonction main :

function mainHyd_EE()
Cd_R0 = 0.7;
Cd_R1 = 0.6;
Cd_R2 = 0.6;
A1 = 2; A2 = 3;
h1 = 1; h2 = 2;
C1 = A1*h1;
C2 = A2*h2;
g = 9.81;
R0 = 1/(Cd_R0*sqrt(2*g));
R1 = 1/(Cd_R1*sqrt(2*g));
R2 = 1/(Cd_R2*sqrt(2*g));

A = [-(1/(C1*R0) + 1/(C1*R1)), 1/(R1*C2); 1/(R1*C1), -


(1/(C2*R1) + 1/(C2*R2))];
B = [1; 0];
C = [0 0];
D = 0;
X0 = [0; 0];

tspan = [0 10];
amp = 20.0; freq = 50.0;
U = @(t) amp*sin(2*pi*freq*t);
[t,X]=ode45(@(t,X) modelHyd_EE(t,X,U(t),A,B),tspan,X0);
y=C*X' + D*U(t)';

figure;
subplot(2,1,1);
plot(t,X(:,1))
xlabel('Temps(s)'); ylabel('X1')
title ('etat X1');

subplot(2,1,2);
plot(t,X(:,2))
xlabel('Temps(s)'); ylabel('X2')
title ('etat X2');
end
La simulation :

Vous aimerez peut-être aussi