See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/238730775 COMMANDE D'UNE MACHINE SYNCHRONE A AIMANTS PERMANENTS ET ESTIMATION DE CES PARAMETRES EN UTILISANT LE FILTRE DE KALMAN ETENDU Article CITATIONS READS 0 2,755 3 authors, including: F. Benchabane K. Yahia Université de Biskra CISE - Electromechatronic Systems Research Centre, University of Beira Interior, Cov… 19 PUBLICATIONS 77 CITATIONS 26 PUBLICATIONS 189 CITATIONS SEE PROFILE Some of the authors of this publication are also working on these related projects: Prony's Method View project Induction Motors Fault Diagnosis View project All content following this page was uploaded by K. Yahia on 05 March 2014. The user has requested enhancement of the downloaded file. SEE PROFILE Courrier du Savoir – N°07, Décembre 2006, pp.37-43 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 (sinustriangle). 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 variables indépendants. 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 : ⎡ y (X) ⎤ ⎡ h1 (X) ⎤ ⎡ x1 ⎤ ⎡ Id ⎤ Y(X) = ⎢ 1 ⎥=⎢ ⎥=⎢ ⎥=⎢ ⎥ ⎣ y 2 (X) ⎦ ⎣ h 2 (X) ⎦ ⎣ x 3 ⎦ ⎣ Ω ⎦ Université Mohamed Khider – Biskra, Algérie, 2006 (2) A. Titaouine & al. ⎡ 1 ⎢L ⎢ d ⎡ x1 ⎤ ⎡ Id ⎤ ⎡ Vd ⎤ ⎢ ⎢ ⎥ ⎢ ⎥ X = ⎢ x 2 ⎥ = ⎢ Iq ⎥ ; U = ⎢ ⎥ ; G = ⎢0 ⎣ Vq ⎦ ⎢ ⎢ ⎥ ⎣⎢ x 3 ⎦⎥ ⎣ Ω ⎦ ⎢0 ⎢ ⎣ ⎤ 0 ⎥ ⎥ 1 ⎥ ⎥ Lq ⎥ 0 ⎥ ⎥ ⎦ avec : L2f h 2 (x) = f1 ⋅ p J ; c3 = Finalement, la relation entrée- sortie du modèle est donnée par l’expression suivante : ⎡d ⎤ ⎡• ⎤ ⎢ Id ⎥ y (x) ⎡ Vd ⎤ ⎢ 1 ⎥ = ⎢ dt ⎥ ⎢ •• ⎥ ⎢ d 2 ⎥ = A(X) + D(X) ⎢ Vq ⎥ ⎣⎢ ⎦⎥ ⎢⎣ y 2 (x) ⎥⎦ ⎢ Ω⎥ ⎣ dt 2 ⎦ p ⋅ φf J degré relatif par rapport à la sortie y1 (x) • y1 (x) = h1 (x) = Lf h1 (x) + Lg h1 (x) ⋅ U (3) où • g1 ⎡ D(X) = ⎢ (L ⎢g ⋅ p d − Lq ) x 2 ⎢⎣ 1 J ⎤ ⎥ )⎥ ⎥⎦ 0 g2 ⋅( p(Ld − Lq ) J φ x1 + p f J (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é : (4) Lg h 2 (x) = 0 ⎡d ⎤ ⎡• ⎤ ⎢ Id ⎥ y (x) ⎡ v1 ⎤ dt ⎢ 1 ⎥=⎢ ⎥ ⎢ •• ⎥ ⎢ d2 ⎥ = ⎢v ⎥ ⎣ 2⎦ ⎣⎢ y 2 (x) ⎦⎥ ⎢ 2 Ω ⎥ ⎣ dt ⎦ la dérivée de lie de H 2 (x) relative à g est nulle. • y 2 (x) = Lf h 2 (x) = f3 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. •• ⎤ ⎥ ⎞ f⎥ − f ⎟ 3 ⎥ J⎦ ⎠ ⎡ ⎡ Vd ⎤ ⎛ v1 ⎞ ⎤ −1 ⎢ ⎥ = D (X) ⎢ −A(X) + ⎜ ⎟ ⎥ ⎢⎣ ⎝ v 2 ⎠ ⎥⎦ ⎣⎢ Vq ⎦⎥ degré relatif par rapport à la sortie y2(x) • f1 ⎡ ⎢ (Ld − Lq ) A(X) = ⎢ ⎛ p ⋅ (Ld − Lq ) φ x 2 + f2 ⎜ x1 + p f ⎢f1 ⋅ 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 (v1 , v 2 ) relie les nouvelles entrées internes aux entrés (Vd , Vq ) physiques le degré relatif étant r1 = 1 . y 2 (x) = h 2 (x) = Lf h 2 (x) + Lg h 2 (x) ⋅ U = f3 (5) où : 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]. = f1 + g1 Vd 1 p(Ld − Lq ) φ ⎤ ( x1 + p f ) ⎥ Lq J J ⎦⎥ Le système est exactement linéarisable r = n = 3 , ou n est l’ordre du système (1). 3 LINEARISATION ENTREE-SORTIE DE LA MACHINE SYNCHRONE • ⎞ f ⎟ − f3 J ⎠ Le degré relatif du système est r = r1 + r2 = 3 p ⋅ Lq R R p ⋅ Ld a1 = − s ; a 2 = ; b1 = − s ; b 2 = − Ld Ld Lq Lq p ⋅ φf f ; c1 = − ; c 2 = Lq J ⎛ p ⋅ (Ld − Lq ) φ x 2 + f2 ⎜ x1 + p f J J ⎝ le degré relatif par rapport à y 2 est r2 = 2 . ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥⎦ et b3 = − J ⎡ 1 (Ld − Lq ) Lg Lf h 2 (x) = ⎢ p x2 J ⎣⎢ Ld ⎡ ⎡f1 (X) ⎤ ⎢ a1 ⋅ x1 + a 2 ⋅ x 2 ⋅ x 3 ⎢ ⎥ ⎢ F(X) = ⎢f 2 (X) ⎥ = ⎢ b1 ⋅ x 2 + b 2 ⋅ x1 ⋅ x 3 + b3 ⋅ x 3 ⎢⎣f 3 (X) ⎥⎦ ⎢ C ⎢ c1 ⋅ x 3 + c2 ⋅ x1 ⋅ x 2 + c3 x 2 − r ⎢⎣ J p ⋅ (Ld − Lq ) (Ld − Lq ) •• y 2 (x) = h 2 (x) = L2f h 2 (x) + Lg Lf h 2 (x) ⋅ U 38 (7) Commande d’une machine synchrone a aimants permanents et estimation de ces paramètres en utilisant le filtre de Kalman étendu 4 COMMANDE VITESSE NON LINEAIRE 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 ceuxci sont décorrelés des états estimés. De plus, les bruits d’état doivent être décorrelés des bruits de mesure. EN 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]. d − Id ) + Idref dt v1 = k11 (Idref v1 = k 22 (Ωref − Ω) + k 21 ( 5.2 Algorithme La procédure d’estimation se décompose en deux étapes [4][5] : (8) dΩref dΩ d 2 Ωref − ) dt dt dt 2 • ˆ + 1 / k) = f (x(k ˆ / k), u(k)) x(k (9) En boucle fermée, l’erreur de poursuite est : d e1 + k11 = 0 dt d2 dt 2 e2 + k 21 (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. (10) d e 2 + k 22 e 2 = 0 dt Une étape de prédiction : P(k + 1 / k) = F(k)P(k)F(k)T + Q (11) (13) avec : avec : F(k) = e1 = Idref − Id e 2 = Ωref − Ω Les coefficients k11 , k 21 , k 22 sont choisis tels que : • P + k11 = 0 ∂f (x(k), u(k)) ∂x T (k) ˆ / k) x(k) = x(k Une étape de correction : En minimisant la variance de l’erreur, on obtient les expressions suivantes : P 2 + k 21 P + k 22 = 0 • Le schéma de cet algorithme est illustré à la figure 1. calcul du gain de Kalman : K(k + 1) = P(k + 1 / k).H(k)T .(H(k)P(k + 1 / k)H(k)T + R) −1 (14) Estimation de Cr avec : Idref + - v1 k11 Ω ref + + k 22 d dt - + + H(k) = Id D −1 Vd , Vq MSAP Ω • k 21 A(X) ∂h(x(k)) ∂x(k) x(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) Ω, Id ,Iq (15) Figure 1 : Principe de la commande N.L en vitesse • Estimation du vecteur d’état à l’instant k + 1 : ˆ + 1/ k + 1) = x(k ˆ + 1/ k) + K(k + 1)(y(k + 1) − Hx(k ˆ + 1/ k)) x(k 5 DEVELOPPEMENT L'ALGORITHME ETENDU DE DE KALMAN (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 Simulink. Ce filtre est implanté donc comme une "Sfunction" (fonction système), puis, il est inséré dans le 5.1 Principe Le filtre de Kalman étendu est un outil mathématique capable de déterminer des grandeurs d'états non mesurables évolutives ou des paramètres du système d'état à partir des grandeurs physiques mesurables [4]. 39 A. Titaouine & al. 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]. Ω ref + - Vd Idref + Ω̂ Îd Îq - C.N.L Vq Vd Vq θ̂ 1 1 Filtre de Kalman Etendu Tension 2 Courant S-Function Îq Îd 2 Îq 3 Ω̂ 4 θ̂ 5 Ĉr Ω̂ Îd T −1 Filtre de Kalman étendu Onduleur à MLI MSAP T Id Iq T' Ĉr Figure 3 : Commande non linéaire en vitesse avec Application du filtre de Kalman étendu 7 RESULTATS DE SIMULATION Figure 2 : Représentation du filtre de Kalman étendu sous forme de S-function 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. 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 . 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 6 COMMANDE NON LINEAIRE SANS CAPTEURS MECANIQUE DE VITESSE ET DE POSITION AVEC ESTIMATION DU COUPLE DE CHARGE 5 Nm à partir de t=0.2 s . 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. 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 : f (x(k), u(k)) = ⎡⎣ Id Iq 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. T Ω θ Cr ⎤⎦ = Lq ⎡ ⎤ Rs 1 )Id + pΩTs Iq + Ts Vd ⎢ (1 − Ts ⎥ L L L d d d ⎢ ⎥ ⎢ ⎥ φsf Ld Rs 1 ⎢ (− pΩTs )Id + (1 − Ts )Iq − Ts pΩ + Ts Vq ⎥ Lq Lq Lq Lq ⎢ ⎥ ⎢ ⎥ L − L φsf f 1 ⎥ q ⎢ pT d I I pT I (1 T ) T C + + − Ω − q d s q s s r ⎢ s J J J J ⎥ ⎢ ⎥ Ω ⎢ ⎥ ⎢ ⎥ 0 ⎢ ⎥ T ⎢ ⎥ et : h = ⎡⎣ Id Iq ⎤⎦ ⎢ ⎥ ⎢⎣ ⎥⎦ 40 Commande d’une machine synchrone a aimants permanents et estimation de ces paramètres en utilisant le filtre de Kalman étendu Ω (rad / s) 5 100 4 103 3 102 101 50 2 100 99 98 0.09 0 20 Erreur (rad / s) 0 0.05 θ (rad) 1 0.1 0.11 0.1 0.12 0.13 0.15 t(s) 0.2 0.15 t(s) 0.2 0.1 0.15 t(s) 0.2 0.1 0.15 t(s) 0.2 0 0 0.05 Erreur (rad) 0.01 0.1 15 10 0 5 0 6 0 0.05 Cr (Nm) 0.1 0.15 t(s) -0.01 0.2 0 0.05 Erreur (Nm) 6 4 4 2 2 0 -2 0 0.05 0.1 0.15 0 t(s) 0.2 Iq (A) 50 0.4 40 0.3 30 0.2 20 0.1 10 0 0 0.05 0.1 0.15 0.2 0 0.1 -2 0 0 0.05 0.1 0.15 0 0.05 Erreur (A) 0.1 0.15 t(s) 0.2 0 0.1 0.15 t(s) 0.2 0 t(s) 0.2 Id (A) 2 -4 0 0.05 Erreur (A) t(s) 0.2 -0.1 0.05 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. 41 A. Titaouine & al. Ω (rad / s) 102 100 6 98 50 96 94 0.1 0.13 0.15 0 4 -50 2 -100 0 0.1 θ (rad) 0.2 0.3 0.4 t(s) 0.5 0 0.1 0.2 Erreur (rad) 0.3 0.4 t(s) 0.5 0 0.1 0.2 Erreur (Nm) 0.3 0.4 t(s) 0.5 0.2 0.3 0.4 0.5 0.2 0.3 0.4 0.5 0.2 0.3 0.4 0.5 0 0.02 20 0.01 15 10 0 5 -0.01 0 Erreur (rad / s) 8 104 100 0 0.1 Cr (Nm) 0.2 0.3 0.4 t(s) 0.5 -0.02 5 10 0 5 -5 -10 0 50 0.1 Iq (A) 0.2 0.3 0.4 t(s) 0.5 t(s) 0 0 0.1 Erreur (A) 0.4 0 0.3 0.2 -50 0.1 t(s) 0 2 0.1 0.2 0.3 0.4 t(s) 0 0.5 0 Id (A) 0.8 0.1 Erreur (A) 0.6 0 0.4 -2 -4 0.2 0 t(s) 0 0.1 0.2 0.3 0.4 0.5 t(s) 0 0.1 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. 42 Commande d’une machine synchrone a aimants permanents et estimation de ces paramètres en utilisant le filtre de Kalman étendu REFERENCES 8 CONCLUSION [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. 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). [2] S. Rebouh "Study of the vector and nonlinear control performances of a permanent magnet synchronous motor". Third international conference on systems, signals & devices. 2005Sousse, Tunisia. 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. [3] S. Frikha "Nonlinear control of a permanent magnet synchronous motor". Third international conference on systems, signals & devices. 2005Sousse, 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. PARAMETRES DE LA MACHINE [8] Ld = 4mH, Lq = 2.8mH, −3 φf = 0.12Wb, J = 1.1.10 Kg.m , f = 1.4.10−3 Nm.s.rd −1 , Cr = 8.5Nm, R s = 0.6Ω, Iqn = 20A, p = 4. 2 [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 . Les matrices de covariances de bruits d’état et de mesure sont données comme suit : ( P = diag ( ⎡⎣1e R = diag ( ⎡⎣1e Q = diag ⎡⎣1e2 1e2 1e2 2 1e2 1e 2 2 2 2 1e 1e ) 1e ⎤⎦ ) 1e ⎤⎦ ) 1e 2 ⎤⎦ 2 [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. 2 La période d’échantillonnage est : Te = 100 µs [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. 43 View publication stats