Projets Génie Electrique Polytech'Clermont-Ferrand

Vous êtes ici -> P07AB13index
PagePrincipale :: DerniersChangements :: DerniersCommentaires :: ParametresUtilisateur :: Vous êtes 107.21.186.38


Projets 2013
Projets 2012
Projets 2011
Projets 2010
Projets 2009
Projets 2008
Projets 2007
Projets 2006
Projets 2005
Projets 2004
Projets 2003



Guides C.A.O. et Svn
Règles C.A.O.
Composants du Magasin


Proposition de Sujet



549 Pages.





Polytech'Clermont Ferrand

PILOTAGE D’UN MOTEUR BRUSHLESS EN COUPLE
POUR LA VOITURE SOLAIRE BELENOS


gestion


Client
Mr Benoit Boudour
Tuteurs techniques
Mr Jacques Laffont - Mr Michel James
Etudiants
Dalil Essakalli Youssef - El Rhazzali Badreddine- Henche Juan
@Mails
DALIL ESSAKALI -- EL RHAZZALI -- HENCHE


photo_voiture
handout





 I. Présentation du projet


Le principe du projet est de piloter un moteur Brushless en couple.
L’objectif principal est d’avoir un système ayant le meilleur rendement possible, afin d’augmenter l’autonomie de la voiture.
Le projet se décompose suivant le synoptique ci-dessous :

Présentation
handout


Figure 1.1 : Synoptique générale du projet

Les trois parties constituant notre projet sont les suivantes :

Partie commande :
Basée essentiellement sur un microcontrôleur qui à la tâche de récupérer les informations fournies par la consigne, qui est une pédale d’accélération afin d’avoir une idée sur la nouvelle vitesse souhaitée. En fonction de la consigne (Taux d’appui sur la pédale), cette carte devra transmettre les nouvelles commandes (qui sont des signaux PWM*) à la carte puissance.

Partie Puissance :
Cette partie est constituée principalement d’un onduleur qui aura pour but de transmettre la puissance fournie par l’alimentation des panneaux solaires vers le moteur sous forme de créneaux commandés.

Partie Capteur :
Cette partie est basée essentiellement sur l’AD2S90 qui est un circuit spécifique nous permettant de traiter les informations sinus, cosinus et REF du résolveur pour ensuite donner une position rotorique numérisée nous permettant ainsi de gérer correctement les séquences de commutation de notre pont onduleur, et donc de faire tourner le moteur.
L’alimentation de tout le système sera fournie par les cellules photovoltaïques des panneaux solaires ainsi que des batteries chargées qui serviront à compenser la forte demande d’énergie par le système.

Le rendement et un fort couple sont les raisons pour lesquelles le moteur Brushless (sans balais) est utilisé. De plus, par sa structure interne, ce type de moteurs est plus léger.

Des capteurs de courant seront présents sur la carte puissance pour relever l’image des courants des phases, cette image sera transmise à la carte commande et sera prise en compte pour mettre à jour la nouvelle vitesse, d’où l’appellation du projet ‘Commande du moteur brushless en couple’. En effet le courant de phase est étroitement lié au couple du moteur.

La programmation du système sera réalisée sur un PC externe, par le biais d’une liaison série.



II. Gestion du projet


2.1. Introduction
La gestion de projet est une étape cruciale permettant de maîtriser les phases de déroulement du projet telles que le respect des délais, la gestion des ressources humaines, ainsi que le côté financière.
Ce chapitre vise donc à décomposer la problématique en plusieurs tâches qui sont moins complexes à traiter, et affecter une durée d’exécution pour chaque tâche tout en respectant le délai final de livraison.

2.2. Cahier des charges fonctionnel
A partir du cahier des charges communiqué par le client nous avons pu déduire le cahier des charges fonctionnel exprimé par le tableau suivant :

ccf
handout

Tableau 2.1 : Cahier des charges fonctionnel


Dans ce tableau, nous définissons les fonctions que notre projet doit réaliser, ainsi que les contraintes auxquelles il est soumis.

2.3 Structuration du projet
Nous avons décomposé notre problème en sous-problèmes, ce qui avait pour but la diminution du degrés de difficulté de l'étude et de la réalisation associées au projet.
Pour cela, nous avons utilisé le WBS (Work Break-point Structure). C’est une structure très utilisée pour présenter les différentes tâches constituant un projet.

La figure suivante illustre la structure adoptée :

wbs
handout


Figure 2.1 : Structure adoptée pour le projet

2.4. Diagramme de Gantt et table des antériorités
Ce diagramme vise à établir une planification bien détaillée pour le projet en respectant les délais ainsi que les ressources mises en place pour le réaliser.
Avant de le construire, nous avons définit la table des antériorités représentée comme suit :

tab_ant
handout

Tableau 2.2 : Table des antériorités

A partir de cette table, nous pouvons tracer le diagramme de Gantt présenté dans l’annexe.

