Vous êtes sur la page 1sur 31

Département Génie Electrique

Commande Numérique des


Systèmes Industriels
- Régulation numérique
07 Décembre 2018

Réalisé par :

BAKR Imad

BOUCHAKOUR Omar

CHEKROUN Ghita

EL HAMDANI Hasnaa
Groupe GE12

Encadré par :
Mme.RABBAH

Année Universitaire : 2018/2019

Page | 1
Introduction
La régulation automatique est la technique de l'ingénieur offrant les méthodes et les outils
nécessaires à la prise de contrôle d'une ou plusieurs grandeurs physiques d'un système en vue
d'en imposer le comportement. Les grandeurs physiques, ou signaux (vitesse, température,
pression, courant, etc.), doivent être mesurées afin de vérifier leur état puis de dé- terminer à
l'aide d'un traitement approprié l'action à entreprendre sur le système ou processus (installation
de production, robot, alimentation électronique stabilisée, disque dur, etc.) pour qu'elles se
comportent comme souhaité.

1. Objectif :
Dans cette séance de TP, nous allons simuler et étudier le comportement de systèmes
échantillonnés, pour chaque partie nous allons déterminer en premier lieu la réponse théorique,
puis simuler et retrouver la réponse à l’aide de Matlab/Simulink.

2. Discrétisation :
𝒀(𝒑) 𝟏
1- la réponse indicielle du système de fonction de transfert : 𝑮(𝒑) = 𝑼(𝒑) = 𝟏+𝒑

A l’aide de Matlab/Simulink :

La simulation :

Page | 2
signal continu
signal discrétisé avec bloqueur d’ordre 0.
signal discrétisé avec bloqueur d’ordre 1.

1- La transformée en z de la fonction G(p) :

𝑧 𝑧
G(z) = = avec Te= 1s
𝑧−𝑒 −1 𝑧−0.3679

- La transformée en z du système échantillonné (avec bloqueur d’ordre 0) :

(1−𝑒 −𝑝 ) (1−𝑧 −1 )∗(1−𝑒 −1 )∗𝑧 1−𝑒 −1


B0G(z) = Z( )= (𝑧−1)∗(𝑧−𝑒 −1 )
=
𝑝(1+𝑝) 𝑧−𝑒 −1

0.6321
B0G(z) = =
𝑧−0.3679

2- L’expression de la réponse indicielle, la valeur initiale et la valeur finale de


G(z) et B0G(z) :

Réponse indicielle Valeur initiale Valeur finale


𝑧 𝑧 1
Y(z) = G(z).U(z) = ∗ 1
𝑧−0.3679 𝑧−1 = 1.582
1 − 0.3679
Y(z) = B0G(z).U(z) =
0.6321

𝑧
0 0.6321
𝑧−0.3679 𝑧−1 =1
1 − 0.3679

Page | 3
3- L’expression de G(z) et B0G(z) et la valeur du pole :
- Pour Te=1s
- Te=0.5s
- Te=0.25s

T G(z) B0G(z) Pole

1s 𝑧 0.6321 Z1 = 0.3679
𝑧 − 0.3679 𝑧 − 0.3679

0.5 s 𝑧 0.3935 Z1 = 0.6065


𝑧 − 0.6065 𝑧 − 0.6065

0.25 s 𝑧 0.2212 Z1 = 0.7788


𝑧 − 0.7788 𝑧 − 0.7788

4- Simulation des réponses indicielles du système continu et des différents


systèmes échantillonnés selon le schéma Simulink suivant :

Page | 4
Résultats :

Réponse du système sans bloqueur T=1s.


Réponse du système discret T=1s.
Réponse du système discret T=0.5s.
Réponse du système discret T=0.25s.
Réponse du système continu.
3. Régimes libres :
3.1. Système de premier ordre :
1- L’équation de récurrence équivalente :

𝑌(𝑧) 1
=
𝑈(𝑧) 𝑧 − 𝑎

 Y(k)=U(k-1) + a.Y(k-1) (pour K>=1)


 y(0)=0

Page | 5
2-

Pôle K=1 K=2 K=3 K=4 K=5 K=6 K=7 K=8

a=-1.5 1 -1.5 2.25 -3.375 5.0625 -7.59 11.39 -17.08

a=-1 1 -1 1 -1 1 -1 1 -1

a=-0.5 1 -0.5 0.25 -0.125 0.0625 -0.031 0.0156 -0.0078

a=0.5 1 0.5 0.25 0.125 0.0625 0.031 0.0156 0.0078

a=1 1 1 1 1 1 1 1 1

