COMMANDE D’UNE MACHINE SYNCHRONE A AIMANTS PERMANENTS ET ESTIMATION DE CES PARAMETRES
EN UTILISANT LE FILTRE DE KALMAN ETENDU
A. TITAOUINE1, F. BENCHABANE2, K. YAHIA2, PR: A. MOUSSI1.
1. Laboratoire LMSE, Université Biskra, B. P 145 Biskra, Algérie, 2. Laboratoire LGEB, Université de Biskra, B. P 145 Biskra, Algérie.
[email protected] [email protected]
RESUME
Cet article présente la commande non linéaire d’une machine synchrone sans capteurs mécaniques de vitesse, position et couple de charge. La machine synchrone est alimentée par un onduleur de tension commandé par la technique MLI (sinus- triangle). La méthode utilisée pour l’estimation, sera substituée par un algorithme temps réel basé sur le filtre de Kalman étendu.
Les résultats obtenus par simulation, montrent l’efficacité du filtre de Kalman étendu. Ils se caractérisent par une erreur d’estimation très petite pour différentes vitesses de rotation (grandes vitesses, basses vitesses) ainsi, que par l’insensibilité aux variations de la charge.
MOTS CLES: Machine synchrone, modèle mathématique, commande non linéaire, filtre de Kalman étendu, estimation, identification.
1 INTRODUCTION
Les machines synchrones à aimants permanents se répandent de plus en plus comme actionneurs dans les industries automatisées où ils remplacent les moteurs à courant continu. Ils présentent sur ces derniers l’avantage d’avoir de meilleures performances (en terme de couple massique, par exemple) et de ne pas avoir de collecteur mécanique (ce collecteur pose des problèmes d’entretien et de comportement dans les environnements difficiles) [1].
En revanche, ils sont plus exigeants, le moteur à courant continu est alimenté par un convertisseur statique simple (un redresseur ou un onduleur) et une régulation de son courant d’induit permet de maîtriser le couple. Pour le MSAP, la fonction de collecteur est réalisée par un ensemble électronique : un onduleur de puissance, une mesure de position et une commande des courants pour contrôler le couple.
La commande non linéaire présente l’avantage de pouvoir commander séparément les courants et le couple. Avec cette technique de commande, le modèle du moteur est décomposé en deux sous systèmes linéaires mono
Chaque sous système représente une boucle indépendante de commande d’une variable donnée (vitesse, couple, courant etc.). La dynamique du système linéarisé est choisie par une imposition optimale des pôles.
2 MODELISATION DE LA MACHINE
Le modèle de machine synchrone, exprimé dans le référentiel lié au rotor sous forme d'équations d’état avec les hypothèses simplificatrices [2], s’écrit :X F(X) G U Y H(X)
⎧⎪ =• + ⋅
⎨⎪ =
⎩ (1)
avec :
1
1 1 d
3
2 2
x
y (X) h (X) I
Y(X) y (X) h (X) x
⎡ ⎤
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
=⎢⎣ ⎥ ⎢⎦ ⎣= ⎥⎦ ⎣ ⎦=⎢ ⎥=⎢ ⎥⎣ ⎦Ω (2)
d d
1
d
2 q
q q
3
1 0 I L
x V 1
X x I ; U ; G 0
V L
x
0 0
⎡ ⎤
⎢ ⎥
⎢ ⎥
⎡ ⎤ ⎡ ⎤
⎡ ⎤ ⎢ ⎥
⎢ ⎥ ⎢ ⎥
=⎢ ⎥⎢ ⎥⎣ ⎦ ⎣ ⎦=⎢ ⎥⎢ ⎥Ω =⎢⎣ ⎥⎦ =⎢⎢⎢ ⎥⎥⎥
⎢ ⎥
⎣ ⎦
1 1 2 2 3
1
2 1 2 2 1 3 3 3
3 r
1 3 2 1 2 3 2
a x a x x
f (X)
F(X) f (X) b x b x x b x
f (X) C
c x c x x c x
J
⎡ ⎤
⎢ ⋅ + ⋅ ⋅ ⎥
⎡ ⎤
⎢ ⎥
⎢ ⎥
=⎢ ⎥=⎢ ⋅ + ⋅ ⋅ + ⋅ ⎥
⎢ ⎥
⎢ ⎥
⎣ ⎦ ⎢⎢⎣ ⋅ + ⋅ ⋅ + − ⎥⎥⎦ et
s q s d
1 2 1 2
d d q q
d q
f f
3 1 2 3
q
R p L R p L
a ; a ; b ; b
L L L L
p (L L )
p f p
b ; c ; c ; c
L J J J
⋅ ⋅
= − = = − = −
⋅ −
⋅φ ⋅φ
= − = − = =
3 LINEARISATION ENTREE-SORTIE DE LA MACHINE SYNCHRONE
La condition de linéarisation permettant de vérifier si un système non linéaire admet une linéarisation entrée sortie est l’ordre du degré du système [2].
degré relatif par rapport à la sortie y (x)1
1 f 1 g 1
1
1 1 d
y (x) h (x) L h (x) L h (x) U f g V
• •
= = + ⋅
= + (3)
le degré relatif étant r1=1.
degré relatif par rapport à la sortie y2(x)
2 f 2 g 2 3
y (x)2 h (x) L h (x) L h (x) U f
• •
= = + ⋅ =
(4) où L h (x)g 2 =0
la dérivée de lie de H (x)2 relative à gest nulle.
f 2 3
y (x)2 L h (x) f
• = =
Nous voyons que la dérivée de la seconde sortie ne fait pas intervenir l’entrée U , il faut dériver une seconde fois cette sortie.
2 2f 2 g f 2
y (x)2 h (x) L h (x) L L h (x) U
•• ••
= = + ⋅
avec :
d q d q
2 f
f 2 1 2 2 1 3
d q d q f
g f 2 2 1
d q
(L L ) p (L L ) f
L h (x) f p x f x p f
J J J J
(L L ) p(L L )
1 1
L L h (x) p x ( x p )
L J L J J
− ⎛ ⋅ − φ ⎞
= ⋅ + ⎜ + ⎟−
⎝ ⎠
⎡ − − φ ⎤
=⎢ + ⎥
⎢ ⎥
⎣ ⎦
le degré relatif par rapport à y2est r2 =2.
Le degré relatif du système est r= + =r1 r2 3
Le système est exactement linéarisable r= =n 3, ou n est l’ordre du système (1).
Finalement, la relation entrée- sortie du modèle est donnée par l’expression suivante :
d 1 d
2 q
2 2
d I y (x) dt V
A(X) D(X) d V
y (x) dt
•
••
⎡ ⎤
⎡ ⎤ ⎢ ⎥ ⎡ ⎤
⎢ ⎥ ⎢= ⎥= + ⎢ ⎥
⎢ ⎥ ⎢ ⎥ ⎢⎣ ⎥⎦
⎢ ⎥ ⎢ Ω⎥
⎣ ⎦ ⎣ ⎦ (5)
où :
1
d q d q f
1 2 2 1 3
f
(L L ) p (L L )
A(X) f
f p x f x p f
J J J J
⎡ ⎤
⎢ ⎥
− ⋅ −
=⎢⎢⎣ ⋅ + ⎛⎜⎝ + φ ⎟⎠⎞− ⎥⎥⎦
1
d q d q f
1 2 2 1
g 0
D(X) (L L ) p(L L )
g p x g ( x p )
J J J
⎡ ⎤
⎢ ⎥
=⎢⎢⎣ ⋅ − ⋅ − + φ ⎥⎥⎦
Si le déterminant de la matrice de découplage est non nul, la loi de commande (NL) est définie par une relation qui relie les nouvelles entrées internes (v , v )1 2 aux entrés physiques (V , V )d q
d 1 1
q 2
V v
D (X) A(X)
V v
− ⎡ ⎤
⎡ ⎤ ⎛ ⎞
= ⎢− + ⎥
⎢ ⎥ ⎜ ⎟
⎢ ⎥ ⎢ ⎝ ⎠⎥
⎣ ⎦ ⎣ ⎦ (6)
D : étant la matrice de découplage. En remplaçant l’expression (6) dans (5) on obtient un système linéarisé et découplé :
d
1 1
2
2
2 2
d I
y (x) dt v
v y (x) d
dt
•
••
⎡ ⎤
⎡ ⎤ ⎢ ⎥ ⎡ ⎤
⎢ ⎥ ⎢= ⎥= ⎢ ⎥
⎢ ⎥ ⎢ ⎥ ⎣ ⎦
⎢ ⎥ ⎢ Ω⎥
⎣ ⎦ ⎣ ⎦ (7)
4 COMMANDE NON LINEAIRE EN VITESSE
4.1 Algorithme de commande
Pour imposer le régime statique et une dynamique sur l’erreur, les entrées internes sont calculées de la façon suivante [2] [3].
1 11 dref d dref
v k (I I ) d I
= − +dt
(8)
2
ref ref
1 22 ref 21 2
d d d
v k ( ) k ( )
dt dt dt
Ω Ω Ω
= Ω − Ω + −
(9) En boucle fermée, l’erreur de poursuite est :
1 11
2
2 21 2 22 2
2
d e k 0
dt
d d
e k e k e 0
dt dt
+ =
+ + =
avec :
1 dref d
2 ref
e I I
e
= −
= Ω − Ω
Les coefficients k , k , k11 21 22sont choisis tels que :
11 2
21 22
P k 0
P k P k 0
+ =
+ + =
Le schéma de cet algorithme est illustré à la figure 1.
- +
- +
-
ref + Ω
k11
Idref
k22
d
dt k21 A(X)
D−1 Ω
Id
v1
+ + -
d q
V , V
d q
, I , I Ω
MSAP Estimation de Cr
Figure 1 : Principe de la commande N.L en vitesse
5 DEVELOPPEMENT DE
L'ALGORITHME DE KALMAN ETENDU
5.1 Principe
Le filtre de Kalman étendu est un outil mathématique capable de déterminer des grandeurs d'états non
Ce filtre repose sur un certain nombre d’hypothèses, notamment sur les bruits. En effet, il suppose que les bruits qui affectent le modèle sont centrés et blancs et que ceux- ci sont décorrelés des états estimés. De plus, les bruits d’état doivent être décorrelés des bruits de mesure.
5.2 Algorithme
La procédure d’estimation se décompose en deux étapes [4][5] :
• Une étape de prédiction :
ˆ ˆ
x(k 1 / k)+ =f (x(k / k), u(k)) (12)
Cette étape permet de construire une première estimation du vecteur d’état à l’instant k 1+ . On cherche alors à déterminer sa variance.
P(k 1 / k)+ =F(k)P(k)F(k)T+Q
(13) avec :
T
x(k) x(k / k)ˆ
f (x(k), u(k)) F(k)
x (k) =
=∂
∂
• Une étape de correction :
En minimisant la variance de l’erreur, on obtient les expressions suivantes :
• calcul du gain de Kalman :
T T 1
K(k 1)+ =P(k 1 / k).H(k) .(H(k)P(k 1 / k)H(k)+ + +R)−
(14) avec :
ˆ x(k) x(k)
h(x(k))
H(k) x(k) =
=∂
∂
• Calcul de la matrice de covariance de l’erreur du filtre :
P(k 1 / k 1)+ + =P(k 1 / k)+ −K(k 1)H(k)P(k 1 / k)+ +
(15)
• Estimation du vecteur d’état à l’instant k 1+ :
ˆ ˆ ˆ
x(k 1 / k 1)+ + =x(k 1 / k)+ +K(k 1)(y(k 1) Hx(k 1 / k))+ + − +
(16) La simulation de la machine et la commande non linéaire
est implantée avec Matlab/Simulink. Le filtre de Kalman étendu présente un algorithme très complexe avec des opérations matricielles. Il est très difficile d'implanter toutes ces opérations matricielles en utilisant seulement (10)
(11)
schéma de simulation global en Simulink sous forme d'un bloc "S-function" (figure 2). L'utilisation des "S-function"
est incontournable pour la description des processus complexes, difficilement représentables graphiquement ou encore pour les systèmes sous forme de jeu d'équations [6],[7].
Filtre de Kalman Etendu
1 2 3 4 5
ˆId
Ωˆ
1
Tension
S-Function
2
Courant
ˆIq
ˆr
C θˆ
Figure 2 : Représentation du filtre de Kalman étendu sous forme de S-function
Le filtre de Kalman étendu est utilisé pour estimer les courants statorique Id, Iq , la vitesse, la position et le couple de charge du MSAP, alimenté par un onduleur de tension à MLI .
6 COMMANDE NON LINEAIRE SANS CAPTEURS MECANIQUE DE VITESSE ET DE POSITION AVEC ESTIMATION DU COUPLE DE CHARGE
La figure 3 représente le schéma global simulé de la CNL du MSAP associée au filtre de Kalman étendu.
Dans ce modèle non linéaire, on a supposé que la vitesse mécanique est un état et pas un paramètre.
x(k 1) f (x(k), u(k)) w(k) y(k) h(x(k)) v(k)
+ = +
⎧⎨ = +
⎩ (17)
avec :
T
d q r
s q
s d s q s d
d d d
d s sf
s d s q s s q
q q q q
d q sf
s q d s q s s r
f (x(k), u(k)) I I C
R L 1
(1 T )I p T I T V
L L L
L R 1
( p T )I (1 T )I T p T V
L L L L
L L f 1
pT I I pT I (1 T ) T C
J J J J
0
⎡ ⎤
=⎣ Ω θ ⎦ =
⎡ ⎤
− + Ω +
⎢ ⎥
⎢ ⎥
⎢ φ ⎥
⎢ − Ω + − − Ω + ⎥
⎢ ⎥
⎢ − φ ⎥
⎢ + + − Ω − ⎥
⎢ ⎥
⎢ Ω ⎥
⎢ ⎥
⎢ ⎥
⎢ ⎥
⎢ ⎥
⎢ ⎥
⎢ ⎥
⎣ ⎦
Ωref
Onduleur à
MLI MSAP
Idref
θˆ
Id
Iq
T−1
ˆr
C
Filtre de Kalman étendu ˆIq
ˆId
+ - + -
Vd
Vq T
T'
Ωˆ
C.N.L Ωˆ
ˆId
ˆIq
Vd
Vq
Figure 3 : Commande non linéaire en vitesse avec Application du filtre de Kalman étendu
7 RESULTATS DE SIMULATION
Afin d'évaluer les performances de l'algorithme d'estimation par le filtre de Kalman étendu et par conséquent les performances du système d'entraînement global, nous avons soumis notre système à divers tests de simulation, pour une commande non linéaire en vitesse et en position.
La figure 4 montre une réponse de vitesse lors du démarrage à vide du MSAP pour un échelon de consigne de 100 rd / s, suivie d'une application d’une charge de 5Nm à partir de t=0.2s. Notons, que les réponses en vitesse et en position estimées et réelles sont données dans le même graphe.
Pour tester la robustesse de la commande, on donne les résultats de simulation de la figure 5 qui présente le comportement de la MSAP pour une réponse de vitesse évolue comme suit: à l'instant initial, on applique un échelon de vitesse de 100rad/s. A t= 0.1s, on applique un couple de charge de 5Nm puis on l’annule a l’instant t=0.15; le sens de rotation du moteur est inversé à - 100rad/s à t=0.3 s et finalement à t=0.4s, la référence de vitesse devient +20rad/s.
On observe que les résultats d'estimation sont très satisfaisants en terme de robustesse. En effet, la figure 4 et 5 montrent que les erreurs d'estimation sont faibles, même lors des variations importantes de la vitesse. On peut noter que cet algorithme de réglage sans capteurs proposé possède une large capacité de réglage de vitesse et une bonne réponse aussi bien en régime transitoire qu'en régime statique.
et : h= ⎣⎡Id Iq⎤⎦T
0 0.05 0.1 0.15 0.2 0
50 100
00 0.05 0.1 0.15 0.2
1 2 3 4 5
0 0.05 0.1 0.15 0.2
0 5 10 15 20
-0.010 0.05 0.1 0.15 0.2 0
0.01
0 0.05 0.1 0.15 0.2
-2 0 2 4 6
0 0.05 0.1 0.15 0.2
0 2 4 6
0 0.05 0.1 0.15 0.2
0 10 20 30 40 50
0 0.05 0.1 0.15 0.2
0 0.1 0.2 0.3 0.4
0 0.05 0.1 0.15 0.2
-4 -2 0 2
0 0.05 0.1 0.15 0.2
-0.1 0 0.1 0.2
0.09 0.1 0.11 0.12 0.13 98
99 100 101 102 103
(rad / s)
Ω Erreur (rad / s)
Erreur (rad) (rad)
θ
C (Nm)r Erreur (Nm)
I (A) q Erreur (A)
I (A) d Erreur (A)
t(s) t(s)
t(s) t(s)
t(s) t(s)
t(s) t(s)
t(s) t(s)
Figure 4 : Comportement dynamique de la machine (application de la charge) pour l’asservissement de la vitesse par une commande non linéaire associée au filtre de Kalman étendu.
0 0.1 0.2 0.3 0.4 0.5 -100
-50 0 50 100
0 0.1 0.2 0.3 0.4 0.5
0 2 4 6 8
0 0.1 0.2 0.3 0.4 0.5
0 5 10 15 20
-0.020 0.1 0.2 0.3 0.4 0.5 -0.01
0 0.01 0.02
0 0.1 0.2 0.3 0.4 0.5
-10 -5 0 5
0 0.1 0.2 0.3 0.4 0.5
0 5 10
0 0.1 0.2 0.3 0.4 0.5
-50 0 50
0 0.1 0.2 0.3 0.4 0.5
0 0.1 0.2 0.3 0.4
0 0.1 0.2 0.3 0.4 0.5
-4 -2 0 2
0 0.1 0.2 0.3 0.4 0.5
0 0.2 0.4 0.6 0.8
0.1 0.13 0.15 94
96 98 100 102 104
(rad / s)
Ω Erreur (rad / s)
(rad)
θ Erreur (rad)
C (Nm) r Erreur (Nm)
I (A)q Erreur (A)
I (A) d Erreur (A)
t(s) t(s)
t(s) t(s)
t(s) t(s)
t(s) t(s)
t(s) t(s)
Figure 5 : Comportement dynamique de la machine (inversion du sens de rotation et basse vitesse) pour l’asservissement de la vitesse par une commande non linéaire associée au filtre de Kalman étendu.
8 CONCLUSION
Dans cet article, nous avons présenté un observateur d’état non linéaire (filtre de Kalman étendu) pour estimer la vitesse de rotation mécanique, la position du rotor et le couple de charge d’un MSAP commandé par la technique de commande non linéaire (CNL).
Les résultats obtenus en simulation montrent l’efficacité du filtre de Kalman étendu. Ils se traduisent par une erreur d’estimation très petite pour différentes vitesses de rotation (grandes vitesses, basses vitesses) ainsi que par l’insensibilité aux variations de la charge.
PARAMETRES DE LA MACHINE [8]
d q f
3 2 3 1
r s qn
L 4mH, L 2.8mH, 0.12Wb,
J 1.1.10 Kg.m , f 1.4.10 Nm.s.rd , C 8.5Nm, R 0.6 , I 20A, p 4.
− − −
= = φ =
= =
= = Ω = =
Les matrices de covariances de bruits d’état et de mesure sont données comme suit :
( )
( )
( )
2 2 2 2
2 2 2 2
2 2 2 2
Q diag 1e 1e 1e 1e P diag 1e 1e 1e 1e R diag 1e 1e 1e 1e
⎡ ⎤
= ⎣ ⎦
⎡ ⎤
= ⎣ ⎦
⎡ ⎤
= ⎣ ⎦
La période d’échantillonnage est :Te =100 sµ
REFERENCES
[1] E. Smigiel, G. Sturtzer" Modélisation et Commande Des Moteurs Triphasés,Commande vectorielle des moteurs synchrones, commande numérique par contrôleurs DSP". Edition Ellipses, 2000.
[2] S. Rebouh "Study of the vector and nonlinear control performances of a permanent magnet synchronous motor". Third international conference on systems, signals & devices. 2005- Sousse, Tunisia.
[3] S. Frikha "Nonlinear control of a permanent magnet synchronous motor". Third international conference on systems, signals & devices. 2005- Sousse, Tunisia.
[4] R. Benchaib " Application des modes de glissement pour la commande en temps réel de la machine asynchrone", Thèse de doctorat de l’université de Picardie Jules Vernes, France, 1998.
[5] M.Boussak, R. Pilioua-Sendo "Commande vectorielle sans capteur mécanique avec l’estimation de la position initiale des servomoteurs synchrones à aimants", 16éme journées Tunisiennes d’Electrotechnique et d’automatique, Hammamet Tunisie, 8 et 9 Novembre 1996 .
[6] F. Morand "Techniques d’observation sans capteur de vitesse en vue de la commande des machines asynchrones". Thèse de doctorat L’Institut National des Sciences Appliquées de Lyon.France.2005.
[7] G.terorde «Sensorless control of a permanent magnet synchronous motor for PV-powered water pump systems using the extended kalman filter».Ninth international Conference on Electrical Machine and Drives, conference Publication N0486,IEE,1999.
[8] B. Pioufle, G. Georgiou "Application des commandes non linéaires pour la regulation en vitesse ou en position de la machine synchrone autopilotée", Revue phys. Appl 25, 1990.