2.5. Conclusion
Dans cette partie, nous avons donné une présentation des différentes phases qui composent notre projet. La planification établie doit être respectée tout au long du projet.
Les parties suivantes traiteront les étapes mentionnées dans le diagramme de Gantt.



 III. Partie puissance


3.1.Introduction
Le système de propulsion représente une partie principale dans le véhicule (figure 3.1) dont le convertisseur de puissance représente un de ses éléments. Ce dernier assure l’alimentation du moteur en courant alternatif à partir d’une tension continue donnée à son entrée.

La figure suivante montre son emplacement dans la chaine de traction électrique :

puissance1
handout
3.2 Etude théorique
3.2.1 Source d’énergie
Dans notre cas la source de tension est composée d’un ensemble de batteries de 12V mises en série et constituant un bus continu de 160V (maximale).

N.B :
Tout le raisonnement par la suite suppose que la tension fournie par la batterie est parfaitement continue et qu’on n’a pas besoin de la filtrer.
3.2.2 Pont onduleur
Un onduleur triphasé (figure 3.2) représente l’élément de base dans cette carte, il est constitué de six interrupteurs configurables de telle sorte à récupérer un système de tensions et de courants triphasés à fréquence variable au niveau de la sortie.
puissance2
handout
3.2.3- Modélisation des interrupteurs
- Au niveau des interrupteurs du bras j (figure 3.3) : pour permettre au courant ij de circuler, il faut qu'au moins un des deux interrupteurs Kj et K’j soit à l'état ON.
- Pour éviter de court-circuiter la source U, ils ne peuvent pas être passant simultanément.
Les interrupteurs du même bras doivent donc être complémentaires, si l'un étant est à l’état ON, l’autre sera OFF (figure 3.1)

puissance3
handout
Lorsque l'interrupteur Kj est passant, il est traversé par le courant ij. Comme ce courant est un courant alternatif, il est parfois positif, parfois négatif : l'interrupteur Kj doit donc être réversible en courant.
Lorsque l'interrupteur Kj est bloqué, l'interrupteur K’j est passant : la tension aux bornes de Kj est donc égale à U. Cette tension est une tension continue, donc toujours positive.
L'interrupteur Kj est un interrupteur 3 segments formé de la mise en parallèle inverse d'un transistor et d'une diode (figure 3.4).
puissance4
handout
D’autres études théoriques ont été faites dans cette partie afin d’assurer le bon fonctionnement du circuit de puissance telles que le choix optimal d’un radiateur, le calcul de la taille des pistes, filtrage des sorties capteurs…


3.3. Choix des composants de la carte
Avant de procéder dans cette étape, il est important de présenter la structure de la carte de puissance ainsi que les fonctions intermédiaires dont on aura besoin pour assurer le bon fonctionnement de celle ci.
La figure suivante illustre les différentes fonctions à réaliser pour arriver à l’objectif désigné :

puissance5
handout

Nous passons ensuite à la description de chaque bloc définit dans cette carte.

a- Convertisseur DC/DC
Ces convertisseurs servent à abaisser la tension continue en provenance de la batterie afin d’alimenter les circuits intégrés d’isolation et de la mise en forme des différents signaux fournis par la carte de commande.
Dans notre application, nous aurons besoin d’une tension continue de 15V et une autre de 5V. Ces dernières sont assurées par les deux convertisseurs présentés dans la figure ci-dessus.

  • Choix adopté :
Nous avons choisi les TRACO POWER THP 3-7211 et THP 3-7223 Car ils répondent bien à nos besoins.

b- Isolation
Le rôle essentiel de cette partie est de séparer la masse issue du circuit de commande et la messe de la partie puissance afin de ne pas avoir des problèmes de masses qui peuvent gêner le fonctionnement de cette carte et qui peuvent induire aussi des courts circuits erratiques.

  • Choix adopté : ADUM2400 (Analog device)
Ce composant est un isolateur à 4 canaux numériques et il est dédié pour les applications du contrôle des moteurs. Il permet une isolation très performante par rapport aux isolateurs classiques (isolation galvanique…).

c- Mise en forme des signaux de commande
Le circuit de commande fournit des signaux logiques limités en tension (entre 0 et 5V).Ainsi que la puissance qu’ils apportent n’est pas suffisantes pour piloter les transistors de puissance, constituant le pont onduleur de la carte puissance, et assurer leurs commutations.

  • Choix adopté : Driver L6386 (STMicroelectronics)
C’est un composant de haute tension, basé sur la technologie BCD « OFF-LINE », et il est conçu pour piloter des transistors de puissance MOS aussi bien que des IGBT.

Ses caractéristiques :
• Haute tension allant jusqu’à 600V
• Immunité dv/dt ±50v/nsec en pleine température.
• Temps de commutation de 50/30ns (montée/descente).
• Sortie en phase avec l’entrée.
• Capacité de fournir un courant de 650mA.
• Diode de bootstrap intégrée.
d- Choix des interrupteurs du pont onduleur
Pour une telle application, le choix peut être fait entre les composants MOS ou IGBT. Chacune des familles présente des avantages ainsi des inconvénients tout en sachant que dans notre cas les deux familles se retrouvent dans le même degré de priorité (figure 3.5).