a=1.5 1 1.5 2.25 3.375 5.0625 7.59 11.39 17.08

Simulation des réponses d’impulsions de ce système pour différentes valeurs de a :

a=(1.5 1 0.5 -0.5 -1 -1.5)

(On prend T=1s) :

Page | 6
Pour a=1.5 :

Le système est instable (diverge) :

Pour a=1:

Page | 7
Le système est à la limite de stabilité :

Pour a=0.5 :

Le système est stable :

Pour a= -0.5 :

Le système est stable avec oscillations amorties:

Page | 8
Pour a= -1:

Le système est à la limite de stabilité avec un signal oscillatoire :

Pour a= -1.5 :

Le système es instable (diverge) :

3.2. Système 2ème ordre :


𝑧
Soit : 𝐺(𝑧) =
𝑧 2 +𝑎 1 𝑧+𝑎0

Equation de récurrence :
Y(k)=U(k-1)-a1Y(k-1)-a0Y(k-2)

Page | 9
Y(0)=0
Y(1)=1
Y(2)=1- a1
Y(3)= 1–a1+a12 –a0
Y(4)= 1-a1+a12 +a13+2a0a1–a0

Simulation des réponses indicielles de ce système pour différentes valeurs de a1 et


a0 avec T=1s

 Pour a1=-1.2 et a0=o.35

 Pour a1=-0.4 et a0=-0.05 :

Page | 10
 Pour : a1=-1 et a0=1

Calcul des pôles du système pour chaque valeur de a1 et a0 :

Page | 11
 Valeurs des premiers échantillons :

 Pour a1=-1.2 et a0=0.35

Page | 12
 Pour a1=-0.4 et a0=-0.05

 Pour a1=-1 et a0=1

Page | 13
Le tableau suivant regroupe les valeurs de y(k) et les pôles pour les 3 valeurs
de a1, a0 :

a1, a0 Y(1) Y(2) Y(3) Y(4) Y(5) Y(6) Y(7) Pôles


-1.2, 0.35 1 2.2 3.29 4.178 4.8621 5.3722 5.7449 Z1=0.7
Z2=0.5
-0.4, -0.05 1 11.4 1.61 1.714 1.7661 1.7921 1.8052 Z1=0.5
Z2=-0.1
-1,1 1 2 2 1 0 0 1 Z1=0.5+0.866i
Z2=0.5-0.866i

4. Bouclage :
Soit le système échantillonné de fonction de transfert :

𝑧−𝑏
𝐵0 𝐺(𝑧) =
𝑧(𝑧 − 𝑎)

Valeur du gain statique :

𝟏−𝐛
𝐁𝟎 𝐆(𝟏) = 𝟏−𝐚

Expression de Y(z) et y(k) en fonction de a et b (Pour une entrée en échelon


unitaire) :
𝑧
𝑈(𝑧) =
𝑧−1

𝑧−𝑏 𝑧−𝑏
Donc 𝑌(𝑧) = =
(𝑧−1)(𝑧−𝑎) 𝑧 2 −𝑧(𝑎+1)+𝑎

𝑌(𝑧) 𝑧 −1 −𝑏𝑧 −2
Et pour y(k) : =
𝑈(𝑧) 1−𝑎𝑧 −1

Donc : Y(k)= U(k-1)-b*U(k-2)+a*Y(k-1)

Simulation de la réponse indicielle unitaire du système :


 Pour b=-0.5 et a=0.8 :

Page | 14
 Ainsi, on visualise la réponse suivante :

 Pour b=-0.5 et a=1 :

 Ainsi, on visualise la réponse suivante :

Page | 15
 Sachant bien que pour une fonction de transfert en boucle ouverte dont la
1 A(z)
forme est la suivante G(z) = C(z)R(z) = (z−1)l × B(z)
A(1)
 Le gain statique est défini par Gs = B(1)
z−b
 Dans notre cas la FTBO est Gs = (z−a)(z−1)
A(z) z−b
 Alors B(z) = z−a
 Ainsi, on remplit le tableau suivant :
B .O Gain statique (BoG (1)) Pôles
15 Z1 = 1
a=0.8 et b= -0.5
2 Z2 = 0.8
Z1 = 1
a=1 et b= -0.5 ∞
Z2 = 1

 Etude en boucle fermée :


Dans cette partie on s’intéresse à effectuer le bouclage par retour unitaire
suivant :

Page | 16
La fonction de transfert en boucle fermée est donnée comme suivant :

