Identification et Commande Numérique d’un Moteur à Courant Continu entrainant une Table Tournante A . Triki* et M. Diaf** *Dpartement d’Automatique, Université Mouloud Mammeri, Tizi-Ouzou, Email:[email protected] ** Dpartement d’Automatique, Université Mouloud Mammeri, Tizi-Ouzou, Email:[email protected] Résumé— Cet article traite l’identification et la commande numérique d’un moteur à courant continu assurant le mouvement de rotation d’une table tournante. En premier lieu sont présentées les étapes qui ont permis l’identification du modèle du moteur à courant continu. En second lieu, une commande numérique, permettant d’atteindre un fonctionnement performant de ce moteur, est calculée puis vérifiée par simulation. En dernier lieu, l’implémentation de cette commande numérique dans un calculateur numérique est abordée. Mots clés- identification, modélisation, moteur à courant continu, commande numérique, table tournante. Ainsi, dans ce papier, il s’agit d’une étude d’une réalisation d’une boucle de commande numérique d’un moteur à courant continu à aimant permanent entrainant une charge fixe de type table tournante à travers un mécanisme de réduction de vitesse réalisé à base de roues dentées (fig.1). En première partie, l’identification de la fonction de transfert du moteur à commander est réalisée. Ensuite, nous procédons au calcul et à la simulation d’une loi de commande numérique permettant de rendre la vitesse du moteur indépendante du couple résistant appliqué ainsi que des variations de vitesse les plus rapides et les plus précises possibles. L’algorithme du programme réalisant la commande numérique est donné dernière partie. Abstract—This paper deals with an identification of a DC motor used for a digital control of a turntable. First, we describe the steps required for obtaining the analog model of the DC motor. Second, the digital model is calculated and a digital control allowing an efficient functioning of the system is realized. Thus, after simulation step, the digital control has been implemented on a microcomputer for driving the system. The tests have shown the good performances of the adopted procedure. Key-word - identification; modeling, DC motor Digital control, turntable. Disque Réducteur de vitesse Moteur à courant continu Équipé d’un capteur de vitesse Fig.1 Schéma de l’ensemble moteur à courant continu, réducteur de vitesse et table tournante. II. IDENTIFICATION DE LA FONCTION DE TRANSFERT I. INTRODUCTION Malgré les progrès scientifiques et technologiques qu’ont connus les machines asynchrones, la machine à courant continu reste encore la machine par excellence pour les applications demandant un contrôle de vitesse [1]. Du fait du développement et de la disponibilité de plus en plus des circuits numériques performants, le contrôle de vitesse ou de position d’une machine à courant continue est souvent réalisé en utilisant une commande numérique. Pour ce faire, le calcul d’une commande d’un procédé nécessite souvent la détermination de son modèle sous forme de fonction de transfert ou d’équations d’état. L’objectif de cette partie est de déterminer une relation mathématique, sous forme de fonction de transfert, liant la tension d’alimentation du moteur um à la vitesse de la table tournante Ω. Pour ce faire, la structure de la fonction de transfert est déterminée à partir des équations physiques régissant le fonctionnement du moteur. Les paramètres de cette fonction de transfert sont ensuite identifiés. A. Structure de la fonction de transfert Les équations régissant le fonctionnement du moteur à courant continu sont les suivantes [2]: 𝑑𝑖(𝑡) 𝑢𝑚 (𝑡) = é + 𝑅 𝑖(𝑡) + 𝐿 𝑑𝑡 é(𝑡) = 𝑘 𝛺𝑚 (𝑡) 𝑑𝛺𝑚 (𝑡) 𝐽 = 𝐶𝑚 (𝑡) − 𝐶𝑟 (𝑡) 𝑑𝑡 𝐶𝑚 (𝑡) = 𝑘 𝑖(𝑡) 𝛺(𝑡) = 𝐾𝑅 𝛺𝑚 (𝑡) 𝑢 𝑇 (𝑡) = 𝐾𝑇 𝛺𝑚 (𝑡) où é est la FEM du moteur, R, la résistance de l’induit du moteur, L, l’inductance de l’induit du moteur, k, la constante du moteur, i, le courant traversant l’induit du moteur, Ω, la vitesse du moteur, Cm , le couple électromagnétique du moteur, J, le moment d’inertie de l’ensemble des pièces tournantes ramenées à l’arbre du moteur, Cr, le couple résistant dû à toutes les charges tournantes et appliqué au moteur par l’intermédiaire du réducteur, kR, le rapport de réduction du réducteur de vitesse, kT, le gain du capteur de vitesse et uT, la tension en sortie du capteur de vitesse. Le couple résistant est composé d’un couple dépendant de la charge 𝐶𝑐 et d’un couple proportionnel à la vitesse due essentiellement aux frottements dans le réducteur de vitesse. Ainsi on a : 𝐶𝑟 = 𝐶𝑐 + 𝜆 𝜔 𝑜ù 𝜆 est le coefficient des frottements. Du faite de l’importance du rapport de réduction (1/70) du réducteur de vitesse, la charge influe peu sur l’arbre du moteur et le couple de frottement est assez important. Ainsi le couple de la charge est négligeable devant le couple de frottement. Par conséquent on a : 𝐶𝑟 = 𝜆 𝜔 et J d Cm dt L’application de la transformé de Laplace aux équations précédentes nous a permet d’exprimer la fonction de transfert recherchée sous forme d’un second ordre tel que : Ω(𝑃) 𝐺 𝐺(𝑝) = = 2 ℎ 1 𝑈(𝑃) 1+ 𝑝 + 2 𝑝2 𝑤𝑛 𝑤𝑛 où: 𝑘𝐾 2 ℎ 𝑅𝐽+𝐿𝜆 1 𝐿𝐽 𝐺= 2 𝑅 , = 2 et 2 = 2 𝑘 +𝑅𝜆 𝑤𝑛 𝑘 +𝑅𝜆 𝑤𝑛 𝑘 +𝑅𝜆 Ainsi pour connaitre le modèle du moteur, il est nécessaire d’identifier les valeurs des paramètres G, h et 𝑤𝑛 . B. Identification des paramètres G, h et wn Afin d’identifier les paramètres G, h et wn, nous avons réalisé le montage de la figure (2) nous permettant d’effectuer un essai indiciel et relever l’allure de sa réponse. L’alimentation stabilisée est réglée pour générer une tension continue de 6V. La tension uT en sortie du capteur de vitesse est mesurée à l’aide d’un oscilloscope numérique puis enregistrée sur le PC en 2050 échantillons (kT, Ωmes (kT)) où 𝑘T représente les instants de mesures séparés par une période T = 0.1 ms et 𝛺𝑚𝑒𝑠 (𝑘𝑇) représente la vitesse mesurée a l’instant 𝑘𝑇 . Pc Oscilloscope numérique Moteur CC équipé d’un capteur de vitesse Alimentation stabilisée Fig.2 Montage de l’essai indiciel La réponse indicielle ainsi que la tension d’alimentation du moteur, obtenues après réalisation de l’essai indiciel, sont représentées en figure (3). 16 14 12 vitesse mesurée (tours/minute) Tension d'alimentation (Volts) 10 8 6 4 2 0 -2 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 Fig.3 Tension d’alimentation et réponse indicielle du moteur. A partir de l’allure de la cette courbe, on conclut que l’expression de la réponse indicielle en vitesse est celle correspondant à un régime apériodique. Ainsi, l’expression de la réponse indicielle est [3]: 𝑡 𝑡 𝜏1 𝜏2 − − Ω(𝑡) = Ω∞ ( 1 + 𝑒 𝜏1 + 𝑒 𝜏2 ) 𝜏2 − 𝜏1 𝜏1 − 𝜏2 où Ω∞ = 𝐺 𝑢0 et 1 𝜏1 = (ℎ + √ℎ2 − 1 ) , 𝜏2 = 𝑤𝑛 1 𝑤𝑛 (ℎ − √ℎ2 − 1 ) Pour estimer les valeurs des paramètres G, h et wn nous avons utilisé le principe des moindres carrés pour minimiser le critère quadratique suivant : 𝑁 𝐽 = ∑ [Ω(𝑘𝑇) − Ωmes (𝑘𝑇)]2 𝑘=0 où Ωmes (𝑘𝑇) est la mesure de la réponse indicielle prise à l’instant kT et Ω (𝑘𝑇), la valeur de la réponse indicielle estimée à l’instant kT définie par l’expression ci-dessus. De la minimisation de ce critère, résulte les valeurs suivantes : G = 6, h = 1.12 et wn = 37.26 Ceci donne : 6 𝐺(𝑃) = 1 + 0.06 𝑝 + 0.0007𝑝2 La figure (4) représente la réponse indicielle mesurée et la réponse indicielle obtenue après identification mesurées en tr/mn. de même valeur, uF(k), exploitable par le calculateur numérique. Le schéma fonctionnel dans le domaine fréquentiel correspondant au schéma bloc précédent est donné par la figure 6 suivante : 16 14 12 10 8 6 4 2 0 -2 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 Fig.4 Réponse indicielle mesurée et réponse indicielle estimée. III. COMMANDE NUMERIQUE DU MOTEUR A COURANT CONTINU Pour contrôler la vitesse d’un moteur à courant continu à aiment permanant on peut agir soit sur la tension aux bornes de l’induit, soit sur le courant dans cet induit. Dans notre cas, nous avons choisis d’agir sur la tension de l’induit à travers un circuit actif en commutation (circuit de puissance) commandé par la technique de modulation de largeur d’impulsion (MLI) dont le rapport cyclique est à calculer par un régulateur numérique [4]. Pour ce faire nous avons réalisé la boucle de commande numérique représentée en figure (5). Ωc(k) e(k Calcul de la u(k) B um(t) Moteur et Ω(k) circuit de O Module ) tension de MLI puissance Z commande Ω(k) Calcul de la UT(k C UT(t vitesse de la ) A ) table N mesurée Calculateur numérique Fig.5 Schéma-bloc de la commande numérique de la vitesse du moteur à courant continu Dans ce schéma le rôle de chaque partie est décrit ciaprès. Le régulateur numérique permet de générer une tension de commande u(k) à chaque instant d’échantillonnage kT. Le bloqueur d’ordre zéro (BOZ) permet de maintenir la tension de commande u constante entre les instants kT et (k+1)T. Le bloc de calcul de la vitesse du moteur détermine la vitesse de la table Ω(k) à partir de la tension générée par le tachymètre uT(k) : 𝐾 Ω = 𝑅 𝑢𝐹 , ce qui donne : Ω = 0.0897 𝑢𝐹 𝐾𝑇 Le module MLI utilise la technique modulation de largeur d’impulsion (MLI) pour générer un signal (tension continue umli) carré de fréquence fmli= 1KHZ, d’amplitude de 5V et d’un rapport cyclique α = u(k)/5 Le moteur à courant continu et circuit de puissance représente le processus à commander comprenant le moteur modélisé précédemment par G(p) et un circuit de puissance équivalent à un gain Kp= 5/6. Le convertisseur analogique numérique CAN permet de convertir la tension continue analogique délivrée par le capteur de vitesse, uT(t,) en une tension numérique Ωc(z) +- E(z) C(z) U(z) G(z) Ω(z) Fig. 6 Le schéma fonctionnel dans le domaine fréquentiel. Ici, Ωc(z), E(z), U(z) et Ω(z) sont les transformées en z des signaux Ωc(k), e(k), u(k) et Ω(k) respectivement. Quant à C(z), elle est la fonction de transfert du correcteur numérique et G(z), la fonction de transfert de l’ensemble bloqueur d’ordre zéro, moteur et circuit de puissance. A. Calcul de la loi de commande u(k) Sachant que la loi de commande numérique u(k) doit permettre de rendre la vitesse du moteur indépendante du couple résistant appliqué ainsi que des variations de vitesse rapides et précises, nous avons calculé la loi de commande u(k) permettant d’obtenir pour la boucle de commande numérique un modèle du second ordre caractérisé par un temps de réponse tr = 0.07s, un dépassement maximal D% = 5% et une erreur statique nulle. Le calcul de cette loi de commande est effectué en les six étapes suivantes : a. Calcul de la fonction de transfert analogique désirée en boucle fermée H(p) : Des abaques caractéristiques du système du seconde ordre, nous avons remarqué que [5]: pour obtenir un dépassement (D%) de 5% il faut avoir h=0.7. pour le cas où h=0.7 on a ωn t r = 3 , d’où 𝑟𝑎𝑑 pour tr=0.07s ωn = 42.857 . 𝑠 Pour avoir l’erreur statique nulle il suffit d’avoir 𝐻(0) = 1 . Par conséquent, la fonction de transfert analogique désirée du système en boucle fermée est : 1 𝐻(𝑝) = 2 ℎ 1 1+ 𝑝 + 2 𝑝2 𝑤𝑛 𝑤𝑛 3 avec : ℎ = 0.7, ωn = = 42.857 𝑟𝑎𝑑/𝑠 0.07 1 𝐻(𝑝) = 1 + 0.0327𝑝 + 0.0005 𝑝2 De la figure (7) représentant la réponse indicielle de 𝐻(𝑝), nous avons mesuré un temps de réponse de 0.07s, un dépassement maximal de 5% et une erreur statique de 0. De ce fait les H(p) satisfait bien les exigences ci-dessus Step Response 𝐻(𝑧) = Amplitude 1.5 Ceci donne : 1 𝐻(𝑧) 𝐺(𝑧)[1 − 𝐻(𝑧)] Après application numérique nous avons aboutis à: 𝐶(𝑧) = 0.5 0 0 0.05 0.1 0.15 0.2 0.25 Time (sec) Fig. 7 Réponse indicielle de H(p) c. Calcul de la fonction de transfert échantillonnée G(z) du moteur muni du BOZ La fonction de transfert échantillonnée G(z) est définie par la relation suivante [6] : G(p) G(z) = (1 − z −1 ) TZ [ ] P G(z) ] est P 02304 − 0.1178𝑧 −1 − 0.1528 𝑧 −2 + 0.07998z −3 1 −0.736𝑧 −1 − 0.6305 z −2 + 0.3665z −3 𝐶(𝑧) = b. Choix de la période d’échantillonnage La condition que doit satisfaire le pas d’échantillonnage pour un système du second ordre étant 0.25 < ωn < 1.25 [6], ce qui se traduit dans notre application par 0.006 < < 0.029, nous avons fixé = 0.01s. TZ [ 𝐶(𝑧)𝐺(𝑧) 1 + 𝐶(𝑧) 𝐺(𝑧) la transformé en Z du terme G(p) P Perturbation P(t) Après tout calcul, nous obtenons : 𝐺(𝑧) = 0.3248 z + 0.2441 2 𝑧 − 1.33 z + 0.4244 d. Calcul de la fonction de transfert échantillonnée désirée en boucle fermée La fonction de transfert échantillonnée désirée en boucle fermée est définit par la relation suivante [7] : 𝐻(𝑧) = 𝑏1 (𝑧 − 𝑧0 ) (𝑧 − 𝑧1 )(𝑧 − 𝑧2 ) avec : 𝑤𝑛 sin(𝑤𝑝 ∆) − cos(𝑤𝑝 ∆)], 𝑤𝑝 𝑤𝑛 [ℎ sin(𝑤𝑝 ∆) − cos(𝑤𝑝 ∆)] 𝑤𝑝 𝑏1 = 𝑎0 + √𝑎0 [ℎ 𝑏0 = 𝑎0 + √𝑎0 2 𝑤 𝑝 = 𝑤𝑛 √2 − ℎ 𝑧1 = 𝑧2∗ = 𝑒 (−ℎ𝑤𝑛 ∆±𝑗𝑤𝑝 ∆) , 𝑧0 = − 𝑏0 𝑏1 Ainsi: 𝐻(𝑧) = f. Calcul de la loi de commande A partir du l’expression de C(z), nous pouvons écrire : U(z)[1 −0.736z −1 − 0.6305 z −2 + 0.3665z −3 ] = E(z)[ 0.2304 − 0.1178z −1 − 0.1528 z −2 + 0.07998z −3 ] Le passage dans le domaine temporel [8] donne la loi de commande sous forme de l’équation de récurrence suivante : u(k) = 0.2304 e(k) − 0.1178 e(k − 1) − 0.1528 e(k − 2) + 0.07998 e(k − 3) + 0.736 u(k − 1) + 0.6305 u(k − 2) − 0.3665 u(k − 3) B. Simulation de la loi de commande calculée Afin de valider la loi de commande calculée, u(k), le schéma fonctionnel de la figure 8 a été réalisé en Matlab Simulink. 0.0748z + 0.0612 2 𝑧 − 1.413 z + 0.5488 Consigne Ωc(z) E(z) + - U(z) C(z) Fig.8 Schéma de simulation de la commande u(k). Quatre cas ont été considérés : La consigne est un échelon d’amplitude 10 tours/minute et la perturbation nulle La perturbation est nulle et la consigne vaut 19 tours/minute La perturbation est un échelon d’amplitude 5 et la consigne est de 10 tours/minute la consigne est un échelon d’amplitude 15 tours/minute et la perturbation est un échelon d’amplitude 4. Les résultats de simulation des quatre cas précédents sont représentés par la figure 9. 20 15 consigne consigne 15 10 sortie e. Calcul de du correcteur numérique A partir du schéma fonctionnel de la figure 6 on déduit que la fonction de transfert en boucle fermée s’exprime comme suit : Sortie Ω(z) +- G(z) 5 0 commande 0.2 0.4 0.6 commande 5 perturbation 0 0 sortie 10 0.8 0 0.2 perturbation 0.4 0.6 0.8 15 15 consigne 10 perturbation 5 sortie commande 5 0 V. consigne 10 perturbation 0 0.2 0.4 0.6 0 0.8 -5 sortie 0 0.2 commande 0.4 0.6 0.8 Fig.9 Résultats de simulation. A partir des résultats obtenus, nous constatons que : - dans les quatre cas le temps de réponse est de 0.07s, le dépassement est inférieur à 5% et l’erreur statique est nulle. - en l’absence de perturbation, la limite de saturation de commande (5V) est atteinte pour une consigne de 19 tours/minute. - en présence de perturbation de type échelon d’amplitude 4, la limite de saturation de consigne est atteinte pour une valeur de consigne de 10 tours/minute. IV. IMPLEMENTATION DE LA COMMANDE NUMERIQUE L’algorithme du programme permettant à un calculateur numérique de générer la tension u(t) à partir de la valeur de la vitesse consigne ΩC et de la mesure de la tension uT(t) est donné à la figure (8). 1. initialiser à zéro de toutes les variables utilisées ; u(k-5)= u(k-4)= u(k-3)= u(k-2)= u(k-1)= 0 Ω(k-5) = Ω(k-4) = Ω(k-3) = Ω(k-2) = Ω(k-1) = 0 2. Lire de la valeur de la vitesse consigne ΩC(k) 3. Acquérir et convertir en numérique la tension analogique uF(k) 4. Calculer de la vitesse de la table mesurée Ωm(k) à partir de la valeur de tension uF(k) : Ωm(k) = uF(k)/KT. 5. Calculer de e(k) l’écart entre la vitesse consigne et la vitesse de la table : e(k)= ΩC(k)-Ωm(k) 6. Calculer de la commande u(k) 7. Calculer du rapport cyclique du module MLI, α: α = u(k)/5 8. Générer la tension MLI um(k) de rapport cyclique α et de période Tmli=1ms 9. Décaler les valeurs u(k-5) = u(k-4), u(k-4) = u(k-3), u(k-3) = u(k-2), u(k-2) = u(k-1), u(k-1) = u(k), 10.Attendre une période d’échantillonnage 11.Revenir à l’étape 2 Fig.8 Algorithme de la programmation de u(k) CONCLUSION Après avoir obtenu le modèle du moteur à courant continu à aimant permanant assurant le mouvement de rotation d’une table tournante, nous avons exprimé cela comme une fonction de transfert du second ordre. Puis, nous avons utilisé le principe des moindres carré pour identifier les paramètres de la dite fonction de transfert. En seconde partie, nous avons réalisé le calculé la commande numérique permettant de rendre la vitesse du moteur indépendante du couple résistant appliqué au moteur d’une part, et des variations de vitesse les plus rapides et les plus précises possibles d’autre part. En dernière partie, nous avons présenté un algorithme d’un programme permettant à un calculateur numérique de réaliser la commande numérique calculée. Sur le plan pratique, il sera intéressant d’implémenter la commande numérique du régulateur à l’aide d’un microcontrôleur de type PIC16F877 par exemple. VI. REFERENCES [1] D. Jacob. REGULATION, Régulation PID en génie électrique. Etude de cas. Edition ellipses, 2000. [2] G.Lacroux. Les actionneurs électriques pour la robotique et les asservissements. Edition LAVOISIER, 1994. [3] E.Boukas. Systèmes Asservis. Edition de l’école polytechnique de Monréal, 2001. [4] P.Mayé. Moteurs électriques pour la robotique. Edition DUNOD, 2000. [5] M. Rivoire et J.L. Ferrier. Cours d’Automatique, Tome 2, Commande analogique. Edition EYROLLES, 1996. [6] M. Rivoire et J.L. Ferrier. Cours d’Automatique, Tome 3, Commande par Calculateur Identification. Edition EYROLLES, 1997. [7] P. Siarry, AUTOMATIQUE DE BASE. Edition Ellipses, 1997 [8] A.TRIKI, Contribution à l’étude et réalisation d’un asservissement comprenant une table tournante, un robot et un système de vision artificielle, Mémoire de magister en Automatique, Université Mouloud Mammeri de Tizi-Ouzou, Algérie, 2010.