puissance6
handout

  • Choix adopté : 2MBI75N-120 (Fuji electric)
Finalement, nous avons privilégié l’utilisation des IGBTs qu’ils étaient à notre disposition sachant qu’ils sont les plus utilisés dans l’industrie à cause de la robustesse et la grande durée de vie qu’ils présentent.

transistors du pont
handout
Il s’agit du module 2MBI75N-120, demi pont composé, de deux transistors IGBT, chacun est en antiparallèle avec une diode. Ce composant, peut supporter une tension à ses bornes allant jusqu’à 1200V, un courant de 75A et une tension de commande maximale de ±20V, est conçu pour les applications du contrôle des moteurs.

Il présente les caractéristiques suivantes :
• Faible tension de saturation.
• Faible puissance dissipée.
• Limitation de la surintensité (jusqu’à 5 fois le courant circulant).
e- Retour de l’information
Cette partie est primordiale pour pouvoir assurer le contrôle du couple du moteur et effectuer des boucles de régulation. Dans ce cas nous aurons deux capteurs de courant à mettre en série dans deux phases parmi les trois qui alimentent le moteur. Chaque capteur nous retourne la valeur du courant circulant dans la phase où il est installé. Pour le troisième courant, il sera déduit à partir des deux mesures effectuées, selon le principe des systèmes équilibrés :( i1+i2+i3 =0 donc i3 = -(i1+i2) ).

  • Choix adopté : Capteur ACSXCA750-75A
ccf
handout

Ce sont des capteurs à effet hall de très faible résistance présentant une bonne précision de la mesure et une isolation galvanique déjà intégrée.ils sont moins sensible aux bruits mais nécessitent la mise en place d’un filtre au niveau de la sortie.

3.4. Gestion de l’énergie et protection

La voiture solaire est sensée à rouler pendant deux heures sans avoir besoin de l’énergie solaire. Donc il faut surveiller, en permanence, l’état de la batterie et aussi la bien protéger contre tout risque pouvant parvenir à n’importe quel moment. Pour cette raison, deux types de protection ont été envisagés : Une protection pour la batterie et une pour le moteur. Dans le premier cas, un fusible a été choisi afin d’assurer l’isolation de la batterie lorsqu’un fort courant arrive : C’est la protection contre les surintensités. Pour le moteur, la protection contre les surintensités peut être réalisée par le biais des drivers utilisés précédemment comme à travers les modules demi-points IGBT qui intègrent un circuit limitant le courant appelé. (Jusqu’à 5 fois). Un autre type de protection a été étudié par la suite, il consiste à éviter une surcharge aux bornes de la batterie lorsque le mode récupération de l’énergie est activé car ce phénomène est capable de la détruire. Cette fois le circuit, composé d’une diode et d’un transistor en parallèle, sera branché en série avec la batterie au niveau de l’entrée afin de jouer le rôle d’interrupteur et pour pouvoir contrôler l’écoulement du courant en mode récupération.
On résume toutes ces explications dans le schéma bloc suivant :

puissance7
handout

Cette protection, dont la figure suivante illustre son organigramme, a été gérée par soft :

puissance8
handout

3.5. Tests et mesures
Dans cette partie nous vous montrerons les résultats des tests effectués sur les différents composants constituant la carte de puissance.
Avant de se lancer dans ces tests, nous avons relevé l’allure de la tension simple et composée aux bornes des phases du moteur brushless existant.
Ils sont représentés comme suit :
puissance9
handout

Ensuite nous testons les composants de notre carte :

3.5.1. Test n°1 : Transistors de puissance
Le premier test consistait à vérifier le fonctionnement de chaque transistor (sa conduction et son blocage) constituant le pont onduleur. En utilisant le schéma du montage classique des transistors. Le résultat qu’on a trouvé est très logique car la charge du test est purement résistive.


3.5.2 Test n°2 : Test des isolateurs ADUM2400
Afin de tester ces composants il a fallu utiliser un transformateur isolateur pour avoir deux masses séparées dont ils ont besoin (une au niveau de l’entrée et l’autre en sortie).

3.5.3 Test n°3 : Test des drivers L6386
C’est un test qui nous a pris trois séances supplémentaires à cause de l’architecture spéciale de ce driver.

Explication :
Dans le datasheet de son constructeur, une diode de bootstrap est déjà intégrée. Nous sommes partis de cette idée et lors du test, nous nous sommes aperçus que seule la partie basse du driver qui fonctionne.

Conclusion
Dans ce chapitre et après avoir effectué une étude plus approfondie sur le principe de fonctionnement d’un convertisseur de puissance, nous avons réalisé un schéma de puissance qui répond bien au cahier des charges fonctionnel définit précédemment. (Voir schéma dans l’annexe 9).

 IV.Choix de la stratégie de commande

