Automatique échantillonnée: Théorie et Pratique
Automatique échantillonnée: Théorie et Pratique
Cours/TP
Automatique échantillonnée
pour la Mécatronique
Aspects Théoriques et Pratiques
par le Professeur
Houcine CHAFOUK
© Novembre 2022
H. CHAFOUK
Automatique échantillonnée
SOMMAIRE
ANNEXE
ANNEXES 1
Annexe A : Commandes et fonctionnalités de base sous Matlab
Annexe B : Grandeurs caractéristiques d’un système du 2nd ordre
ANNEXES 2
Annexe A – Identification des paramètres du moteur par analyse fréquentielle
Annexe B – Méthode des Pôles dominants
Annexe C – Table des Transformées en z
Annexe D – Abaques pour la méthode des Pôles Dominants
Références Bibliographiques
H. CHAFOUK
Automatique échantillonnée
Chapitre I
H. CHAFOUK
Automatique échantillonnée
SOMMAIRE
1. Définition
2. Propriétés de la transformée en z
3. Transformée en z inverse
5. Fonction de transfert en z
H. CHAFOUK
Automatique échantillonnée
1. Définition
On définit la transformée en z d'une suite périodique f(nT) définie aux instants discrets
nT ou encore d'une fonction continue f(t) en passant d'abord par la fonction échantillonnée f*(t)
:
+
f * (t) = f(nT) (t - nT)
n=0
représentée en figure 1.
f*(t)
f(t)
t
0 T 2T
Figure 1
1
Z u(t) = 1 + z -1 +...+z -n +..
H. CHAFOUK
Automatique échantillonnée
C'est une série géométrique de premier terme 1 et de raison z-1 convergente si z-1 <1,
soit z > 1 :
1 z
Z u(t) = =
1 - z -1 z - 1
Rampe :
Tz
F(z) =
(z - 1) 2
F(z) z Tz z
z - 1 (z - 1) 2 z - e -aT
sin( T) z
sin( t) →
z - 2 cos( T) z + 1
2
z - cos( T)
cos( t) →
z - 2 cos( T) z + 1
2
H. CHAFOUK
Automatique échantillonnée
2. Propriétés de la Transformée en z
2.1. La transformée en z est une transformation linéaire
kT
T 2T 3T 4T
Figure 2
+
Z f(t + kT) = z k f((n + k)T) z
n=0
-(n+k)
0 ⎯
⎯→ k ⎯
⎯→
n l
Posons : l = n + k ; et
+
Z f(t + kT) = z k
f(lT) z
l=k
-l
+ k-1
Z f(t + kT) = z f(lT) z -l -
k
f(lT) z -l
l=0 l=0
Retard de kT :
f*(t)
+
Z f(t - kT) = z -k f((n - k)T) z
n=0
-n
Figure 3
H. CHAFOUK
Automatique échantillonnée
+
Z f(t - kT) = z -k f((n - k)T) z
n=0
-(n-k)
Posons : l = n - k ; 0 ⎯
⎯→ et -k ⎯
⎯→
n l
+
Z f(t - kT) = z -k f(lT) z
l=-k
-l
Mais f(lT) = 0 pour l < 0 car nous nous intéressons uniquement aux fonctions causales.
D'où :
Par définition, on a:
Par définition, on a:
F(z) = f(n) z -n
n=0
Considérons :
N
FN (z) = f(n) z -n
n=0
H. CHAFOUK
Automatique échantillonnée
Si de plus N → , alors :
z -1
limite f(N) = limite (1 - z -1 ) F(z) = limite F(z)
N → z →1 z →1 z
Exemple
1
Soit : F(z) = -1
1 - 1.2 z + 0.2 z -2
• Valeur initiale :
• Valeur finale :
z -1 1 1
limite (1 - z -1 ) F(z) = limite F(z) = limite = = 1.25
z →1 z →1 z z →1 1 - 0.2 z -1 0.8
3. Transformée en inverse
Rappel :
Toute fonction périodique continue passant par les mêmes points d'échantillonnage admet
la même transformée en z. Il y a donc non unicité de l'original.
f*(t)
Figure 4
(cf. annexe)
H. CHAFOUK
Automatique échantillonnée
Soit :
2z 2 + z(T - 2) 2z Tz
F(z) = 2 = +
z - 2z + 1 z - 1 (z - 1) 2
f(nT) = 2 u(nT) + nT u(nT)
f(t) = 2 + t u(t)
Dans une série complexe, on sait facilement retrouver le coefficient du terme en z-1 (série
de Laurent). Quant au terme en z-n qui est le coefficient f(n), il peut être obtenu comme le terme
en z-1 de la série de Laurent de zn-1 F(z).
z n-1 F(z) = f(n) z -n
z n-1
n=0
z n-1 F(z) = f(0) z n-1 + f(1) z n-2 + ... + f(n) z -1 + ...
Si nous prenons l'intégrale sur le contour fermé contenant toutes les singularités de F(z)
:
z n-1
F(z)dz = f(0) z n-1
dz + .... + f(n) z -1
dz + ...
z k dz = 2 j pour k = −1
0 k −1
Par conséquent :
z n-1
F(z)dz = 2 j f(n)
Soit :
f(n) =
1
2 j
z n -1
F(z)dz = Résidus de z n -1 F(z)
Exemple :
z
F(z) =
z - e -aT
zn
z
1 n-1 1
f(n) = F(z)dz = dz
2 j 2 j z - e -aT
10
H. CHAFOUK
Automatique échantillonnée
f(n) = e -naT
De façon similaire :
z
Z -1 = (-1) n
z + 1
Exemple :
Tz
F(z) =
(z - 1) 2
Tz z2 - 2z + 1
Tz - 2 + z-1
0 - 2 - z-1 T z-1 + 2T z-2 + ...
- 2 - 2T z-1+2T z-2
- (1-2T) z-1-2T z-2
La solution générale peut être régénérée à partir de l'équation aux différences. Soit :
S(z) z
=
E(z) z - 2
z s(0) = e(0)
z0 s(1) - 2s(0) = e(1)
z-1 s(2) - 2s(1) = e(2)
•
•
z-n s(n + 1) - 2s(n) = e(n + 1)
11
H. CHAFOUK
Automatique échantillonnée
Rappelons que nous nous intéressons à la résolution d'équations aux différences linéaires
stationnaires. Soit à titre d'exemple :
y(0) = 0
et e(n) = n
Soit :
Y(z) = Z y(n)
z
E(z) = Z e(n) = rampe de pente 1 et échantillonnage unitaire
(z - 1) 2
Soit :
Y(z) 1 + z -1 = z -1
z
(z - 1) 2
D'où :
1 z z
Y(z) = =
1 + z -1 (z - 1) 2
(z + 1)(z - 1) 2
z A B Cz
Y(z) = 2 = + +
(z + 1)(z - 1) z + 1 z - 1 (z - 1) 2
-1 -1 1
A = B = C =
4 4 2
12
H. CHAFOUK
Automatique échantillonnée
D'où :
-1 1 1 2z
Y(z) =
4 z + 1
+
z - 1
-
(z - 1) 2
-1
y(n) =
4
(-1) n-1 + (1) n-1 - 2n
1
y(n) =
4
(-1) n - 1 + 2n
Soit la solution :
n
y(n) = 2 si n est pair
n -1
y(n) = si n est impair
2
Nous venons de voir comment la transformée en z nous permet de résoudre des équations
aux différences.
5. Fonction de transfert en z
Lors de l'étude des systèmes continus, nous avons défini la fonction de transfert d'un
système linéaire stationnaire comme étant le rapport des transformées de Laplace de la sortie et
de l'entrée, les conditions initiales étant supposées nulles. Le schéma suivant résume ces
résultats.
Figure 5
g(t) : réponse impulsionnelle,
G(p) : fonction de transfert du système.
g(t - ) e( ) d
t
s(t) = 0
e(t) T e*(t)
g(t) s(t)
E(p) E*(p) G(p) S(p)
Figure 6
13
H. CHAFOUK
Automatique échantillonnée
Le système étant linéaire, sa réponse sera égale à la somme des réponses aux entrées
e(i).(t-iT), soit si(t).
Par conséquent :
La sortie s0(t) du système est la réponse d'un système linéaire de réponse impulsionnelle
g(t) à une entrée e(0).(t), soit :
De façon similaire, si(t) est la réponse d'un système linéaire de réponse impulsionnelle
g(t) à une entrée e(i).(t-iT), soit :
Par conséquent, la sortie totale s(t) égale à la somme des sorties élémentaires s'écrit :
N
sn (t) = e(n) g(t - nT) C'est une somme de signaux continus
n=0
Figure 7
s* (t) = s(nT) = e(0)g(nT) + e(1)g((n - 1)T) + ... + e(i)g((n - i)T) + .... + e(n)g(0)
14
H. CHAFOUK
Automatique échantillonnée
n= 0 i=0
Soit encore :
n
S(n) = e(i) g(n - i) z -i
z -(n-i)
n=0 i=0
n varie de 0 à
k varie de - i à
S(z) = g(k) z e(i) z-k -i
k = -i i=0
S(z) = G(z).E(z)
Entre la sortie échantillonnée du système et son entrée échantillonnée, nous avons les
relations résumées par le schéma suivant :
Figure 8
n
s(n) = e(k) g(n - k) et S(z) = G(z).E(z)
k=0
Nous définissons la fonction de transfert en z d'un système échantillonné comme étant le
rapport des transformées en z de la sortie échantillonnée et de l'entrée échantillonnée.
15
H. CHAFOUK
Automatique échantillonnée
Remarque :
Notons bien que la sortie s*(t) du système représenté ci-dessus n'a aucune relation avec
la sortie du système s(t) ayant une entrée continue.
Exemple :
1
Sa réponse à un échelon unitaire est : s(t) = (1 - e -at )
a
1
s(t) = (1 - e -at )
-at a
e(t) g(t) = e
1 1
1 G(p) = S(p) =
E(p) = p + a p(p + a)
p
Figure 9
e
1 -a(t-iT)
s(t) =
-at a
g(t) = e i=0
e(t) T
Figure 10
s(t)
Figure 11
Si nous échantillonnons ce signal de sortie, nous obtenons seulement les sommets des
exponentielles, soit :
n
s(n) = e -a(n - i)
i=0
16
H. CHAFOUK
Automatique échantillonnée
Calculateur B0 G
T T
T
Figure 11
Figure 12
1
A titre d'exemple, nous prendrons : G(p) =
p + a
S(z) = H(z).E(z)
1 - e -Tp -1
1 e-Tp étant un opérateur retard
H(z) = Z = (1 - z ) Z p(p + a)
p(p + a) pur d'un échantillon
1 1 1
H(z) = (1 - z -1 ) Z -
a p p + a
1 z z
H(z) = (1 - z -1 ) -
a z - 1 z - e -aT
1 z - 1
H(z) = 1 -
a z - e -aT
1 1 - e -aT
a z - e -aT
H(z) =
D'où :
1 1 - e -aT
a z - e -aT
S(z) = E(z)
On retrouve une fonction de transfert d'ordre 1, car nous avons le même processus entre
entrée et sortie.
17
H. CHAFOUK
Automatique échantillonnée
Posons :
1
=
a
1 - e -aT
et = e -aT
S(z) = E(z)
z -
S(z) z - = E(z)
Soit :
On aura :
1
s(1) = =
a
1 - e -aT
1
s(2) = + = (1 + ) =
a
1 - e -2aT
s(3) = + (1 + ) = 1 + (1 + )
1
s(3) = 1 + e -aT (1 + e -aT ) = 1 - e -aT 1 + e -aT + e -2aT
a
1
s(3) =
a
1 - e -2aT + e -2aT - e -3aT
1
s(3) =
a
1 - e -3aT Solution par convolution discrète
H(z) =
z -
Soit :
1
h(nT) =
a
1 - e -aT e -a(n-1)T
avec 1 - e -aT 1 - 1 + aT
18
H. CHAFOUK
Automatique échantillonnée
Soit :
h(nT) T e -a(n-1)T
h(nT)
D'une façon générale :
h(1T) = T
1 (1T) = T
h(nT) = T g((n-1)T)
h(2T) = T e-aT
g(t) = e-at
nT
Figure 13
Théorème :
s(0) = 0
1
s(1) = h(0) e(1) + h(1) e(0) = 0 +
a
1 - e -aT
1 1
s(2) = h(0) e(2) + h(1) e(1) + h(2) e(0) = 0 +
a
1 - e -aT +
a
1 - e -aT e − aT
1
s(2) =
a
1 - e -2aT
z A B
S(z) = = +
z - z - 1 z - z - 1
avec
A = et B =
- 1 1 -
19
H. CHAFOUK
Automatique échantillonnée
1
S(z) = z -
-
1 - z - 1
D'où :
1
s(n) =
a
(-1) n-1 - e -aT e -a(n-1)T
1
s(n) =
a
1 - e -anT
Remarque :
Nous avons obtenu en sortie aux valeurs d'échantillonnage, les valeurs correspondant à la
sortie aux mêmes instants du système continu.
Ceci n'est pas un cas général, mais provient du faut que l'entrée est un échelon et par
conséquent est parfaitement restituée par un bloqueur d'ordre zéro comme le montre la figure
ci-dessous.
e(t) 1 s(t)
p+a
T T
e(t) e*(t)
B0 1 s(t) s*(t)
p+a
Figure 14
20
H. CHAFOUK
Automatique échantillonnée
Chapitre II
21
H. CHAFOUK
Automatique échantillonnée
SOMMAIRE
Références Bibliographique
Annexes :
Annexe 1 : Intégration numérique par la méthde des Trapèzes
Annexe 2 : Table des Transformées en Z
Annéxe 3 : Méthode des pôles dominants et Abaques
22
H. CHAFOUK
Automatique échantillonnée
Chapitre 2
Régulation numériques des systèmes échantillonnés
1. Généralités
1.1. Introduction
Nous ferons la distinction entre les systèmes :
- échantillonnés : ils sont constitué d'éléments continus dont les signaux à l'entrée ou la
sortie après échantillonnage ne sont connus qu'à des instants discrets séparés par la période
d'échantillonnage.
- discrets : dont les signaux en tout point du système ne sont définis qu'aux instants
d'échantillonnage.
Le calculateur est l'exemple même du système discret puisque les signaux ne sont définis
qu'aux "tops" d'horloge. Un moteur électrique à courant continu piloté par calculateur est un
système échantillonné. En effet les signaux du moteur et de son électronique de commande sont
analogique mais cet ensemble n'échange des informations avec le calculateur qu'à des instants
discrets.
Comparaison + Correction
y(t)
Consigne Calculateur
CNA Procédé
CAN Capteur
Figure 3
T T
u(t) y(t) y(k)
B0 Procédé
CNA CAN
CNA : transforme le signal échantillonné en signal continu à l'aide d'un bloqueur d'ordrer 0.
23
H. CHAFOUK
Automatique échantillonnée
h(t)
T t
condition de Shannon :
Fe [Link]
avec
Fe : Fréquence d'échantillonnage,
Fmax : Fréquence maximale du spectre à transmettre.
En pratique, on prend :
2.5 Fmax Fe 5 Fmax
1 − e − pT
B0 (p) =
p
C(z) est le correcteur numérique qui permet d’obtenir la fonction de transfert en boucle fermée
souhaitée F(z) :
S(p) CG
F(z) = =
E(p) 1 + C G
24
H. CHAFOUK
Automatique échantillonnée
CG
F(z) = F (1 + CG) = CG
1+ C G
F 1
D’où : C(z) =
1- F G
(1 - p 0 ) (1 - p 0 ) z - z0
F(z) =
1 − z0 (z - p 0 ) (z - p 0 )
On peut également travailler avec une structure de correcteurs plus générale dont la
configuration initiale est un cas particulier :
+ u S(z)
E(z) 1
T(z) G(z)
R(z)
-
S(z)
25
H. CHAFOUK
Automatique échantillonnée
En effet, on a :
S(z)
T(z)
a) 1er ordre :
T où est la constante de temps du système en boucle fermée corrigée.
4
b) 2ème ordre :
1 1
T
4 n n
Où n est la pulsation propre du système de 2ème ordre en boucle fermée corrigée. Elle
représente la bande passante du système.
26
H. CHAFOUK
Automatique échantillonnée
a 0 + a 1 z + ... + a m z m
C(z) =
b 0 + b1 z + ... + b n z n
• nm
P N
soit F(z) = et G(z) =
Q D
F 1 P D
C(z) = =
1- F G P N
Q 1 -
Q
Donc :
P D
C(z) =
Q-P N
a) 1ère condition :
L’excès du nombre de pôles sur le nombre de zéros de F(z) est supérieur ou égal à l’excès du
nombre de pôles sur le nombre de zéros de G(z).
b) 2ème condition :
• Si G(z) à des zéros (racines de N) hors du cercle unité, il faudra les compenser par le
correcteur c’est-à-dire les zéros de F(z) (racines de P).
27
H. CHAFOUK
Automatique échantillonnée
a) 1ère méthode :
C(z)
1 Td p
C(p) = K 1 + +
T
1+ d p
T i p
N
La représentation échantillonnée du correcteur est donnée par :
C(p)
C(z) = ( 1 - z -1 ) Z
p
Ce qui donne, après calcul, la structure suivante :
T 1 N(z - 1) T
- N
C(z) = K 1 + + z0 = e Td
Ti z - 1 z − z 0
avec
b) 2ème méthode : Approximation de TUSTIN basée sur les équations aux différences
(t)
(k-1)T kT
28
H. CHAFOUK
Automatique échantillonnée
Ce qui donne :
(k-1)T kT kT
u(kT) = ( ) d + ( ) d = u(k − 1)T + ( ) d
0 (k-1)T (k-1)T
En prenant la transformée en z :
u(z) = z -1 u(z) +
T -1
2
(
z + 1 (z) )
Ce qui implique :
u(z) T z +1
=
(z) 2 z -1
Or :
t
u(p) 1
L u(t) = ( ) d =
0 (p) p
Donc on pose :
2 z -1
p = (Formule de TUSTIN)
T z +1
Elle donne pour le correcteur PID, l’expression suivante :
2Td z − 1
T z +1 T z +1
C(z) = K 1 + +
2Ti z - 1 Td z − 1
1+
2NT z + 1
29
H. CHAFOUK
Automatique échantillonnée
3. Critères de stabilité
Le critère de Jury étudie la position des racines du polynôme caractéristique A(z), à l'intérieur
du cercle unité.
Soit le polynôme :
, avec .
Les premières lignes sont construites à partir des coefficients ai, du polynôme
caractéristique A(z).
Les deux lignes suivantes sont construites à partir des deux premières par
30
H. CHAFOUK
Automatique échantillonnée
31
H. CHAFOUK
Automatique échantillonnée
Remarque
Le critère de Routh indique le nombre exact de racines de A(w) qui sont situées dans le demi-
plan droit du plan complexe ainsi que le nombre de racines situées sur l'axe imaginaire.
Toutefois, dans un contexte de synthèse de commande cette information sur le nombre de pôles
instables n'est pas nécessaire, car les systèmes en boucle fermée instables ou à la limite
d'instabilité ne sont pas désirables.
32
H. CHAFOUK
Automatique échantillonnée
Les calculs nécessaires à cette méthode sont plus complexes que ceux employés pour le critère
de Jury, qu'il est préférable d'utiliser.
avec:
Le nombre de pôles à partie réelle positive est donné par le nombre de changements de signe
des termes de la première colonne.
Dans le cas où le tableau de Routh possède un élément nul dans la première colonne alors:
33
H. CHAFOUK
Automatique échantillonnée
Remarque :
Une condition nécessaire mais non suffisante est que tous les coefficients du polynôme
caractéristique soient positifs.
p3 1 -13
2
p -2 -10
p -18 0
p0 -10
Un changement de signe, donc un pôle instable. En effet, A(p) a pour racines -1, -2, 5.
p4 1 5 4
p3 1 4 0
2
p 1 4
p 0
p0 4
p2 T -K
p 1+K 0
p0 -K
34
H. CHAFOUK
Automatique échantillonnée
4.1. Principe
On détermine le correcteur C(z) de façon à avoir :
p i 0.1
Pour assurer une erreur statique nulle on prend pour le 2ème ordre dominant la FTBF suivante :
(1 − p 0 )(1 − p 0 ) z − z0
F(z) =
1 − z0 (z − p 0 )(z − p 0 )
z − zi 1 − pi
Si on rajoute un terme il faudra également multiplier par pour conserver
z − pi 1 − zi
l’astatisme.
D’autre part, pour réaliser le correcteur C(z) il faudra respecter la condition suivante :
35
H. CHAFOUK
Automatique échantillonnée
1
G(p) =
p (p + 1)
E(z) + S(z)
C(z) B0 G(p)
T T
-
G(z)
1 1
T
4 n n
Où n est la pulsation propre du système de 2ème ordre en boucle fermée corrigée. Elle
représente la bande passante du système.
S(p) G 1
F(p) = = = 2
E(p) 1 + G p + p + 1
1 n2
=
p 2 + p + 1 p 2 + p + n2
36
H. CHAFOUK
Automatique échantillonnée
On trouve alors n = 1 rd/s, il est donc possible de considérer que le fait de corriger ou
d’augmenter la rapidité du système est de doubler la bande passante en prenant par exemple :
nc = 2 n = 2 rd/s
Ce qui nous donne l’intervalle dans lequel doit se trouver la période d’échantillonnage :
(
G(z) = 1 - z -1 Z 2) 1
p (p + 1)
G(z) =
T
−
1 − e −T
=
(
T z − e − T - (z - 1) 1 − e − T ) ( )
z -1 z − e −T (z - 1) z − e −T ( )
T e -T − 1 + e − T
G(z) =
( −T
)
z T -1 + e - T e + 1 − e -T −T
(
= T - 1 + e −T )
z −
T - 1 + e −T
(
(z - 1) z − e −T ) (
(z - 1) z − e −T)
A.N:
z + 0.935
G(z) = 0.01873
(z - 1)(z − 0.8187)
deg(D) − deg(N) 1
(1 − p 0 )(1 − p 0 ) z − z0
F(z) =
1 − z0 (z − p 0 )(z − p 0 )
37
H. CHAFOUK
Automatique échantillonnée
4.2.4. Détermination de et 0
D(%) = f(,)
0 t M
2ème abaque : = - 84 = 219
T
0 t M
= 35 = 100
T
Ce qui implique :
40 0 87,6
Prenons :
0 = 50
Avec :
0 t M
- - = et = arcsin( )
T
4.2.5. Détermination de p 0 et z0
p 0 = p 0 e -0
0
-T
1- 2
p 0 = e -T n sin = e T
38
H. CHAFOUK
Automatique échantillonnée
On sait que : tg =
1- 2
Alors :
0
-
1- 2
p0 = e = e - 0 tg
A.N. p 0 = 0.4178
z 0 = p0
- p 0 + cos 0 + sin 0 tg
1 + p0 ( sin 0 tg - cos 0 )
A.N. z 0 = 0.1909
4.2.6. Détermination de Kv
1 2 - 2 p 0 cos 0 1
= 2
-
Kv 1 - 2 p 0 cos 0 + p 0 1 - z0
1 1
A.N : = 1.0541 = K v(calculé) = 0.95
Kv 0.95
Dans le cahier des charges, nous avons fixé Kv1 > 2.8 pour améliorer la rapidité du
système corrigé. Nous sommes donc amenés à rajouter un couple (p1,z1) pour atteindre cet
objectif. Ce qui implique la procédure suivante :
K v1 2.8
= = 3
K v(calculé) 0.95
x 7 3
p1 = 1 - Kv =1- 0.95 = 0.9009
100 - 1 100 2
x 7 3
z1 = 1 - Kv =1- 0.95 = 0.9068
x + 100 - 1 7 + 100 2
39
H. CHAFOUK
Automatique échantillonnée
1 − p1 z − z1
F1 (z) = F(z)
1 − z1 z − p1
z − 0.1909
F(z) = 0.7879
z 2 − 0.5371 z + 0.1746
Ce qui nous donne la forme finale de la FTBF corrigée :
F1 (z) = 0.8431
(z − 0.9068)(z − 0.1909)
(z − 0.9009)(z 2 − 0.5371 z + 0.1746)
4.2.8. Réponse indicielle Y(z)
Y(z) =
z
z −1
F1 (z)
Y(z) = 0.8431 A1 z -1 + A 2 z -2 + ....
Avec :
A1 = 1 y(T) = 0.8431
A 2 = 1.3397 y(2T) = 1.129
A 3 = 1.34294 y(3T) = 1.132
A 4 = 1.28121 y(4T) = 1.08
A 5 = 1.24374 y(5T) = 1.049
On trouve bien le temps minimal de montée 0.4 s t M 0.6 s et le dépassement D (13 % pour
3T).
F1 (z) 1
C(z) =
1 - F1 (z) G(z)
A.N :
C(z) = 45
(z − 0.9068)(z − 0.1909)(z − 0.8187)
(z − 0.3135)(z + 0.935)(z − 0.19675)
40
H. CHAFOUK
Automatique échantillonnée
1.4
1.2
0.8
0.6
0.4
0.2
0
0 1 2 3 4 5 6 7 8 9 10
41
H. CHAFOUK
Automatique échantillonnée
5. Méthodes polynomiales
Ce sont des méthodes basées sur l’algèbre des polynômes à partir desquelles nous
pouvons concevoir des régulateurs numériques répondant aux cahiers des charges.
5.1.1. Principe
Pour une entrée donnée, un système sera dit à temps fini si l’erreur s’annule au bout d’un
nombre fini de période d’échantillonnage. Si le nombre est minimum, le système sera dit à
temps de réponse minimal.
En B.F. :
S(z) C(z)G(z)
F(z) = =
E(z) 1 + C(z)G(z)
S(z) A(z)
E(z) = =
E(z) (1 − z -1 ) n +1
Avec
E(z) = Z t n Y(t)
Où A(z) est un polynôme de degré n en z.
L’erreur s’écrira :
E(z)
(z) =
1 + C(z)G(z)
42
H. CHAFOUK
Automatique échantillonnée
F(z) F 1
CG(z) = 1 + CG = 1 + =
1 − F(z) 1− F 1− F
D’où :
(z) = E(z) (1 - F) = (1 - F)
A(z)
(1 − z -1 ) n +1
En prenant :
(1 - F) = (1 − z -1 ) n + p +1 K(z) pour p 0
Ceci implique :
k=n+m+p
Pour minimiser k on prend K(z) = 1 et p = 0, ceci implique que l’erreur s’annule après k = n
périodes.
On aura donc :
1 - F = (1 - z -1 ) n +1
E(z) = Z Y(t) =
1
1 - z -1
43
H. CHAFOUK
Automatique échantillonnée
(1 - z -1 )3
F = 1 - (1 - z -1 ) 3
F = 3z -1 - 3z -2 + z −3
−2
2 z +z
( ) (z) = T 2 (z −1 + z −2 )
-1
(z) = T
3
1 - z -1
(
1- z )
-1 3
F 1
C=
1− F G
C(z) comporte comme zéros, les pôles de G(z) et comme pôles les zéros de G(z), en tenant
compte de la multiplication avec F et (1 F).
Nous supposons que G possède des zéros et pôles à l’extérieur du cercle unité :
N N+ N-
G= = + -
D D D
Où N représente les zéros intérieurs au cercle unité et N- représente les zéros extérieurs. De
+
même pour D+ représente les pôles intérieurs au cercle unité et D- représente les pôles
extérieurs.
F D+ D-
C= + -
1− F N N
Pour élaborer une stratégie de régulation, nous devons simplifier N- avec F et D- avec (1 – F),
d’où les expressions suivantes :
F = N - L(z)
et
1 - F = D − (1 - z -1 ) n +1 M(z)
44
H. CHAFOUK
Automatique échantillonnée
F(z) N N- L
CG(z) = = 1 CG =
1 − F(z) D1 (
D - 1 − z −1 )
n +1
M
Correcteur :
N- L D+ D- D+ 1 L
C= C=
(
D- 1 − z )
−1 n +1
M N+ N- +
(
N 1 − z −1 )
n +1
M
Erreur :
E(z) A(z) 1
(z) = =
1 + CG (1 − z -1 ) n +1 N- L
1+
(
D - 1 − z −1 ) n +1
M
D- M
(z) = A(z)
(1 − z -1 ) n +1 D - M + N - L
L’erreur s’annule donc en temps fini, à condition que (z) soit un polynôme en z-1, donc :
(1 − z -1 ) n +1 D - M + N - L = 1 (1)
Où L et M sont deux polynôme de degré minimum que l’on obtient par identification. On a
alors :
(z) = A(z) D - M
Signal de Commande :
D+ 1 L
U(z) = (z) C(z) = A(z) D - M
+
(
N 1 − z −1 )n +1
M
D’où :
A(z) D L
U(z) =
(
N + 1 − z −1 ) n +1
45
H. CHAFOUK
Automatique échantillonnée
F(z) =
S(z)
=
C(z)G(z)
=
(
D - 1 − z −1 M )
n +1
E(z) 1 + C(z)G(z) N L-
1+
D 1 − z −1
-
(n +1
M )
S(z) C(z)G(z) N- L
F(z) = = =
(
E(z) 1 + C(z)G(z) D - 1 − z −1 n +1 M + N - L )
Pour annuler l’erreur en temps fini, nous avons pris : (1 − z -1 ) n +1 D - M + N - L = 1 , d’où :
F(z) = N - L
Signal de sortie :
A(z) N - L
S(z) = F(z) E(z) =
(1 − z -1 ) n +1
z -1 (1 + 2z -1 )(1 + 0.2 z -1 )
G(z) =
(1 − z -1 ) 2 (1 − 0.3z -1 )
Et l’on considère l’entrée en échelon, on veut annuler l’erreur en un minimum de temps (n=0).
D+ 1 L
C=
+
(
N 1 − z −1 )n +1
M
N + = z -1 (1 + 0.2 z -1 ) et N - = (1 + 2z -1 )
et
D + = (1 − z -1 ) 2 (1 − 0.3z -1 ) et D- = 1
z-1 représente un retard, il apparait donc en z-1 au numérateur de C ce qui est irréalisable. Il faut
don l’annuler avec C, ce qui implique qu’il faudra pendre :
L = z-1 L’
Ce qui donne :
46
H. CHAFOUK
Automatique échantillonnée
(1 − z -1 ) 2 (1 − 0.3z -1 ) z -1 L'
C(z) =
z -1 (1 + 0.2z -1 ) (1 - z -1 ) M
(1 − z -1 ) n +1 D - M + N - L = 1
Où : (1 − z -1 ) M + (1 + 2 z -1 ) z -1 L' = 1
Prenons :
M = a z -1 + b et L' = c
Nous aurons :
(1 − z -1 ) (a z -1 + b) + (1 + 2 z -1 ) z -1 c = 1
D’où :
(2 c − a) z -2 + (a - b + c) z -1 + b = 1
2 1
a= ; b =1 et c=
3 3
2 -1 1
M = z +1 et L' =
3 3
D’où :
L' 1 1 1
= =
M 3 2 -1 2z +3
-1
z +1
3
Le correcteur est donné par l’expression suivante :
(1 − z -1 )(1 − 0.3z -1 )
C(z) =
(1 + 0.2z -1 )(2 z -1 + 3)
2 2
(z) = 1 1 (1 + z -1 ) (z) = 1 + z -1 on annule l’erreur en 2 coups
3 3
d’horloge.
1 1 -1
F(z) = N - L = (1 + 2 z -1 ) z -1 F(z) = N - L = z (1 + 2 z -1 )
3 3
47
H. CHAFOUK
Automatique échantillonnée
En reprenant les valeurs obtenues dans l’exemple sur les pôles dominants :
z + 0.935
(
G(z) = 1 - z -1 Z 2) 1
= 0.01873 ( )(
z - 1 z − 0.8187)
p (p + 1)
z -1 (1 + 0.935 z -1 )
G(z) = 0.01873
( )(
1 - z -1 1 − 0.8187 z -1 )
Avec :
N+ N-
G(z) = + -
D D
Où :
N + = z -1 (0.01873 + 0.01751 z -1 )
N− = 1
D + = (1 - z -1 )(1 − 0.8187 z -1 )
D− = 1
C=
D+ 1
L
= -1
( )(
1 - z -1 1 − 0.8187 z -1 )
z −1 L'
+
N 1 − z −1( ) n +1
M z (0.01873 + 0.01751 z -1 )(1 − z −1 ) M
(1 − z -1 ) n +1 D - M + N - z -1 L' = 1
Où :
(1 − z -1 ) M + z -1 L' = 1
48
H. CHAFOUK
Automatique échantillonnée
(z) = A(z) D - M
A (z) = 1 (z) = 1
Donc l’erreur (z) = 1 + 0 z -1 + 0 z -2 + .... est égale à 1 à l’instant 0 et nulle après : le système
est recalé en un coup d’horloge.
Signal de Commande :
La loi de commande est donnée par :
DL 1 1 (1 − z −1 )(1 − 0.8187 z −1 ) z −1
U(z) = A(z) =
+
(
N 1 − z −1 )
n +1
z −1 (0.01873 + 0.01751 z −1 )(1 − z −1 )
D’où :
1 − 0.8187 z −1
U(z) = 53.39
1 + 0.935 z −1
z z
U(z) = 53.39 - 43.71 z -1
z + 0.935 z + 0.935
Or :
z z
Z -1 =a
k
Z -1 z −1 =a
k -1
z - a z - a
Donc
u(n) = 53.39 (-0.395) n - 43.71 (-0.935) n -1
Application :
u(0) = 53.39
u(1) = 53.39 (-0.935) – 43.71 = -9363
u(2) = 87.54
u(3) = -81.85
V(t)
u(t) 87.54
100 100
53.39
50 50
t t
T 2T 3T
- -
50 50
-100 -100 -81.85
-93.63
Train d’impulsion à l’entrée du bloqueur d’ordre 0 Signal « continu » à la sortie du bloqueur d’ordre 0
49
H. CHAFOUK
Automatique échantillonnée
- -
50 50
-100 -100
-150
-147.02
1 U0 e -Tp
Etudions la réponse de notre système à et (U1 − U 0 ) respectivement et
p(p + 1) p p
sommons les deux expressions.
s(0) = 0
s(T) = 1
s(1.5T) = 2.179 - 0.7 = 1.468
s(2T) = 3.754 – 2.7537 = 1
50
H. CHAFOUK
Automatique échantillonnée
Le signal est constant et égal à 1 pour t = nT, avec n > 1 ce qui est conforme mais subit
des oscillations en continu (oscillations cachées).
S(t)
T 2T 3T
51
H. CHAFOUK
Automatique échantillonnée
TRAVAUX PRATIQUES
en
52
H. CHAFOUK
Automatique échantillonnée
SOMMAIRE
ANNEXES 1
Annexe A : Commandes et fonctionnalités de base sous Matlab
Annexe B : Grandeurs caractéristiques d’un système du 2nd ordre
ANNEXES 2
Annexe A – Identification des paramètres du moteur par analyse fréquentielle
Annexe C – Méthode des Pôles dominants
Annexe D – Table des Transformées en z
Annexe E – Abaques pour la méthode des Pôles Dominants
53
H. CHAFOUK
Automatique échantillonnée
Tc + E Régulateur V Vanne de Q Ts
Echangeur
P.I.D. Chauffage
-
Tr
Thermo-couple
avec
Tc : Température de consigne,
Ts : Température de sortie (à réguler),
Tr : Température de retour (traduite en tension par le Thermocouple),
E : Erreur,
V : Commande de la vanne,
Q : Commande de l'échangeur.
Q(p) 10
- Vanne de Chauffage =
V(p) 1 + p
Ts (p) 1
- Echangeur =
Q(p) 1 + 3p + 4p 2
Ts (p) 1
- Thermocouple =
Tr (p) 1 + p
V(p) 1
- Régulateur P.I.D. = K(1 + + Td p)
E(p) Ti p
54
H. CHAFOUK
Automatique échantillonnée
Une première étape dans la détermination des paramètres du correcteur PID a été
effectuée en utilisant les méthodes de Ziegler-Nichols et Naslin (voir TP en 1ère année). Nous
avons trouvé les valeurs des différents paramètres utiles pour la définition des PID selon ces
deux méthodes, à savoir K, Td, Ti. Dans la suite de ce TP, on utilisera un régulateur PID avec
un dérivateur modifié (puisqu'on ne peut pas réaliser un dérivateur pur) :
V(p) 1 Tp
C(p) = = K(1 + + d )
E(p) Ti p 1+ p
avec :
Td
=
10
K
- Action intégrale : (Précision)
Ti p
KTd p
- Action dérivée : (Stabilité)
1+ p
1. Méthode de Ziegler-Nichols
K=0,24
T = 4,32s
i
T = 1, 08s
d
2. Méthode de NASLIN
K=0,0375
T = 2,18s
i
T = 1,333s
d
55
H. CHAFOUK
Automatique échantillonnée
Nota : on veillera à utiliser un pas de simulation (solver) constant sous Simulink (Cliquer sur
« simulation » puis « configuration parameters » puis enfin aller dans l’onglet « solver »)
6) Déterminer les PID numériques obtenus par les deux autres manières suivantes :
7) Comparer les performances des boucles de régulation numériques utilisant chacun des trois
PID discrets synthétisés (ceux des questions 4 et 6).
tf step
tfdata sum
c2dm Transfer fcn
mux
scope
Discrete transfer fcn
Zero order hold
Analog input
Analog output
56
H. CHAFOUK
Automatique échantillonnée
1. INTRODUCTION
L'objectif de cette étude est d'asservir une grandeur de sortie y(t) (position, vitesse, etc.),
d'un système réel, à une consigne e(t), en utilisant un calculateur numérique placé dans la boucle
de régulation. De plus, cette sortie devra rester constante, quelles que soient les perturbations
intervenant sur le système (régulation).
Perturbations
Partie numérique
(t)
(T) u(t) y(t)
e(t) + CNA
Correcteur Système
+
numérique Physique
B0(z)
-
Horloge : H(T) (T)
Le but de ce TP sera donc de trouver des algorithmes de commandes qui répondent aux
conditions imposées. Pour cela il faudra auparavant :
57
H. CHAFOUK
Automatique échantillonnée
Les systèmes physiques sont, en général, non linéaires. Malgré tout, on les considérera
comme linéaire autour de leur point de fonctionnement.
Une analyse statique donnera des indications sur le point de fonctionnement à choisir.
Une étude de la réponse indicielle donnera des indications sur le choix de la période
d'échantillonnage, (environ le temps de réponse divisé par 10). Mais attention au problème de
recouvrement de spectre (cf. SHANNON).
Il s'agit de connaître le plus finement possible les constantes du système (Kv, , etc.). Pour
cela, on réalisera le schéma suivant :
e consigne + Kv y(t)
A=10
|e| = 0.3 V p(1 + p)
-
Par la suite, on passera à la boucle ouverte, sans oublier le bloqueur (cf. annexe).
(t)
t
(k-1)T kT
58
H. CHAFOUK
Automatique échantillonnée
Ce qui donne :
(k-1)T kT kT
u(kT) = ( ) d + ( ) d = u(k − 1)T + ( ) d
0 (k-1)T (k-1)T
En prenant la transformée en z :
u(z) = z -1 u(z) +
T -1
2
(
z + 1 (z) )
Ce qui implique :
u(z) T z +1
=
(z) 2 z -1
Or :
t
u(p) 1
L u(t) = ( ) d =
0 (p) p
Donc on pose :
2 z -1
p = (Formule de TUSTIN)
T z +1
Elle donne pour le correcteur PID, l’expression suivante :
2Td z − 1
T z +1 T z +1
C(z) = K 1 + +
2Ti z - 1 Td z − 1
1+
2NT z + 1
59
H. CHAFOUK
Automatique échantillonnée
On désire que l'asservissement réponde à une entrée en échelon avec les performances
suivantes (cahier des charges):
- Dépassement : D < 10 %
- Temps de montée : Tm < 100 ms
- Amortissement : = 0.707
- Erreur permanente : p = 0
Pour cela on choisit un correcteur "C(z)" de façon à ce que la fonction de transfert en "z"
de la boucle fermée soit de la forme :
K(z − z 0 )
F(z) =
(z − z1 )(z − z1 )
A l'aide des abaques fournies en annexe, déterminer "C(z)". On calculera "K" sachant que :
F(1) = 1
Applications pratiques
Simulation numérique
60
H. CHAFOUK
Automatique échantillonnée
- ANNEXES -
T.P. d’Automatique Avancée
61
H. CHAFOUK
Automatique échantillonnée
Introduction
Matlab est un logiciel interactif de programmation scientifique, pour le calcul numérique et la
visualisation graphique, basé sur la représentation matricielle des données. Il utilise un langage
interprété : chaque expression écrite en ligne de commande ou dans un fichier script (de format *.m) est
interprétée et évaluée.
Le point-virgule de terminaison de ligne indique si le résultat de l'évaluation est affiché ou non à l'écran
selon qu'il est absent ou présent. Cela facilite la mise au point en offrant la possibilité d'obtenir très
simplement des résultats intermédiaires de calcul.
Remarque générale sur l’ensemble des fonctions de Matlab : l’aide sur une fonction peut être obtenue :
- en ligne de commande en tapant : >> help nom_de_fonction
- dans une fenêtre d’aide en tapant : >> doc nom_de_fonction
1 Les matrices
1.1 Définition sous Matlab
1 2 3
Pour définir la matrice A = : >> A = [1 2 3; 4 5 6]
4 5 6
ou encore : >> A = [1, 2, 3; 4, 5, 6]
Pour définir le vecteur ligne time = [0 0.2 0.4 0.6 0.8 1] dont les éléments sont séparés d’un même pas
(ici 0,2) : >> t = 0 : 0.2 : 1
1
Pour définir le vecteur colonne A = 2 : >> A = [1 ; 2 ; 3]
3
Pour obtenir l’élément de la i ligne et de la jème colonne de la matrice A : >> a = A(i, j)
ème
62
H. CHAFOUK
Cours/TP Automatique Avancée 2ème année
2 Les scalaires
2.1 Définition sous Matlab
Sous Matlab, tout scalaire est considéré comme une matrice de dimension 1 :
>> A = 2.125
est équivalent à
>> A = [2.125]
Remarque 1 : tous les calculs effectués dans Matlab le sont en double précision. Cependant,. le format
d'affichage des résultats peut être contrôlé par la commande « format ».
Remarque 2 : certaines lettres ou chaînes de caractères ont des valeurs prédéfinies :
- i et j correspondent au nombre imaginaire.
- pi correspond à π
- Inf ou inf correspond à ∞
- e est utilisé pour les puissances de 10
Remarque 3 : Matlab fait la distinction entre majuscule et minuscule.
p2 − 0,1
Pour définir la fonction de transfert H(p) = :
p − 0,2p2 + p
3
Année 2020
2ème année
Exemple :
>> t = [0.5; 1.0; 1.5; 2.0]
>> x = [ 1; 2; 4; 8]
>> y = [0.1; 0.2; 0.4; 0.6]
Pour afficher dans une même fenêtre mais dans deux repères différents x = f(t) et y = g(t) :
>> figure;
>> subplot(2, 1, 1); plot(t, x);
>> subplot(2, 1, 2); plot(t, y);
Pour personnaliser l'affichage graphique, voir également les commandes : label, title, legend, grid
1
H. CHAFOUK
2ème année
−
1− 2
- le dépassement D% : D% = 100 D = 100e
Tp
D
G
s()-N%
Tm Tpic Tr(N%)
2
H. CHAFOUK
2ème année
- ANNEXE E -
Détermination rapide des constantes d'un système
en boucle ouverte à partir d'une analyse harmonique
en boucle fermée (système avec résonance)
1. Le système, en boucle ouverte, devra obligatoirement être mis sous la forme "H(p)",
tel que :
K
H(p)=
p(1 + p)
e(p) + K s(p)
p(1 + p)
-
Dans ce cas, toujours en boucle ouverte, nous connaissons l'allure des courbes de Bode :
|H|
db
(-1)
(-2)
log ()
=
0
log ()
−
−
3
H. CHAFOUK
2ème année
1
1 2
p +2 p +1
0
2
0
Soit :
1
= (1)
0 K
2
et
2 1
= (2)
0 K
Les courbes de Bode, ainsi calculées en boucle fermée, auront donc la forme suivante :
|G|
db
max
log ()
r
(-2)
log ()
−
0
−
Avec
Vs 1
G(j)= =
Ve 22
2
2
(1 − 2 ) + 4 2
1/2
0 0
3. Donc si "Ve(t)" est sinusoïdale, et que l'on étudie ce type de système en boucle fermée, il
suffira de se placer à un déphasage de "-90°" et de lire la pulsation "0" correspondante pour
utiliser les équations (1) et (2).
4
H. CHAFOUK
2ème année
On ne pourra cependant, résoudre le système d'équations que si l'on connaît une troisième.
Pour cela, il existe deux solutions :
Vs
- Soit relever à la pulsation "0", le gain " ", d'où :
Ve
Vs 1
G(j) = = = (3)
0
Ve = 0
2
1/2
r = 0 1 − 2 2 (4)
4. Les équations, (1), (2) et (3) ainsi résolues, déterminerons donc les coefficients : "K","" et
"".
5
H. CHAFOUK
2ème année
Annexe F
Méthode des pôles dominants
appliquée au cas pratique
d'un asservissement de position
1. Rappel :
G(z) = Z B 0 (p)G(p)
avec
Kv
G(p) = KA
p(1 + p)
et
1 − e -Tp
B0 (p) =
p
On pourra écrire :
calculateur
Xk Uk y(t)
+
C(z) B0(p) G(p)
-
Yk
T
6
H. CHAFOUK
2ème année
2.1.1. Rappels
C(z)G(z)
F(z) =
1 + C(z)G(z)
la plus proche possible d'une forme classique du second ordre dite à pôles dominants :
(z − z 0 )
K
(z − z1 )(z − z1 )
étape 1 : l'abaque fourni en annexe II-2 (dépassement en régime indiciel) nous donne la plage
de variation de l'angle défini sur la figure suivante :
étape 2 : cette plage reportée sur l'abaque II-3 (temps de montée en régime indiciel) fournit
pour = 0.7.
Tm
116 0 215
T
soit :
46.4 0 86
= 20 = −80
Le choix de 0 reste libre dans ces limites. Nous prendrons arbitrairement = 0° soit 0 =
54°.
K(z - 0.1)
F(z) = 2
z - 0.48z + 0.16
7
H. CHAFOUK
2ème année
Le facteur K est calculé tel que le gain statique en boucle fermée défini par F(1)* est
égal à 1, soit K = 0.756.
K(z - 0.1)
F(z) = 2
z - 0.48z + 0.16
F(z)
C(z) =
1- F(z) G(z)
On note dès à présent que le terme (1-F(z) contient (z-1) en facteur (F(1) - 1 = 0), ce
qui réduit l'ordre de C(z) d'une unité par simplification avec le pôle z = 1 de G(z).
(z - 1)(z - 0.236)
1 - F(z) =
z2 - 0.48z + 0.16
(*) On rappelle que le gain statique est la valeur finale de al sortie en réponse à un échelon
unité.
F(z)
S(z) =
1 - z -1
(z - 0.1)(z - 0.55)
C(z) = 0.434
(z - 0.236)(z - 0.825)
U(n) = 0.434 (n) - 0.282 (n -1) + 0.024 (n - 2) - 0.584 U(n -1) + 0.194 U(n - 2)
8
H. CHAFOUK
2ème année
2. Résultats de la simulation
Perturbations
Partie numérique
(t)
(T) u(t) y(t)
e(t) + CNA
Correcteur Système
+
numérique Physique
B0(z)
-
Horloge : H(T) (T)
avec
z + 0.82
G(z) = 1.74
(z − 1)(z − 0.55)
et
(z - 0.1)(z - 0.55)
C(z) = 0.434
(z − 0.236)(z + 0.82)
Réponse indicielle
1.2
0.8
0.6
amplitude
0.4
0.2
0
0 5 10 15 20
temps
9
H. CHAFOUK
2ème année
Annexes
10
H. CHAFOUK
2ème année
Annexe A
Les abaques
11
H. CHAFOUK
2ème année
12
H. CHAFOUK
2ème année
Annexe B
Table des Transformée en Z
13
H. CHAFOUK
2ème année
14
H. CHAFOUK
2ème année
15
H. CHAFOUK
2ème année
Références Bibliographiques
16
H. CHAFOUK