TD Matlab

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

TP1 : initiation à Matlab Partie 1 : étude en boucle

ouverte

Barhdadi Abdelouahad
Soit le dipôle RC suivant :

i(t)

R v(t)
u( t ) y(
C

Question 1) Donner les équations différentielles du système


𝑑𝑣(𝑡)
𝑢(𝑡) = 𝑅𝐶 + 𝑣(𝑡)
𝑑𝑡

Question 2)
Donner les équations de Laplace et la fonction de transfert G(p) correspondantes
1
𝐺( 𝑃 ) =
𝑅𝐶𝑃 + 1

Question 3)
Quel est l’ordre de ce système et donner l’expression de chaque paramètre correspondant Ordre de
système : 1
K =1
T=RC
Question 4)
AN : R= 10000Ω , C = 10-4F
On place en série, avec G(p), une fonction de transfert H(p) = 2
Donner l’expression numérique de la nouvelle fonction de transfert BO(p)
2
𝐵𝑂(𝑃) =
𝑃+1

Question 5)
A partir de G(p) et de H(p) donner le script qui permet d’obtenir BO(p)

num=2;
Question 6)den=[1
1];
En utilisantG=tf(num,de
les tableaux de Laplace, donner l’expression de la transformée inverse de bo(t) de
BO(p) n) step(G);
grid;
ylim([0 2.5]) 𝑏𝑜(𝑡) = 2𝑒−𝑡

En utilisant la fonction laplace de Matlab, vérifier que vous trouvez la même fonction bo(t)

Question 7)
Tracer la courbe de la sortie bo(t) de ce système par rapport à un échelon unité en donnant le
script correspondant. L’axe des temps ne doit pas dépasser 10 et l’axe de bo(t) ne doit pas
dépasser 2.5 (utiliser les instructions xlim et ylim)
Sur cette courbe tracer la fourchette de 95% de bo() et 105% de bo() et en déduire le temps
de réponse de ce système
Rajouter une légende à votre courbe.
Question 8)
Reprenez le même script mais au lieu d’utiliser l’instruction step, vous utiliserez le code
l’instruction plot selon le code suivant
t = [0:0.1:10]; % on veut tracer la courbe bo(t) avec le tracé de l’échelon unité
consigne = ones(size(t));
sortie = lsim(BO,consigne,t);
plot(t,consigne,'r',t,sortie,'b')
Question 9 :
Garder le même script mais en appliquant cette fois ci un échelon de 5 volts
Tracer la courbe correspondante
t = [0:0.01:12]; % on veut tracer la courbe de BO avec le tracé de l’échelon de 5V

attention les lignes doivent changer d’amplitude aussi

num=2;
den=[1
1];
G=tf(num,den);

t = 0:0.01:12;
consigne = 5*ones(size(t));
sortie =
lsim(H,consigne,t);

plot(t,consigne,'r',t,sortie,'b')

grid
Partie 2 :
Question 10)
Tracer la réponse du système en boucle fermée unitaire

num=2;
den=[1
1];
G=tf(num,den);
H = feedback(G,1);

t = 0:0.01:10;
consigne = ones(size(t));
sortie =
lsim(H,consigne,t);
plot(t,consigne,'r',t,sortie,'b'
)

grid
ylim([0 1.2])
line([0 10],

Quelle est votre conclusion ?


Le système devient rapide et la précisons a augmenté mais n’est pas nul .

Question 11)
Proposer un correcteur proportionnel permettant d’améliorer ce système
Pour trouver le meilleur correcteur utiliser une boucle for faisant augmenter la valeur de KP et
tracer les différentes sorties sur la même figure. Changer le pas de la boucle for jusqu’à
trouver le bon KP
Quel est le meilleur KP proposé (donner le code Matlab aussi)

num=2;
den=[1
1];
G=tf(num,den);
H =
feedback(G,1); t
= 0:0.01:10;
consigne = ones(size(t));
sortie =
lsim(H,consigne,t);
plot(t,consigne,'r',t,sortie,'b')
for i= 1:1:10
KP=i
G1=KP
*G

H1 =

feedback(G1,1);

hold on;

On prend Kp=5
Question 12)
Tracer les lieux de Bode de votre fonction de transfert en boucle ouverte.
Question 13)
Déterminer la fréquence de coupure co soit par lecture directe (si vous y arrivez), soit en
utilisant l’instruction [co GdB] =input() ;

Relever le co correspondant

co= 9.95 rad/s


Correction PI
Question 14)
On veut maintenant une erreur statique nulle pour ce système.
Proposer un correcteur PI correspondant
Expliquer pourquoi on ne peut pas utiliser un PI par compensation de pôles dans ce cas ???

Un système de premier ordre est caractérisé par une seule pole dans sa fonction
de transfert et la compensation de pôles nécessite l’élimination du pole dominant
ce qui va rendre le système sans pole et avec un seul intégrateur et elle va
déstabilise le système (Mp=infini=>instable)
Généralement pour un régulateur PI, on prend ti = co/10 quand il ne s’agit pas de compenser
les pôles.
Question 15.)
Tracer la courbe du système corrigé par le PI (donner le code correspondant)

num=2; den=[1 1];


G=tf(num,den); Kp=5; Ki=5.025;

c=pid(Kp,Ki); G1=c*G
H = feedback(G1,1); step(H);

grid;
Donner le temps de réponse du système et son erreur statique.

num=2;
den=[1
e=0 1];
G=tf(num,den)
; Kp=5;
tr5% = 0,389 Ki=5.025;
c=pid(Kp,Ki);
Comparer ce tempsG1=c*G
de réponse avec celui de la boucle ouverte

syms p;
a = [10,10.5];
b = [1,1,0];
rt = tf(a,b)

num1 =
poly2sym(a,p); den2
= poly2sym(b,p); gs

Boucle ferme Boucle ouvert


1
On boucle ouvert on l’erreur statique égale a 𝑒 = et 𝑇𝑟5% = 3 alors qu’en
2
boucle ferme on l’erreur statique égale a 𝑒 = 0 et 𝑇𝑟5% = 0.389
Quelle est votre conclusion

Un correcteur PI améliore la rapidité et la précision du système

Vous aimerez peut-être aussi