Introduction
Il est basé sur le principe de l’autopilotage, ce qui veut dire que la fréquence de commutation de l’onduleur assurant l’alimentation de la machine est asservie à la vitesse du rotor. Il existe deux types de commande en fonction des caractéristiques du moteur et des exigences de l’application (puissance, autonomie, vitesse).

Contrôle scalaire :

Le contrôle du moteur se fait en contrôle dit « scalaire », c'est-à-dire qu’il utilise le régime statique en travaillant que sur les grandeurs efficaces, il assure aussi une régulation du module du flux et de l’autopilotage de la machine.
Ce type de contrôle est classique et facile à mettre en oeuvre. A partir de la position du rotor donnée par les capteurs, nous allons générer des signaux MLI* qui vont aller attaquer la grille de chaque transistor MOSFET pour les faire conduire.
Nous remarquons que dans cette commande, deux phases conduisent dans chaque configuration, la troisième phase est en haute impédance. Ce mode de contrôle assure un excellent suivi des consignes et permet d’avoir un couple élevé au démarrage.
Cependant cette commande comporte quelques inconvénients :
- Déchets de tensions dues au fait que nous n’utilisons pas toute la puissance disponible aux bornes de l’alimentation (rendement de 80%) alors que le moteur sera monté sur une voiture qui devra avoir le meilleur rendement possible.
- Cette commande n’est optimale qu’en régime permanent.
- Commande ne donne pas un couple nominal surtout en basses vitesses.
- Génération d’un large spectre de bruits et de pertes.
Il existe une méthode qui permettrait d’avoir un meilleur rendement : contrairement à la commande précédente, le contrôle vectoriel se doit d’avoir une acquisition de données que l’on peut considérer comme instantanée. Cependant, de part la technique de mesure « sans capteur » où une acquisition est faite toutes les 1/6 de rotation du moteur, on ne peut qu’obtenir un contrôle scalaire.

Explication de la commutation

Le moteur Brushless est une machine synchrone auto-pilotée, la commutation des semiconducteurs gère l’alimentation du moteur. Cette commutation se fait selon les capteurs de position du rotor. Ce système permet une correspondance entre les flux d’excitation et l’induit, évitant les décrochages éventuels du moteur.
Le principe de fonctionnement de l’auto-pilotage repose sur la détection du passage de l’axe du flux d’excitation devant six points fixes à 60° électriques. La détection de chacun de ces points va déclencher la commutation d’un des transistors de l’onduleur.
Un commutateur de courant alimente l’enroulement statorique de la machine. Cette dernière comporte trois bobines dont les axes magnétiques sont décalées deux à deux de 2/3. Le commutateur de courant permet d’aiguiller le courant d’alimentation continu dans chacune des bobines, dans un sens ou dans un autre.

puissance10
handout

Nous allons donner un exemple pour pouvoir mieux comprendre le fonctionnement d’une machine synchrone autopilotée.
D’abord on alimente le moteur en la première commutation par les semi-conducteurs 1et 5.

puissance11
handout

Le courant continu circule selon le sens conventionnel positif dans la bobine a et en sens inverse dans la bobine c. Le vecteur représentatif de la f.m.m. statorique s est dirigée dans la direction pi/6 respecte à l’axe verticale.
Ensuite, on montre une deuxième commutation où ce sont les semi-conducteurs 1 et 6 qui sont alimentés.

puissance12
handout

Maintenant la f.m.m. statorique est dans la direction -pi/6 respecte à l’axe verticale aussi.
Dans un fonctionnement où le moteur est alimenté par un seul bras du pont en haut et en bas simultanément, le commutateur possède six états auxquels correspondent six positions s, deux à deux décalées de pi/3. On aura les différentes positions suivantes.

puissance13
handout
La formule qui nous donne le couple obtenu pour l’interaction entre les f.m.m. statoriques et rotoriques a pour expression (dans une machine à pôles lisses) :

puissance14
handout
Sous l’effet de ce couple le rotor tourne alors que s reste fixe tant que le commutateur reste dans le même état. Ci-dessous on montre l’évolution des f.m.m. statoriques et rotoriques entre deux commutations de l’état 1 à l’état 2.

puissance15
handout
C’est le principe qu’on va implémenter dans notre microcontrôleur pour optimiser le couple dans le moteur.


 V.Partie commande


5.1. Introduction
La carte commande a pour but de récupérer les informations : de vitesse venant du pilote et d’état du moteur venant de la « carte capteur » afin les traiter et de commander les six transistors MOSFET de la « carte puissance » qui commanderont le moteur.

commande1
handout

5.2 Etude théorique

a. Le microcontrôleur

Le choix s’est porté sur un dsPIC30F4011 (8) qui est un microcontrôleur généralement utilisé dans les applications de commande moteur et de conversion d’énergie. Le choix de ce microcontrôleur a été facile puisqu’une carte dsPIC30F4011 était disponible dans le département « Génie Electrique », ce qui nous a permis de commencer tôt la programmation. Ce composant possède un module MLI* totalement dédié à la génération des signaux d’attaque des transistors applicables à la commande d’un moteur Brushless et un module ADC* de conversion analogique/numérique permettant de récupérer et de traiter les informations provenant du pilote et du moteur. Il possède également un module SPI « Serial Peripheral Interface » qui nous a permis de communiquer avec l’AD2S90 de la carte capteur afin de récupérer l’information sur la position de l’axe du rotor.

