P08B06
Client
Renesas
Vincent MIGNARD (vincent.mignard@renesas.com)
Tolentino MARTINS (tolentino.martins@renesas.com)
Vincent MIGNARD (vincent.mignard@renesas.com)
Tolentino MARTINS (tolentino.martins@renesas.com)
Tuteur industriel
Thierry JOUANNET (thierry.jouannet@landisgyr.com)
Tuteurs techniques
Michel JAMES (michel.james@polytech.univ-bpclermont.fr
Jean-Pierre PLUMEY (jean-pierre.plumey@polytech.univ-bpclermont.fr)
Jean-Pierre PLUMEY (jean-pierre.plumey@polytech.univ-bpclermont.fr)
Etudiants
Rémy BORDIER(remy.bordier@polytech.univ-bpclermont.fr)
Damien RAYMOND (damien.raymond@polytech.univ-bpclermont.fr)
Damien RAYMOND (damien.raymond@polytech.univ-bpclermont.fr)
Plan
1) Résumé
Le but de ce projet est de concevoir un système capable de réguler le couple d’un moteur asynchrone triphasé.
Pour ce faire, un algorithme permettant l’acquisition et le traitement des données moteur doit être conçu. La méthode utilisée est la « DTC » (Direct Torque Control), ou Contrôle Direct du Couple. Cette régulation implique la mesure des courants dans les phases du moteur, ainsi que la tension. Un microcontrôleur SH7125 assure le traitement des données pour la commande d’un module de puissance et donc la commande d’alimentation et de couple du moteur.
Ce projet peut s’inscrire dans la réalisation de machines utilisées dans le monde industriel comme le domaine des produits blancs principalement. Ce système doit être développé pour Renesas, fabricant japonais de microcontrôleurs. Cette entreprise serait intéressée pour vendre à ses clients une librairie permettant d’intégrer directement la régulation du couple. Ceci permettrait de remplacer les moteurs universels par des machines asynchrones moins coûteuses.
Ce projet a déjà été traité par d'autres élèves l'année précédente mais l'objectif final n'a pas été atteint. Cependant, nous avons pu nous appuyer sur un solide existant.
Mots clés
- Contrôle direct du couple
- Acquisition de courants
- Estimateurs couple et flux
- Loi de commande
- Moteur asynchrone triphasé
- Microcontrôleur
- Carte puissance
2) Abstract
The aim of this project is to realise the regulation of a three phase aynchronous motor.
That’s why, an algorithm for acquisition and treatment must be created. The method is DTC, Direct Torque Control. Measures of a three phase currents and voltage are necessary. A microcontroleur SH7125 is in charge of data treatment.
This project can be used in industrial applications for washing machine for example. Renesas thinks it could be interesting in order to replace universal motors by asynchronous motors.
The main benefit is high performances: fast torque response, large torque at high speed, and low cost.
Key words
- Direct Torque Control
- Current acquisition
- Flow and torque estimators
- Command law
- Three-phase asynchronous motor
- Microcontroller
- Power card
3) Introduction
Dans le cadre de nos études en Génie Electrique à Polytech’ Clermont-Ferrand, nous avons réalisé un projet industriel. Celui-ci s'est déroulé en 300 heures, échelonné sur deux ans. Une étude de faisabilité a été réalisée en deuxième année, sur 50 heures. En troisième année, 250 heures furent consacrées à la conception.
Notre projet Contrôle d’un moteur asynchrone par la méthode DTC est proposé par la société japonaise Renesas, fabricante de microcontrôleurs. Ce projet est réalisé en collaboration avec une autre équipe travaillant sur le Contrôle d'un moteur asynchrone par la méthode FOC.
Nos clients sont Tolentino Martins et Vincent Mignard, de Renesas. M.James et M.Plumey sont nos tuteurs techniques, enseignants au département Génie Electrique de Polytech’ Clermont-Ferrand. Monsieur Jouannet, ingénieur à Landis&Gyr est notre tuteur industriel : il nous conseille pour la gestion de projet.
Notre client, Renesas, souhaite proposer des solutions pour piloter des moteurs, par l’utilisation de ses microcontrôleurs. La méthode consiste à contrôler directement le couple d’une machine asynchrone : ce procédé est largement utilisé dans le monde industriel (traction ferroviaire, robotique, produit blancs…).
En effet, la machine asynchrone présente de nombreux avantages notamment au niveau de l’encombrement, du poids, de la robustesse et surtout en ce qui concerne le coût et sa facilité de maintenance.
Ce sujet de projet est étudié depuis deux ans. L’étude a bien avancé, mais de nombreuses phases de test sur le prototype n’ont pas été réalisées.
Il va falloir créer un système pour l’acquisition des courants du moteur. Le traitement de ces informations permettra ultérieurement de mettre en œuvre des estimateurs de flux et de couple.
Une loi de commande sera alors utile pour contrôler directement le couple du moteur.
Tout d’abord, nous allons présenter le projet avec son origine et ses objectifs. Nous présenterons par la suite notre cahier des charges.
Ensuite, les aspects de gestion de projet seront abordés pour effectuer le découpage des tâches et la répartition des ressources humaines. Alors, la conception sera traitée.
Pour finir, nous parlerons de la finalité du projet et de ses perspectives.
4) Présentation du Sujet
A partir du réseau EDF monophasé 230V-50 Hz, une tension continue est construite à l’aide d’une carte redresseur. Cette tension est appliquée en entrée d’une carte onduleur. Ces deux cartes sont représentées sur la figure 1 intitulée « carte puissance ». Les interrupteurs de l’onduleur sont commandés par la carte microcontrôleur où est implanté le programme de la régulation DTC. La loi de commande des interrupteurs générée par le microcontrôleur permet un contrôle efficace du couple de la machine asynchrone.
Le synoptique qui suit présente le principe général du projet.

