Download - pilotage_4ieme_ordre.pdf
Pilotage d'un 4e ordre par
un PID numérique
Patrick FARJONENMM Nantes
1° Simulation d'un processus du 4e ordre par un filtre de Sallen et Key.
2° Numérisation du correcteur PID.
a) Equation du PID analogique et hypothèses.
b) Approximation de la dérivée.
c) Approximation de l'intégrale.
d) Loi de commande du PID numérique.
e) Fonction de transfert en z du PID.
3° Choix de la période d'échantillonnage ∆∆.
a) Théorème de Shannon.
b) Choix de ∆ pour un 1er ordre sans zéro.
c) Choix de ∆ pour un ordre supérieur.
4° Etude expérimentale.
a) Matériel utilisé.
b) Schéma fonctionnel de l'asservissement.
c) Identification du processus par la méthode de Strejc.
d) Détermination des paramètres du PID.
e) Réponses indicielles en boucle fermée.
α) Régulateur proportionnel pour K= 4 (pompage).
β) Régulateur PID (Ziegler et Nichols).
γ) Régulateur PID (méthode du pivot).
f) Remarques.
1° Simulation d'un processus du 4e ordre par un filtre de Sallen etKey.
R
R R
R
C
C
C
C1
1
2
2
3
3
4
4+
+
-
-
2
2
3
3
4
4
6
6
7
7
+Vs
-Vs
+Vs
-Vs
Ve
Vs
On montre que la fonction de transfert se met sous la forme suivante :
Vs p
Ve pG p
R R C p R R C C p R R C p R R C C p
( )
( )( )
( ) ( )= =
+ + +×
+ + +1
1
1
11 2 2 1 2 1 22
3 4 3 3 4 3 42
Dans le cas particulier ou R R R C C1 2 4 2 4= = = = , R , C et C3 1 3 alors G(p) prend la
forme suivante : G pT p T p
R C R C( )( ) ( )
=+
×+
= =1
1
1
112
22 1 1 3 3 avec T et T1 2
Application numérique :
Pour les valeurs R k1 100 100 50 110= = = = , R k , C F , C F 3 1 2Ω Ω µ µ on obtient
G pp p
( )( ) ( )
=+ +
1
1 5 1 112 2
On réalise ce montage que l'on utilisera dans la suite de l'exposé. Peu importe les
valeurs réelles des composants (incertitudes) car en fait on identifiera le processus
par la méthode de Strejc de façon à avoir une modélisation du processus réel.
2° Numérisation du correcteurPID.
Compte tenu de l'importance du correcteur PID analogique il apparaît comme
indispensable d'en tirer une version numérique. Il faut noter au passage que dans ce
cas on ne peut plus parler de régulation numérique "vraie" car finalement on "singe"
le monde analogique au moyen d'un calculateur alors que l'on peut trouver des
équations récurrentes beaucoup plus performantes. Ceci dit, pour le pilotage de
processus thermique à fortes constantes de temps ou ordre élevé ( 4e ordre de
constante de temps 60 s pour un désurchauffeur à injection d'eau par exemple ) la
structure PID a fait ses preuves ( centrale thermique, navire à vapeur etc...).
a) Equation du PID analogique et hypothèses.
x(t) u(t)PID
x(t) : écart
u(t) : commande
Dans ces conditions on a :
bande de centrage au liée constante )(
)()()( +
++= ∫ dt
tdxTdttx
TtxKtu d
t
i 0
1
En mode dynamique (phase transitoire) seules les variations de x(t) sont à prendre
en compte et par conséquent on peut considérer du moins pour l'étude théorique que
la constante est nulle. En réalité c'est au passage "Manu / auto" que cette constante
est fixée par la valeur de u(t) à cet instant.
Le problème consiste donc à numériser cette expression pour qu'elle soit compatible
avec le traitement par un calculateur, ce qui revient à remplacer une équation
intégro-différentielle par son approximation en équation aux différences. Pour cela on
doit :
- Poser t = k.∆ ( ∆ étant la période d'échantillonnage ).
- Choisir une approximation de la dérivée.
- Choisir une approximation de l'intégrale.
L'interpolation polynomiale permet d'approximer simplement les actions intégrales et
dérivées, plus le degré du polynôme d'interpolation est élevé meilleure est la
précision.
b) Approximation de la dérivée.
x(t)
∆t = k.
Si on appelle D(k) la valeur approchée de la dérivée
on a :
D(k) =x(k) - x(k-1)
∆
∆
k
k-1
On remplace x(t) par des segments de droite de coefficient
directeur D(k).
Si ∆ est trop petit on risque de dériver les bruits et non le signal utile, si ∆ est trop
grand on risque de tomber en contradiction avec le théorème de Shannon. Le choix
de la période d'échantillonnage est un élément essentiel de la régulation numérique,
on y reviendra par la suite.
c) Approximation de l'intégrale.
x(t)
∆
∆
∆ t = ki
Soit I(k) une approximation de l'intégrale, en
utilisant la méthode des rectangles supérieurs
on a :
I ( k ) = Σ x ( i )k
i=1
On aurait une meilleure approximation en utilisant la méthode des trapèzes, dans ce
cas on obtient :
I k x i x ii
i k
( ) ( ) ( ) .= − +=
=
∑1
21
1
∆
d) Détermination de la loi de commande u (k) = f [ x(k) ] du PID.
On part de l'expression analogique que l'on numérise à partir des expressions
précédentes, ce qui donne :
[ ]
[ ]
K T
=C )K T
2+(1=B )K T
+T
+(1= A
: posant en )()()()()T
+(1K+1)-u(k = u(k)
: finalement donne qui ce )()()()()(
: a on 1)-(k rang le pour même de )()()()()(
ddd
i
i
∆∆∆∆
−
∆+−
∆+−
∆+
∆
−−−
∆+
∆+−=−
−−
∆+
∆+=
∑
∑
−=
=
=
=
2121
2111
1
1
1
1
kxT
kxT
kxT
kxkxT
ixT
kxKku
kxkxT
ixT
kxKku
ddd
dki
ii
dki
ii
u k u k Ax k Bx k Cx k( ) ( ) ( ) ( ) ( )= − + − − + −1 1 2
e) Fonction de transfert en z du PID.
En prenant la transformée en z de l'expression précédente on en déduit la fonction
de transfert pulsée C(z) du PID numérique :
U z z U z AX z Bz X z Cz X z( ) ( ) ( ) ( ) ( )= + − +− − −1 1 2 d'ou on tire que :
U z
X zC z
A Bz Cz
z
( )
( )( )= =
− +−
− −
−
1 2
11
3° Choix de la période d'échantillonnage ∆∆.
Le choix de la période d'échantillonnage dépend de la plus petite constante de temps
du processus que l'on désire piloter. Intuitivement on sent bien que d'envoyer des
ordres à une vanne alimentaire de chaudière tous les centièmes de secondes serait
superflu car elle recevrait pratiquement cent fois le même ordre, par conséquent
autant envoyer un ordre toutes les secondes ce qui permet de libérer le calculateur
pour gérer d'autres chaînes de régulation par exemple. La valeur de la période
d'échantillonnage découle de l'application du théorème de Shannon.
a) Théorème de Shannon.
Un signal physique a une double représentation, temporelle f(t) ou fréquentielle F(ν)
l'une ou l'autre déterminant complètement le signal. L'énergie d'un signal réel étant
nécessairement finie cela impose que f(+∞) = f(-∞) = 0. On passe d'une
représentation à l'autre par la transformée de Fourier régie par les relations suivantes
:
d)F( )( et )()(+
-
ννν νν tjtj etfdtetfF Π∞
∞
∞+
∞−
Π− ∫∫ == 22
La représentation du module de F(ν) donne le spectre en fréquence du signal. Dans
le cas ou le signal f(t) est échantillonné, on le note alors f*(t), son spectre est alors
dupliqué à la période d'échantillonnage ∆. On rappelle que f*(t) est le produit de f(t)
par un peigne de Dirac.
En résumé on obtient les représentations suivantes :
signal continu :
t
Fourier
ν
νF( )| |
f(t)
signal échantillonné :
f*(t)
k∆ ν
ν
−
F( )| |
ν
Fourier
∆
ν ν00
1
Pour qu'il n'y ait pas de problème de recouvrement et par voie de conséquence de
déformation du signal il faut que la fréquence d'échantillonnage 1/∆ soit supérieure à
deux fois la plus haute fréquence significative ν0 contenue dans le spectre du signal.
Cela constitue le théorème de Shannon.
b) Choix de ∆∆ pour un 1er ordre sans zéro.
Un 1er ordre sans zéro a pour réponse impulsionnelle f t ket
T( ) =−
ce qui correspond
à une fonction de transfert F pk
Tp( ) =
+1. On calcule la transformée de Fourier de la
réponse impulsionnelle :
ννν
ννν
Π+=
Π+−===
+∞
∞+ Π+−Π+−
Π−∞+ −
∫∫j
T
k
jT
ekdtekdteekF
jT
tj
Tt
tjT
t
21
21
0
0
21
21
2
0 )()(
)()(
d'où on tire
que :
Fk
T
( )νν
=+
14
22 2Π
La sommation s'est effectuée sur 0, +∞ car le signal est causal (nul pour t<0).
On en déduit la courbe suivante :
ν
νν ν ν0 0-
F( )| |kT
0
Soit ν0 la fréquence pour laquelle la contribution en amplitude vaut 1/10 de
l'amplitude max on a d'après la relation précédente :
ν ν02
2 2 0
99
4
1 6= =
Π T T ce qui donne et par application du théorème de Shannon :
,
∆ =T
3 2,
Dans la pratique on choisit :T
T4
≤ ≤∆
Une fois choisie la période d'échantillonnage (1/∆ > 2ν0) on place un filtre passe bas
anti-recouvrement de fréquence de coupure ν0.
c) Choix de ∆∆ pour un ordre supérieur.
Compte tenu du fait qu'à constante de temps égale un ordre n est plus lent qu'un 1er
ordre on peut donc appliquer la relation précédente à un ordre quelconque. Dans le
cas des systèmes pseudo-pulsatoires (pôles complexes de la fonction de transfert) le
choix se fait par rapport à la pseudo-pulsation la plus grande ωp (pôles dominants
complexes) suivant la relation :
0 25 1 25, ,≤ ≤ω p ∆
Dans tous les cas on prendra les constantes de temps en boucle fermée (estimation)
car la bande passante en boucle fermée est en générale plus grande qu'en boucle
ouverte.
4° Etude expérimentale.
a) Matériel utilisé.
- Un PC (équipé d'une carte d'acquisition de signaux PC MS2 et du
logiciel Physcope) utilisé en enregistreur.
- Un PC (équipé d'une carte d'acquisition de signaux PC MS2) utilisé en
régulateur.
- Un filtre du 4e ordre Sallen et Key.
- Une alimentation +12V, -12V.
b) Schéma fonctionnel de l'asservissement.
e(t) s(t)x(t) x*(t)u*(t)
u(t)Bo(p) G(p)C(z)
G(z)
+
- ∆ ∆manu
auto
Le rôle du bloqueur d'ordre zéro Bo(p) est de maintenir constante la position du
servo-moteur jusqu'à la récurrence suivante. Le mode de fonctionnement des ports
de sortie des ordinateurs fait que la valeur inscrite en sortie reste constante tant
qu'elle n'est pas changée par la nouvelle récurrence , la sortie du calculateur est
donc par nature un signal échantillonné bloqué.
c) Identification de G(p) par la méthode de Strejc.
En commande manuelle on envoie un échelon sur le processus et on relève la
réponse ci-dessous. La position du point d'inflexion permet de déterminer la fonction
de transfert G(p) du processus.
On relève : ϕi = 2,9 V Ti = 28 s d'après la méthode de Strejc on en déduit
que :
G pp
( )( , )
=+
1
1 9 3 4
D'après ce qui précède on peut donc choisir une période d'échantillonnage ∆ = 5 s.
c) Détermination des paramètres du PID.
Compte tenu de la nature de G(p) on en déduit que pour un gain proportionnel Ko
correspondant à une montée du lieu de transfert de G(jω) de 12 dB on a alors un
oscillateur parfait en boucle fermée à la période To = 2πT, ce qui donne : To = 58 s et
Ko = 4.
En appliquant la méthode du pompage limite (Ziegler et Nichols) on obtient les
paramètres suivants : K = 2,4 Ti = 29 s Td = 7,25 s
En utilisant la méthode du pivot on obtient les résultats suivants :
On monte le lieu de transfert jusqu'à avoir une marge de phase de 50° ce qui
donne K. Ensuite on prend le point (0 dB, -130°) comme point invariant par l'action
intégrale et dérivée ce qui donne Ti et donc Td. On obtient alors : K = 1,77 Ti =
29 s Td = 7,25 s
Finalement on calcule les paramètres A, B et C du PID numérique (Ziegler et
Nichols) ce qui donne :
A = 6,29 B = -9,36 C = 3,48
D'où
C zz z
z( )
, , ,=
− +−
− −
−
6 29 9 36 3 48
1
1 2
1 Fonction de transfert du PID
u k u k x k x k x k( ) ( ) , ( ) , ( ) , ( )= − + − − + −1 6 29 9 36 1 3 48 2 Equation récurrente du PID
e) Réponse indicielle en boucle fermée.
αα) Régulateur proportionnel pour K = 4 (pompage).
On relève la courbe suivante :
On note que la période de pompage est égale à 63 s donc sensiblement la même
que celle qui était prévue par le calcul d'après l'expression de G(p).
ββ) Régulateur PID (Ziegler et Nichols).
On relève la réponse suivante :
On remarque que partant de conditions initiales nulles, et en appliquant en consigne
un échelon de 0,5 V le premier ordre envoyé par le calculateur est de 3,15 V. Cela
correspond bien au déroulement de l'équation récurrente qui donne :
u k u k x k x k x k( ) ( ) , ( ) , ( ) , ( )= − + − − + −1 6 29 9 36 1 3 48 2 pour k = 0 on a : u(0) = 3,15 V
γγ) Régulateur PID (méthode du pivot).
Dans ce cas les coefficients A, B et C ont pour valeur : A = 4,64 B = -6,9 C =
2,56
Ce qui donne la courbe suivante :
f) Remarques
La carte PC MS2 ne peut délivrer que +10V;-10V au maximum en sortie et ne peut
recevoir que +5V;-5V au maximum en entrée. Par conséquent il faut veiller à ce
que les ordres donnés par l'équation récurrente ne soit pas supérieurs aux valeurs
imposées par la technologie, de même pour les entrées. Il y a une petite marge de
manœuvre en jouant sur ∆, ce qui permet de modifier l'équation récurrente tout en
restant à l'intérieur des limites imposées par le théorème de Shannon.