Académique Documents
Professionnel Documents
Culture Documents
É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 .
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
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.
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.
Pzmap
Pôle-zéro tracé du système dynamique
Syntaxe
pzmap(sys)
pzmap(sys1,sys2,...,sysN)
[p,z] = pzmap(sys)
La description
Exple :
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 .
Stabilité de H(z)
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
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 :
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 )
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)
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 un gain 12 v :
>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 :
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
>>plot(T,k),grid
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
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.05Kp=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 :
PI(p)=kp+ Ki/p
2.2On realize les instructions MatLAB suivantes:
2.5
On relève le temps de rép comme le montre les fig ci-dessous :
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.