Ce microcontrôleur possède aussi :
- Une fréquence d’utilisation pouvant aller de 1.25 à 40 MHz.
- 5 timers de 16 bits.
- 6 sorties MLI* avec 3 rapports cycles au choix où ses sorties peuvent être imposées.
- Un module de communication pour la programmation à partir d’un « débugger » ICD2* (In Center Debugger).
- 8 entrées ADC* avec une résolution de 10 bits.
- 1 module SPI.

b. Convertisseur DC/DC (THP 3-7211)
Ce composant (6) permet la conversion d’une tension continue de 140V en une tension continue de 5V et qui peut fournir jusqu’à 250mA. Cette tension doit être convertie car la « carte commande » nécessite une alimentation particulière, c'est-à-dire 5V.

c. Autres
Divers composants sont mis en place autour du microcontrôleur afin de pouvoir le faire fonctionner correctement et de le programmer sur un ordinateur externe par le biais d’un « debugguer » ICD2* (In Center Debugger).

commande2
handout

5.3 Réalisation et Tests de la carte commande

- Cette carte est équipée de deux borniers (2 entrées). Le premier correspond à l’entrée du bus continu 160V, et le deuxième correspond à une entrée 5V. Ceci nous permettra de programmer notre microcontroleur même en absence du bus continu 160V présent sur la voiture solaire. Pour cela, deux interrupteurs ont été placés sur notre carte pour pouvoir passer de 5V à 160V (Convertie en 5V à l’aide du convertisseur DC-DC). Une
led rouge indiquant la bonne alimentation de la carte est présente.
- La pédale délivre une tension comprise entre 400mv et 3,76V.
Placer la consigne (sortie Pédale) sur la 1er PIN du support HE10*, c'est-à-dire la pin AN1 du module ADC* du DSPIC. On doit vérifier en plaçant une sonde la correspondance entre le taux d’appui sur la pédale et le rapport cyclique des signaux PWM disponibles sur un connecteur HE10.
- Après l’alimentation du système (5V ou 160V), on doit vérifier la présence de la tension 5V sur tous les connecteurs HE10 de la carte.
-Le programme fourni en annexe est le programme final qui prend tout en compte.
-La validation des différents modules nécessitera la modification de ce programme.
- Pour mener à bien la programmation, on a procédé à une validation module par module, et ensuite on a pensé à la mise en commun de tous les modules afin d’avoir le programme espéré.
Attention : Les deux parties puissance et commande sont isolées, et il n’y a pas de distinction de couleur entre ces deux parties. Il ne faut donc pas relier ces deux parties sous risque de perdre l’isolation.
Pour réaliser une mesure, il faut bien relier la masse de la sonde avec la masse de la partie concernée.


 VI. Programmation


6.1 Etude théorique

A partir d’une information provenant de la pédale d’accélération (potentiomètre) régulée par le pilote, le programme doit faire en sorte d’envoyer les commandes qui permettront au moteur de tourner à la vitesse requise. Pour ce faire, le programme doit aussi avoir les informations sur l’état du moteur (par le biais de la « carte capteur »).
Comme il a été expliqué dans la partie carte commande et stratégie de commande :
  • Le potentiomètre règle le rapport cyclique des MLI*.
La détection de la position du rotor détermine l’état que vont prendre les MOSFET.
Toutes les infos récupérées sont analogiques et sont converties en numérique.
Ci-dessous, l’organigramme du programme, à gauche le programme principal, et à droite la fonction d’interruption ADC*.

commande3
handout

Description des registres les plus importants du microcontrôleur pour réaliser cette commande :
PTPER : Période des signaux MLI* avec PTPER = Fcy / FMIL – 1.
PTMR : Compteur augmentant par intervalle Tcy. Lorsque PTMR = PTPER, le compteur redémarre. Comparaison effectuée touts les Tcy.
PDCx : 3 rapports cycliques des signaux MLI*. Si PTMR < PDCx alors sortie à 0 et sinon 1. Comparaison effectuée tous les Tcy/2.
OVDCON : Registre permettant de forcer les sorties PWM* en signaux MLI* ou en valeurs fixes. C’est ce registre qui prendra des valeurs correspondant aux états que vont prendre les six transistors pour chacune des six différentes étapes que peut prendre le moteur.
ADCBUFx : Buffer où sont stockées les données analogiques converties en numérique.
SPI1BUF : Buffer de transmission et réception des données par bus SPI.
SPI1CON : Registre d’initialisation du module SPI
ADCON1, ADCON2, ADCON3, ADPCFG : Registres d’initialisation du module ADC
ADCHS : Registre permettant la validation des entrées analogiques
TxCON? : Registre de configuration des timers.
PR1 : Registres contenant la période des timers.
Le programme se trouve en Annexe 4.

