Vous êtes sur la page 1sur 14

Année universitaire : 2023/2024

Département Génie Electrique et des Procédés


Filière : Automatique, Electronique, Energie électrique
https://sciences-licence.univ-lyon1.fr
UE AUTOMATIQUE
TRAVEAUX PRATIQUES

Régulation du niveau avec analyses temporelle et


fréquentielle.

Zakaria Mohamed ARAB


Nadjem-eddine KAKOUCHE
Introduction :
Nous envisageons d'étudier en simulation la régulation du niveau d'eau à la sortie d'une cascade de
deux bacs en agissant sur le débit à l'entrée du premier bac. Nous utiliserons la méthode de synthèse
du correcteur basée sur le réglage empirique de Ziegler et Nichols en fréquentiel et temporel, ainsi
que la méthode de placement de pôles. Les réglages peuvent également être découverts par l'IMC.

Le procédé en question est un procédé pilote, deux bacs cylindriques contenant un fluide qui
s'écoule par gravité, le premier bac alimentant le second et étant à son tour alimenté par une
pompe. La variable manipulée (entrée de commande du système) est la commande (en tension) de la
pompe, tandis que les variables commandées (sortie) sont les niveaux dans les bacs. Deux arrivées de
fluide en haut des deux bacs peuvent être considérées comme des variables de perturbation.

Objectif :
Ce TP consiste à faire La régulation de niveau d'un système à l'aide d'un régulateur PID implique
l'ajustement automatique des entrées pour maintenir le niveau souhaité. Les performances sont
évaluées à travers des analyses temporelles (suivi de la réponse dans le temps) et fréquentielles
(réponse aux variations de fréquence) pour garantir une régulation efficace et précise.

Modélisation :
 On ecrire le système d’équation non linéaire d´écrivant le procédé :
4) e la fonction de transfert du système peut se mettre sous la forme d’un 2ed ordre :
Simulation en boucle ouverte :
Des blocs représentant les deux bacs, la pompe et le capteur de niveau sont `à votre disposition dans
le fichier blocksTP1.mdl (dans tous les blocs, les positions sont exprimées en cm) sont fournis sur
Moodle. T´télécharger les 2 fichiers et enregistrer sur votre ordinateur. Vous devez les compléter le
long de votre travail.

Question 1 :

Pour la simulation du système mettant les deux tanks en cascade :

Au premier temps on fait notre simulation sans bruit et après on va ajouter notre Noisy Sensor.
Lorsque nous linéarisons, nous ne parvenons pas toujours aux mêmes valeurs de stabilisation,
ce qui pourrait être attribué à des erreurs de calcul. Cependant, malgré ces différences, la forme
générale du signal reste similaire.

En ce qui concerne la réponse aux signaux harmoniques, dans un système linéaire, les sorties
conservent la même fréquence que l'entrée, mais leur amplitude et leur phase peuvent être
altérées. En revanche, dans un système non linéaire, des harmoniques supplémentaires peuvent
apparaître, entraînant une distorsion de la forme d'onde initiale.

3. La réponse indiciel :

3.5. Marge de gain et de phase :


Pour Gft1 :

Pour GFT2 :
Annexe :
clear all
close all
clc
%%% param?tres du mod?le
A1=27.34; %cm^2
A2=27.34; %cm^2
a1=0.07; %cm^2
a2=0.07; %cm^2
k=2.7; %cm^3/(Vs)
kc=0.5; %V/cm
g=981; %cm/s^2
%%% l'?quilibre que vous devez trouver (le detail sur votre CR)
delta_u=0.5;
h1max=20; %cm
h2max=20; %cm
k*k/a1/a1/2/g; % point d'equilibre quel que soit u
umax=sqrt(h1max/(k*k/a1/a1/2/g)) %pour ne pas depasser hmax
h01=10; %cm
h02=10; %cm
u0=sqrt(h01/(k*k/a1/a1/2/g)) % %Tension d'entr?e proportionnel ? la pompe ?
l'?quilibre
%%% les perturbations
d1=0;
d2=0;
%%% Ici un peu d'aide mais c'est ? vous de compl?ter
%%% Param?tres du modele lin?aire
T1=A1/a1*sqrt(2*h01/g)
T2=A2/a2*sqrt(2*h01/g)
beta=k/A1;
gamma=1/A1;
%%%%% LA REPRESENTATION D'?TAT que vous devez trouver.
A = [-1/T1 0; 1/T1 1/T2];
B = [beta ; 0];
C = eye(2,2);
D = [0;0];
%%%% passage du mod?le d'?tat au fonction de transfert
[NUM,DEN] = ss2tf(A,B,C,D);
Gft1=tf(NUM(1,:),DEN)
Gft2=tf(NUM(2,:),DEN) %%la sortie Y2 par rapport ? U dans la matrice de transfert
%%%% la reponse indiciel
tfinal = 500;
reponse_indc = step(Gft1,tfinal);
plot(reponse_indc)
reponse_indc2 = step(Gft2,tfinal);
plot(reponse_indc2);
% les caractéristiques
Gft1info = stepinfo(Gft1);
p1 = pole(Gft1);
Gft2info = stepinfo(Gft2);
p2 = pole(Gft2);
% bode de premiére fonction de transfert
figure(2);
bode(Gft1);
grid();
title('Diagramme de Bode Gft1');
% bode de deuxiéme fonction de transfert
figure(3);
bode(Gft2);
grid();
title('Diagramme de Bode Gft2');
[aaa,bbb]=margin(Gft1)
[ccc,ddd]=margin(Gft2)
%%%-----Synth?se PID-------------- PLACEMENT DE P?LE

Vous aimerez peut-être aussi