Synoptique global du projet
5) Cahier des Charges
Le projet a pour finalité de fournir à Renesas un produit « clés en main » afin qu’il puisse le vendre à ses clients, fabricants de machine à laver.
Une note d’application sera rédigée pour permettre une reprise rapide du projet. Une librairie sera fournie pour que les clients de Renesas puissent l’utiliser directement. La fourniture du code source sera également nécessaire pour pouvoir l’adapter sur d’autres moteurs et microcontrôleurs.
Concrètement, plusieurs requêtes ont été formulées par notre client.
D’un point de vue matériel, la régulation DTC doit être effectuée sur un moteur asynchrone triphasé d’un puissance de 1kW pour 3A. Les algorithmes seront implantés sur le microcontrôleur Renesas SH7125.
La méthode DTC induit une mesure des grandeurs électriques du moteur (courant et vitesse). Ces acquisitions permettront alors d’établir des estimateurs de flux et de couple. Ces derniers seront par la suite comparés à des valeurs de référence.
La validation globale du projet devra respecter certaines marges d’erreur.
L’erreur sur la vitesse ne devra excéder 2% pour le moteur fonctionnant à vide, 5% avec un moteur chargé. En ce qui concerne le shunt, l’erreur maximale sera de 100mΩ/3W.
La finalité consiste à fournir à RENESAS une librairie contenant le code source. De plus, une note d’application relative à son utilisation doit être fournie.
6) Développement
a- Problématiques
La machine asynchrone possède de gros avantages tels que son faible coût, sa robustesse et son rendement. Cependant elle est caractérisée par un mauvais contrôle du couple.
Des méthodes de commande vectorielle existent et permettent de corriger cet inconvénient majeur.
L'objectif est donc de réaliser un contrôle vectoriel sur un moteur asynchrone. Ceci permettra à RENESAS de proposer des solutions plus économiques et innovantes dans tout type d’application industriel.
b- Faisabilité
L'étude de faisabilité ayant était réalisée l'année précédente, nous n'avons pas rencontré de grosses difficultés. Cependant il a été nécessaire d'étudier le cahier des charges point par point afin de déterminer leurs faisabilités. Nous n'avons pas rencontré de problèmes majeurs et nous avons ainsi pu démarrer l'étude du système rapidement.
c- Etude Théorique
Introduction
La FOC (Field Oriented Control) et la DTC (Direct Torque Control) sont les outils de régulation moteur utilisés dans l’industrie.
C’est au début du XXIème siècle que la technique de contrôle direct du couple (DTC) est apparue.
La DTC est une commande de type vectorielle qui signifie contrôle direct de couple (Direct Torque Control). Elle se base sur un contrôle effectif de l'état magnétique de la machine et du couple électromagnétique.
Elle permet de calculer les grandeurs de contrôle que sont le flux statorique et le couple électromagnétique à partir des seules grandeurs liées au stator et ceci sans l'intervention de capteurs mécaniques.
Elle est caractérisée principalement par une bonne réponse dynamique du couple, une bonne robustesse et une complexité moindre que d’autres commandes vectorielles. En revanche, on observe une ondulation élevée du couple et du flux.
Pour cette méthode, on utilise le modèle de Park de la machine. On considère que la somme des grandeurs triphasées est nulle. C’est pourquoi, on représente ces grandeurs par des grandeurs diphasées. Celles-ci constituent les composantes cartésiennes d’un vecteur plan, dans lequel nous allons travailler.
A l’échelle de temps ou nous travaillons, on considère que le vecteur de flux rotorique est constant. Par ailleurs, la formule du couple s’écrit :
Or, le principe de la commande consiste à maintenir le flux statorique dans une fourchette. Donc, comme le vecteur de flux rotorique est considéré constant, on règle l’angle entre le vecteur de flux statorique et le vecteur de flux rotorique.
Synoptique de la DTC


