Régulation numérique
Réalisé par :
AMIROU Achraf.
ATIFI Amro.
ASBAI Aymane.
Encadré par :
Mme.REBBAH.
Année scolaire :
2018/2019.
1
Introduction& objectif :
Au cours de ce TP, on utilisera Matlab/Simulink pour simuler, visualiser et étudier
le comportement des systèmes échantillonnés.
Pour chaque partie qu’on traitera, on fera tout d’abord une étude théorique en
déterminant la réponse théorique, puis simuler et retrouver la réponse théorique
grâce à Matlab/Simulink.
Discrétisation :
1- On définit un système continu par sa fonction de transfert suivante :
𝑌(𝑝) 1
𝐺(𝑝) = =
𝑈(𝑝) 1 + 𝑝
2
On obtient la réponse suivante :
3
La réponse en jaune : signal continu.
La réponse en jaune : signal continu.
La réponse en orange : signal discrétisé avec bloqueur d’ordre 0.
La réponse en bleu : signal discrétisé avec bloqueur d’ordre 1.
4
T G(z) BoG(z) Pole
1s 𝑧 0.6321 Z1 = 0.3679
𝑧 − 0.3679 𝑧 − 0.3679
5
On obtient:
Régimes libres :
1- Système du premier ordre du type :
𝑌(𝑧) 1
̅̅̅̅̅̅̅̅̅
𝐵 0 𝐺(𝑧) = =
𝑈(𝑧) 𝑧 − 𝑎
6
Pôle K=1 K=2 K=3 K=4 K=5 K=6 K=7 K=8
a=-1 1 -1 1 -1 1 -1 1 -1
a=1 1 1 1 1 1 1 1 1
7
a=1.5 : INSTABLE (divergeant)
a=0.5 : STABLE
8
a=- 0.5 : STABLE (signal oscillatoire amorti)
9
a= -1.5 : INSTABLE (signal divergeant)
𝑌(𝑝) 𝑧
𝐺(𝑧) = = 2 ⇒ 𝑌(𝑘) = 𝑈(𝑘 − 1) − 𝑎1 𝑌(𝑘 − 1) − 𝑎0 𝑌(𝑘 − 2)
𝑈(𝑝) 𝑧 + 𝑎1 𝑧 + 𝑎0 𝑧
10
Le système a la réponse ci-dessous :
11
Pour a1 = -1 et a0 = 1 :
12
Pour calculer les pôles du système pour chaque valeur de (a1, a0), nous avons utilisé
le script suivant :
13
Les résultats sont sur les figures ci-dessous :
Pour a1 = -1.2 et a0 = 0.35 :
Pour a1 = -1 et a0 = 1 :
14
On obtient :
Pour a1 = -1.2 et a0 = 0.35 :
Pour a1 = -1 et a0 = 1 :
15
Ce qui permet de tracer le tableau qui 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 1.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.866 i
Z2 = 0.5 - 0.866 i
16
Bouclage :
(Boucle ouverte)
Soit le système échantillonné de fonction de transfert :
𝑌(𝑧) 𝑧−𝑏
BoG(z) = =
𝑈(𝑧) 𝑧(𝑧−𝑎)
1- Le gain statique de ce système est :
1−𝑏
G = BoG(z=1) =
1−𝑎
𝑧
2- L’entrée est un échelon unitaire Þ U(z) =
𝑧−1
𝑧−𝑏 𝑧−𝑏
Et donc Y(z) = =
(𝑧−𝑎)(𝑧−1) 𝑧 2 −𝑧(𝑎+1)+𝑎
𝑌(𝑧) 𝑧 −1 − 𝑏 ∗ 𝑧 −2
= ⇒ 𝑌(𝑘)
𝑈(𝑧) 1 − 𝑎 ∗ 𝑧 −1
= 𝑈(𝑘 − 1) − 𝑏 ∗ 𝑈(𝑘 − 2) + 𝑎 ∗ 𝑌(𝑘 − 1)
17
Pour a=1 et b= -0.5 :
18
B .O Gain statique (BoG(1)) Pôles
a=1 et b= -0.5 ¥ Z1 = 1
Z2 = 1
(Boucle fermée)
1- En boucle fermée :
𝑧−𝑏
F(z) =
𝑧 2 +𝑧(1−𝑎)−𝑏
2- Tableau du gain statique, des pôles et de l’erreur statique pour les deux valeurs
de a et b :
19
Pour a=1 et b= -0.5 :
20
Synthèse par transposition du continu :
1- Simulation sur Matlab/Simulink :
On obtient :
21
On voit clairement que la condition sur la marge de phase est vérifiée : Pm
= 46.0877° > 45°.
1 1
L’erreur de vitesse = = = 0.2 = 20%
𝑘 5
Ce correcteur satisfait donc le cahier des charges.
22
𝑧−1
Pour 𝑝 = :
0.3𝑧
23
2(𝑧−1)
𝑝= ∶
0.3(𝑧+1)
24
Synthèse directe:
On souhaite asservir par une méthode numérique un système de fonction de transfert F(p), la
fonction de transfert en z du système échantillonné bloqué est :
𝑌(𝑧) 0.6(𝑧 + 0.9)
𝐹(𝑧) = =
𝑈(𝑧) (𝑧 − 0.7)(𝑧 − 0.8)
- Le système est astable car les pôles appartiennent au cercle unitaire.
- Le gain est 19.
- L’expression générale de la réponse indicielle unitaire :
Y(k) = 1.5y(k – 1) – 0.56y(k – 2) + 0.6u(k – 1) + 0.54u(k – 2)
25
Après avoir simulé, nous avons remarqué bien que les valeurs des échantillons sont
identiques aux celle déterminé théoriquement.
On a réalisé l’asservissement représenté ci-dessous :
26
Simulation de la réponse indicielle pour différente valeurs de k :
K=0.4 :
K=0.2 :
27
K=0.1 :
K=0.01 :
28
On constate que la valeur limite de stabilité est K = 0.01. Le gain statique pour se
gain est : 0.16
Pour K = 0.0025 nous avons obtenu la figure
suivante :
Plus que la valeur de k supérieure à 0.16 nous avons obtenu des systèmes instables,
ce qui indique que le bon choix de k influence sur la stabilité du système.
Réponse pile :
On veut implanter un algorithme tel que, pour une consigne en échelon, le signal de
sortie devienne égal à la consigne aussi rapidement que possible et sans oscillations
de la sortie entre les périodes d’échantillonnage : c’est la réponse pile.
D’après la condition de l’erreur en régime transitoire se limite à un nombre fini
d’échantillons. Le correcteur C(z) devra donc être tel que sa réponse à la suite des
échantillons d’erreur soit de durée finie, c’est-à-dire :
𝑈(𝑧) 𝑛 Avec n fini
= ∑ 𝑎𝑘 . 𝑧 −𝑘
𝑌𝑐 (𝑧) 𝑘=0
𝑈(𝑧) 𝐻(𝑧)
=
𝑌𝑐 (𝑧) 𝐹(𝑧)
𝑁(𝑧) 0.6(𝑧 + 0.9)
𝐹(𝑧) = =
𝐷(𝑧) (𝑧 − 0.7)(𝑧 − 0.8)
La FTBF est de la forme : H(z)=N(z).R(z)
29
𝐻(𝑧) N(z). R(z)
= = 𝐷(𝑧)𝑅(𝑧)
𝐹(𝑧) 𝑁(𝑧)
𝐷(𝑧)
𝑈(𝑧)
= 𝐷(𝑧)𝑅(𝑧) = (𝑧 2 − 1.5𝑧 + 0.56). 𝑅(𝑧)
𝑌𝑐 (𝑧)
D’après la condition mentionnée au-dessus :
𝑈(𝑧) 𝑅(𝑧) 𝑛
= (1 − 1.5𝑧 −1 + 0.56𝑧 −2 ) −2 + ∑ 𝑎𝑘 . 𝑧 −𝑘
𝑌𝑐 (𝑧) 𝑧 𝑘=0
=0
Pour que la condition soit satisfaite il faut que : 𝑅(𝑧) = 𝑘𝑧 −2
𝐻(𝑧) = N(z). R(z) = 0.6(z − 0.9)kz −2
Montrons que H(z) = 1
La condition de l’erreur en régime permanent soit nulle nous donne :
𝑧−1 𝑧−1
𝑒(𝑖𝑛𝑓𝑖𝑛𝑖) = lim 𝑒(𝑧) = lim 𝑌𝑐 (𝑧)[1 − 𝐻(𝑧)]
𝑧→1 𝑧 𝑧→1 𝑧
𝑧−1 𝑧
= lim . . [1 − 𝐻(𝑧)]
𝑧→1 𝑧 𝑧−1
𝑒(𝑖𝑛𝑓𝑖𝑛𝑖) = 0
𝑒(𝑖𝑛𝑓𝑖𝑛𝑖) = [1 − 𝐻(1)] = 0
𝐻(1) = 1
30
Conclusion :
Durant ce TP, on a pu simuler les différents systèmes échantillonnés et la comparer
avec les méthodes théoriques vu en ce cours. On a pu mieux utiliser
Matlab/Simulink, visualiser les différentes réponses indicielles et avoir une vision
plus claire sur la régulation numérique des systèmes continus et discontinus.
31