Vous êtes sur la page 1sur 33

Ecole nationale d’ingénieurs de Monastir

Département génie électrique

TP3 : Correction des systèmes


échantillonnées.

Élaboré par :
Ben Abdelhamid Houssein
Bourguiba Ayman

1 ère GE GROUPE 3
ENSEIGNANT : M .Taouali Okba

2016-2017
TP N°1:

Système échantillonné
L’objectif :
L’objectif de ce TP est la discrétisation des fonctions de premier ordre ; l’étude de la stabilité des
systèmes échantillonnés et l’influence de la période de l’échantillonnage sur celle-ci .

La réalisation de ce TP est faite pratiquement à l’aide du logiciel MATLAB.

Rappel théorique :
Un système échantillonné est un système qui fonctionne en temps continu et dont les signaux
d’entrée et de sortie sont échantillonnés à des instants différents .

Introduction à MATLAB

Introduction

MATLAB (« matrix laboratory ») est un langage de programmation de quatrième génération émulé


par un environnement de développement du même nom ; il est utilisé à des fins de calcul
numérique. Développé par la société The MathWorks, MATLAB permet de manipuler des matrices,
d'afficher des courbes et des données, de mettre en œuvre des algorithmes, de créer des interfaces
utilisateurs, et peut s’interfacer avec d’autres langages comme le C, C++, Java, et Fortran .

Etude pratique :

I. Discrétisation :
A. Représentation de la fonction G(p) :
B. Représentation de la fonction Gd(p) :
La discrétisation de la fonction avec une période d’échantillonnage Te = 0.1 s en
utilisant l’instruction c2d : D’après help MATLAB.

C2d
Convertir le modèle de temps continu en temps discret

Syntaxe
sysd = c2d(sys,Ts)
sysd = c2d(sys,Ts,method)
sysd = c2d(sys,Ts,opts)
[sysd,G] = c2d(sys,Ts,method)
[sysd,G] = c2d(sys,Ts,opts)

La description
Exple :

sysd = c2d( sys , Ts ) discrétise le système de système dynamique de temps continu utilisant la
commande à zéro sur les entrées et un temps d' Ts de Tssecondes.

On appelle la fonction obtenue Gd

C. Visualisation des réponses indicielles de G et Gd :


II. Fonction de transfert discrète :

En utilisant zpk on réécrit la fonction :


D’après help de MATLAB :

Zpk
Créer un modèle de gain zéro-pôle; Converti en modèle de gain à zéro.

Syntaxe
sys = zpk(Z,P,K)
sys = zpk(Z,p,k,Ts)
sys = zpk(M)
sys = zpk(Z,p,k,ltisys)
s = zpk('s')
z = zpk('z',Ts)
zsys = zpk(sys)
zsys = zpk(sys, 'measured')
zsys = zpk(sys, 'noise')
zsys = zpk(sys, 'augmented')

La description
Utilisé zpk pour créer des modèles de zéro-pôle-gain (objets de modèle zpk ), ou pour zpk en forme
de gain de zéro-pôle.

I. Visualisation des pôles et des zéros de Hd à l’aide de pzmap :

D’après help MATLAB :

Pzmap
Pôle-zéro tracé du système dynamique
Syntaxe
pzmap(sys)
pzmap(sys1,sys2,...,sysN)
[p,z] = pzmap(sys)

La description
Exple :

pzmap(sys) pzmap(sys) crée un pzmap(sys) pôle-zéro du système modèle de sys dynamique à


temps continu ou discret. Pour les systèmes SISO, pzmap trace les pôles de fonction de pzmap et les
zéros. Pour les systèmes MIMO, il trace les pôles du système et les zéros de transmission. Les pôles
sont tracés en x et les zéros sont tracés en o 's.

Ainsi on retrouve les pôles à l’aide de l’instruction pole :

D’après help MATLAB :

pôle
Calculer les pôles du système dynamique

Syntaxe
pole(sys)

La description
pole(sys) pole(sys) calcule les pôles p du système modèle SISO ou MIMO du système sys .

Si sys a des retards intern


III. Etude de la stabilité :
Un système échantillonné linéaire est stable si tous les pôles de sa fonction de
transfert échantillonnée sont situés à l’intérieur du cercle unité du plan z.

 Stabilité de H(z)

→ L e système est stable.


 Intégration de H(z) en boucle fermée à retour unitaire

La nouvelle fonction de transfert :

K
( z−0.4 ) ( z−0.8) k k
 H(Z) = = = .