Principe de fonctionnement
Il est nécessaire de redressser la tension secteur pour obtenir une tension continue U0. C'est l'onduleur qui a la charge de la découper afin de construire un système de tension triphasées sinusoïdales.
La différence entre le couple de référence Гsref et le couple estimé Гs est l’entrée d’un comparateur à hystérésis à trois niveaux. Il en est de même pour le flux, avec un comparateur à hystérésis à deux niveaux.
Le vecteur de tension appliqué à l’onduleur dépend des valeurs de sortie de ces comparateurs à hystérésis. La table de loi de commande, fonction de ccpl, cflx et du secteur N permet alors d’obtenir un couple constant quelque soit la charge de la machine asynchrone.
Les courants du moteur et la tension d’entrée U0 de l’onduleur sont mesurés afin de permettre l’estimation du flux et du couple.
Pour contrôler de manière dynamique le couple de la machine, on met en place le modèle vectoriel de la machine. On se place dans le référentiel défini par le système d’axes (d, q) lié au stator.
La régulation
Méthode
- Mesure de la tension U0 et prise en compte de l'état des interrupteurs
- Transformation de Concordia, obtention de Vsd, Vsq, Isd et Isq
- Estimation du flux et du couple à partir de ces courants et tensions
- Comparaison aux valeurs de référence
- Détermination du secteur à partir du flux
- Etablissement de la loi de commande
Dans un premier temps, il est nécessaire de mesurer la tension d’entrée de l’onduleur U0. Avec l’état de commande des interrupteurs (Sa, Sb, Sc), on peut obtenir les tensions Vsd et Vsq qui sont déduites de la transformation de Concordia.


Les courants Isd et Isq sont également obtenus à partir de la transformation. La mesure des courants Isa, Isb et Isc des phases du moteur permet d'obtenir directement Isd et Isq avec les formules qui suivent.


A partir de ces résultats, on peut directement calculer les flux et couples.


Ces valeurs estimées sont alors comparées aux valeurs de référence, caractéristiques nominales du moteur. Les comparateurs à hystérésis permettent de maintenir le flux et le couple très proches des valeurs de référence.


Pour mettre en oeuvre la loi de commande, il est nécessaire de connaître le secteur. Nous avons à présent tous les élements (flux) pour le calculer.


Loi de commande
La loi de commande est générée d'après les valeurs précédemment étudiées. La position du secteur, l'hystérésis du couple Г et du flux Ф donnent les vecteurs de tension de V0 à V7.


La commande vectorielle Direct Torque Control (DTC) est basée sur cette loi de commande. Suivant l’état des comparateurs à hystérésis et du secteur, la table (donc le microcontrôleur) délivrera la commande d’IGBT à effectuer. Ci-dessous, un exemple de trajectoire de flux statorique suivant un vecteur Vs donné par la table.