6.2 Commentaires sur certaines parties du programme

Transfert de données

La programmation est faite en code C sur MPLAB puis testée et intégrée au programme du microcontrôleur par le biais du débugger ICD2*. En travaillant en mode debuguer, on a rencontré un problème lié au transfert et à la réception des données par bus SPI. En effet, sur le Dspic30f4011?, le SDI1 et SDO1 coïncident avec PGC et PGD du module debuguer, ce qui fait qu’on est obligé de flasher la mémoire du micro, et déconnecter ensuite la carte du PC externe pour vérifier le bon fonctionnement du transfert des données.

Cette partie du programme est incluse dans la routine d’interruption liée au timer2. Elle montre la façon dont les différentes séquences de commutation sont mises à jour. La variable recep_ads correspond à la donnée SPI réceptionnée par la carte commande, et qui représente l’état du rotor. Cette donnée est numérisée à l’aide du ad2s90.

A noter que l’ad2s90 a une résolution de 12 bits, et que le bus SPI gère soit des données de 8 ou 16 bits. L’idée est donc de pouvoir recevoir cette donnée sur 16 bits, et de faire ensuite quatre décalages à droite pour ne prendre que la partie utile du signal numérique.

L’ad2s90 fonctionne avec une Horloge de fréquence maximale égale MHZ. C’est le microcontrôleur qui lui impose cette horloge qui est de 1,82 MHZ. Cette horloge est disponible seulement lors de la phase d’envoi de données, hors dans notre cas on n’envoie pas mais on réceptionne les données de l’ad2s90, mais ce qu’il faut savoir c’est que l’émission et la réception se font en même temps. Pour recevoir les données, on est donc obligés d’envoyer des données fictives pour générer l’horloge nécessaire au cadencement des bits reçus de l’ad2s90.

Ce bout de code nous permet donc de scruter à partir d’un état connu du rotor l’arrivée de l’état suivant, et de gérer ainsi la commutation des IGBTs.

La période du timer2 est de 230μs, et ce choix est justifié comme ceci.
  • La vitesse nominale de notre moteur est de 3500tr/mn = 58,33tr/s
  • On sait qu’un tour du moteur correspond à 6 séquences de commutation
  • On a donc un nombre de commutation maximal de 350 commutations par seconde.
  • Une commutation c'est-à-dire le passage d’une valeur d’angle à une valeur supérieure de 60° se fait en 2,85 ms.
  • Le changement des séquences de commutation doit se faire quand le couple est maximal, c'est-à-dire que l’angle entre les flux statorique et rotorique doit être de 90°, cela correspond aux angles 0°,60°,120°,180°,240°,300° et 360° donnés par le résolveur. La commutation donc doit se faire au niveau de ces valeurs ou pas loin, c’est ça ce qui conditionné le choix de la période du timer2.
  • Notre commutation ne doit pas se faire à plus de 5° des valeurs optimales d’angles auxquelles doivent se faire les commutations.
  • 60° se font au maximum en 2,85ms, et 5° se font donc en 237μs, d’où la période de notre timer2 230μs.
Avec cette façon de faire, plus la vitesse du moteur est faible plus le couple à la commutation est important. En effet, à une vitesse de 1750tr/mn, la commutation se fait à un angle maximal de (2° ou 3°) prêt de l’angle de commutation normal.

Voir les séquences de commutation en Annexe 5

Routine de commande en vitesse

La commande en vitesse, et éventuellement en couple de notre moteur se fait dans une routine d’interruption liée au débordement du timer1. La période de notre timer1 est fixée à 50ms, puisqu’on a estimé que 50ms est intervalle correct entre une accélération (ou décélération) et la mise à jour de notre nouvelle vitesse, qui est représentée ici par le rapport cyclique de nos signaux MLI.

Cette routine nous permet de relever la valeur analogique de la consigne à l’aide de la fonction an1(). Notons que la pédale d’accélération délivre une tension analogique comprise entre 400mv (Pas d’appui) et 3,76V (Appui maximum), cette tension est mise à l’échelle (0 5V) numériquement par la formule : buffer_convert=(short int)((((float)(buf)-79.0)*1023.0)/686.0); Ensuite, on convertit cette même valeur en tension analogique entre 0 et 5V.

La mise à l’échelle de cette tension de pédale est faite pour pouvoir faire l’asservissement en couple. En effet, les capteurs de courant utilisés sur la partie commande nous donnent une image en tension de la valeur du courant disponible sur les phases de notre moteur, cette tension est comprise entre 0 et 5V. L’asservissement en couple doit se faire donc par logiciel en comparant la valeur du courant de phase à la consigne pour générer les signaux PWM correspondants.

Les signaux PWM seront appliqués sur les grilles de nos IGBTs via des drivers. En effet, la génération des PWM doit respecter la fréquence de fonctionnement (Commutation) de nos IGBTs, c’est pour cette raison que les rapports cycliques minimum et maximum doivent être maitrisés par logiciel pour que les IGBTs fonctionnent correctement. (Voir annexe 6).

