TP Automatique
TP Automatique
TP Automatique
2019/2020
1
Table de matière :
Chapitre 1 : initiation
1- Saisie et construction de matrices :
2019/2020
2
Introduction :
Matlab (MatrixLaboratory) est un environnement de calcul numérique
matriciel. Comme tout langage de programmation, Matlab permet de définir
des données variables. Les variables sont définies au fur et à mesure que l'on
donne leurs noms (identificateur) et leurs valeurs numériques ou leurs
expressions mathématiques. Matlab ne nécessite pas de déclaration de type ou
de dimension pour une variable. Les variables sont stockées dans l'espace de
travail (ou workspace) et peuvent être utilisées dans les calculs subséquents.
2019/2020
3
Elément généraux de programmation en Matlab
1. Saisie et construction de matrices :
Soit C une matrice carrée (3*3), voici les modes pour saisir une matrice
sur Matlab ;
L’instruction input :
Vecteur :
2019/2020
4
Le nombre au milieu est le pas.
Si on ne le met pas Matlab prend 1 comme pas.
Exemple :
1 :4 1 2 3 4
L’Access a des sous matrices :
C(1,2) : signifie la case de la première ligne et la deuxième colonne.
C (1 :2,3) : signifie la colonne de la première et la deuxième ligne.
C ( : , 2) : signifie la colonne 2 de toutes les lignes.
2. Syntaxe d’une instruction Matlab :
a. Transposé d’une matrice :
b. Polynôme caractéristique :
2019/2020
5
POLY(B) est une fonction sur Matlab qui donne les coefficients du polynôme
d’une matrice carrée d’ordre n.
Exemple :
Soit B une matrice, poly(B) est son polynôme caractéristique avec les
coefficients suivants :
2019/2020
6
c. Pulsation naturelle_facteur d’amortissement:
[ωn, ϵ]=damp(p) avec p est un vecteur ligne des coefficients du polynôme
caractéristique.
ωn: la pulsation naturelle.
ϵ: le facteur d’amortissement.
Exemple :
d. Multiplication polynomiale :
2019/2020
7
Soit Q(x)=P(x)×R(x), avec a et b deux vecteurs des coefficients du P et R
respectivement.
Donc le vecteur c des coefficients de Q est :
C=conv (a, b)
Exemple :
e. Division polynomiale :
[q, r]=deconv (b, a) retourne les coefficients du rapport de B sur A avec les
coefficients du reste R.
Exemple :
2019/2020
8
[r, p, q]=residue (b, a) avec a et b sont les coefficients de A et B
respectivement.
2019/2020
9
3. Définir un système par sa fonction de transfert :
2 s +1 s+ 0.5
Soit G(s)= 2 =2 2 une fonction de transfert, s c’est la variable de
s + 2 s+1 (s+1)
Laplace.
Désignation sur Matlab :
2019/2020
10
Zpk (zéros, pôles, gain).
Pole(G) : donne les pôles de la fonction.
Step(G) : trace la réponse indicielle.
Impulse(G) : trace la réponse impulsionnelle.
Bode(G) : donne le diagramme de bode.
Nyquist(G) : trace le diagramme de nyquist.
Nichols(G) : trace le diagramme de black_nichols.
2019/2020
11
Prise en main de Matlab et de la control Toolbox
I. modélisation du moteur à courant continu (MCC) :
On a ci-dessous la fonction de transfert qui lit la vitesse de rotation du moteur
à la tension appliquée à l’induit.
K
G(s) = (1+ Sτel)(1+τems)
Kem
K= c’est le gain statique
RF + Kem2
RJ
τem= C’est la cte de temps électromécanique.
RF+ Kem 2
L
τel = C’est la cte de temps électrique.
R
2019/2020
12
b. saisi la fonction de transfert sur Matlab :
2019/2020
13
c. calcule des pôles de la fonction du transfert :
2019/2020
14
Analyse de résultat:
2019/2020
15
On a kp=10, Y=10, N=3000tr/min, calculons Kw.
On a calculer le Kw puis on a donné la FTBO et la FTBF.
2019/2020
16
b. La réponse indicielle de FTBO et FTBF:
Analyse de résultat :
Le bouclage ne change pas l’ordre du système.
On constate aussi que le gain statique augmente, le facteur d’amortissement
diminue et que la pulsation propre augmente. Cela implique qu’un système qui
n’était pas oscillant.
En boucle ouverte peut le devenir en boucle fermée.
Le bouclage d’un système modifie ses caractéristiques, il permet d’améliorer la
rapidité et la précision mais peut rendre le système instable.
Figure
Bode(FTBO)
Figure
Nichols(FTBO)
2019/2020
17
Figure
Nyquist(FTBO)
2019/2020
18
Analyse :
Analyse :
On constate qu’en parcourant le lieu de Black dans le sens des ω croissants, on
laisse le point critique –1 à droite.
Donc Le système est stable.
2019/2020
19
Analyse :
2019/2020
20
La courbe 1 est caractéristique d’un système non oscillant, le temps de réponse
à 5% de ce système est : T5% =T1= 0.01. À partir de l’instant T1 la réponse est
toujours comprise entre les deux bandes à ±5% de la valeur finale.
Les courbes 2 et 3 sont caractéristiques d’un système dont la réponse est
oscillatoire amortie.
Malgré l’apparition des oscillations dues au correcteur proportionnelle le
système reste toujours stable.
T.P N0 1
Initiation à MATLAB
BUT : le but de ce T.P est d’initialiser aux commandes et fonctions de la
bibliothèque automatique du logiciel MATLAB.
Partie théorique
Soit A matrice carrée (3*3).
6 5 4
A=1 7 8
8 9 11
1. Transposé :
Soit B le transposé de A.
6 1 8
B=A’=5 7 9
4 8 11
2. Produit :
6 5 4 6 1 8 77 73 137
A*B= 1 7 8 × 5 7 9 = 73 114 159
8 9 11 4 8 11 137 159 266
3. Déterminant :
6 5 4
| | 7 8
| |
Det A= 1 7 8 =6× 9 11
8 9 11
-5 ×
1 8
8 11 + 4× |18 79|=107
2019/2020
21
4. Inverse d’une matrice :
On a det (A) non nul donc la matrice A est inversible.
1
A-1= detA ×com At
5 4 ( 6 4
6 4
|7 8| −|1 8| |1 7|
5 −19 12
6
6 5
Com A = −|9 11| |8 11| −|8 9| = −19
5
( 12 ) 53 −47
34 −14
−44 37 )
t
Com A = 53 34 −44
−47 −14 37
1
A-1= det A × Com At
5. Valeurs propres :
Pour calculer les valeurs propres de A on doit calculer le det (A-x I).
6−x 5 4
Det(A-x I)=0
8 |
1 7−x
9
8 =
11−x |
( 6−x )∗[ ( 7−x ) ( 11−x ) −72 ]−5 [ ( 11−x )−64 ] + 4 [ 9−8 (7−x ) ]=0 =>
6. Vecteurs propres:
a
Soit Y=b
c
2019/2020
22
6 x +5 y +4 z=x 1 x
{
AY1=x1Y1 x +7 y +8 z=x 1 y
8 x+ 9 y +11 z=x 1 z
0.38
( )
Y1= 0.39
0.78
1. Poles:
Les pôles de G D(s)=0
s 1=−0.5 ;
Δ=0.52 −4∗1=−3.75
s 2=0.25+ 0.97 i; s 3=−s 2
2019/2020
23
2. decomposition en elements simples:
A α + iβ φ+iσ
G ( s )= + +
s +0.5 15 15
s+ 0.25− √ i s +0.25+ √ i
4 4
15
On trouve s=0 .25− √ i donc α +iβ=−0 .3500−0 .1936 i
4
Ainsi
√15 i
2 (
A × s+ 0.25+
4 ) + (α +iβ )×( s +0.25+ √154 i) +(φ+ iσ )
( s+0.25+ √415 i )× ( s +0.5∗s+1
0.2∗s +0.3∗s +1
2
)∗( s +0.5 )
=
s +0.5 15
s+0.25− √ i
4
15
On trouve s=0 .25+ √ i donc φ+iσ =−0 .3500+ 0 .1936 i
4
0 . 9 −0 . 3500−0 . 1936 i −0 .3500+ 0 .1936 i
G ( s )= + +
Donc s +0 .5 √ 15 15
s+0 . 25− i s+0 . 25+ √ i
4 4
Partie pratique :
I. Operations matricielles :
On va choisir une matrice carrée (3×3) et on va effectuer plusieurs
opérations.
1. Le transposé d’une matrice :
2019/2020
24
Soit B une matrice (3×3) tel que :
2. Le produit matriciel:
Soit C la transposé de la matrice B, le produit de ces deux matrices est :
3. Déterminant de B :
2019/2020
25
Exemple :
5. Valeurs propres :
La fonction (eig) permet de donner les valeurs propres d’une matrice.
Exemple :
2019/2020
26
6. Vecteurs propres :
La matrice D est une matrice diagonale qui contient les valeurs propres
qu’on a déjà calculées.
La matrice V est la matrice des vecteurs propres dont chaque colonne
est un vecteur propre de la matrice B.
2019/2020
27
7. Exponentielle d’une matrice :
Exemple :
Pôles :
2019/2020
28
Pour déterminer les pôles de cette fonction, d’abord on doit saisir la fonction
de transfert sur Matlab.
G=Tf ([0.2 0.3 1], [1 1 1.25 0.5]).
2019/2020
29
Pour décomposer une matrice, on utilise l’instruction suivante :
[ r , p, q]=residue (b, a), avec b le vecteur des coefficients de N(s) et a le
vecteur de D(s).
2019/2020
30
VI. Pulsation naturelle _facteur d’amortissement :
VII. Visualisation :
1. Réponse impulsionnelle :
Programme :
Impulse(G)
4. Diagramme de Bode :
Programme :
BODE(G).
2019/2020
32
5. Diagramme de nyquist :
Programme :
Nyquist(G).
6. Black_nichols :
Programme :
2019/2020
33
Nichols(G)
2019/2020
34
TP.N0 2
Initiation à Matlab
I. Dynamique d’un système de premier ordre :
k
Soit G(s)= 1+ τs une fonction de transfert avec k=2 ; τ =1
2019/2020
35
2. Fixation de la constante de temps et variation du gain :
Fixons τ =1 , et on va représenter la réponse du système pour différentes
valeurs de gain k .
Programme :
% for k=1:10
% t=1
% G=tf([k],[t 1])
% subplot(2,1,1)
% impulse(G)
% subplot(2,1,2)
% step(G)
% hold on
% end
2019/2020
36
Conclusion :
D’après les graphes obtenus, pour la réponse indicielle comme pour la réponse
impulsionnelle l'augmentation du gain statique provoque la diminution du
temps de réponse, cela peut améliorer certaines performances du système (la
précision, la rapidité), mais qu'à l'inverse il peut générer d'autres problèmes tel
que l'instabilité.
3.
r
r
(1+ ( )∗s)
2
Programme :
r=1.5;
k=2;
2019/2020
37
t=1;
E=tf([-r/2 1],[r/2 1])
G=tf(k,[t 1])
Gr=G*E
figure
impulse(Gr)
grid on
figure
step(Gr)
grid on
Le graphe de la réponse impulsionnelle est comme suit :
4. diagrammes :
Pour tracer les diagrammes de Bode, Nyquist et Black-Nicholes de G et Gr, on
fait appel au programme suivant :
2019/2020
38
figure
bode(G)
grid on
hold on
bode(Gr)
figure nichols(G)
grid on
hold on
nichols(Gr)
figure nyquist(G)
grid on
hold on
nyquist(Gr)
2019/2020
39
2019/2020
40
II. dynamique d’un système de 2eme ordre:
b0
Soit la fonction de transfert suivante : G ( s )= 2
a 2∗s + a1∗s +a 0
1. L’expression du gain K, la pulsation naturelle wn et le facteur
d’amortissement ζ en fontion de b0 , a2 , a1 et a0 :
a0
wn=√ ( )
a2
a1
ζ=
2∗√ (a 0¿¿ a 2) ¿
b0
K=
a0
2019/2020
41
Programme du cas 2 (b0=1.5 ; a2=1 ; a1=0.25 ; a0=1)
b0=1.5;
a2=1;
a1=0.25;
a0=1;
G=tf(b0,[a2 a1 a0])
K=b0/a0
Wn=sqrt(a0/a2)
qsi=a1/2*a0
2019/2020
42
Programme du cas 3 (b0=1.5 ; a2=2 ; a1=2 ; a0=1)
b0=1.5;
a2=2;
a1=2;
a0=1;
G=tf(b0,[a2 a1 a0])
K=b0/a0
Wn=sqrt(a0/a2)
qsi=a1/2*a0
Cas 3 :
2019/2020
43
c) Représentation du système à un échelon unitaire en variant qsi à k et Wn
constants :
Programme :
b0=1.5;
a2=1;
a1=4;
a0=3;
K=b0/a0
Wn=sqrt(a0/a2)
Figure
for qsi=0:0.1:0.2
G=tf(K*Wn^2,[1 2*qsi*Wn Wn^2])
p=pole(G)
subplot(3,1,1+(qsi*10)) step(G)
end
b0=1.5;
a2=1;
a1=0.25;
a0=1;
K=b0/a0
Wn=sqrt(a0/a2)
Figure
for qsi=0:0.1:0.2
G=tf(K*Wn^2,[1 2*qsi*Wn Wn^2])
p=pole(G)
subplot(3,1,1+(qsi*10))
step(G)
end
2019/2020
44
b0=1.5;
a2=2;
a1=2;
a0=1;
K=b0/a0
Wn=sqrt(a0/a2)
figure
for qsi=0:0.1:0.2
G=tf(K*Wn^2,[1 2*qsi*Wn Wn^2])
p=pole(G)
subplot(3,1,1+(qsi*10)) step(G)
end
Cas 2 :
2019/2020
45
Cas 3 :
Conclusion :
La réponse obtenue est pseudo-périodique, avec dépassements. Le système
est plus nerveux, mais pas nécessairement plus rapide. Si le coefficient
d'amortissement est trop faible, les oscillations seront longues à amortir. Les
2019/2020
46
graphes ci-dessus visualisent l'ensemble des courbes obtenues pour K et ω
constantes, pour différentes valeurs de ξ. Si l'amortissement est trop
important, le système devient excessivement lent, par contre si ξ est trop
faible, il y a dépassement et oscillations. Pour ξ = 1 ni dépassement ni
oscillation.
d) Diagrammes :
Cas 1 :
Cas 2 :
2019/2020
47
Cas 3 :
2019/2020
48
3.
On prend b0=1.5 ; a2=1 ; a1=0.25 ; a0=1
Programme:
b0=1.5,
a2=1;
a1=0.25;
a0=1;
G=tf(b0,[a2 a1 a0])
step(G)
Le premier dépassement :
𝐷1 = 2.51 − 1.5 = 1.01𝑉
Le temps de réponse est le temps requis pour atteindre le régime
définitif à 5% prés : 𝑇𝑟 = 27𝑠
Le temps de monté est l’intervalle de temps séparant les instants
auxquels la réponse indicielle vaut 10% et 90% de la valeur finale :
𝑇𝑚 = 1.71 − 0.59 = 1.12𝑠
La pseudo-période : 𝑇𝑝 = 8.04 − 1.71 = 6.33
Conclusion :
L'augmentation du gain sur un système, améliore la précision. Une
correction possible sera une action proportionnelle. Mais l'augmentation
du gain comporte aussi des limitations technologiques (gain infini
2019/2020
49
impossible). De plus, un fort gain augmente les risques d'instabilité. La
diminution du coefficient d'amortissement influe sur le temps de
réponse, sur le dépassement, et sur l'oscillation du système. Le temps de
réponse minimum est obtenu pour un coefficient d'amortissement de
0.7, on peut alors régler le coefficient en B.F. à cette valeur. Si on admet
un dépassement de 20% (maximum toléré), on pourra régler ce
coefficient à la valeur de 0.43, augmentant alors la nervosité, sans nuire
à la stabilité.
2019/2020
50
TP N0.3
Etude des correcteurs
Introduction :
La bonne qualité d’un asservissement se mesure en termes de stabilité, de
rapidité, de précision et d’aptitude à effacer les perturbations. Ces qualités sont
déterminées par les caractéristiques physiques propres du système. Il y a alors
deux possibilités pour améliorer ses performances : modifier le système, ou
bien, ajouter un bloc dans la chaîne directe pour générer une loi de commande
adaptée au but recherché.
2019/2020
51
Et pour la fonction de transfert, on fait cette configuration :
2019/2020
52
On varie Kp on obtient les courbes suivants :
Kp=1 :
Kp=2 :
2019/2020
53
Kp=5 :
Analyse :
Le correcteur proportionnel permet de modifier le gain e la FTBO et donc avoir
une incidence sur la précision et la stabilité. L’augmentation du gain Kp
augmente la précision (l’écart entre la sortie et l’entrée tends vers 0) et
diminue la stabilité du système (le temps de réponse diminue), alors le
correcteur ne permet pas d’améliorer en même temps la stabilité et la
précision.
2019/2020
54
2. On utilise un correcteur proportionnel intégral PI, dont la fonction de
transfert est donnée par (𝒔) = 𝐾𝑝 + 𝐾𝑖 𝑠 avec Kp=5 et Ki=18
Analyse :
2019/2020
55
Le correcteur PI permet une augmentation importante du gain en boucle
ouverte aux basses fréquences ce qui permet d’améliorer la précision ; sans
modification de la FTBO à proximité du point critique et donc sans dégradation
des marges de stabilité.
3. On utilise un correcteur proportionnel dérivé PD, dont la fonction de
transfert est donnée par (𝒔) = 𝑲𝒑 + 𝑲𝒅 ∗ 𝒔 .On va prendre Kp=8 et
Kd=0.05
2019/2020
56
Analyse :
Le premier terme Kp permet de régler la précision Le deuxième terme 𝑲𝒅 ∗ 𝒔
permet d’assurer la stabilité par rapport de phase. ⇒A précision égale le
correcteur proportionnel-dérivé améliore la stabilité.
4. On utilise un correcteur proportionnel intégral dérivé PID, dont la
fonction de transfert est donnée par C(s)=Kp+Ki/s+Kd*s avec Kp=1 ,
Ki=2 , Kd =1
2019/2020
57
Analyse :
L’ajout d’un correcteur P.I.D. modifie la FTBO :
Retard de phase et gain important aux basses fréquences (effets du terme
intégrateur),
Peu d’effet aux moyennes fréquences ( ), la composante à la pulsation n’étant
pas affectée, Avance de phase (allant en s’amenuisant) et gain aux hautes
fréquences.
II. Etude du 2eme système :
3
Soit G(s)= s ( 0.5 s ) +1
1. On utilise un correcteur proportionnel P, caractérisé par C(s)=Kp avec
Kp=10 :
Diagramme :
La configuration de G :
2019/2020
58
Configuration du correcteur Kp=10 :
2019/2020
59
Analyse :
On remarque que la variation qu’on a trouvée est sinusoïdale. Le système
n’est pas stable.
2. On utilise un correcteur à avance de phase avec C(s)=10*(1+ 𝝉𝒔)/(1+αs)
avec α = 0.07 et 𝜏 = 10 :
Diagramme :
2019/2020
60
Configuration du correcteur :
Analyse :
Le système est plus stable que le système précédent vu les oscillations
amorties avec un temps environ de 0.5s.
2019/2020
61
Conclusion : Par rapport aux trois critères de performance : la précision, la
rapidité et les dépassements, on remarque que l’influence d’un gain KV est
positive pour la précision et la rapidité, ce qui semble conduire à rechercher un
gain maximum. En outre, pour un système du second ordre une valeur trop
importante du gain peut conduire à des dépassements néfastes, on constate par
ailleurs que ce choix mène aussi vers l’instabilité. Aussi lors du réglage, il faut
toujours rechercher le gain minimum qui permet d’assurer les performances
temporelles souhaitées.
2019/2020
62
Conclusion :
En guise de conclusion, ce TP nous a permis d’améliorer nos connaissances en
automatique et en Matlab qui a pour but de donner aux ingénieurs un outil de
travail efficace. On ne s'étonnera donc pas de voir associées, aussi souvent que
possible, des considérations pratiques avec des notions beaucoup plus
abstraites. Nous avons aussi acquis de nouvelles connaissances au niveau de la
gestion du temps et des équipes. Ce TP nous a permis d’améliorer nos
connaissances, ainsi d’acquérir les comportements répondant dans le secteur
d’emploi. La partie que nous avons développée correspond à nos objectifs. Ce
travail reste, comme toute œuvre humaine, incomplet et perfectible, nous
espérons qu’il sera une initiative visant à développer notre connaissance dans
les prochains jours. Nous souhaitons que notre travail vous ait intéressé.
2019/2020
63