Comparaison avec la méthode FOC
En comparaison avec la méthode FOC, la DTC présente certains avantages dont :
- la simplicité de mise en oeuvre
- le temps de calcul faible (grâce à l'absence de correcteur PI)
- la rapidité du temps de réponse
d- Solutions
Trois méthodes de contrôle DTC existent :
- la DTC simple
- la DTC avec SVM
- la DTC avec minimisation de l’ondulation de couple moteur
La DTC simple
Grâce à des signaux récupérés en sortie du moteur, on se place dans le repère statorique afin de pouvoir calculer à l’aide d’un algorithme un signal de contrôle dont l’amplitude dépend de la valeur désirée et de la valeur lue. On détermine donc 3 signaux c'est-à-dire le couple, le flux de fuite et l’angle résultant du flux de fuite. Une table divisée en 8 vecteurs de tension permettra, à chaque cycle de lecture, de choisir un vecteur de tension ce qui permettra de déterminer la meilleure configuration de commutation du module de puissance. Cette méthode DTC est celle qui a été exposée dans l'étude théorique précédente.
La DTC avec SVM
Cette solution permet de minimiser les erreurs de couple et d’ondulation. Le principe de fonctionnement est le même mis à part que la SVM (Space Vector Modulation) permettra le réglage de l’amplitude des tensions grâce aux temps de conduction des IGBT du module de puissance et donc d'avoir des valeurs plus précises et une meilleure régulation. Seule la commande au niveau du moteur est changée, par rapport à la méthode DTC simple.
Dans un premier temps, nous réaliserons simplement le principe de la DTC. Puis après validation de ce fonctionnement, nous intègrerons à notre système la SVM si le temps nous le permet.
7) Gestion de Projet
Afin que le projet se déroule de la meilleure manière possible, Thierry Jouannet de la société Landis&Gyr nous a donné des cours. Cette formation nous sera aussi très utile dans notre future vie professionnelle.
Monsieur Jouannet nous a expliqué comment maîtriser les délais, formaliser le déroulement du projet, définir les besoins du client. Il a fallu découper le projet en tâches les plus courtes possibles, afin de faciliter le suivi et de déclencher des actions préventives.
De nombreux outils nous ont permis de diviser le projet, à savoir le WBS pour le découpage des tâches, et le Gantt pour le découpage temporel.
Toutefois, la mise en pratique n’a pas été très évidente, notamment pour cerner les besoins précis du client. De plus, ayant peu d’expérience, nous avons rencontré des difficultés pour évaluer le temps nécessaire à l’élaboration de chaque tâche.
Etant donné que le projet Contrôle d'un moteur asynchrone par la méthode FOC travaille en collaboration avec notre projet, l'organigramme des tâches et le gantt prennent en compte les deux projets.
a- L'organigramme des tâches
Il permet un découpage clair, et les dépendances inter-tâches y apparaissent clairement.


Sur l’organigramme des tâches, on distingue clairement trois grandes parties à savoir la partie modélisation, la partie implantation et les phases de test.
Une phase de modélisation est préférable avant d’implanter les algorithmes sur microcontrôleur. Ceci constitue une étape entre la théorie pure et la pratique (vérification de l'étude théorique).
b- Gantt
C’est seulement ici qu’apparaît la notion de temps, on observe que certaines tâches seront effectuées en parallèle.
La partie modélisation des projets "Contrôle d'un moteur asynchrone par les méthodes FOC et DTC" sera réalisée par Hamid KHAN, Tarak NOUILI et Youssef RADI.
La partie implantation sur microcontrôleur des projets "Contrôle d'un moteur asynchrone par les méthodes FOC et DTC" sera réalisée par Rémy BORDIER et Damien RAYMOND.
En GE3, les différentes tâches du Gantt apparaissent comme suit :


Notes d'application
Voici les deux notes d'applications qui ont été réalisées à la fin du projet.
Sujet 1
Damien Raymond : Simulation de la DTC à partir de la théorieAN_SimulationDTC_DamienRaymond

Sujet 2
Rémy Bordier : Implantation en langage C à partir d'une simulationAN_ImplantationDTC_RemyBordier

Bilan
En fin GE3, nous sommes parvenus à coder correctement la DTC en virgule flottante. Le codage en virgule fixe a également été réalisé, mais il reste quelques fonctions en virgule flottante.En ce qui concerne la simulation, celle-ci est fonctionnelle en discret. Cependant, l'ajout de la SVM pourrait être judicieux afin de diminuer l'erreur par rapport au bloc de mesure de Simulink.
En raison de problèmes liés à la commande sur la carte de puissance, nous n'avons pu réaliser correctement les tests sur moteur. Cependant, nos codes ont été validés, en comparant les résultats de ceux-ci avec les résultats de la simulation (lorsque l'on met les mêmes valeurs de courants en entrée).
Etat d'avancement
Simulation discrétisée
Pour réaliser la modélisation de la DTC, nous sommes partis du schéma algorithmique de cette régulation, représenté ci-dessous.


