TP 2 Asserv

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 13

ECOLE NATIONALE POLYTECHNIQUE ORAN

DEPARTEMENT DE GENIE ELECTRIQUE

COMPTE RENDU

 MODULE : systéme asservis échantionné

 TP
 Conception d’un Contrôleur Numérique de Position
d’un moteur DC en utilisant la méthode du lieu des
racines

Rédigé par : CHADLI Sid Ali

Groupe: B 1
Ce TP est pour but de construire un contrôleur
numérique de position pour un moteur a courant
continue, on considère la tension source V comme
une entré et la vitesse de rotation θ comme une
sortie, le système est modélisé par une fonction de
θ (s ) S¿
transfert en boucle ouvert définie par : V (s) = K
¿ ¿
ou :
R : La résistance électrique=4Ω
L : l’inductance électrique=2,75. 10 H
−6

K : la force électromotrice constante=0,0274 N.m/A


J : le moment d’inertie du rotor=3,2284. 10 Kg. m /
−6 2

2
s
b : le rapport d’amortissement=3,5077. 10 N.m.s
−6

Le système doit satisfait les exigences suivantes :


-Temps d’échantillonnage te=0,001s
-Temps de stabilisation :Ts,2%≤ 0,04s
-Dépassement :%OS≤ 16%
Partie expérimentale :
La première étape est de convertir la fonction de
transfert continue en fonction de transfert discrète,
c’est-à-dire fait le passage de domaine temporelle
vers le domaine fréquentielle discret (domaine Z).

Pour réaliser cette opération on utilise la commande


‘c2d’qui possède trois arguments :
-temps d’échantillonnage=0,001s
-un maintien d’ordre zéro
-une fonction de transfert
La fonction transfert continue est :
θ (s ) 0.0274
V (s) = 3 2
8.878 e−012 s +1.291 e−005 s +0.0007648 s

La fonction transfert discrète est :


θ (z) 0,001039 Z 2+ 0,001021 Z+ 9,454∗10−10
V (z) = Z 3−1,942 Z 2 +0,9425 Z

Q1) : le code Matlab qui permet faire laconversion


est :

Et la fonction de transfert est tel que :

Q2) élimination les coefficients négligeables et


simplification par Z en donnant à nouveau l fonction
de transfert :
ôu la fonction de transfert en z est :

Q3) Le code Matlab correspondant en prenant


unedurée de simulation de 0.5s :

Le Résultat qui est réponse du système excité par


unéchelon est sous forme :
D’après la figure on remarque que le dépassement est
14% mais le temps de stabilisation est 0,15s
Donc les exigences ne sont pas tout vérifiées.

Q5)Puisque notre étude on utilise la méthode de lieu


de racines pour analyser le système, on ajoute des
pôles et des zéros au système originales.

Le code
Matlab qui
donne le lieu
des racines :
Lieu des racines du système

ajout des commandes Matlab qui permettent d’inclure le pôle


et le zéro cités plus haut
>> numi=[1 -0.95];deni=[1 -1];icontr=tf(numi,deni,Te)

Transfer function:
z - 0.95
--------
z-1
% dans ce cas on construit un contrôleur de type intégral
Sampling time: 0.001

Q6: calcul de ƹ et wn puis en trouvant le lieu de des


racines du système avec contrôleur intégral en utilisant
l’instruction « zgrid »
On calcule la fréquence naturelle ωn (non amortie) et
le coefficient d’amortissement ξ :
ωn=(8*te)/(Ts,2%)=0,2 rad/s
ξ=(-ln⁡(os))/√(π^2+[ln⁡(os)]^2)=0,5
On trace lieu des racines de contrôleur + le système
original.
>> zgrid(0.5,0.2),title('lieu des racines du systèmes avec
contôle intégral')
>> axis([-2,2,-2,2])

Q7 : en utlisant la commande <<conv>> de Matlab, on


trouve la nouvelle fonction de transfert du système
+contrôleur
>> %numc=conv([1 -0.76],[1 -0.76]);%denc=conv([1 0.9831],
[1 -0.61])
Le lieu des racines est dans la bonne région.

Q8 : choix du gain entre 250 et 350 puis trouvant la


réponse indicielle, test des différentes valeurs du gain :
>> numc=conv([1 -0.85],[1 -0.85]);denc=conv([1 0.9831],[1
-0.7])

denc =

1.0000 0.2831 -0.6882

>> contr=tf(numc,denc,Te)
Transfer function:
z^2 - 1.7 z + 0.7225
-----------------------
z^2 + 0.2831 z - 0.6882

Sampling time: 0.001


>> figure(4),rlocus(icontr*contr*motor_d);zgrid(0.5,0.2)
>> title('lieudes racines du systeme avec contrôle integral et
compensation')
>> axis([-2,2,-2,2])
Q9) : modification du programme pour obtenir le
changement et trouvant la meilleure réponse indicielle
>> K=rlocfind(icontr*contr*motor_d)
Select a point in the graphics window

selected_point =
0.8389 - 0.6273i

K=

657.7366

>> sys_cl=feedback(K*icontr*contr*motor_d,1)

Transfer function:
0.6833 z^4 - 1.139 z^3 - 0.183 z^2 + 1.101 z - 0.4611
-----------------------------------------------------------
z^5 - 1.976 z^4 + 0.2248 z^3 + 1.716 z^2 - 1.151 z + 0.1875

Sampling time: 0.001

>> [x2,t]=step(sys_cl,.05);
>> figure(5),stairs(t,x2),xlabel('Temps(s)'),ylabel('position(rad)')
>> title('reponse indicielle du systeme avec compensation')
On constate que le système a été bien corrigé,
le temps de stabilisation du système est
diminué à 0.034s. Ce temps est inférieur à
0.04s, donc on a vérifié les exigences de
conception(le cahier de charge).

You might also like