𝑧−𝑏
𝐹(𝑧) =
𝑧2 + 𝑧(1 − 𝑎) − 𝑏

Les pôles du système, le gain et l’erreur statiques sont enregistrés dans le tableau
suivant :
B .F Gain statique (F(1)) Pôles Erreur statique
Z1 = -0.1 + 0.7i
a=0.8 et b= -0.5 15/17 17/32 ≈ 0.53
Z2 = -0.1 – 0.7i
Z1 = 0.7071i
a=1 et b= -0.5 1 0.5
Z2 = -0.7071i

Avec : 𝐺𝑆 = 𝐹(1)
𝜀𝑠 = 1 − 𝐹(1)

Simulation de la réponse indicielle du système selon les valeurs de a et b :


 Pour b=-0.5 et a=0.8 :

 Ainsi, on visualise la réponse suivante :

Page | 17
 Pour b=-0.5 et a=1 :

 Ainsi, on visualise la réponse suivante :

Page | 18
Conclusion :
En introduisant le système dans une boucle fermée a retour unitaire on constate que le gain
statique a diminué et que la précision a augmenté (Réduction de l’erreur).
5. Calcul de correcteurs :
5.2 Synthèse par transposition du continu :
Dans cette partie on s’intéresse à asservir par une méthode numérique un système de
Y(P) 1
fonction de transfert : G(p) = U(p) = p(1+p).
En analogique, afin d’obtenir une erreur de vitesse de 20% et une marge de phase de
U(P) 1+0.53p
l’ordre de 45°, on implante un correcteur C(p) de la forme : C(p) = = K 1+0.21p
E(p)
en prenant k=5 :
Vérification par simulation que ce correcteur satisfait les performances du
cahier des charges en continu :

 La réponse obtenue est la suivante :

Page | 19
 La commande ‘’margin’’ de Matlab, va nous permettre de tirer la marge de
gain, la marge de phase et les fréquences correspondantes tout en tapant le code
suivant :

Page | 20
 Vérification :
 La condition sur la marge de phase est vérifiée puisque : Pm=46.0877° >
45°.
 L’erreur de vitesse est 1/K=1/5=20%, ainsi il répond à ce qu’il est
demandé

 Conséquence :
Le correcteur choisi satisfait les performances du cahier des charges en
continu.
Détermination du correcteur numérique correspondant à chaque discrétisation
avec T=0.3s :

Simulation des réponses indicielles après correction :


𝑧−1
 Pour 𝑝 = 0.3

Page | 21
 La réponse obtenue est la suivante :

𝑧−1
 Pour 𝑝 = 0.3𝑧

 La réponse obtenue est la suivante :

Page | 22
2(𝑧−1)
 Pour 𝑝 =
0.3(𝑧+1)

 La réponse obtenue est la suivante :

Page | 23
5.3 Synthèse directe :
On souhaite asservir par une méthode numérique un système de fonction de transfert F(p), on le
procède par un bloqueur d’ordre zéro la fonction de transfert en z du système échantillonné
bloqué est :

0,6. (𝑧 + 0.9)
𝐹(𝑧) =
(𝑧 − 0.7). (𝑧 − 0.8)

 On a d’après la fonction de transfert, les pôles du dénominateur ont une norme


inférieure à un donc ils appartiennent au cercle unitaire, et par conséquent le système est
dit stable.
 Le gain est : en utilisant le théorème de la valeur finale lim(z-1)l.FTBO lorsque z tend
vers 1, on trouve que K=19
𝑌(𝑧) 0,6.(𝑧+0.9)
 On a = (𝑧−0.7).(𝑧−0.8)
donc Y(z).(z2-1,5.z+0.56)=U(z).(0,6.z+0.54)
𝑈(𝑧)

On multiplie par z-2, et on utilise la propriété Z[f(t-KT)]=Z-1.F(Z)

On trouve que : Y(k) = 1.5y(k – 1) – 0.56y(k – 2) + 0.6u(k – 1) + 0.54u(k – 2)

Y(0)=0 Y(1)=0.6 Y(2)=2.04 Y(3)=3.864 Y(4)=5.7936 Y(5)=7.66 Y(infini)=19

En simulant la réponse indicielle du système, on déduit que les résultats obtenus sont
similaires à ceux calculés théoriquement.

Page | 24
On réalise l’asservissement représenté ci-dessous :

0.6𝑧+0.54
𝐶(𝑧).𝐹(𝑧)
𝑘. 2
𝑧 −1.5𝑧+0.56
𝐻(𝑧) =
1+𝐶(𝑧).𝐹(𝑧)
= 0.6𝑧+0.54
1+𝑘. 2
𝑧 −1.5𝑧+0.56
0.3z+0.27
Pour k=0.5 H(z) =
z2 −1.2z+0.83