Nous en avons déduit le découpage à réaliser pour mettre en œuvre cette régulation :


Nous avons alors créé un fichier de simulation permettant de vérifier le fonctionnement de la DTC.
La figure suivante représente le fichier de simulation, nous observons 3 types de bloc :
Les blocs orange : ils représentent la partie puissance de la simulation.
Les blocs verts : Ils symbolisent le moteur asynchrone.
Les blocs bleus : Ils représentent l’ensemble de la régulation DTC et correspondent au découpage réalisé.


Une étude réalisée les années précédentes a montré que la régulation fonctionne correctement pour un temps de discrétisation inférieur à 100us. Nous avons respecté cette contrainte lors de nos simulations pour vérifier le bon fonctionnement de cette régulation en couple.


Sur la figure précédente, on peut observer les diagrammes du couple réel à la sortie du moteur en haut, et les diagrammes du couple estimé en bas. On remarque que l’évolution des courbes du couple est similaire, seule l’amplitude de cette évolution change (zoom à droite).
La figure qui suit montre l’erreur qu’il existe entre ces deux courbes. On remarque que cette erreur est en moyenne de 3,4% entre la valeur du couple estimé et celle mesurée.


Une fois la simulation de la DTC validée, nous sommes passés à l’implantation de cette régulation en langage C. Pour cela, nous avons procédé de manière méthodologique, et sommes passés par plusieurs étapes qui sont décrites comme suit.


Implantation sur SH7125
L'algorithme de contrôle a été implanté sur un starter-kit fourni par Renesas, le SH7125.
Celui-ci possède les principales caractéristiques suivantes.
CPU :
- Architecture RISC 32 bits ;
- Instruction sur 16 bits ;
- 5 étages de pipeline.
Mémoire ROM :
- 128Ko.
Mémoire RAM :
- 8 Ko.
Autres :
- 37 entrées/sorties et 8 entrées.
- Convertisseurs analogiques/numériques 10 bits sur 8 canaux.
- 5 broches d'interruption externes.
Module microcontroleur
Afin d’expliquer au mieux notre découpage fonctionnel, une description succincte est décrite ci-dessous.
1) short conv_LEM (short V) : après acquisition d’une image du courant de phase, il est nécessaire de transformer la tension qui lui correspond en un courant. Cette transformation s’effectue grâce à la courbe (équation affine) donnée par le constructeur du composant. Concrètement, cette fonction est appelée pour les deux courants Ia et Ib.
2) void IAlphaBeta (short Ia, short Ib) : elle permet de calculer les composantes de Concordia en courant, à partir des deux courants de la fonction conv_LEM. La transformation de Concordia donne alors IAlpha et IBeta qui seront utilisés pour le calcul des estimateurs.
3) void VAlphaBeta (short Vbus, short k) : cette fonction permet de calculer les tensions VAlpha et VBeta de Concordia, à partir de la tension VBus mesurée et de la table DTC.
4) void Estimateur (short IAlpha, short IBeta, short VAlpha, short VBeta) : la fonction estimateur est directement écrite à partir des équations théoriques de la DTC (voir étude théorique). Elle inclut le calcul du flux et du couple.
5) short Module (short Phi_Alpha, short Phi_Beta) : cette fonction nous permet simplement de calculer le module relatif aux flux PhiAlpha? et PhiBeta?. En effet, c’est ce module qui sera comparé à la consigne
6) short Secteurs (short Phi_Alpha, short Phi_Beta) : cette fonction nous permet de connaître le secteur du flux en fonction de l’angle du flux calculé précédemment. Le repère est divisé en 6 secteurs.
7) short HysteFlux? (short Phi_Ref, short Phi) : cette fonction repose sur le principe de l’hystérésis. Pour le flux nous utilisons un comparateur à hystérésis à 2 niveaux, ceci nous permet d’avoir une sortie logique : 1 représente une augmentation du flux, -1 représente une diminution du flux à effectuer. La valeur dépend de la différence entre le flux de commande et le flux mesuré.
8)short HysteCouple? (short TRef, short T) : cette fonction repose sur le principe de l’hystérésis. Pour le couple nous utilisons un comparateur à hystérésis à 3 niveaux, ceci nous permet d’avoir une sortie logique : 1 représente une augmentation du flux, -1 représente une diminution et 0 représente une égalité du couple à effectuer. Tout dépend de la différence entre le couple de référence, et celui mesuré.
9) short Table_DTC (short Sect, short CPhi, short CT) : suivant le secteur et les hystérésis de flux et de couple, on détermine la valeur de l’indice pour la commande de l’onduleur de la fonction qui suit.
10) void commande_onduleur (short k) : en fonction de l’indice calculé précédemment, on applique la commande qui lui correspond.
Le codage en virgule fixe
Afin d’effectuer notre codage en virgule fixe, nous avons choisi de définir toutes les variables en short (16bits). Le premier bit correspond au bit de signe. Viennent ensuite la partie entière (sur 9 bits), puis la partie décimale (sur 7 bits). Afin d’éviter toute complication, toutes nos données sont codées de cette manière.
Résultats temporels obtenus
En affectant deux tables de courants en entrée, nous avons évalué le temps de boucle pour une itération. Celui-ci doit être de 100µs au maximum. Pour le SH7125, fourni par le client, nous avons obtenus les résultats temporels qui suivent :


