rapport tp 1 et 2

31
  Analyse temporelle d’un s y stème dynamique du 1er ordre et du 2ème ordre Rapport TP n° 1 et n°2 de la Régu lation Industrielle R é a li p ar :   ABOUDRAR B asma   ACHOR Zineb  EL BECHARI Reda  EL BOUAMI Sarah  EL KHAOURI Wiam E nca d r é p a r : Mr.Chikh  Ecole Nationale Supérieure d’Arts et Métiers Casablanca  

Upload: treda

Post on 02-Nov-2015

157 views

Category:

Documents


23 download

DESCRIPTION

Régulation industrielle, systèmes 1er ordre et 2nd ordre.

TRANSCRIPT

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me

    ordre Rapport TP n 1 et n2 de la Rgulation

    Industrielle

    Ralis par :

    ABOUDRAR Basma

    ACHOR Zineb

    EL BECHARI Reda

    EL BOUAMI Sarah

    EL KHAOURI Wiam

    Encadr par :

    Mr.Chikh

    Ecole Nationale Suprieure dArts et Mtiers Casablanca

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    2

    TP n 1 : Analyse temporelle dun systme

    dynamique du 1er ordre

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    3

    Introduction :

    Ltude complte dun systme est compose de deux parties : son tude temporelle et son tude

    frquentielle. En ce qui concerne ltude temporelle, nous nous intresserons ici identier les

    rponses s(t)de systmes tudis des signaux dentre e(t) relativement simples, appels entres

    canoniques, qui sont limpulsion de Dirac d(t), lchelon unitaire u(t) et la rampe unitaire v(t). La

    rponse dun systme une impulsion de Dirac est appele rponse impulsionnelle ; la rponse dun

    systme un chelon unitaire est appel rponse indicielle.

    Dans ce TP on va se familiariser avec le logiciel Matlab en essayant de dessiner la rponse dun

    systme du 1 er ordre pour trois entres diffrentes ; chelon, rampe, et acclration.

    Objectif :

    L'objectif de ce TP est de se familiariser avec tous les aspects des systmes du premier ordre. Cette

    familiarisation introduit la fonction de transfert complexe, puis la fonction de transfert en

    reprsentation de Laplace pour aboutir tous les diagrammes utiliss en automatisme, en ralisant

    un fichier excutable sous Matlab.

    Etude thorique :

    Soit le circuit RC donn par le schma du montage suivante :

    1. Appliquons la loi de Kirchhoff des tensions, lquation diffrentielle qui rgit le

    fonctionnement de ce circuit est :

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    4

    2. La fonction de transfert du systme :

    En appliquant la transform de Laplace, on a

    3. Dterminons :

    Le gain statique:

    K=1 daprs la fonction de transfert

    La constante de temps :

    T= RC = 3,15ms

    4. Dterminons la rponse du systme lapplication dun chelon damplitude :

    On a

    Le graphe obtenu est de la forme :

    K=E0 et T= R*C

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    5

    )

    5. Dterminons la rponse du systme lapplication dune rampe de pente a :

    On a

    Do

    On peut simuler cette rponse par le graphe suivant :

    et y(t)= s(t)

    Calculons lerreur de trainage (erreur de vitesse)

    On a

    Calculons le temps de monte et le temps de rponse :

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    6

    6. Traons la rponse du systme lorsque nous appliquons une impulsion e(t)= comme entre du systme.

    On a

    Avec K= et T=

    Analyse sous Matlab :

    La fonction de transfert calcule dans la partie thorique :

    %%TP1 Analyse temporelle d'un systme dynamique 1er ordre

    % Reponse impulsionnelle t=0:0.0001:0.1 ; % Discretisation du temps de 0 0.1 par un pas de 0.0001 R= 50; C= 63*10^-6; num=[ 1 ] ; % Numerateur de la fonction de transfert den=[R*C 1] ; % le denominateur de la FT sys=tf(num,den) ; % cration de la FT

    y1=impulse(sys,t) ; % La reponse impulsionnelle y0=y1(1) plot(t,y1); % Le graphe de la reponse impulsionnelle title('Reponse impulsionnelle')

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    7

    Rponse impulsionnelle

    %%TP1 Analyse temporelle d'un systme dynamique 1er ordre

    % Reponse indicielle t=0:0.0001:0.1 ; % Discretisation du temps de 0 0.1 par un pas de 0.0001 R= 50; C= 63*10^-6; num=[ 1 ] ; % Numerateur de la fonction de transfert den=[R*C 1] ; % le dnominateur de la FT sys=tf(num,den) ; % cration de la FT

    y1=step(sys,t) ; % La reponse impulsionnelle y0=y1(1) plot(t,y1); % Le graphe de la reponse indicielle title('Reponse indicielle')

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    8

    Rponse indicielle %%TP1 Analyse temporelle d'un systme dynamique 1er ordre

    % Rponse indicielle t=0:0.0001:0.1 ; % Discretisation du temps de 0 0.1 par un pas de 0.0001 R= 50; C= 63*10^-6; num=[ 1 ] ; % Numrateur de la fonction de transfert den=[R*C 1] ; % le dnominateur de la FT sys=tf(num,den) ; % cration de la FT

    y1=step(sys,t) ; % La reponse indicielle plot(t,y1); % Le graphe de la reponse indicielle title('Reponse indicielle')

    hold on ym=max(y1 ) ; yt=0.63*ym ; max_idx=find(y1>=yt, 1 ); tau=t(max_idx) plot([tau tau],[0 yt],'m--') str=sprintf('tau=%3.4f s',tau); gtext (str)

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    9

    Rponse indicielle

    %%TP1 Analyse temporelle d'un systme dynamique 1er ordre

    % Reponse indicielle t=0:0.0001:0.1 ; % Discretisation du temps de 0 0.1 par un pas de 0.0001 R= 50; C= 63*10^-6; num=[ 1 ] ; % Numerateur de la fonction de transfert den=[R*C 1] ; % le denominateur de la FT sys=tf(num,den) ; % cration de la FT

    y1=step(sys,t) ; % La reponse impulsionnelle plot(t,y1); % Le graphe de la reponse indicielle title('Reponse indicielle')

    hold on % Calcul de la constante du temps ym=max(y1 ) ; yt=0.63*ym ; max_idx=find(y1>=yt, 1 ); tau=t(max_idx) plot([tau tau],[0 yt],'m--') str=sprintf('tau=%3.4f s',tau); gtext (str)

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    10

    % Calcul du temps de monte Tm=t(find(y2>=0.9*k,1))-t(find(y2>=0.1*k,1))

    % Calcule de temps de rponse Tr=t(find(y2>=0.95*k,1)) plot([Tr Tr],[0 k],':') str1=sprintf('t. rep =%3.4f s',Tr); gtext (str1)

    hold off

    Rponse indicielle

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    11

    %Rponses indicielles du systme correspondantes aux diffrentes valeurs de %tau(0.0016-rouge-, 0.0032-bleu-, 0.0064-vert-)

    t=0:0.0001:0.1 ; % Discretisation du temps de 0 0.1 par un pas de 0.0001

    num=[ 1 ] ; % Numerateur de la fonction de transfert % les denominateurs de la FT den1=[0.0016 1] ; den2=[0.0032 1]; den3=[0.0064 1]; % cration des FT sys1=tf(num,den1) ; sys2=tf(num,den2); sys3=tf(num,den3);

    y1=step(sys1,t) ; plot(t,y1,'r'); % Le graphe de la reponse indicielle

    hold on

    y2=step(sys2,t); plot(t,y2,'b')

    y3=step(sys3,t); plot(t,y3,'g')

    hold off legend('tau= 0.0016','tau= 0.0032','tau= 0.0064') title('Rponse indicielle "variation de tau"')

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    12

    Rponse indicielle variation de tau

    %Rponses une rampe du systme correspondantes aux diffrentes valeurs de %tau(0.0016-rouge-, 0.0032-bleu-, 0.0064-vert-)

    t=0:0.0001:0.1 ; % Discretisation du temps de 0 0.1 par un pas de 0.0001 a=2; num=[ 1 ] ; % Numerateur de la fonction de transfert % les denominateurs de la FT den1=[0.0016 1] ; den2=[0.0032 1]; den3=[0.0064 1]; % cration de la FT sys1=tf(num,den1) ; sys2=tf(num,den2); sys3=tf(num,den3);

    u=a*t ;

    y1=lsim(sys1,u,t) ; plot(t,y1,'r'); % Le graphe de la reponse

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    13

    hold on

    y2=lsim(sys2,u,t) ; plot(t,y2,'b')

    y3=lsim(sys3,u,t) ; plot(t,y3,'g')

    hold off legend('tau= 0.0016','tau= 0.0032','tau= 0.0064') title('Rponse une rampe 2*t "variation de tau"')

    Rponse une rampe 2*t variation de tau

    %Erreur de trainage correspondantes aux diffrentes valeurs de %tau(0.0016-rouge-, 0.0032-bleu-, 0.0064-vert-)

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    14

    t=0:0.0001:0.1 ; % Discretisation du temps de 0 0.1 par un pas de 0.0001 a=2; num=[ 1 ] ; % Numerateur de la fonction de transfert % les denominateurs de la FT den1=[0.0016 1] ; den2=[0.0032 1]; den3=[0.0064 1]; % cration de la FT sys1=tf(num,den1) ; sys2=tf(num,den2); sys3=tf(num,den3);

    u=a*t' ;

    y1=lsim(sys1,u,t) ; plot(t,u-y1,'r'); % Le graphe de l'erreur de trainage er_red= max(u-y1) hold on

    y2=lsim(sys2,u,t) ; plot(t,u-y2,'b') er_blue= max(u-y2)

    y3=lsim(sys3,u,t) ; plot(t,u-y3,'g') er_green= max(u-y3)

    hold off legend('tau= 0.0016','tau= 0.0032','tau= 0.0064') title('Erreur de trainage "variation de tau"')

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    15

    Erreur de trainage variation de tau

    Conclusion:

    A lissu de ce TP, on a pu analyser les rponses de ces systmes des entres diffrentes et dterminer les performances tout en utilisant le logiciel Matlab qui nous a facilit ltude quon fait habituellement par la main.

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    16

    TP n 2 : Analyse temporelle dun systme

    dynamique du 2me ordre

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    17

    Objectif :

    Lobjectif de ce TP est dexploiter les connaissances acquises, pendant le cours sur lanalyse

    temporelle dun systme dynamique du 2eme ordre. Ltudiant, aprs une tude thorique des

    systmes proposs, devra dabord raliser un fichier excutable sous Matlab afin danalyser les

    rponses de ces systmes des entres diffrentes et de dterminer leurs performances. La

    reprsentation dun modle sous Simulink va permettre ensuite de visualiser les rponses du

    systme tudi.

    Etude thorique :

    Exemple 1 : Circuit RLC

    Etant donn un circuit RLC suivant avec les caractristiques suivantes : R=20, L=3mH, et C=5F.

    Figure1. Circuit RLC

    1. La fonction de transfert :

    Daprs la loi des mailles on trouve :

    Avec :

    Remplaons chaque terme par sa valeur, on trouve :

    En utilisant la transforme de la place, et en tenant compte que : on trouve :

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    18

    Do la fonction de transfert du systme :

    2. Dtermination des lments du systme :

    On sait le modle de fonction de transfert dun circuit dordre 2 est le suivant :

    On identifie la fonction de transfert avec le modle (1), on trouve :

    3. Les rponses de lquation de transfert diffrentes entres :

    Rponse un chelon unitaire :

    On a donc le systme un comportement oscillatoire :

    Cette rponse se compose de deux parties, la premire correspond au rgime

    transitoire, la seconde au rgime permanent.

    Rponse une rampe de pente a=2 :

    Avec une entre de type Dirac :

    Systme sous amorti :

    7482t)

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    19

    Rponse une impulsion de 1 :

    Exemple 2 : Systme mcanique oscillant

    On considre le systme mcanique donn par (Fig.2). Lapplication dune force f (t) (entre du

    systme) sur le systme provoque des oscillations de la masse m suivant la direction x(t) (la sortie

    du systme). Le systme est constitu, en plus de la masse m, dun ressort de raideur k et dun

    amortisseur de coefficient b.

    Lquation diffrentielle correspondante ce systme est la suivante :

    "+ + = (2)

    1. La fonction de transfert du systme :

    On appliquant la transforme de la place sur lquation (2) on obtient :

    Ce qui donne :

    2. Paramtres du systme :

    A un chelon f(t)= 2 N.m ce qui donne aprs une transforme de la place :

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    20

    La rponse est :

    On cherche les paramtres m, b, K :

    On a daprs la Fig.3 :

    On a

    ,

    et aussi

    Do :

    Avec =0,6 et (pseudo-priode)

    - On obtient :

    .

    Ce qui donne et donc

    Analyse sous Matlab :

    Exemple 1 :

    %definition des parametres du problemes R=20; L=3*10^-3; C=5*10^-6;

    num=1; den=[C*L R*C 1];

    wn=1/sqrt(C*L); z=(R/2)*sqrt(C/L);

    t=0:0.0001:0.01;

    %fonction de transfert

    fct=tf(num,den) %rponse une impulsion y1=impulse(fct,t); figure(1) plot(t,y1) title('rponse impulsion') %rponse un chelon y2=step(fct,t); figure(2)

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    21

    plot(t,y2) title('rponse chelon') hold on

    %calcul de tau ym=max(y2); yt=0.63*ym; idx=find(y2>=yt, 1 ); tau=t(idx); plot([tau tau],[0 yt],'m--') str=sprintf('tau=\n%1.5fs',tau); gtext(str)

    tr=3/(z*wn) %tm=atan((-sqrt(1-z^2)/z)*(180/pi))/(wn*sqrt(1-z^2)) tp=pi/(sqrt(1-z^2)*wn) D=exp(-z*pi/sqrt(1-z^2))*100 %valeur pour laquelle z=1 - amortissement critique R1=2*sqrt(L/C) hold off

    %reponse a un echelon unitaire pour R= 0, 20, 60 R0=[0 20 60]; figure(3) hold on

    den1=[C*L R0(1)*C 1]; den2=[C*L R0(2)*C 1]; den3=[C*L R0(3)*C 1];

    sys1=tf(num,den1); y1=step(sys1,t); plot(t,y1,'r')

    sys2=tf(num,den2); y2=step(sys2,t); plot(t,y2,'b')

    sys3=tf(num,den3); y3=step(sys3,t); plot(t,y3,'y')

    ksi=(R0/2).*sqrt(C/L);

    legend(strcat('R=0 , ksi=', num2str(ksi(1))),... strcat('R=20 , ksi=', num2str(ksi(2))),... strcat('R=60 , ksi=', num2str(ksi(3)))); title('Reponse a echelon unitaire') hold off

    %reponse a une rampe figure(4) R0=60; u=2*t'; den2=[C*L R0*C 1]; fonct=tf(num,den2); yr=lsim(fonct,u,t); plot(t,yr,t,u);

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    22

    title('Reponse une rampe')

    figure(5) plot(t,u-yr); err=max(u-yr); hold on plot([0 0.01],[err err],'r--'); hold off

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    23

    Exemple 2 :

    clear clc m=5.187; k=20; b=12.223;

    wn=sqrt(k/m) z=b*wn/(2*k)

    t=0:0.001:10;

    num=1; den=[m b k]; fct=tf(num,den) %rponse une impulsion y1=impulse(fct,t); figure(1) plot(t,y1) title('rponse une impulsion')

    %rponse un chelon y2=2.*step(fct,t);

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    24

    figure(2) plot(t,y2) title('rponse chelon') hold on

    tau=1/(z*wn) tr=3*tau tm=2.2*tau tp=2*pi/(sqrt(1-z^2)*wn) D=100*(max(y2)-0.1)/0.1

    z0=[1 0.4 0.7]; figure(3)

    b0=2*z0.*k/wn;

    den1=[m b0(1) k]; den2=[m b0(2) k]; den3=[m b0(3) k];

    hold on fonct1=tf(num,den1); y01=2*step(fonct1,t); plot(t,y01,'r');

    fonct2=tf(num,den2); y02=2*step(fonct2,t); plot(t,y02,'b');

    fonct3=tf(num,den3); y03=2*step(fonct3,t); plot(t,y03,'y');

    legend(strcat('ksi=', num2str(z0(1))),... strcat('ksi=', num2str(z0(2))),... strcat('ksi=', num2str(z0(3)))); title('reponse a echelon unitaire') hold off

    figure(4)

    u=2*t; yr=lsim(fct,u,t); plot(t,yr,t,u); legend('sortie', 'entree') title('reponse a rampe')

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    25

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    26

    Analyse sous SUMILINK :

    On commence par crer un nouveau modle Sumilink sous le nom de tp2.mdl

    On ajoute une fonction de transfert depuis la librairie de Sumilink :

    SumilinkContinuousTransfer Fcn

    On dfinit le numrateur et le dnominateur

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    27

    Pour dfinir les constantes k, m et b diagramMaskEdit MaskEdit MaskParameters

    & Dialog ,ou par le raccourcis clavier (Ctrl+M)

    Pour visualiser le rsultat on ajoute un oscilloscope SinksScope, et on entre du

    systme on raccord une constante (chelon 2N) SourcesConstant.

    Pour visualiser les rsultats run , et double clic sur loscilloscope

    1- On fixe k=3, m=5 et on varie b de 2 6:

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    28

    2- b=4 :

    3- b=6 :

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    29

    Lorsquon augmente la valeur de b, le coefficient du facteur damortissement augmente, du

    coup les oscillations diminue.

    4- On fixe k=3, m=2,5 et b=3

    Pour une entre rampe on remplace Constant par Ramp : SourceRamp:

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    30

  • Analyse temporelle dun systme dynamique du 1er ordre et du 2me ordre

    31

    Conclusion :

    En guise de conclusion, nous pouvons dire que la performance des systmes du second

    ordre dpend fortement de leurs paramtres par exemple lorsque le b du systme

    mcanique varie, lamortissement fait de mme. Il est remarquable que les rsultats

    obtenus partir de ltude sur MATLAB et sur Simulink soient semblables. Enfin nous

    avons pu constater que le Simulink est facilement plus utilisable que MATLAB pour

    lanalyse des systmes automatiques.