Vous êtes sur la page 1sur 10

Compte rendu TP2 SLCD 

:
Commande numérique d’un procédé hydraulique et
thermique :

Réalisé par :
AMINE ELIBRAHIMI
Encadré par :
Mr.YAAGOUBI

1
Objectif du TP :
Le présent TP est relatif au problème de la commande
numérique au premier ordre dans l’espace d’état d’un
procédé hydraulique et thermique. En supposant disposer
au préalable, pour le procédé d’un modèle d’état continu
non linéaire validé (Σ),
il s’agit de tester en simulation,
en utilisant le logiciel Matlab, la synthèse d’une loi de
commande linéaire par retour d’état statique discret à base
du linéarisé tangent discret (LTD) obtenu à partir du
linéarisé tangent continu (LTC) du modèle (Σ) autour d’un
point de fonctionnement en considérant un bloqueur
d’ordre 0 BOZ).

 Modélisation physique :
En réalisant le bilan volumique et énergétique nous
obtenons la représentation d’état du système (Σ) :

ẋ=f ( x ) + g ( x )∗u
y=h(x)

On a aussi  :

Etude théorique :
2
Q1 : Donner l’ensemble des points de fonctionnement du
système ainsi que le LTC autour d’un point de
fonctionnement [xc uc] T :
Un modèle linéaire admet l’origine comme unique point
d’équilibre. On va donc se placer autour du point de
fonctionnement comme pt d’équilibre
dh dTe
, dt =0 et dt
=0

Donc le point de fonctionnement est définit par :


Ts=T 0
Qs=Q 0
h=h 0=¿
P=P 0=ρ∗Cp(T 0−Te)

Q2 : Donner une loi de commande par retour d’état


statique permettant de stabiliser le LTC autour de son
point d’équilibre ainsi que la commande au premier ordre
à appliquer au système non linéaire (Σ).
On a le système (Σ) :
ẋ=f (x)+ g(x )u
y=h(x)

D’où la représentation d’état devient :

3
1
0

( )( )( )
−α √ h S Qe
ẋ= s +
Te Ts 1 Pu
0
Sh ρ C p Sh

y= h ( )
Te

−α √ h Qe

( )
+
s S
ẋ=
(Te Ts )Q e Pu
+
Sh ρ C p Sh

y= (Teh )

ẋ= A x +B u
y=C x

Cherchons A, B et C :
−α √ h
On pose : f 1=
( )s
0
et f 2= P
e

u
Q
( )
∂f1 ∂f1 −α

( )( )
0
∂h ∂TS
A= = 2 √h s
∂f 2 ∂f2 ¿ Qe
0
∂h ∂TS Sh

∂f1 ∂f1 1

( )(
0
B=
∂Q e
∂f2
∂Q e
∂ Pu
∂f2
∂ Pu
=
S
(Te Ts )
Sh
1
ρ C p Sh
)
4
C= 10 ( )
01

Q4 : la réponse souhaitée en boucle fermée du LTD soit


identique à celle du LTC en boucle fermée, calculons alors la
loi de commande par retour d’état statique pour le
LTD.
On discrétise le modèle dans l’espace d’état, à la période
d’échantillonnage T, en considérant un bloqueur d’ordre zéro
BOZ conduit au modèle discret :
x k+1= A d x k + B d uk

y k =C d x k

Où les matrices du modèle s’écrivent comme suit :


Ad =e AT

T
Bd =∫ e Aτ B dτ
0

C d=C

Donc :
−α
T

Ad =
( e 2 √h s

0 e
0
¿Qe
Sh
T )
5
−α
1 2 √h s τ

( )
T e 0
S
Et Bd =∫ (Te Ts ) ¿ShQ ¿Qe dτ
1
e
τ τ
0 Sh
e e
Sh ρ C p Sh

Bd =¿

Cd= 10
( )
01

Partie de Simulation :
Q1 : Procéder à une simulation du comportement du système non linéaire
(Σ) en boucle ouverte.
Programme matlab :
Fonction :
function Xd = bo(t,x)
alpha = 4.3033*10^-4;
s=1;
v=1;
ro=1000;
cp=2*10^3;
Te=20;
hc= 0.4;
Tc=62;
u1c=alpha*sqrt(hc);
u2c=cp*ro*(Tc-Te)*alpha*sqrt(hc);
a1=-alpha*sqrt(x(1))/s;
a2=1/s;
a3=(Te-x(2))/(s*x(1));
a4=1/(ro*cp*s*x(1));

F=[a1 ; 0];
G=[a2 0;a3 a4];
uc=[u1c ; u2c];
u=uc;
Xd=F+G*u;
End

Programme d’affichage des deux réponses:


clc
6
clear all
close all

t0 = 0;
tf = 15000;
x0 = [0.1;20];
[t,x] = ode45('bo',[t0 tf],x0);
figure(1)
plot(t,x(:,1),'b')
title("Réponse de l'hauteur")
xlabel('temps en s')
ylabel('Hauteur en m')
grid
figure(2)
plot(t,x(:,2),'r')
title("Réponse de température")
xlabel('temps en s')
ylabel('Température en °C')
grid

Graphe de réponse en Boucle ouvert de hauteur:

Graphe de réponse en Boucle ouvert de température:

7
Q2 : Simuler le comportement du système non linéaire (Σ) en appliquant la loi de
commande au premier ordre par retour d’état statique continu à base du LTC :

Programme matlab :
Fonction principale :
function Xd = Bf(t,w)
x=w(1:2);
z=w(3:4);
s= 1 ;
v= 1 ;
Te=20 ;
ro=1000 ;
cp=2000 ;
alfa=4.3033*10^-4 ;
hc=0.7 ;
Tc=60 ;
u1c=alfa*sqrt(hc) ;
u2c=cp*ro*(Tc-Te)*alfa*sqrt(hc) ;
a1 = -alfa*sqrt(x(1))/s ;
a2 = 1/s ;
a3 = (Te-x(2))/(s*x(1)) ;
a4 =1/(ro*cp*s*x(1)) ;
F = [a1 ; 0] ;
G = [a2 0; a3 a4] ;
uc=[u1c ;u2c] ;
a1 = -alpha/(2*s*sqrt(x(1)*cp)) ;
a2 = 1/s ;
a3 = -alpha/(s*sqrt(x(1)*cp)) ;
a4=(Te-Tc)/(s*hc) ;
a5=1/(ro*cp*s*hc) ;
A = [a1 0 ;0 a3] ;
B = [a2 0; a4 a5] ;
p=[-1/(15*60) ;-1/(16*60)] ;
k=place(A,B,p);
V=-k*z;
u=V+uc;
Xd=[F+G*u;A*z+B*V];
End

8
Programme d’affichage des deux réponses:
clc
clear all
close all

xc=[0.7;60]
t0 = 0;
tf = 320*60;
x0 = [0.1;20];
z0=x0-xc;
xz0=[x0;z0];
[t,x] = ode45('Bf',[t0 tf],xz0);
figure(1)
plot(t/60,x(:,1),'b')
title("Réponse en BF de l'hauteur")
xlabel('temps en s')
ylabel('Hauteur en m')
grid
figure(2)
plot(t/60,x(:,2),'r')
title("Réponse en BF de température")
xlabel('temps en s')
ylabel('Température en °C')
grid

Graphe de réponse en Boucle fermé de la hauteur:

Graphe de réponse en Boucle fermé de la Température :

9
10

Vous aimerez peut-être aussi