k ( z−0.4 )( z−0.8 ) +k z ²−1.2 z + k +0.32
1+
( z−0.4 ) ( z−0.8)
pour k=1 :
1
G(z) =
z ²−1.2 Z +1.32

D’après help MATLAB :

Retour d'information
Connexion de retour de deux modèles

Syntaxe
sys = feedback(sys1,sys2)

La description
sys = feedback(sys1,sys2) sys = feedback(sys1,sys2) renvoie un objet objet modèle pour
l'interconnexion de rétroaction négative des objets modèles sys1 etsys2 .
>> K =1 ; h=tf ( [K] , [ 1 – 1.2 0.32], 0.1)
>> rltool
IV. Utilisation de simulink :
Définition :

Simulink est une plate-forme de simulation multi-domaine et de modélisation de


systèmes dynamiques. Il fournit un environnement graphique et un ensemble de
bibliothèques contenant des blocs de modélisation qui permettent le design précis, la
simulation, l’implémentation et le contrôle de systèmes de communications et de
traitement du signal. Simulink est intégré à MATLAB, fournissant ainsi un accès immédiat
aux nombreux outils de développement algorithmique, de visualisation et d’analyse de
données de MATLAB
V. Erreur de position :
VI. Influence de la période d'échantillonnage sur la stabilité :
Conclusion
→On peut conclure alors qu’Un système échantillonné bouclé est stable si sa période
d’échantillonnage est inférieure ou égale à la constante du temps du système continu
divisé sur 5.

Te<=τ /5
TP N°2:
COMMANDE NUMERIQUE D’UN MOTEUR

L’objectif :
L’objectif de ce TP est de faire l’étude d’un moteur continu
(stabilité ; commande numérique )

1. Etude du moteur en continu

L’étude pratique :
Un moteur électrique de 12 v tel que sa fonction de transfert est :

20
G(P) =
1+ 0.3 p

la fonction est stable en boucle ouverte car on a un pole de partie réelle négative.

A l’aide de MATLAB on vérifie ce résultat en utilisant rlocus (voir les positions des pôles
dans le lieu d’evans)

D’après help MATLAB

Rlocus
Tracé de locus racine du système dynamique

Syntaxe
rlocus(sys)
rlocus(sys1,sys2,...)
[r,k] = rlocus(sys)
r = rlocus(sys,k)
La description
rlocus calcule le locus racine d'un modèle SISO en boucle ouverte. Le lieu de la racine donne
les trajectoires des pôles en boucle fermée en fonction du gain de rétroaction k (en supposant
une rétroaction négative)

clear all;
close all;
clc;
num=[20]
den=[0.3,1]
G=tf(num , den)
figure(1)
pzmap(G)
figure(2)
rlocus(G)
Gz=c2d(G,0.03)
figure(3)
step(Gz)
g1=c2d(G,0.1)
g2=c2d(G,0.2)
g3=c2d(G,0.3)
g4=c2d(G,0.4)
g5=c2d(G,0.5)
g6=c2d(G,0.35)
rltool
T=[0.1 0.2 0.3 0.4 0.5 0.6]
K=[0.305 0.156 0.109 0.0863 0.0734 0.0658]
figure(4)
plot(T,K),grid
Figure1
Cette figure montre la stabilité du système
la position des pôles dans le lieu d’Evans en utilisant l’outil « rlocus »

Figure 2
Figure3

Figure 4
 fenêtre « Tools »
 la commande « Control Design »

 Pour une alimentation de 12 v on a une vitesse de rotation égale à 240 rad/s .

 Pour mesurer la vitesse ; on utilise un capteur qui délivre une tension


proportionnelle à la vitesse de rotation de gain R= 0.1 VS/rad. On réalise
ainsi un asservissement du moteur à l’aide d’un capteur dans la boucle
de retour

 Soit le schéma d’asservissement suivant


Schéma d’asservissement :

 Pour un gain 12 v :

En boucle fermée la commande « feedback » nous donne :

>sys=feedback(G,0.1)
>BF=12*sys

240
BF= 0 .3 s+3
Le système est linéaire donc on peut appliquer la règle de trois :

-On a pour :12V80rad/s la tension égale à 36V


? 240rad/s

 Pour un gain 24v :


la vitesse de rotation du moteur est égale à 160 rad/s.

OUT 2 nous donne l’erreur

→L’erreur statique est égale à 8.

la fenêtre « Tools » :
2. Commande numérique :
Théoriquement on calcule la fonction de transfert échantillonnée du moteur
lorsque celui-ci est précédé par un convertisseur numérique analogique
1. 903