if(val<0.1) { PDC1=0; PDC2=0; PDC3=0; PORTEbits.RE2=0; PORTEbits.RE4=0;PORTEbits.RE0=0;} Désactivation de la commande en vitesse du moteur
La ligne de programme ci-haut inhibe tous les tensions inférieures à 100mv, puisque ce sont des tensions qui donnent des rapports cycliques très faibles (Une bonne Commutation des IGBTs n’est pas sure).
-PDC1=39.0*val+15.0;
La ligne ci-haut quant à elle nous permet d’inhiber les rapports cycliques très élevés pour les mêmes raisons citées plus haut.

 VII.Partie capteur


Introduction

La carte capteur va nous permettre de contrôler le moteur Brushless en couple avec le traitement de l'information qui provient du résolveur. Les résolveurs sont généralement intégrés dans les moteurs Brushless pour pouvoir réaliser l’autopilotage.
Les résolveurs proportionnent la valeur de la position du rotor. Nous nous servirons de cette valeur pour faire la commutation de l’alimentation du moteur, ainsi nous contrôlerons le couple appliqué afin d’optimiser la puissance du système.
Il y a plusieurs approches pour réaliser l’échantillonnage et le traitement du signal qui vient du résolveur afin de le gérer par microcontrôleur et pouvoir piloter le moteur.
Nous avons choisi la numérisation avec un convertisseur RDC (Resolver to Digital Conversion) parce qu’elle est plus exacte et robuste dans l’échantillonnage, ajoutant à cela une petite marge d'erreur.

7.1 Déroulement théorique

D’abord, nous allons expliquer le fonctionnement du résolveur. Le résolveur est un transducteur électromagnétique pour le changement d’angle d’un rotor en une valeur électrique. Le résolveur nous donnera la position absolue de l'axe rotorique du moteur. Il se compose de trois bobines, une bobine rotorique et deux bobines de statoriques. Dans un logement cylindrique sont disposées les bobines de stator déphasées de 90ºet qui enferment le rotor situé dans le logement avec la bobine rotorique. Une bobine statorique est excitée avec une tension sinusoïdale, la deuxième bobine est excitée avec une tension sinusoïdale décalée par rapport à la premiere de 90º (signal cosinusoïdale).
Il faut exciter l’enroulement primaire (bobine du rotor) avec un signal sinusoïdal qui doit avoir une fréquence entre 4 et 8 KHz, cette tension constitue le signal de référence. le montage permettant d'obtenir la tension de référence sera présenté par la suite.
Le résolveur nous donne la valeur analogique de la position, c’est pourquoi le RDC est nécessaire pour traiter la information avec le microcontrôleur. Les tensions sinus et cosinus des enroulements du stator, modulées par la position angulaire de l’arbre, sont appliquées au RDC. La technique de conversion du RDC n’a pas de bruit pratiquement, c’est à dire que l'exactitude de la conversion est assez bonne. Par contre, le filtre du convertisseur
introduit un retard à savoir quand nous traitons le signal.Notre choix s'est porté sur l'AD2S90APZ, c'est un convertisseur ayant une résolution de 12 bits et qui est compatible avec le module SPI du microcontrôleur dsPIC30F4011.

capteur1
handout

7.2 Etude réalisée et choix des composants

Les composants choisis sont:
capteur2
handout

Nous expliquerons par la suite les motifs pour lesquels nous avons choisis ses composants.
La carte capteur (Annexe 3) est composée de trois parties que nous allons commenter ci-dessous:

capteur3
handout

7.2.1 Convertisseur MAX1681

Le convertisseur nous permet transformer la tension d’alimentation de la carte capteur, qui provient de la carte commande (+5 V) en une tension de
-5 V. C’est nécessaire de faire cette transformation pour alimenter les composants présents sur la carte capteur, c’est à dire, les amplificateurs AD8672 et le convertisseur AD2S90APZ. Le montage est cidessus en gris.

7.2.2 Pont de Wien
Comme nous l'avons commenté antérieurement, un signal de référence est indispensable pour exciter le résolveur, et nous avons choisi le pont de Wien pour l’obtenir. Le pont de Wien est un oscillateur qui produit des signaux sinusoïdaux avec une faible distorsion. Le schéma du pont de Wien est encadré en violet dans la page antérieur.
L’oscillateur est composé de deux parties :
  • Deux amplificateurs intégrés en un seul composant, le AD8672, évidemment est alimenté pour des tensions symétrique (+5 V et -5 V) obtenues par le MAX1681.
Un circuit de réaction est placé entre la sortie de l’amplificateur et son entrée. Ce circuit met en ouvre plusieurs résistances et condensateurs.
La partie encadrée en rouge agit comme un filtre du signal, cette partie nous permet d'obtenir un signal propre, sans saturation et avec l’amplitude approprié (entre 1.8 Vrms et 3.3 Vrms) pour alimenter le AD2S90APZ.
La partie encadrée en bleue contrôle la fréquence de l’onde sinusoïdale. Cette valeur est imposée pour les renseignements du résolveur. Le résolveur a besoin d’une fréquence entre 4 et 10 KHz. Le calcul est réalisé selon la formule suivante :