On simule la réponse indicielle pour k=0.5

On simule la réponse indicielle pour différentes valeurs de k :

Page | 25
 k=0.4

 k=0.3

 k=0.2

Page | 26
 k=0.1

 k=0.01

Page | 27
Le gain statique du système bouclé pour cette valeur limite de gain : 0.16
On choisit k=0.0025, on simule la nouvelle réponse indicielle, on constate que le
système devient instable.

Page | 28
Afin de rendre un système plus rapide qui atteindra la consigne sans oscillations, on
introduit la réponse pile.

D’après la condition 2 on montre que la fonction de transfert en boucle fermée est de


la forme :

𝑈𝑐(𝑧)
On a = ∑𝑛0 𝑎𝑘. 𝑧 −𝑘
𝑌(𝑧)

H(𝑧)=0.6(z+0.9).k.z-2

𝑈𝑐(𝑧) 𝐻(𝑧) 𝑁(𝑧) 𝐻(𝑧) 0.6𝑧+0.54


On a = F(z)= = =
𝑌(𝑧) 𝐹(𝑧) 𝐷(𝑧) 𝐹(𝑧) 𝑧 2 −1.5𝑧+0.56
La FTBF est de la forme : H(z)=N(z).R(z)

𝐻 (𝑧 ) 𝑁(𝑧).𝑅(𝑧)
𝐹 (𝑧 )
= 𝑁(𝑧) =D(z).R(z)
𝐷(𝑧)

𝑈(𝑧)
= D(z).R(z)=( z 2 − 1.5z + 0.56).R(z)
𝑌𝑐(𝑧)

D′ aprèsla condition 2 :

𝑈(𝑧) 𝑅(𝑧)
= (1 − 1.5𝑧^ − 1 + 0.56. 𝑧^ − 2). + ∑𝑛0 𝑎𝑘. 𝑧 −𝑘
𝑌𝑐(𝑧) 𝑧^−2

Pour que la condition soit satisfaite il faut que : (𝑧)=𝑘𝑧−2

(𝑧)=N(z).R(z)=0.6(z−0.9)kz−2

Montrons que H(1)=1 :

D’après La condition de l’erreur en régime permanent soit nulle:

(𝑖𝑛𝑓𝑖𝑛𝑖)=0 ce qui implique (𝑖𝑛𝑓𝑖𝑛𝑖)=[1−𝐻(1)]=0 donc 𝐻(1)=1

On détermine la fonction de transfert du correcteur qui permet d’obtenir un gain


statique en boucle fermée égal à 1 :

𝐶 (𝑧).𝐹(𝑧) 𝐻(𝑧)
H(z) =1+ 𝐶 (𝑧).𝐹(𝑧) donc C(z)=
𝐹(𝑧)(1−𝐻(𝑧))

0.6𝑧+0.54
Avec : F(z)= 2 et H(z)= 0.6(z+0.9).k.z-2
𝑧 −1.5𝑧+0.56

Page | 29
k(z−0.7)(z−0.8)
C(z)=
z2−0.6k(z+0.9)

On remarque que les zéros du correcteur sont les pôles de la fonction de transfert F(z).

On écrit l’équation récurrente qui permet d’obtenir le signal de commande u(k) à


partir du signal d’erreur e(k) :

0.6(z+0.9).k 𝑌(𝑧)
On a H(z)=
𝑧2
= 𝑈(𝑧)

D’où l’équation récurrente est : y(k)=0.6k.u(k-1)+0.54.k.u(k-2)

Avec e(k)=u(k)-y(k)

On calcule les valeurs dey(k),e(k) et u(k) pour 0<k<2

k=0 k=1 k=2 k=3


y(k) 0 0.6k 1.14k 1.14k
e(k) 1 1-0.6k 1-1.14k 1-.14k
u(k) 1 1 1 1

D’après le tableau ci-dessus, on constate que la sortie garde une valeur fixe à partir de k=3.

Simulation de la réponse indicielle :

On a H(1)=1 donc on trouve que k=0.8771

On remarque que le signal d’entrée atteint rapidement la valeur finale de la sortie.

Page | 30
Conclusion :
En guise de conclusion, on tient à remercier chaleureusement Mme RABBAH qui nous a
donné l’opportunité d’assister à ces séances de TP afin d’exploiter les connaissances
théoriques acquises durant les séances du cours.

Page | 31