Vous êtes sur la page 1sur 4

TP 1 : Asservissements échantillonnés

Table of Contents
Création d'un système linéaire discret sous Matlab .................................................................... 1
Etude de la stabilité des systèmes échantillonnés bouclés ........................................................... 2
Etude d'un asservissement de position d'un moteur .................................................................... 3

• Nom & Prénom:

• Groupe

L'objectif de ce TP est de se familiariser avec l'asservissement échantillonné des systèmes linéaires en les simulation
avec le logiciel Matlab. Il porte sur les points suivants :

• Echantillonnage des fonctions de transfert analogiques et l'étude de l'effet de la période d'échantillonnage.

• Analyse des systèmes échantillonnés (stabilité et précision).

• Commande des systèmes échantillonnés : correcteurs P et PI.

• Application à l'asservissement de position d'un moteur.

Création d'un système linéaire discret sous


Matlab
L'obtention du modèle numérique d'un système continu est réalisée en utilisant le bloqueur d'ordre zéro
ayant la fonction de transfert :

Sous Matlab, le passage d'une fonction de transfert analogique vers une fonction de transfert numérique
utilisant le bloqueur d'ordre zéro "BOZ" est obtenue avec la fonction

sysd = c2d(sys,Te,'zoh)

help sysd


Programmer la fonction de transfert analogique d'un système de premier ordre : avec
et .

K = 1; tau = 1;
H = tf([K],[1 tau])

• Donner deux fonctions de transfert et correspondant aux périodes d'échantillonnage


et .

• Commenter les résultats.

T1 = tau;

1
TP 1 : Asservissements échantillonnés

T2 = tau/4;
Hd1 = c2d(H,T1,'zoh')
Hd2 = c2d(H,T2,'zoh')
step(H)
hold on
step(Hd1)
hold on
step(Hd2)
hold off

• Refaire la manipulation avec un système d'ordre 2 ( , , , et


).

• Commenter les résultats.

K = 1; xi = 0.5; w0 = 1;
H = tf([K],[1 (2*xi/w0) (1/(w0^2))])
T1 = 1;
T2 = 6.4127;
Hd1 = c2d(H,T1,'zoh')
Hd2 = c2d(H,T2,'zoh')
step(H)
hold on
step(Hd1)
hold on
step(Hd2)
hold off

Certains systèmes sont numériques de nature. Afin de programmer la fonction de transfert


numérique directement, les fonctions suivantes peuvent être utilisées sysd = tf([b0 b1 b2],[1 a0 a1
a2],Te,'variable','z^-1');

• Création de la fonction de transfert à partir des polynomes N(z) et D(z) sysd1 = zpk([c1 c2 c3],[e1
e2],e0,Te);

• Création de la fonction de transfert à partir des zéros et des pôles du système.

Etude de la stabilité des systèmes échantillon-


nés bouclés
Nous allons nous intéresser maintenant à l'étude de la stabilité des systèmes bouclés. Nous utiliserons la
fonction "rlocus". Cette commande sertà tracer le lieu d'Evans du système bouclé.

Soit le système numérique suivant:

• En choisissant une commande proportionnelle avec le gain de la forme où représente


l'erreur entre la référence et la sortie du système.

• Etudier la stabilité du système en boucle fermée en fonction de K (Critère de Jury).

• Vérifier votre résutat avec la fonction rlocus.

2
TP 1 : Asservissements échantillonnés

• Calculer l'erreur statique. La période d'échantillonnage vaut 1 seconde.

G = zpk([],[.1 0.9],1,1)
rlocus(G)
zgrid
Kp = 0.6;
Gbf = feedback(Kp*G,1)
figure,
step(Gbf)

• On souhaite maintenant annuler l'erreur statique en utilisant un correcteur PI. Donner la fonction de
transfert du correcteur avec les gains et .

• En utilisant le critère de Jury, donner les conditions sur les gains afin que le système soit stable.

• Choisir des gains et assurant la stabilité et simuler le système en boucle fermée avec un échelon
en entrée. Comparer les deux correcteurs.

Ki = 0.1;
C= tf(1,[1 0])
Cd = c2d(C,1,'zoh');
Gbfi = feedback((Kp+Ki*Cd)*G,1)
hold on
step(Gbfi)

Etude d'un asservissement de position d'un


moteur
Le moteur est modélisé par la fonction de transfert analogique suivante On choisit
une période d'échantillonnage Te = 0.005. Calculer la fonction de transfert échantillonnée G(z).

G = tf(8,[0.015 1 0])
Te = 0.005;
Gd = c2d(G,Te,'zoh')

• Régulation proportionnelle : on choisit un correcteur C(z) = Kp

• Etudier la stabilité du système bouclé.

• Retrouver les conditions de stabilité en traçant, sous Matlab, le lieu d?Evans.

rlocus(Gd)

• En utilisant ce lieu, déterminer la valeur de Kp pour avoir le meilleur temps de réponse.

• Etudier l'erreur statique en fonction de Kp. Retrouver cette erreur en simulation.

Kp = 10;
Gdbf = feedback(Kp*Gd,1)
step(Gdbf)

• Régulation par la méthode du modèle : on souhaite que le système en boucle fermée se comporte comme
un système d'ordre 2 ayant comme fonction de transfert analogique :

3
TP 1 : Asservissements échantillonnés

* Calculer la fonction de transfert numérique de M(p).

Calculer le correcteur C(z) permettant d'avoir un système en boucle fermée équivalente à M(z).

Ki = 100;
C= tf(1,[1 0])
Cd = c2d(C,Te,'zoh');
Gbfi = feedback((Kp+Ki*Cd)*Gd,1)
hold on
step(Gbfi)

Que vaut l'erreur statique? Proposer un correcteur qui permet d?annuler cette erreur.

Published with MATLAB® R2014a