capteur4
handout

7.2.3 Convertisseur RDC
Le AD2S90APZ est un convertisseur analogique-numérique que s’emploie spécialement pour le résolveur. Il a une résolution de 12 bits. Il peut fonctionner dans une plage de fréquence de 3 et 20 KHz. Le AD2S90APZ n’a pas une propre horloge, c’est le microcontrôleur qui l’introduit dans le convertisseur, la fréquence maximale est de 2Mhz.
Le convertisseur prend les signaux qui viennent du résolveur et transforme l’information en angle numérique. Le convertisseur est rapide, mais il faut tenir en compte le retard imposé par le filtre du composant.
La communication avec le module SPI du dsPIC est faite avec deux entrées (par l’horloge-SCLK et par le signal de validation-/CS) et une sortie (envoi de la donnée-SDO).
Le signal de validation est en haut impédance pendant le AD2S90APZ fait l’échantillonnage, quand la donnée est préparé par être envoie, le microcontrôleur met le signal de validation (/CS) à 0. Alors, le AD2S90APZ envoie la donnée à la carte
commande pour le traitement. Il envoie un bit sur chaque front d’horloge.

7.3 Tests
a- Test du convertisseur MAX1681:
Nous avons implémenté le schéma avec une alimentation de +5 V qui vient de la carte commande. À la sortie on peut voir le signal de -5 V. (Voir annexe 1)

b- Test du pont de Wien:
Le schéma réalisé et le signal de référence obtenu sont en annexes. L’alimentation de l’AD8672 doit être symétrique pour obtenir le signal sinusoïdal recherché. On peut observer sur le chronogramme la valeur de la tension efficace du signal de référence: 2.74 V et sa fréquence : 6.676 KHz. (Voir annexe 2)

c- Test de l’AD2S90APZ dans la carte capteur:
La carte et le signal obtenus sont en annexes. Nous pouvons observer que la fréquence après le AD2S90 est de 6.136 KHz. (Voir annexe 3)



 VIII.Conclusions générales

Carte Contrôle
Testée et validée
Tests sur moteur non réalisés
Fonction marche en arrière à réaliser
Remarque
Eventuelles modifications de la programmation suivant les tests sur moteur
Carte Capteur
Testée et validée seul
Tests sur moteur non réalisés
Carte Puissance
CAO réalisée, mais carte non commandée faute de temps.
Tous les composants sont testés et validés sauf les capteurs de courant livrés en retard.
Commande du moteur

Tester si la plage du rapport cyclique MLI nous permet d’avoir les vitesses escomptées.--
Le projet de la voiture solaire continuera jusqu’au 31 Mars mois grâce à la présence de l’étudiant HENCHE Juan. On a donc décidé de continuer le projet, et de lui prêter main forte jusqu’à la fin du mois de Janvier.
Pendant le mois de Janvier, on connectera les cartes commande et capteur, et on fera le test sur le résolveur pour valider la bonne réception de la position de l’angle rotorique. La marche en arrière sera également programmée en prévoyant un interrupteur dont l’état décidera s’il s’agit d’une marche avant, ou une marche en arrière (Inversion des séquences de commutation) qu’on veut faire.
Enfin, la carte puissance sera commandée au début du mois de Janvier, ce qui nous permettra de faire des tests finaux et plus complets sur notre système, et sur le moteur.






Bibliographie


  • « Cours ELT7 » (Mr R.CHAPUIS et Mr. PLUMEY de Polytech Clermont Ferrand)Autopilotage des moteurs synchrones.pdf
  • F. Bodin, "Commande des machines synchrones à aimants permanents et à forces contre électromotrices non sinusoïdales : Minimisation des harmoniques de couple, commande sans capteur mécanique," Thèse de Doctorat de l'Université de Nantes, novembre1999.

  • Documentation des composants :
    1) Isolateur Adum2400? : puissance / isolateur / Adum2400.pdf
    2) Driver L6383 : puissance / driver / L6383.pdf
    3) Module IGBT : puissance / transistors / IGBT2MBI75N.pdf
    4) Capteur de courant ACS750LCA-050 : puissance / capteur / ACS750LCA-050.pdf
    5) Convertisseur DC-DC (THP 3-72xx) : puissance / convertisseur DC-DC / thp3.pdf
    6) Microcontrôleur dsPIC30F4011 : commande / micro / dsPIC30F4011.pdf
    7) Convertisseur AD2S90APZ : capteur / résolveur / AD2S90APZ.pdf
    8) Convertisseur Max1681? : capteur / convertisseur / Max1681.pdf
    9) Amplificateurs opérationnels AD8672 : capteur / amplificateurs / AD8672.pdf
    10) Autres notes d'application:

Il y a un commentaire sur cette page. [Afficher commentaires/formulaire]