fonctionnant en bloquer d’ordre zéro : G(z)=Z (B0(p) G(p))= z−0 . 904
¿ Tp
1e
B0(p) =
p

20
G(p)=
1+ 0 .3 p

Z( ¿G(p) B0(p))) =
( z−1)
Z
Z (L
−1
( 20
p ( 1+0.3 p ) )
)

( ( ))
1
( z−1) Z (L−1 0.3
20* )
Z 1
p .+ p
0.3

( ( ))
1 −T
.
−1 0.3 z (1−e 0.3 )
D’ après la table des transformées en z on a Z (L )= −T
1 .
p .+ p ( z−1 ) (z−e 0.3
)
0. 3

pour T = 0.03 s

1.903
G(z)= 20* (1-0.904)/ (z- 0.904) =
z−0.904

Le résultat est bien vérifié théoriquement.


On intègre l’ensemble dans une boucle fermée à retour unitaire en plaçant un
correcteur proportionnel k=0.5 en amont avec le bloqueur d’ordre zéro comme le
montre le schéma suivant
On obtient :

L’erreur statique de la régulation échantillonnée pour un gain de commande K=1 et


une période d’échantillonnage T=0.35s.
On constate que l’erreur est égale l’infini .

Le système est instable  erreur diverge.

Pour que le système soit stable , il faut que T< 0.2 τ .

On veut déterminer la relation reliant le gain proportionnel K et la période


d’échantillonnage T c’est pour cela on utilise les commandes suivantes :

>>k=[0.303 0.15803 0.10723 0.08538 0.073286 0.068012 0.06299]

>>T=[0.1 0.2 0.3 0.4 0.5 0.6 0.7]

>>plot(T,k),grid

Et on obtient la figure suivante :

Pour la valeur de T =0.35s la valeur de Klim=0.09619

On vérifie le résultat en utilisant l’interface graphique « rltool » et on trouve la


même valeur
Correction des systèmes échantillonnés

But
Les performances naturelles d’un système (stabilité, précision, rapidité, etc)
peuvent ne pas correspondre à un degré d’exigence spécifié dans un cahier
des charges. L’objectif de toute correction est de modifier ces performances
afin qu’elles respectent au mieux ce cahier des charges.

1.Correcteur proportionnel
Soit la fonction de transfert suivante :
H(p) = 1+ Tp
K

Avec : K= 0.3 ; T= 26.65s

On veut intégrer ce système dans une boucle fermée à retour unitaire et on veut
étudier les performances du système échantillonné bouclé.

1.1

A l’aide de l’outil rltool on détermine les valeurs de Kp correspondants à la limite de stabilité pour
différents valeurs de Te :

Te =0.1 Kp=1778.5
Te=0.07 Kp=2541.6
Te=0.05Kp=3548.8
Te0.03 Kp = 5914.4
On utilise Simulink pour déterminer l’erreur de position en réalisant le schéma fonctionnel
suivant :

Pour Te= 0.03et kp=0.66 On trouve Ep(erreur de position) = 0.168


Pour Kp=0.6 On relève la fig suivante :
Pour Kp=0.356 On relève la fig suivante :

On en conclut que le correcteur proportionnel augmente considérablement la


précision mais en conte réaction diminue la stabilité et la rapidité.
Correcteur proportionnel intégral :
on considère le correcteur proportionnel intégral suivant :

PI(p)=kp+ Ki/p
2.2On realize les instructions MatLAB suivantes:

2.3 On importe avec rltool la fonction de transfert et le correcteur pid :

2.4 On calcule les pôles du système comme suit :


Détermination de l’erreur de position :

On conclut que ce type de correcteur vise à améliorer la précision.

2.5
On relève le temps de rép comme le montre les fig ci-dessous :

-Trep avec Pid :


-Trep sans Pid:
L’action Intégrale introduit un déphasage de -90° et rend le système légèrement instable en
diminuant la marge de phase. D’autre part on remarque une augmentation du Trep d’où
augmentation de la rapidité.

Afin de corriger ces lacunes, on place le correcteur de telle sorte que le déphasage positif soit
effectif avant la pulsation de résonance du système non corrigé de manière a ne pas rendre le
système instable

Une autre solution mathématique consiste a simplifier le pole dominant par le numérateur du
correcteur PI.

Correcteur proportionnel intégral dérivé


Ki∗z Kd∗z −1
C(z) = Kp+ z−1 + z

Avec : Kp=0.6 ;Ki=1 ;Kd=1 ;


On relève le Tmontée comme le montre la fig suivante :

Vous aimerez peut-être aussi