asservissement numerique

12
UNIVERSITE D’ANTANANARIVO ECOLE SUPERIEURE POLYTECHNIQUE D’ANTANANARIVO DEPARTEMENT TELECOMMUNICATIONS TP Systèmes Linéaires Asservis Analogiques et Numériques Responsable : Monsieur RAZAFINDRADINA HENRI BRUNO Rédigé par : ANDRIANAIVOSOA Falinirina n°02 ANDRIANIRINA Naina n°04 RAKOTOVAO Gaël n°13 RANDRIANARISAINA Aina n°17 RANDRIANASOLO Herinjaka n°20 RAZAFIMBELO Njaka n°22 RUMAUX HYACINTHE Nasolo Tahina Antenaina n° 24

description

Travaux pratique concernant le cours d'automatisme avancée.

Transcript of asservissement numerique

Page 1: asservissement numerique

UNIVERSITE D’ANTANANARIVO

ECOLE SUPERIEURE POLYTECHNIQUE D’ANTANANARIVO

DEPARTEMENT TELECOMMUNICATIONS

TP Systèmes Linéaires Asservis Analogiques et Numériques

Responsable : Monsieur RAZAFINDRADINA HENRI BRUNO Rédigé par : ANDRIANAIVOSOA Falinirina n°02 ANDRIANIRINA Naina n°04 RAKOTOVAO Gaël n°13 RANDRIANARISAINA Aina n°17 RANDRIANASOLO Herinjaka n°20 RAZAFIMBELO Njaka n°22

RUMAUX HYACINTHE Nasolo Tahina Antenaina n° 24

Page 2: asservissement numerique

Introduction :

La période des travaux pratique permet de concrétiser des théories obtenues lors des

séances de cours.

L’utilisation du logiciel MATLAB permet de faciliter cette concrétisation, car ce logiciel

présente une souplesse et une agilité au niveau des syntaxes et des commandes.

Sujet 01 « Asservissement Analogique » :

� Programme élaboré sous MATLAB :

clc

disp('1) a/ Fonction de transfert en boucle ouverte')

num=[0 0 0.175];

den=[0.25 1 0];

B=tf(num,den)

K = MENU('Choisir un diagramme','Bode','Nyquist','Reponse impulsionnelle','Reponse indicielle','New Bode','Sortir')

while K<6

switch K

%figure(1)

%bode(B)

%title('Diagramme de bode')

case K==1

margin(B)

title('b/Diagramme de bode')

disp('c/ Marge de gain et marge de phase')

[Gm,Pm,Wcg,Wcp]=margin(B)

break

case 2

figure(2)

Nyquist(B)

title('2)Diagramme de Nyquist')

break

disp('3) stabilite et critere de Routh');

disp('5) T(p) est un système de classe 1; erreur statique est nul')

disp('T(p) est un système de classe 1; erreur de traînage est égal à 1/k')

Et=(1/0.175)*100

disp('T(p) est un système de classe 1; erreur en accélération est infinie')

Page 3: asservissement numerique

case 3

disp('Fonction de transfert en boucle fermée:');

F=feedback(B,1);

%disp('Reponse impulsionelle du système bouclé:')

figure(3)

impulse(F)

title('Reponse impulsionelle de F(p):')

break

%disp('Reponse indicielle du système bouclé:')

case 4

figure(4)

step(F)

title('Reponse indicielle de F(p):')

break

%disp('Diagraramme de Bode de F(jw)')

case 5

figure(5)

Bode(F)

title('Diagraramme de Bode de F(jw)')

break

disp('Caracteristiques dynamiques du système bouclé')

num1=[0 0 .175/.175];

den1=[.25/.175 1/.175 .175/.175];

G=tf(num1,den1)

Wn=sqrt(1/1.429)

Xi=(5.714/2)*Wn

tm=3/Wn

end

dialog('Vita Tompoko ô!','Licence 3')

end

� Exécution:

1) a/ Fonction de transfert en boucle ouverte

Transfer function:

0.175

-----------------

0.25 s^2 + s

Page 4: asservissement numerique

Diagrammes de BODE du Système en boucle ouverte :

� Diagrammes de BODE du Système � Diagramme de Nyquist du système � Allure de la Réponse impulsionnelle du système � Allure de la Réponse Indicielle du système � Diagrammes de BODE du Système Bouclé � Pour quitter au programme

Page 5: asservissement numerique

Diagrammes de NYQUIST du Système en boucle ouverte :

L’allure de la réponse Impulsionnelle du Système:

Page 6: asservissement numerique

L’allure de la réponse Indicielle du Système:

Diagramme de BODE du système bouclé:

Page 7: asservissement numerique

Sujet 02 « Asservissement » :

� Programme élaboré sous MATLAB :

clc

disp('Asservissement numerique')

disp('La fonction de transfert du processus analogique')

num=[0 0 1];

den=[20 12 1];

G=tf(num,den)

Te=0.2

[numd,dend]=c2dm(num,den,Te,'zoh')

f=c2dm(num,den,Te,'zoh')

disp(' ')

disp('1-Fonction de transfert G(z):')

printsys(numd,dend,'z')

disp('2-Reponse impulsionnelle:')

disp('figure(1)')

figure(1)

dimpulse(numd,dend)

disp('3-Reponse indicielle:')

disp('figure(2)')

figure(2)

dstep(numd,dend)

sys=tf(numd,dend)

F=feedback(sys,1)

num=[.000961 0.0009233]

den=[1 -1.884 0.8878]

[numd,dend]=c2dm(num,den,Te,'zoh')

%F=[num,den]

printsys(numd,dend,'t')

figure(3)

dimpulse(numd,dend)

figure(4)

dstep(numd,dend)

%stabilité

� Exécution sur la fenêtre de MATLAB:

Page 8: asservissement numerique

Asservissement numérique

La fonction de transfert du processus analogique

Transfer function:

1

----------------------

20 s^2 + 12 s + 1

Te =

0.2000

numd =

1.0e-003 *

0 0.9610 0.9233

dend =

1.0000 -1.8850 0.8869

f =

1.0e-003 *

0 0.9610 0.9233

1-Fonction de transfert G(z):

num/den =

Page 9: asservissement numerique

0.00096101 z + 0.00092333

---------------------------------------

z^2 - 1.885 z + 0.88692

2-Reponse impulsionnelle:

figure(1)

3-Reponse indicielle:

figure(2)

Transfer function:

0.000961 s + 0.0009233

---------------------------------

s^2 - 1.885 s + 0.8869

Transfer function:

0.000961 s + 0.0009233

--------------------------------

s^2 - 1.884 s + 0.8878

num =

1.0e-003 *

0.9610 0.9233

den =

1.0000 -1.8840 0.8878

numd =

1.0e-003 *

Page 10: asservissement numerique

0 0.2530 -0.2083

dend =

1.0000 -2.4146 1.4576

num/den =

0.000253 t - 0.00020828

-----------------------

t^2 - 2.4146 t + 1.4576

2-Reponse impulsionnelle :

Page 11: asservissement numerique

3-Reponse indicielle:

3-Reponse impulsionnelle du système en boucle fermé :

4- Réponse indicielle système en boucle fermé:

Page 12: asservissement numerique

Conclusion : Le logiciel MATLAB est un logiciel de référence pour toute simulation ou

modélisation des systèmes linéaires asservis analogique ou numérique. Les résultats

obtenus lors des calculs ne sont pas loin de ceux qui sont donnés par la programmation sous

ce logiciel.