On constate que le temps de boucle est de 90µs pour le SH7125 en virgule fixe. Ceci est correct car inférieur au temps critique de 100µs : en effet, d’après les études des années précédentes, un pas d’échantillonnage supérieur à 100µs ne permet pas de réguler correctement le moteur.
Analyse Critique
Perspectives
SimulationEn ce qui concerne la simulation, le modèle discret ayant été validé, il pourrait être intéressant d’ajouter la SVM à ce modèle. Ceci pourrait éventuellement permettre de diminuer l’erreur entre le couple estimé la valeur dite « mesurée ».
Implantation
Nous avons testé l’acquisition des courants de phase, mais l’acquisition réelle de la tension VBus n’a pu être testée en raison de prolèmes matérielles.
En ce qui concerne le programme complet, celui-ci a été testé en affectant des tables d’entrées pour les courants (courants déduits des valeurs de simulation). Les résultats obtenus en couple étant similaires, nous avons considéré que notre codage était correct. Cependant, en raison de problèmes avec la carte de puissance, nous n’avons pas pu faire tourner le moteur : ceci consistue évidemment la principale perspective au niveau implantation.
Enfin, au niveau du codage en virgule fixe, il reste à valider certaines fonctions qui n’ont pu l’être en raison d’un manque de temps.
Ce codage concerne notamment les estimateurs qui ne sont pas optimums.
Bibliographie
Durant la phase d’avant projet, nous avons consulté quelques ouvrages, notamment pour les aspects théoriques de notre projet.
Les sources sont issues d’Internet, d'ouvrages techniques et d'articles.
Sites internet
http://www.renesas.com
Ouvrages
- "Commande vectorielle sans capteurs des machines asynchrones" de Claude Chaigne, Erik Etien, Sébastien Cauët et Laurent Rambault.
- "La machine asynchrone à vitesse variable", de Hubert Razik.
- "SUPERH Microcomputers", de Yukiho Fujjisawa.
Article de IEEE Transactions on power electronics, daté du 5 Septembre 2002.
- "FOC and DTC : Two viable scheme for induction motors torque control", de Domenico Casadei, Francesco Profumo, Giovanni Serra, Angelo Tani.
- Cours d'électrotechnique de M. Plumey.
Il y a 2 commentaires sur cette page.
[Afficher commentaires/formulaire]




