255
  PROJET de 2 ème  année RAPPORT FINAL N° du projet : 7220 Date : 08/06/2006 Promo : 2007 CONCEPTION DE MINI-DRONES AVIONS : QUADRICOPTERE  

Conception d'Une Mini Drone4700

Embed Size (px)

Citation preview

PROJET de 2me anne

N du projet : 7220 Date : 08/06/2006

RAPPORT FINALPromo : 2007

CONCEPTION DE MINI-DRONES AVIONS : QUADRICOPTERE

Sommaire1.1.1. Titre du projet et numro denregistrement................................................. 6 1.2. Les parties signataires ............................................................................. 6 1.3. Analyse de la situation ............................................................................. 6 1.4. Les raisons qui ont conduit ce contrat, lhistorique..................................... 7 1.5. Les difficults rencontres actuelles et venir : analyse des risques ............... 7 1.6. Objectifs du projet .................................................................................. 7 1.6.1. Enonc gnral ................................................................................ 7 1.6.2. Les objectifs intermdiaires................................................................ 7 1.7. Processus opratoire ............................................................................... 8 1.7.1. L'organisation de l'quipe .................................................................. 8 1.7.2. Le planning du projet ........................................................................ 8 1.7.3. Le financement du projet ................................................................... 8 1.7.4. La structure et l'organisation de l'quipe projet ..................................... 8 2.1. Les batteries .......................................................................................... 9 2.1.1. Choix du type de batteries utilises ..................................................... 9 2.1.2. Prcautions demploi spcifiques ....................................................... 10 2.1.3. Calcul de lautonomie du quadricoptre.............................................. 10 2.2. Disjoncteur .......................................................................................... 12 2.2.1. Fonction du disjoncteur ................................................................... 12 2.2.2. Principe de fonctionnement .............................................................. 12 2.2.3. Modlisation de la solution ............................................................... 12 2.2.4. Rsultats ....................................................................................... 15 2.2.5. Configuration retenue et amliorations possibles ................................. 16 2.2.6. Exemples de calculs des valeurs des potentiomtres ............................ 17 2.3. Moteurs et Variateurs ............................................................................ 18 2.3.1. Principe de fonctionnement des moteurs BLDC : ncessit de variateurs. 18 2.3.2. Principe de fonctionnement dun variateur.......................................... 18 2.3.3. Description des variateurs actuels et limitations .................................. 22 2.3.4. Principe de fonctionnement et architecture des nouveaux variateurs ...... 27 2.3.5. AT90PWM3 .................................................................................... 29 2.3.6. Carte de test de ltage de puissance ................................................ 34 2.3.7. Protocole de validation .................................................................... 36 3.1. Prise en main ATMEGA ........................................................................... 40 3.1.1. Lecture de la documentation ............................................................ 40 3.1.2. Kit de dveloppement et logiciels utiliss ........................................... 40 3.1.3. Flasher un programme sur le microcontrleur ..................................... 40 3.1.4. Information importante quand lutilisation des portables IBM.............. 40 3.1.5. Apprendre programmer en langage C.............................................. 41 3.2. La centrale inertielle MIDGII ................................................................ 42 3.2.1. Fonctionnement de la centrale inertielle ............................................. 42 3.2.2. Tests effectus ............................................................................... 43 3.3. Capteurs ultrasons ................................................................................ 45 3.3.1. Le capteur SRF10 ........................................................................... 45 3.3.2. Protocole IC ................................................................................. 46 3.3.3. Code source utilis.......................................................................... 48 3.4. Dtection dobstacles ............................................................................. 59 3.4.1. Dfinition du besoin et solution mise en place ..................................... 59 3.4.2. Structure de test et Logiciels ............................................................ 60 3.4.3. Tests de performances avec deux capteurs : Mise en vidence des problmes dinterfrences ............................................................................. 62 3.4.4. Exprience 2 : Test sur le quadricoptre ............................................ 65

PRESENTATION DU PROJET .........................................................6

2.

PROPULSION ...............................................................................9

3.

CAPTEURS ..................................................................................37

3.4.5. Rappel : Test grossier de la porte dun capteur ultrason avec un gain de 5 ................................................................................................... 66 3.4.6. Rappel fonctionnement du code 3 ..................................................... 67 3.4.7. Synthse et conclusions .................................................................. 67 3.4.8. Fonction de dtection dobstacles complte ........................................ 67 3.4.9. Fonction de dtection dobstacle simplifie ......................................... 68 3.5. Capteurs de vitesse ............................................................................... 69

4.

4.1. Etude des modems en vue dune liaison bidirectionnelle.............................. 72 4.1.1. 1 Prise en main du modem Maxstream .............................................. 72 4.1.2. La transmission descendante............................................................ 72 4.1.3. Etude des caractristiques du modem pour la liaison bidirectionnelle...... 73 4.1.4. Raliser des tests de porte pour le Maxstream avec le rglage de SY .... 76 4.2. Objectif 2 : Mise en place de la liaison bidirectionnelle ................................ 77 4.2.1. Solutions possibles ......................................................................... 77 4.2.2. Prise en main ATMega et kit STK500 ................................................. 78 4.2.3. Tests de communication bidirectionnelle travers un port UART............ 79 4.2.4. Transfert des informations descendantes travers lATMega ................. 80 4.3. Cblage dun gamepad sur lATMega au sol ............................................... 81 4.4. Protocole de tests : Sparation des problmatiques.................................... 84 4.4.1. Liaison bidirectionnelle avec radiocommande de modlisme .................. 84 4.4.2. Test du gamepad en pratique ........................................................... 86 4.4.3. Mise en place de la liaison bidirectionnelle avec le gamepad.................. 86 4.5. Problmatique de la navigation par waypoints ........................................... 87 4.6. Conclusion ........................................................................................... 88 5.1. Introduction ......................................................................................... 89 5.2. Les pr-requis ...................................................................................... 90 5.3. Objectifs .............................................................................................. 90 5.4. Solutions possibles ................................................................................ 91 5.4.1. Optimisation de la structure et gain de poids ...................................... 91 5.4.2. Nouvelle fixation moteur.................................................................. 91 5.4.3. Mthode dadaptation des hlices...................................................... 91 5.4.4. Structure dmontable ..................................................................... 92 5.4.5. Autres volutions............................................................................ 93 5.5. Solutions choisies.................................................................................. 95 5.5.1. Optimisation de la structure et gain de poids ...................................... 95 5.5.2. Nouvelle fixation moteur.................................................................. 95 5.5.3. Mthode dadaptation des hlices...................................................... 96 5.5.4. Structure dmontable ..................................................................... 96 5.6. Mise en application ................................................................................ 98 5.6.1. Optimisation de la structure et gain de poids ...................................... 98 5.6.2. Nouvelle fixation moteur.................................................................. 99 5.6.3. Mthode dadaptation des hlices...................................................... 99 5.6.4. Structure dmontable ..................................................................... 99 5.7. Conclusions ........................................................................................ 100 5.8. Amliorations de la carte actuelle .......................................................... 101 5.8.1. Les connecteurs ........................................................................... 101 5.8.2. Fonction Reset de lATMEGA .......................................................... 102 5.8.3. Intgration des lments oublis lors de la conception ....................... 102 5.8.4. Ralisation dune carte de communication au standard RS232............ 102 5.9. Banc dessai ....................................................................................... 104 5.9.1. Objectif ....................................................................................... 104 5.9.2. Le banc dessais ........................................................................... 104 5.9.3. Les capteurs ................................................................................ 105 5.9.4. Conclusions ................................................................................. 106

TRANSMISSION .........................................................................70

5.

STRUCTURE................................................................................89

6.

6.1. Objectifs du groupe Interface Homme-Machine........................................ 6.2. Capitalisation et travail sur le logiciel VB6 ............................................... 6.3. Restructuration de la station sol ............................................................ 6.3.1. Lobjectif de la restructuration de la station sol ................................. 6.3.2. Solution actuelle........................................................................... 6.3.3. Premire solution alternative .......................................................... 6.3.4. Deuxime solution alternative ........................................................ 6.3.5. Troisime solution alternative......................................................... 6.3.6. valuation des diffrentes solutions................................................. 6.3.7. Faisabilit de la solution envisage.................................................. 6.4. Matlab ou VisualBasic ? ........................................................................ 6.4.1. Exprience pendant le concours...................................................... 6.4.2. Justification du choix Matlab........................................................... 6.4.3. Les codes en Visual Basic et Matlab ................................................. 6.4.4. Objectifs pour lavenir ...................................................................

INTERFACE HOMME MACHINE (IHM) .......................................107

108 112 113 113 113 114 115 116 117 117 119 119 119 119 120

7.

7.1. Objectifs du groupe HIL et organisation du travail .................................... 7.1.1. Objectifs de notre groupe .............................................................. 7.1.2. General Design of Process Controls ................................................. 7.1.3. Conception gnrale ..................................................................... 7.1.4. Les sous-tches de notre groupe .................................................... 7.2. Ralisation ......................................................................................... 7.2.1. Choix du modle et du contrleur ................................................... 7.2.2. Intgrations des interfaces............................................................. 7.2.3. Les tests des systmes.................................................................. 7.2.4. Visualisation du vol : FlightGear...................................................... 7.3. Perspectives de dveloppement............................................................. 7.3.1. Bilan du groupe HIL ...................................................................... 7.3.2. Perspectives de dveloppement ...................................................... 8.1. Introduction ....................................................................................... 8.1.1. Prsentation du sous-groupe :........................................................ 8.1.2. Prsentation du matriel................................................................ 8.2. Objectifs de lanne ............................................................................. 8.3. Dmarche suivie ................................................................................. 8.3.1. Rentrer des waypoints................................................................... 8.3.2. Automatique/asservissement en position ......................................... 8.3.3. Dtection dobstacles .................................................................... 8.3.4. Dfinition du mode de passage entre mode manuel et automatique ..... 8.3.5. Etablissement dune procdure datterrissage en cas durgence ........... 8.4. Mise en application .............................................................................. 8.4.1. Rentrer des waypoints................................................................... 8.4.2. Automatique/asservissement en position ......................................... 8.4.3. Dtection dobstacles .................................................................... 8.5. Activit exprimentale ......................................................................... 8.5.1. Limites de lATmega...................................................................... 8.5.2. Solution du SC520 ........................................................................

HARDWARE IN THE LOOP (HIL) ...............................................121

121 121 123 125 126 128 128 130 135 141 151 151 152

8.

CALCULATEUR EMBARQUE .......................................................153

153 153 153 156 157 157 158 161 165 166 168 168 168 169 171 171 173

9. 10.

10.1. Annexe 1 : code source de la MIDG II................................................. 191 10.2. Annexe 2 : Code 1 : lancer des ranging ds que possible pour chaque capteur individuellement. .......................................................................................... 195 10.3. Annexe 3 : Code 2 : ranging de tous les capteurs en mme temps.......... 198 10.4. Annexe 4 : Code 3 : faire fonctionner les capteurs les uns aprs les autres .................................................................................................... 201 10.5. Annexe 5 : Code de changement de ladresse dun capteur .................... 204

ANNEXES PROPULSION............................................................186 ANNEXES CAPTEURS ................................................................191

11.

11.1. Exemple de programme de test de communication bidirectionnelle travers un port UART ............................................................................................... 208 11.2. Programme de lATMega au sol Transfert des donnes descendantes et affichage de lINS.......................................................................................... 210 11.3. Programme de dcodage de la trame PPM de la radiocommande............. 212

ANNEXES TRANSMISSION........................................................208

12. 13.

13.1. Code de la station sol en Visual Basic 6.0 ............................................ 13.1.1. Explications prliminaires ........................................................... 13.1.2. Explication dtaille du code de lanne 2005 ................................ 13.1.3. Les fonctions Form_Load et Form_Unload ..................................... 13.1.4. La fonction MSComm1_OnComm ................................................. 13.1.5. La fonction Traitement ............................................................... 13.1.6. Explication des complments de cette anne ................................. 13.2. Code de la station sol en Matlab......................................................... 13.2.1. Le GUI ..................................................................................... 13.2.2. Le code derrire le GUI .............................................................. 13.2.3. La fonction douverture .............................................................. 13.2.4. La fonction de fermeture ............................................................ 13.2.5. La fonction serial_callback .......................................................... 13.2.6. La fonction data_processing........................................................ 13.2.7. La fonction visualisation ............................................................. 14.1. Planches et Code importants ............................................................. 14.1.1. PWM........................................................................................ 14.1.2. RS232 ..................................................................................... 14.1.3. MIDG II ................................................................................... 14.2. Ralisation d'un contrleur ................................................................ 14.3. Commandes MATLAB pour RS232....................................................... 14.4. Ranges de la tlcommande .............................................................. 14.5. Si a ne fonctionne pas..................................................................... 14.5.1. Versions de MATLAB .................................................................. 14.5.2. Backward Propagation................................................................ 14.5.3. Variables externes..................................................................... 14.5.4. TCP/IP erreur ........................................................................... 14.5.5. Rebuild .................................................................................... 14.5.6. xPC Target Scopes .................................................................... 14.5.7. Working directory...................................................................... 14.5.8. Erreurs incomprhensibles !........................................................ 14.5.9. Reset Atmel.............................................................................. 14.5.10. Vrification des connexions......................................................... 14.5.11. Configuration de lAtmega .......................................................... 14.6. Les contrleurs dans Simulink et sur lATmega ..................................... 14.7. Fichiers pour lIC ............................................................................ 14.7.1. Objectif.................................................................................... 14.7.2. Branchement Liaisonvia RS232.................................................... 14.7.3. Branchement Connexion via Ethernet ........................................... 15.1. Structure du Programme principal (Version main500_4) ........................ 15.2. Boucle automatique principale ........................................................... 15.2.1. Boucle daltitude ....................................................................... 15.2.2. Boucle horizontale en X (en Y pareille) ......................................... 15.2.3. Dtection dobstacles .................................................................

ANNEXES STRUCTURE ..............................................................215 ANNEXES IHM ..........................................................................216

216 216 216 217 218 218 219 220 220 221 221 222 222 223 223 224 224 225 227 228 229 229 230 230 230 231 231 231 231 232 232 232 232 232 233 237 241 241 248

14.

ANNEXES HIL ...........................................................................224

15.

ANNEXES CALCULATEUR ..........................................................250

250 251 251 253 255

Projet Quadricoptre 2005/2006

1. PRESENTATION DU PROJET1.1. Titre du projet et numro denregistrement

Projet de mini-drone : Quadricoptre, mini-drone dobservation. Numro denregistrement : 7220

1.2.

Les parties signatairesPhilippe Martin. Nicolas de Laleu

Encadrant du projet : Chef de projet : Elves ingnieurs : de Laleu Nicolas Desaedeller Maxime Fiocchi Guillaume Khammari Aymen Klein Michael Kober Jens Lajmi Wissem Lazreg Aymen Moineau Jean-georges Moulin Lucas Nlle Alexander Ossola Baptiste Pellegrino Jeremy Prevot Sylvain Slissa Thierry Theissen Pascal Mastre Management Technologie et

Chef de projet Cellule Structure Cellule propulsion Cellule calculateur embarqu Cellule IHM Cellule HIL Cellule calculateur embarqu Cellule lectronique Cellule HIL Cellule transmission Cellule HIL Cellule capteurs Cellule transmission Cellule capteurs Cellule propulsion Cellule IHM

Carteau Sbastien Benassila Tarik

Cellule Projet Cellule Projet

1.3.

Analyse de la situation

Le projet DRONE 2006 est un projet complexe de R&D qui sinscrit dans la continuit du quadricoptre prim au concours Drone, il du fantassin organis par lONERA et la DGA en septembre 2005. Malgr la premire place obtenue le drone dvelopp par lEcole Centrale et lEcole de Mines na pas atteint lensemble des fonctionnalits de haut niveau attendues lors du concours. Lanne 2006 a t une anne de transition qui a consist en un dveloppement de nouvelles fonctionnalits et faire voluer celles existantes pour amliorer le comportement global du drone dans loptique dun nouveau concours ONERA en 2007 ou en 2008.

6

Projet Quadricoptre 2005/2006

1.4.

Les raisons qui ont conduit ce contrat, lhistorique

Le projet cr en 2003 lors du regroupement des enseignements dautomatique, dlectronique et de traitement du signal crer des sujets de travaux dirigs (tude/fonctionnement du systme). Le concours cr par la DGA et lONERA est devenu le principal objectif de ce groupe de travail. Lquipe ECP/Ecole des mines a prsent un dossier technique et financier pour obtenir une subvention de 40 000 en vue du concours organis par la DGA et lONERA. Lquipe a t retenue et a pu continuer le dveloppement du quadricoptre qui intgrait des fonctionnalits avances, en terme dintelligence embarque et dautomatique. Cette premire phase a abouti au premier prix dcern au quadricoptre concours organis en septembre 2005. Lors de ce concours, le drone est arriv premier ex quo et a reu un prix de 8000 .

1.5. Les difficults rencontres actuelles et venir : analyse des risquesLe quadricoptre existant au dbut du projet est laboutissement de deux de travail et a prsent une accumulation de nouveauts pour lensemble des tudiants du projet 2006. Par ailleurs la quasi-totalit de lquipe projet a t renouvele cette anne et elle a du en premier lieu comprendre et capitaliser ce qui avait t fait sur le drone existant. Cette phase sest avre plus importante que prvue initialement et a rendu difficile la prise en charge concrte dvolution ou de fonctionnalits nouvelles.

1.6.

Objectifs du projetEnonc gnral

1.6.1.

Le projet drone est issu du concours lanc en 2003par la DGA et lONERA pour la cration dun drone il du fantassin . Les minis drones, destins aux fantassins du futur, doivent tre conu comme une aide dans la progression en milieu hostile. Laide attendue est non agressive : le systme drone doit permettre dobtenir une vision dporte (audel de son horizon naturel). Dun point de vue organisation et gestion de groupe, lobjectif de lanne 2006 tait de continuer ce qui avait dj t fait les annes prcdentes sur la rpartition des taches et le suivi pour viter tout gchis ou forme de redondance mais galement de mettre en place une mthode de suivi facile. En effet, ds les dbuts du projets, nombreux furent les lves qui eurent du mal sapproprier le projet et donc tre rapidement efficaces. Notre objectif dans la cellule projet ft donc de mettre en place des fiches sances pour permettre une meilleure prise en main du projet lanne prochaine. Dun point de vue technique, lobjectif de lanne 2006 sest inscrit dans ce cadre et a eu pour but de rendre le drone autonome (fonctions algorithmiques avances, suivi dun parcours GPS, autonomie de vol plus importantes, etc).Malheureusement, tous les objectifs nont pu tre atteints bien que le drone prsente aujourdhui des fonctionnalits nouvelles dtailles dans les parties des diffrents groupes de ce rapport. 1.6.2. Les objectifs intermdiaires

Lobjectif du projet tait donc de faire un drone plus autonome avec des fonctionnalits de haut niveau afin de pourvoir prsenter un dossier technique complet pour lappel candidature du prochain concours organis par lONERA et la DGA. Les fonctionnalits dvelopper ont donc t les suivantes : Vol autonome GPS avec vitement dobstacles (inachev)

7

Projet Quadricoptre 2005/2006 Miniaturisation et volution de la station sol (accompli en grande partie) Simulation sur ordinateur (achev) volution des fonctionnalits existantes (liaison bi-directionnelle, nouvelle structure)

1.7.

Processus opratoire

Le projet Quadricoptre tant men sur plusieurs annes et impliquant tous les ans un nombre important dlve, lorganisation des ressources doit tre tout particulirement soign afin dtre exploites au maximum. 1.7.1. L'organisation de l'quipe

Lquipe a t organise en sous-groupe orient par spcifications techniques. Ainsi, chaque sous-groupe comporte deux ou trois lves et se trouve sous la responsabilit dun des membres de la cellule projet. Chaque sous-groupe se voit attribuer un responsable de sous-groupe qui est responsable de la bonne volution de son quipe. Nanmoins, les sous-groupes sont lis les uns aux autres. Pour viter de faire les mmes choses en double, des runions rgulires sont ralises entre les responsables de sousgroupe durant lesquelles ils tiennent compte de leur tat davancement et du travail quils comptent raliser. Chaque sous-groupe est tenu de faire une fiche sance lors de chaque sance dans laquelle il explicite lobjectif de leur sance, le protocole utilis pour atteindre ces objectifs ainsi que les conclusions ou les rflexions personnelles qui sy attachent. De ce fait, les autres sous-groupes peuvent accder des rsultats facilement sans perte de temps inutile. Ces fiches sances sont mises en partage commun sur le site du projet. 1.7.2. Le planning du projet

Trois runions avec tous les participants au projet ont t organises dans lanne pour choisir les grandes orientations, faire des comptes rendus davancement et tre sur de garder ladhsion de tous. Les objectifs de chacun ont t dfinis lors de la premire de ces runion. 1.7.3. Le financement du projet

Le dtail du budget tel quil a t prvu initialement est expos en annexe. Hors dpenses de fonctionnement interne (encadrant, doctorant de lcole des mines et salle) dont le financement est assur, les dpenses en matriel prvu sur le projet slvent 16 400 dont le financement est assur 70% par le budget non utilis de la subvention ONERA/DGA. Le reste du financement a t effectu grce une subvention de lcole centrale suite une demande de 3 000 et par des subventions externes pour 2 000. 1.7.4. La structure et l'organisation de l'quipe projet

Le projet quadricoptre est compos dune quipe nombreuse anime par un fort esprit de groupe et par la volont de raliser le travail ncessaire pour parvenir faire voluer les fonctionnalits du drone.

8

Projet Quadricoptre 2005/2006

2. PROPULSIONLe groupe Propulsion est responsable de tout ce qui concerne la puissance sur le quadricoptre : les batteries, les moteurs et leurs variateurs. Les annes prcdentes, les groupes propulsion se sont occups de trouver un couple {moteur+hlice} optimal pour notre utilisation et den faire un modle physique. Cette anne, nos objectifs taient : Faire de la veille technologique sur les batteries disponibles sur le march. Identifier la source des appels de courant qui ont fait brler la carte en 2005 et amliorer le disjoncteur. Amliorer les performances des variateurs des moteurs BLDC du quadricoptre.

2.1.

Les batteriesChoix du type de batteries utilises

2.1.1.

Le critre dterminant dans la choix du type de batteries utilises est, pour une application de type engin volant, la densit dnergie. Le choix de lutilisation de batteries Lithium-Polymre (LiPo) a t fait il y a deux ans, et ce jour, il sagit encore de la technologie offrant une densit dnergie maximale : ce choix est toujours pertinent. Voici titre dexemple quelques caractristiques typiques des diffrentes technologies de batteries : Densit dnergie gravimtrique (Wh/kg) 30-50 45-80 60-120 110-160 170 80 Tension nominale dun lment 2V 1,2 V 1,2 V 3,6 V 3,7 V 1,5 V

Technologie

Auto Nombre de dcharge cycles par mois 5% 20% 30% 5% 5% annuel 0,3% 250 1500 400 800 300 100

Rsistance interne (m) 0,3 100 100 200 200 300 150 250 200 300 200 2000

Plomb acide Nickel Cadmium Nickel Mtal Hydride Lithium Ion Lithium Ion Polymre Alcalines rechargeables

Actuellement le quadricoptre utilise des batteries 3 cellules (11,1 V) de 2000 mAh pesant environ 160 g. Depuis 2004, cette technologie a progresse et on trouve des LiPo de capacits allant jusqu 6000 mAh et offrant des densits dnergie de 170 plus de 300 Wh/kg. Les principaux fabricants sont Kokam, Lipotech et Thunder Power. Voici les caractristiques de certains modles du march :

9

Projet Quadricoptre 2005/2006

Type 2000 mAh 2100 mAh 2500 mAh 3200 mAh 3300 mAh 4200 mAh 6000 mAh

Format (mmxmmxmm) 77x41x8 109x64x6 40x90x12 131x43.5x7.6 22x51x152 105x38x30 34x98x25

Poids de la cellule 51 g 68 g 50 g 82 g 75 g 85 g 65 g

11.1 V (3 cellules) 87.70 130.80 91 167.40 119 160 $ 179.95 $

Densit dnergie (Wh/kg) 134 83 179 137 137 175 333

Dcharge maximale < 30A < 40A < 40A < 64A < 40A < 40A N/A

2.1.2.

Prcautions demploi spcifiques

Comme ces batteries contiennent du Lithium, en cas dincendie il sagirait dun feu de classe D quil nest pas possible dteindre avec un extincteur classique. Certaines rgles de scurit spcifiques sont respecter : Ne jamais laisser la batterie dans un modle. La tension de la batterie ne doit jamais descendre en dessous de 3V par lment, soit 9V pour une batterie 3 lments. Aprs une dcharge, il est bon dattendre une heure et de recharger la batterie 20%. Ne jamais dpasser le courant de dcharge indiqu par le constructeur (le formalisme est : un batterie 1500mAh de 15C est dcharge au maximum 15*1,5=22,5A). Ne jamais dpasser le courant de charge (il est en gnral marqu sur la batterie). Il est denviron 1C. Ne jamais dpasser la tension de charge : le plus sr est dutiliser un chargeur du commerce. Pour batterie de 3 lments elle est de 12,6V. Ne jamais court-circuiter (videmment). Ces batteries naiment ni les chocs ni la chaleur. Pas plus dun cycle charge/dcharge par jour. En cas de problme, ou de doute, le plus simple est dappeler le service de scurit (poste 13 49) pour quils vacuent la batterie endommage. Le gonflement dune batterie est le symptme caractristique du fait quelle est endommage : si vous observez un gonflement, isolez la batterie tout en minimisant les manipulations (la placer dlicatement dans un lavabo, au milieu dune zone dgage). 2.1.3. Calcul de lautonomie du quadricoptre

Lautonomie est calcule comme tant le rapport entre lnergie utile embarque sur la puissance ncessaire pour manuvrer lengin. Le calcul de lautonomie suppose donc la connaissance de plusieurs lments : La masse vide de lengin La masse dun lment de batterie Lnergie utile par lment de batterie (on ne peut descendre en dessous de 3V par lment, donc cette nergie est directement lie la capacit de llment) Le nombre dlments utiliss La puissance ncessaire aux moteurs pour fournir une pousse donne. Pour avoir la relation puissance/pousse, nous avons utiliser la rgression polynomiale obtenue partir des mesures effectues en 2005 pour le couple {moteur,hlice} que 10

Projet Quadricoptre 2005/2006 nous utilisons (moteur MFLY 34L et hlices Todds 10x4,5"). Le rsultat est : y = 2,5358998E-04x + 2,8024681E-02x + 3,2462112 avec un R = 0,99967856, o y est la puissance fournir en Watts et x la pousse dveloppe en grammes. La masse vide du quadricoptre est 620g, une batterie de 3 lments pse 160g. La tension de batterie en charge est denviron 12,3V, lnergie utile embarque vaut donc, pour nos batteries 3 lments de 2000 mAh, (12,3-3*3)*2000*3600/1000=23760J par batterie. Pour calculer la puissance, on ne peut se contenter de considrer quil faille juste quilibrer le poids du quadricoptre. On peut alors soit supposer que chaque moteur doit dvelopper une pousse gale la moiti de la masse du quadricoptre (et pas uniquement un quart comme pour du vol stationnaire sans vent), soit que les moteurs travaillent en moyenne 66% de leur maximum et dveloppent donc 66% de leur pousse maximale. Dans tous les cas, on appliquera un facteur de surdimensionnement de 1,5 correspondant au dcalage entre thorie et pratique. Ainsi

Autonomie =on a :

dans le deuxime cas. cas et totale On obtient les rsultats suivants : Nombre de batteries 1 2 Cas n1 5 minutes 7 minutes 20 secondes

P

N batteries * Eutile / batterie P = 4* Pmoteur ( mquadri / 2) 1,5* Ptotale avec totale dans le premier = 4* 66% * Pmoteur _ maxCas n2 1 minute 15 secondes 2 minutes 30 secondes

On saperoit que lhypothse 1 correspond plus la ralit, on retiendra cette hypothse. Cependant il faut noter que lon est bien loin des 30 minutes spcifies par le rglement du concours DGA 2005. Lorsquon applique ce calcul aux batteries de 6000 mAh dcrites plus haut, on atteint une autonomie de 19 minutes avec 2 batteries. La mise en parallle des batteries pose cependant certains problmes. En effet, les batteries doivent toute tre charges de la mme faon. Il existe un dispositif ralisant cette fonction, mais nous navons pas eu le temps de le tester. Il faut galement sassurer en principe que lon ne dpasse pas le courrant maximum par batterie (ce qui est difficile contrler dans la pratique quand toutes les batteries sont en parallle, mais qui, vu les courants maximaux de dcharge admissibles, nest pas un problme pour nous). Il est noter que nous avons modifi le modle de calcul de lautonomie par rapport celui de 2005 qui prsentait une erreur dans le calcul de lnergie embarque (ils avaient considr que lon pouvait dcharger totalement les batteries alors que la tension ne peut en ralit pas descendre en dessous de 9V pour une batterie 3 lments). Cela conduit videmment des autonomies beaucoup plus faibles, mais ralistes.

11

Projet Quadricoptre 2005/2006

2.2.

DisjoncteurFonction du disjoncteur

2.2.1.

En 2004-2005, deux cartes lectroniques ont successivement pris feu lorsque le quadricoptre tait en vol, cause dun courant dintensit trop importante. Pour palier cela, il a t dcid dquiper temporairement le quadricoptre dun disjoncteur afin de limiter le courant et ainsi protger la carte, le temps de trouver la cause des appels de courants (problme non rsolu ce jour). Nous avions galement pens utiliser des composants chimiques ralisant la fonction de disjoncteur rarmable, les polyswitch. Ces composants prsentent deux inconvnients majeurs : le courant limite est non rglable et le temps de commutation est beaucoup trop important. Nous avons donc abandonn cette solution. 2.2.2. Principe de fonctionnement

On a retenu la solution dun disjoncteur rglable (courant maximal admissible rglable) et rarmable manuellement. Le principe est simple : on compare une tension image du courant une rfrence fixe (cest donc la valeur de cette rfrence qui dtermine la valeur du courant limite admissible) et lorsque limage du courant est suprieure ou gale la rfrence, on commande louverture dun interrupteur. Ensuite on doit rarmer manuellement le circuit pour reprendre le fonctionnement normal. 2.2.3. Modlisation de la solution Premire version

2.2.3.1.

Voici le schma lectrique de la premire version du disjoncteur, la charge (le quadricoptre) tant branche sur les deux fils de droite, la batterie sur ceux de gauche.

12

Projet Quadricoptre 2005/2006

Limage du courant est donne par la tension entre la source et le drain du transistor de puissance NMOS, la rsistance interne de celui-ci tant de lordre de 25 mOhms. Celle-ci est amplifie dun rapport (1+R2/R1) par lAO not AMPLIFICATEUR . Lutilisation de deux potentiomtres R1 et R2 permet de rgler le rapport damplification suivant les besoins. Limage amplifie du courant est ensuite compare une fraction de VCC (la rfrence) par lAO not COMPARATEUR . Le rglage de la rfrence se fait laide du potentiomtre R3, dont la valeur leve limite le courant qui le traverse (du point de vue de la charge, cest un courant de fuite). La sortie du comparateur pilote le transistor (sortie du comparateur connecte au gate du transistor). Tant que limage du courant est infrieure la rfrence, la sortie du comparateur est en saturation basse c'est--dire proche de 0V, le transistor est passant. Quand le courant augmente, le comparateur passe en saturation haute, la sortie passe environ VCC, ce qui ouvre le transistor NMOS (transistor command en tension positive) et donc le circuit. Le transistor tant ouvert, la tension ses bornes vaut environ VCC, lamplificateur est en saturation haute, donc le comparateur aussi, le circuit reste ouvert, ltat ouvert est bien stable. Lorsque le circuit est ouvert, pour armer le disjoncteur il suffit de presser le bouton poussoir REARMEMENT : cet instant, on amplifie la tension aux bornes dun interrupteur ferm, soit 0V, le comparateur est donc en saturation basse, le transistor devient passant. Lorsque lon relche le bouton poussoir, on a rtabli le fonctionnement normal. Cette mthode prsente plusieurs inconvnients : Tout dabord, limage du courant circulant dans le circuit est construite partir de la rsistance interne du transistor. Or celle-ci est difficile connatre, elle dpend de 13

Projet Quadricoptre 2005/2006 beaucoup de paramtres, dont la temprature. De plus, la rfrence de tension utilise ici est une fraction de la tension aux bornes de la batterie. Cette tension baisse au cours du vol, diminuant ainsi le courant limite admissible. Et de faon plus sensible, cette tension baisse fortement lors de gros appels de courant. Cela rend difficile le rglage du disjoncteur. Afin de palier ce deuxime inconvnient, nous avons install sur le disjoncteur un rgulateur de tension 7805 qui fournit une rfrence fixe et stable de 5V, constante au cours du vol, quelque soit le courant demand par le quadricoptre. 2.2.3.2. Deuxime version

Voici le schma lectrique de la deuxime version du disjoncteur, la charge (le quadricoptre) tant branche sur les deux fils de droite, la batterie sur ceux de gauche.

On a substitu la fraction de la tension de batterie par un rgulateur de tension 5V pour saffranchir des variations de cette tension. Cela implique que le rglage du courant limite admissible ne se fait plus en modifiant la rfrence, mais en changeant le rapport damplification laide des potentiomtres R1 et R2. Les capacits C1 et C2 en parallle de lentre et de la sortie du rgulateur de tension assurent un fonctionnement optimal de celui-ci. 2.2.3.3. Protocole utilis et tests raliss

Limpossibilit de dtermination thorique de la valeur du courant limite (rsistance interne du transistor variable) nous a men dterminer celle-ci de faon exprimentale. A cette fin, nous avons rgl le disjoncteur sur diffrentes valeurs thoriques calcules, et nous avons mesur la valeur relle de ce courant limite. Pour raliser cela, nous avons utilis un variateur de modlisme Tsunami 10 et un moteur brushless comme charge variable, afin daugmenter progressivement le courant. Pour le fonctionnement du variateur, voir datasheet constructeur.

14

Projet Quadricoptre 2005/2006 La principale difficult provient de la limitation du courant que peut fournir le gnrateur : 10A sous 12V, alors que le courant limite souhait sur le quadricoptre est de lordre de 25A 30A. 2.2.4. Rsultats

Voici deux rgressions ralises partir de sries de mesures. Si on suppose quon peut extrapoler la courbe jusqu des valeurs mesure de 25A, on peut alors savoir comment rgler le disjoncteur.

Disjoncteur v148 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10 8 6 4 2 0 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30

y = 1,5203x + 1,7092 R2 = 0,9868

Valeur thorique

courbe disjoncteur Rgression linaire

Valeur mesure

15

Projet Quadricoptre 2005/2006

Disjoncteur v2

28 26 24 22 20Valeur thorique y = 3,0625x 0,6221 R2 = 0,9947

18 16 14 12 10 8 6 4 2 0 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32Valeur mesureCourbe disjoncteur Rgression puissance

Il est important de noter que ces rsultats sont parfaitement reproductibles. 2.2.5. Configuration retenue et amliorations possibles

On a retenu la configuration avec le rgulateur de tension 5V. Pour les AO, il faut prendre en compte la contrainte de lalimentation : tant donn quon utilise une batterie, ils doivent tre aliments en mono-tension 0-VCC. Les AO choisis sont une plaquette LM324 qui comprend quatre A0 mono-tension. Ceci explique le fait que la saturation basse des AO vaut 0V en sortie et la saturation haute +VCC. Le transistor est un mosfet de puissance NMOS, cest un IRF3710 (il en reste 2 neufs en rserve). Au cas o on ne trouve pas la cause des appels de courant et quil faille encore amliorer les performances du disjoncteur, voici quelques pistes : pour saffranchir des variations de la rsistance interne du transistor, utiliser un capteur de courant (dispositif dlivrant une tension proportionnelle au courant dans une plage de fonctionnement donne) pour construire limage du courant ; pour amliorer la commutation du transistor, insrer une petite rsistance (typiquement 22 Ohms) entre la sortie du comparateur et le gate du transistor. Voici deux rfrences de capteurs de courant qui semblent convenir : capteur Allegro ACS750xCA-050 et capteur LEM LAH 50-P. Vous pouvez aussi utiliser des rsistances de prcision ou shunts pour faire la mesure du courant : attention la puissance que doit supporter le botier de la rsistance. Pour un courant de 40A, il faut un botier pouvant dissiper 1600*R watts. En prenant R = 0,01 , il faut un botier 16W ; cela correspond des rsistances dites film ( choisir parmi les modles disponibles chez Radiospares). Vous pourrez aussi travailler sur la miniaturisation du disjoncteur, en dessinant un circuit imprim par exemple, sachant que la partie puissance ne pourra pas tre ralise sous forme de pistes car le matriel du LEE ne permet de faire des circuits supportant des courants de 40A (il faudrait des pistes de 2cm de large). Lutilisation de la rsistance interne du mosfet ou dun shunt pour avoir la mesure du courant prsente cependant un inconvnient majeur : la puissance dissipe par effet Joule est trs importante (jusqu 25W avec le mosfet) du fait des courants mis en jeu. Les capteurs de courant ne fonctionnant pas sur le mme principe, la puissance perdue devient ngligeable.

16

Projet Quadricoptre 2005/2006 2.2.6. Exemples de calculs des valeurs des potentiomtres Disjoncteur v1

2.2.6.1.

On souhaite un courant limite de 25A. Limage du courant est 25 m * 25 A = 0,625 V. Pour pouvoir le comparer une fraction non ngligeable de la tension de batterie, on prend un gain damplification de 10, soit un rapport R2/R1 de 9. On choisit par exemple R1=200 et R2=1800 . On postule alors la valeur moyenne de la tension de batterie : prenons 11,5 V. on a alors R3 = (10*0,625/12)*47 k = 24480 . Le rglage des potentiomtres se fait avec un multimtre et un tournevis. 2.2.6.2. Disjoncteur v2

On souhaite un courant limite de 25A. Limage du courant est 25 m * 25 A = 0,625 V. On doit comparer ceci 5V, soit un gain damplification de 5/0,625 = 8. Donc R2/R1 = 7, on choisit par exemple R1=250 et R2=1750 .

17

Projet Quadricoptre 2005/2006

2.3.

Moteurs et Variateurs

2.3.1. Principe de fonctionnement des moteurs BLDC : ncessit de variateurs Le quadricoptre est quip de quatre moteurs brushless dits BLDC (Brushless Direct Courant). Ce sont des moteurs de type synchrone sans balais ni collecteurs. Pour nos moteurs la cage constitue le rotor ( aimants permanents) et le stator est form des bobinages (7 ples). Le couple lectromagntique est d l'interaction de deux champs magntiques, le champ tournant cr par les courants qui circulent dans les enroulements du stator et le champ tournant produit par les aimants du rotor. Le champ magntique des aimants suit le champ tournant cr par les courants statoriques, la cage tourne la frquence du champ statorique do le nom de machine synchrone. Pour une tude thorique complte, se reporter au rapport projet 2005 ou au cours de classes prparatoires PSI. Sur le quadricoptre, la seule source dnergie disponible est la batterie qui dlivre par consquent du courant continu, et se comporte en premire approximation comme une source de tension. Pour crer un champ magntique tournant, il faut au moins trois courants identiques et dphass de 120 lectriques. Il faut donc gnrer partir dune tension fixe trois courants identiques et dphass. Cest le rle des variateurs de puissance. Il faut un variateur par moteur (soit quatre variateurs complets pour le quadricoptre) qui alimente les trois phases du moteur avec les courants dphass de 120 lectriques. 2.3.2. Principe de fonctionnement dun variateur

Un variateur de puissance est constitu de deux parties : une partie commande qui gnre les signaux commande pour ltage de puissance, et ltage de puissance qui permet de gnrer les courants des trois phases moteur. 2.3.2.1. Etage de puissance

Vu les puissances mises en uvre pour alimenter un moteur (jusqu 10A sous 12V), il est indispensable davoir un rendement trs lev (de lordre de 90%), ce qui rend impossible lutilisation de filtres analogiques. Ltage est donc form de trois ponts de deux transistors, un pont par phase moteur. Dans notre cas, il sagit de transistors mosfet, utiliss comme des interrupteurs commands en tension. Voici un exemple de squence de commutation sur chaque phase ( gauche) et le schma du pont de transistors (NMOS ici) :

18

Projet Quadricoptre 2005/2006 La vitesse de rotation du moteur est gale la frquence des courants des phases. Le couple est dtermin pour sa part par la valeur efficace du courant. Il faut donc que le variateur permette, dune part de contrler la frquence des commutations des ponts, et dautre part de modifier la valeur efficace du signal. Pour modifier cette valeur efficace, on se base sur le principe du hacheur. Cela revient multiplier un signal damplitude fixe par la batterie par un crneau de frquence trs leve par rapport celle du signal et de rapport cyclique variable. Ce crneau est appel signal PWM (Pulse Width Modulation). Voici un exemple de signal PWM, o on nomme rapport cyclique la fraction t/T :

En ralit la vitesse de rotation du moteur nest pas gale la frquence du courant dans les phases, mais elle est proportionnelle celle-ci. Ce coefficient de proportionnalit dpend de la structure du moteur. Lintrieur de nos moteurs MFly 290-05-34L est constitu par : Un stator qui cre le champ magntique tournant, il possde six enroulements clairement visibles (6 ples). Un rotor externe avec 14 aimants. Le fonctionnement est le suivant. Dun certain point de vue, le champ tournant passe dun enroulement lautre. Ces enroulements sont disposs tous les 2/6=7/21 et les aimants tous les 2/14=3/21. Initialement supposons le champ dans la direction dun enroulement langle 0, et un aimant en face, donc langle 0 lui aussi (les moments magntiques cherchent maximiser le champ extrieur qui passent par eux). Linstant daprs le champ, schmatiquement, se trouve dans laxe de lautre enroulement en /3=7/21 ; il voit son voisinage deux aimants : 6/21 en amont et 9/21 en aval. Celui en 6/21 va donc se dplacer de /21 pour saligner avec le bobinage crateur du champ (qui se trouve en 7/21), ce qui fait tourner le moteur. Soit f la frquence du triphas entrant : le champ prend un temps 1/f pour faire 2, donc 1/6f pour faire /3. Sur ce temps, le moteur tourne de /21, donc pour 2, il faut 2*21*1/6f=7/f secondes, donc la frquence de rotation du moteur est de f/7 tours/seconde. A partir de ce coefficient, on peut dterminer la frquence utiliser pour le PWM. La frquence de rotation maximale des moteurs est de lordre de 7200 tr/min, soit 120 Hz, ce qui implique une frquence maximale du courant de 7*120=840 Hz. On souhaite une frquence de PWM grande par rapport cette frquence, en pratique on prendra au moins 30 kHz (sachant quactuellement le PWM gnr par le variateur Toshiba TB9060 est 16 kHz).

19

Projet Quadricoptre 2005/2006 Sur nos variateurs, seuls les mosfets du haut (connects +VCC) des ponts ont une commande module par le PWM :

Par exemple durant la squence AB, le transistor A haut (A+) oscille entre les tats passant et bloqu la frquence du PWM, pendant que B- reste passant et A- et B+ sont bloqus. Voici le schma quivalent pour la squence AB lorsque A+ est passant (PWM On) :

Lorsque le PWM est Off, on a :

On constate que le courant circule au travers de la diode dite de roue libre du mosfet A-.

20

Projet Quadricoptre 2005/2006 2.3.2.2. Partie commande de ltage de puissance

Afin de pouvoir changer de squence quand le rotor rattrape le champ tournant du stator, il faut avoir une information sur la position du rotor. Pour ce faire, certains moteurs BLDC sont quips de capteurs de position (par exemple effet Hall). Dans les applications aronautiques, le poids est un facteur limitant ; ont donc t choisis des moteurs sans capteurs (BLDC sensorless). Ces moteurs peuvent cependant avoir des dmarrages difficiles ou perdre la synchronisation lors du fonctionnement et donc dcrocher. En ralit, il suffit, pour la commutation, de connatre le moment o le rotor passe par une position donne, associe un angle lectrique fix et connu, et ce pour chaque squence. On a vu que pour gnrer un champ magntique tournant, il fallait un enchanement de 6 squences de 60 lectriques chacune. Si on dtecte le passage du rotor 30 lectriques, on sait quil faudra dclencher la commutation 30 lectriques plus tard, en supposant que le rotor met le mme temps pour les parcourir que les 30 prcdents. Il existe un moyen autre que les capteurs pour dtecter le passage 30 du rotor : la mesure de la force contre-lectromotrice (Back EMF). Cette mesure se fait normalement en mesurant la tension entre le point central N du moteur et la phase non utilise de la squence en cours (phase en lair ). Si on na pas accs physiquement ce point (ce qui est le cas gnral, et le ntre) on doit simuler ce point en crant un point au mme potentiel laide de trois rsistances en toile (voir ci-dessous).

Cette solution avec un point neutre virtuel est celle actuellement utilise sur le quadricoptre avec les variateurs Toshiba. Comme spcifi dans la thse de Jianwen Shao Direct Back EMF Detection Method for Sensorless Brushless DC (BLDC) Motor Drives , on peut se passer de la mesure du potentiel du point central. Cette mthode est dtaille clairement dans la thse (disponible dans les documents du projet 2006) quil est indispensable de lire.

21

Projet Quadricoptre 2005/2006 Voici un extrait de lanimation gif 4-pole-bldc-motor.gif disponible dans les documents du projet 2006 qui montre le fonctionnement dun moteur 4 ples noyau tournant avec capteurs effet Hall (attention nous avons des moteurs 6 ples cage tournante, sensorless) :

2.3.3.

Description des variateurs actuels et limitations

Les variateurs actuels sont constitus, pour la partie commande, de contrleurs Toshiba TB9060 et damplificateurs oprationnels rapides, et pour ltage de puissance, de trois NMOS pour les demi-ponts infrieurs et de trois PMOS pour les demi-ponts suprieurs. Pour plus de dtails, se rfrer au rapport projet 2005. Lavantage du variateur Toshiba est quil est conu spcialement pour la commande des moteurs BLDC sensorless. Il suffit de lui envoyer le signal PWM (envoy dans notre cas par lATMEGA128) qui traduit le rgime voulu et il se charge de mesurer la back EMF et de la commutation (voir schma lectrique du variateur Toshiba en annexe). 2.3.3.1. Limitations des variateurs Toshiba

On peut remarque que cette architecture souffre de certains inconvnients : Le Toshiba nintgre pas les limitations de ltage de puissance et des moteurs et nest pas adapt ltage de puissance (ncessit des AO). Il se peut que lalgorithme central exige des moteurs des rgimes trs levs qui les poussent consommer normment de courant, ou des rgimes trs faibles qui finissent par les arrter do laugmentation du courant signale. Pas de retour dinformations vers le contrleur central (ATMEGA128) Utilisation du point central virtuel Transistors sous-dimensionns (limits 6A alors que lon a besoin de 10A). 2.3.3.2. Diagnostic et tests sur les variateurs Toshiba

Il faut donc faire les tests ncessaires pour voir si lorigine du problme est le moteur ou le variateur. Si le problme est dans le moteur (1er point), deux solutions se proposent nous : Remplacer les moteurs brushless sensorless que nous avons par des moteurs brushless avec les capteurs voqus (problme de poids). Revenir aux moteurs DC courant continu et chercher des modles qui puissent produire la puissance ncessaire (ceci ntait pas le cas lanne dernire mais il faut voir si des volutions sont apparues entre temps). Dans tous les cas il faut revoir le schma du circuit du variateur pour ladapter au nouveau moteur.

22

Projet Quadricoptre 2005/2006 Si par contre le problme est au niveau de lalgorithme (ce qui est souhaitable car ne ncessitant pas de changements de composants et donc de carte !), il pourra tre rsolu en revoyant les boucles dalgorithmes et modifier les valeurs limites envoyes aux moteurs ! Une autre solution serait de commander les moteurs en fonction des courants qui leurs sont ncessaires, cest dire de prendre leurs intensits en compte dans les boucles dautomatique comme contrainte limitante. Pour ceci il faut pouvoir mesurer leurs variations en temps rel et de manire trs rapide pour que les boucles puissent ragir avant que les valeurs limites soient atteintes ou dpasses. Ceci impose aussi que le temps de traitement ncessaire dans les boucles soit beaucoup plus rapide que les variations de courant elles mmes. Pour trancher, la construction dun petit banc dessai : carte portant juste le circuit du variateur, avec seuls lalimentation et le signal PWM comme entrs, savre indispensable. Elle nous permettra en variant nous mme le signal PWM de faon brusque mais calcule de voir la raction du moteur et aussi de mesurer en fonction des sollicitations le courant consomm et sa variation. Lide derrire a est de simuler le fonctionnement de Quadri en voyant pour quelles valeurs de PWM, parmi celles qui sont dans lintervalle utilis par notre programme, les surintensits apparaissent. Si elles apparaissent pour des variations brusques du PWM, une solution serait de lisser ces variations en augmentant lintervalle de temps entre valeur initiale et finale. Si par contre elles apparaissent mme en rgime stationnaire ou pour des variations trs lentes du PWM, le problme vient srement du Toshiba qui se trompe peut tre dans le calcul de la position. On devra donc soit revenir aux solutions proposes plus haut ou envisager un autre composant qui serait plus fiable lors des mesures de la Back EMF. Sur le schma complet de la carte de lanne dernire nous avons donc pris la partie correspondante un seul circuit de puissance pour un moteur et nous lavons redessin sur EAGLE. On ne peut pas malheureusement juste le copier directement car la version dmonstrative de EAGLE dont on dispose gnre plusieurs problmes lorsquon veut travailler sur le schma (shematic) copi : refuse de faire des liaisons et de connecter les nouveaux composants correctement sur les liaisons existantes etc Remarque : un rgulateur 5V (IC3) a t ajout la carte pour assurer lalimentation du Toshiba partir des 12V ncessaires pour le moteur, ainsi quun connecteur (J1) pour le signal PWM, qui sera fourni soit par un gnrateur de PWM dont on dispose dans le labo soit par KIT STK500 portant un ATMEGA128 programm pour loccasion.

23

Projet Quadricoptre 2005/2006

En En En En

rouge : L tage de puissance compose de 6 transistors, 3 NPN et 3 PNP Bleu : Le Toshiba. vert : lentre PWM jaune : Lalimentation 12V 2.3.3.3. Ralisation :

Par un souci de compacit, les composants retenus pour les cartes sont tous de type CMS, cest dire de trs petites tailles (les rsistances font 2 3 millimtres de longueur). En plus, le Toshiba est dune taille tellement rduite que ses pattes, trs proches les unes des autres sont presque impossibles souder avec les fers souder classiques dont on dispose au Labo LEE, surtout que la plus petite tte disponible est dj plus grosse que quelques composants (condensateurs..) Pour y arriver, on doit donc utiliser toute une autre technique que lantique fer souder. Dans le Laboratoire LEE, on dispose dun appareil qui est une sorte de plate forme sur laquelle lopration se fera dans lordre suivant : La carte dnue de tout composants est pose sur deux petits appuis. Avec une sorte de seringue, on pose des gouttes de brasure (produit chimique peu visqueux contenant des graines dtain). On dispose dune sorte de pdale en dessous de la table qui en appuyant dessus permet denvoyer des pulsations dair compress dans la seringue pour faire sortie le gel. Une fois quon a mis des gouttes de ce gel sur toutes les traces de pattes des composants sur la carte, ces derniers sont pris un un par une sorte daspirateur vide mont sur un bras articul et placs sur ce gel leurs endroits. Cette opration est trs facile car il suffit dappuyer sur le composant pour laspirer et de mme pour le relcher une fois quil est sa place. Ceci fait, la carte doit tre prise avec beaucoup dattention et place sur des supports dans un petit four programmable (voir son guide dutilisation disponible dans la mme salle). La chaleur du four fait solidifie ce gel ce qui soude les pattes des composants la carte. Le rsultat est impressionnant car mme si on a limpression quon en a mis un

24

Projet Quadricoptre 2005/2006 peu trop et quainsi deux pattes voisines vont se touchaient, le gel a lavantage de se contracter lorsquil se solidifie et le risque dun tel problme est trs minime. Un contrle avec le microscope est toujours recommandable pour vrifier quand mme que toutes les pattes sont bel et bien soudes leurs traces sur la carte. 2.3.3.4. Rsultats :

Pour tester la carte aprs lavoir ralise, le banc dessai suivant a t ralis :

En rouge : Lalimentation de 12V. Cella la est limite en courant sur des paliers de 0,1 2,5 A. Elle est donc trs approprie pour chercher la source du courtcircuit sans risquer dabmer les composants. En noir : La mesure est faite sur la grille du transistor Q4 (voir schma lectrique). En vert : Le gnrateur du signal PWM, fix 16 KHz. En jaune : Sur loscilloscope, on voit le signal carr envoy par le Toshiba et amplifi par lAmpliOp comparateur.

Il faut faire attention tester les composants lectriques sparment, surtout quil sagit ici dune carte de puissance, o des tensions diffrentes sont appliquer aux diffrents composants et des courants assez levs circulent dans le pont de transistors. Un mauvais branchement peut facilement provoquer la mise hors fonctionnement dun des lments. Il Faut donc ouvrir le circuit reliant lalimentation principale au pont (il suffit de gratter la piste reliant les sources des P MOSFETS lalimentation), et vrifier que le Toshiba, les comparateurs gnrent bien les bons signaux en appliquant le PWM (comparer la doc du Toshiba). Nous pouvons aprs remettre la liaison et tester avec le moteur.

25

Projet Quadricoptre 2005/2006

La partie commande (Toshiba + comparateurs) a t teste avec un PWM 16KHZ et un Quartz 16MHZ (et aussi 4 MHZ, comme dans lexemple de la Datasheet du Toshiba). Les grilles des transistors PMOS reoivent un signal carr comme indiqu dans la Datasheet. Malheureusement, lors du test densemble, une tension de 1,3V est impose par le circuit de puissance aux bornes de lalimentation et un courant allant jusqu 8A est consomm par la carte. 2.3.3.5. Diagnostic

Lorigine de ce problme est clairement un court-circuit caus par lun des points suivants : Les deux pistes +12V et GND se touchent cause dune mauvaise ralisation. Deux transistors dune mme branche ferment simultanment. Ceci peut avoir deux origines possibles : o Les transistors ont fondu de lintrieur lors de la ralisation de la carte cause dune longue exposition la trs haute chaleur dans le four. o Les signaux de commutation envoy par le Toshiba aux deux transistors NMOS et PMOS dune mme branche (une mme phase) ne prsentent pas le dphasage ncessaire ce qui implique que pour lintervalle du temps dans lequel ils se superposent, les deux transistors sont passants au mme temps et donc un court circuit est cre. 2.3.3.6. Dmarche pratique :

A laide de la fonction dtection de contact avec signal sonore quon trouve sur chaque multimtre, nous avons fait le tour de toutes les pistes sur la carte. Aucune liaison directe nexistait entre les pistes dalimentation. Le premier point est donc oublier. Les deux entres de loscilloscope sont utilises pour pouvoir regarder deux signaux sur deux grilles de transistors P MOS de demi ponts diffrents et vrifier que le Toshiba envoie bien les signaux de commutations avec le bon dphasage (Voir Datasheet du Toshiba). Les signaux affichs sont un peu parasits et non parfaitement stables, une mesure prcise du dphasage directement sur lcran est difficile raliser mais on peut bien voir quil existe. Cette hypothse est aussi laisser. Pour voir si les transistors ont craqus, nous avons mesur vide la rsistance entre SOURCE et DRAIN (toujours avec le multimtre) sur chaque transistor. Cette rsistance doit thoriquement tre infiniment grande. Les mesures ont donn des valeurs suivantes : Transistor Vds Q1 1,2M Q2 0,8M Q3 1M Q4 17 Q5 0.7M Q6 13

Les valeurs entre 600K et 1M peuvent tre pratiquement considres comme trs grandes ou de lordre de linfini. On remarque cependant que les valeurs de Q4 et Q6 sont de lordre de l !! Ces deux transistors ont donc lchs. En fait, lors des tous premiers tests, nous avons eu des problmes de disfonctionnement tranges de la carte. Aprs un certain temps nous nous sommes rendu compte que la place ces deux transistors taient inverss. Nous avons utiliss la pince chauffe trs haute temprature pour les enlever et nous avons utiliss ensuite le gel de soudure que nous avons chauff avec le souffleur dair chaud pour les fixer aprs les avoir mis dans

26

Projet Quadricoptre 2005/2006 les bons emplacements. Ce traitement haute temprature qui en plus a dur assez longtemps a du les dtruire. Ceci explique le fait que les autres transistors sont rests intacts Nous avons refait la mme procdure mais cette fois pour les changer. En ressayant la carte, le problme a disparu. 2.3.4. Principe variateurs de fonctionnement et architecture des nouveaux

Les nouveaux variateurs se basent sur ceux utiliss dans le kit de dveloppement ATAVRMC100. La partie commande des nouveaux variateurs est dsormais constitue dun microcontrleur par moteur qui communique dune part avec trois drivers (un par phase) et dautre part avec le contrleur central. Les drivers sont des composants chargs de transformer les signaux de commande sortant du microcontrleur en signaux capables de faire commuter des transistors. Le contrleur permet de gnrer un signal de commande par mosfet, en fonction de la mesure de Back EMF quil reoit et des consignes du contrleur central. Le microcontrleur retenu est un AT90PMW3 qui offre, entre autres, la possibilit de gnrer des signaux PWM sur au moins trois voies. De plus cest un composant Atmel, comme lATMEGA128, ce qui facilite le dveloppement. Pour les drivers, nous utilisons des IR2101S, conformment au schma de lATAVRMC100. Ltage de puissance est form de 6 NMOS par botiers de 2. Le fait dutiliser des mosfets Dual N a pour objectif un gain de place.

Les fils H_(A,B,C), L_(A,B,C), Hall(A,B,C), V_Shunt(+,-), DAC_OUT et Over_Current sont connects aux I\O de mme de nom de lAT90PWM3. Le schma lectronique de lenvironnement du microcontrleur est disponible en annexe.

27

Projet Quadricoptre 2005/2006 Les drivers requirent une alimentation stabilise : cest le rle de la diode D7 (en haut gauche) monte lenvers. Ceci est indispensable lorsque lalimentation Vbus est la batterie mais inutile lors des tests o nous utilisons un gnrateur de tension. Plusieurs points du circuit doivent tre aliments en 5V, cette fin nous utilisons un rgulateur de tension 7805 non reprsent ici. La mesure du courant total se fait laide dune rsistance de prcision dite rsistance shunt (R18) suivie dun filtre RC. La partie en haut droite correspond un filtrage des signaux des capteurs avant de les envoyer vers le microcontrleur ; puisque nos moteurs nont pas de capteurs, cette partie devrait disparatre. Cependant il se peut quil faille adapter (adaptation dfinir) les signaux de Back EMF avant de les envoyer vers le microcontrleur. Kits STK520 et ATAVRMC100 : protocoles de tests et validation de ltage de puissance et du code Le kit ATAVRMC100 est un kit de dveloppement qui comprend un moteur BLDC avec capteurs effet Hall et un variateur complet (microcontrleur AT90PWM3, drivers et tage de puissance avec les environnements respectifs). Il est livr avec un programme flash dans le contrleur. Le contrleur est videmment reprogrammable, il faut pour cela le connecter au STK500 avec le bus ISP (voir le Hardware User Guide ATAVRMC100). Le kit STK520 est un adaptateur qui permet de monter un contrleur AT90PWM3 sur le STK500. Voir les documentations respectives des STK. Pour linstant on utilise le compilateur C WinAVR. Lors de la compilation, on a besoin dun fichier makefile spcifique diffrent de celui utilis par tous les autres groupes du projet : nous sommes les seuls utiliser un AT90PWM3, les autres travaillant avec un ATMEGA128. Il faut en particulier prter attention aux lignes concernant le type de contrleur (MCU name) et la frquence dhorloge (Processor frequency). Dans les exemples de code fournis par Atmel, les librairies sont celles utilises par un autre compilateur C, IAR. Ces librairies ne sont malheureusement pas toutes compatibles avec WinAVR. IAR est disponible en version dessai dun mois. Pour pouvoir communiquer avec le processeur mont sur le STK et le programmer, on utilise AVR Studio (voir manuel utilisateur et le rapport des groupes Capteurs et Transmission). Pour linstant, nous navons pas russi faire correctement fonctionner le kit ATAVRMC100. Le programme dusine du kit permet en thorie de contrler la vitesse de rotation du moteur partir dun PC. Pour cela, on doit dialoguer avec le microcontrleur laide du logiciel terminal.exe ; il faut connecter les ports ISP de lATAVRMC100 et du STK500 (bus ISP) ainsi que les ports Rx et Tx des deux kits. Ensuite il faut connecter le PC au STK500 sur le port RS232 CTRL. Lorsquon a fait cela, le moteur tournait vitesse constante, indpendamment des commandes envoyes depuis le PC. Il semblerait que dans le code flash sur le kit, la partie correspondant aux instructions de commande soit entoure de balises de commentaires. Nous navons pas pu flasher la version sans ces balises car WinAVR na pas toutes les librairies. Une des tches pour lan prochain est dcrire un programme pour commander les moteurs et de raliser un tage de puissance. Il faut pouvoir valider sparment le software et le hardware du variateur. Il sagit dune part de valider lensemble drivers+ponts de transistors (voir paragraphe suivant). Dautre part, il faut valider un code, dans un premier temps en utilisant les capteurs effet Hall, puis avec la mesure de la Back EMF. Pour le code avec les capteurs, il suffit de flasher le programme sur lAT90PWM3 de lATAVRMC100 et dutiliser ce kit. Pour le code sans capteur, il faut utiliser hardware prcdemment valid, connect au STK520. Enfin il faudra interfacer les 4 AT90PWM3 avec lATMEGA128.

28

Projet Quadricoptre 2005/2006 2.3.5. AT90PWM3

Le problme avec les anciens variateurs cest quils ne prenaient pas en compte les courants consomms par les moteurs. Ce point sest avr trs gnant puisquon avait toujours affaire des augmentation de ces courants pendant le vol qui enclenchaient le disjoncteur et donc faisaient tomber le Quadricoptre. M. Philippe Martin nous a propos de travailler sur un nouvel variateur, lAT90PWM3. A la diffrence du Toshiba ce composant est en fait un petit microprocesseur non prprogramm et qui possde des fonctions trs dveloppes pour gnrer des signaux PWM spcifique aux applications de commande des moteurs BLDC. Il possde aussi une entre ddie la mesure de courant utilisant les shunts (pour plus de dtails voir le descriptif des variateurs plus haut).

Le plus grand inconvnient est quil faut savoir mesurer la Back EMF et en dduire la position du rotor (cette fonction est implante dans le Toshiba) et dinclure a dans le code pour gnrer la squence de commutation adquate. LAt90PWM3 dispose de trois sources PWM PSC (Power Stage Control) PSC0, PSC1, PSC 2 Qui prsentent les caractristiques suivantes : Chaque source est en fait compose de 2 sorties diffrentes, cest..dire 2 pattes diffrentes de microcontrleur (PSC0 et PSC1, le PSC2 possde 4 sorties) mais complmentaires de PWM. Elles sont bien sur programmables. Cette implmentation nous donne le choix entre utiliser une seule sortie pour commander un seul transistor, utiliser les deux sorties pour commander un demi pont ou utiliser le PSC2 et es 4 sorties pour commander avec un seul PSC un pont complet. Dead Time contrlable (voir explication plus bas). Frquence allant jusqu 64Mhz. Prise en compte des vnements externes par les PSC inputs (notamment sensibilit aux intensits de courant). Fonction de protection contre lOverload. Fonction de protection contre les anormalits (entr durgence pour mettre tous les outputs en impdance haute ou en mode inactif). En plus les PSC peuvent tre configurs et synchroniss pour commander 3 demi pont, ce qui correspond exactement notre application savoir la commande de moteurs BLDC.

29

Projet Quadricoptre 2005/2006 2.3.5.1. Architecture du PSC 0 et 1

Les deux sorties de PSC seront nommes PSCn0 et PSCn1, avec n = 0,1. A Chaque PSCni (i = 0,1) correspond un gnrateur PWM proprement dit. Appelant B le gnrateur correspondant PSCn1 par exemple. Ce gnrateur est reli deux registres OCRnRB (R comme Reset) et OCRnSB (S comme Set). Dans ces registres, on va enregistrer des valeurs 12 bits.

Registre OCRnB .Un comparateur va comparer les valeurs de ces registres avec celles livres par un compteur (dont la frquence est programmable). Lorsquil y a galit un signal est envoy au gnrateur B : la pulsation envoye pour lgalit avec le registre OCRnSB correspond au dbut du signal et celle avec le registre OCRnRB correspond sa fin. Le signal peut aussi tre interrompu ou prolong suivant les instructions envoyes par le module du PSCn Input. La forme du signal (High Level ou Low Level peut tre dfinie par mettre 1 ou 0 le bit PELEVnx du registre de control PFRCnB . Chaque PSCn possde en outre 5 registres supplmentaires 8bits appels registres de contrles : PCNFn, PFRCnB, PFRCnA, PSOCn, PCTLn (le PSC2 possde un registre supplmentaire appele POM2).

Architecture interne dun PSC0/1 Ces registres permettent daccder aux plusieurs fonctionnalits qui sont implmentes dans lAT90PWM. Par exemple :

30

Projet Quadricoptre 2005/2006

Le registre de contrle PCTLn : Bit0 [PRUNn] : permet de enclencher/ arrter le cycle PWM du PSCn Bit 6et7 [PPREn1/0] : ils permettent de choisir le PSC Input clock divider (1, 4, 16 ou 64) Etc. Les possibilits offertes sont vraiment trs diverses et permettent un contrle trs pouss et des interventions tout moment sur le signal PWM de sortie. Modes de fonctionnement : Lexistence des 4 registres de comparaison (les OCRnXX) par PSC permettent 4 modes de fonctionnement possibles (voir figure ci-dessous) : one ramp mode two ramp mode 4 ramp mode.

Le mode qui est recommand pour la commande de moteur BLDC est par contre le 4me mode : le mode centr Dans ce dernier cas, on a :

On-Time0 = 2*OCRnSA * 1/Fclkpsc On-Time1 = 2*(OCRnRB OCRnSB +1)* 1/Fclkpsc

31

Projet Quadricoptre 2005/2006 Dead-Time = (OCRnSB - OCRnSA) * 1/Fclkpsc Comme la priode du cycle PWM dans tous ces modes est : T = OT0 + OT1 + DT0 + DT1 On obtient pour le mode centr T = 2*(OCRnRB +1)* 1/Fclkpsc Fclkpsc

c.a.d un min de 2/

La frquence du signal PWM : Fclkpsc peut etre finement ajuste en utilisant le mode avance (Enhanced Mode), la frquence mesure est la frquence moyenne calcule sur 16 cycles, lors de ces cycles deux frquences voisines Fpll/n (la frquence la plus proche en dessous de la valeur souhaite) et Fpll/n+1 (la valeur la plus proche en dessus) sont permutes en fonction dun paramtre d suivant la formule suivante : F moyenne = (16-d/16 *Fpll/n) + (d/16 * Fpll/n+1) (Pour plus de dtails, voir AT90PWM3 datasheet, pages 140/141.) Fpll est le signal dhorloge reu dune horloge interne PLL de 64 Mhz. On peut choisir entre des frquences de 64 ou 32 Mhz en configurant le pin PLLF (bit2) du registre PLLCSR . On peut aussi choisir lentre horloge I/O. Le choix entre PLL ou I/O Horloge se fait en configurant le pin PCLKSELn du registre PCNFn. On peut ensuite choisir entre 4 diviseurs de frquence possibles en configurant les bits PPREn1/0 du registre PCTLn (voir datasheet pages 159/160). 2.3.5.2. Programmation

Lun des avantages thoriques de lAT90PWM3 est quil est un produit Atmel, tout comme lATMEGA 128. La programmation de ce microcontrleur devait etre donc assez proche de lautre. Le problme, lors de droulement de la liste des composants Atmel supports par le compilateur WIN AVR, notre AT90PWM tait bien prsent, mais puisque pour compiler il fallait utiliser un fichier MakeFile, dans lequel il ny a pas la possibilits de choisir le microcontrleur. Alors nous n tions pas sur que mme si on se contentait de changer le nom du MCU dans le fichier MakeFile, quon pouvait compiler correctement. Il faut avouer que comme nous navons aucune ide sur la procdure de compilation, il nous tait impossible de trancher sur la validit du choix de WINAVR comme compilateur, mme en arrivant compiler et faire marcher des programmes simples, car nous ne savions pas exactement les diffrences darchitectures et donc de registres entre les deux composants et si ceci pouvait affecter la compilation, puisque priori le MakeFile dont nous disposons est spcifique lATMEGA128. Les programmes de tests que nous avons et que nous tions capables de comprendre ce stade sont pour allumer et teindre des diodes. Ils nutilisent donc que les ports de lAt90pwm et pas ses registres intrinsques. En plus de a, les seuls exemples de codes quon peut retrouver sur le site Atmel, sont des bouts de codes crits pour le compilateur IAR, pour des raisons historiques de cooprations et de proximit gographique entre les deux entreprises . Nous avons envoys des requtes Atmel et AVR pour leurs demander si leurs composants est support par WINAVR en utilisant un MakeFile classique, ils se contentaient de rpondre quils ne le savaient pas mais quil fonctionne trs bien avec le compilateur IAR. Nous navons pas par contre remarqu que WINAVR ET AVR taient deux entreprises compltement indpendantes. Nous avons estim donc les rponses reues suffisantes pour se lancer dans le travail sur le compilateur IAR. Aprs que Mr. Philippe Martin a attir notre attention sur ce point, une autre requte envoye AVRfreak (www.avrfreaks.net) a fini par nous informer sans pourtant confirmer certainement, que les dernires versions de WINAVR, cest dire partir du numro 20060125.

32

Projet Quadricoptre 2005/2006 Mais le vrai plus dans cette rponse est quen incluant la librairie , qui supporte lat90pwm3 ce qui est le cas pour celle livre avec la dernire version de WINAVR, le compilateur va inclure le IO Header file correct pour notre composant en lisant juste son nom partir du MakeFile. Nous sommes surs maintenant que nous pouvons utiliser le WINAVR pour la suite de notre travail. Le travail investi sur les codes pour IAR ntait pas par contre en vain. Comme ils sont dvelopps spcialement pour lAT90PWM3, ils nous permettaient de mieux comprendre le fonctionnement de notre composant. Mais le plus grand avantage de lIAR, et sans lequel nous naurions pas pu crire notre code C pour le WINAVR, rside dans ces bibilotheques dont la plupart contiennent de trs nombreuses dfinitions, trs bien commentes dailleurs, de fonctions qui ralisent les diffrentes configurations ncessaires pour gnrer les signaux PWM pour chaque PSC (la bibliothque ) ou pour configurer la source PLL (< PLL-drv.h >) La lecture de la datasheet nous a permis de dduire lalgorithme suivant pour gnrer un PWM :

Choisir lhorloge: PLL ou I/O

Laffecter au PSC choisi

Choisir la sortie PSCn0/1

Choisir le type du signal PWM

Choisir le mode (1/2/4 rampes, ou

Remplir les registres OCRnS/R-A/B

Enclencher le cycle PWMLa traduction de cet algorithme en code se trouve en annexe. Ce code a t flash sur le microcontrleur mont sur le KIT ST500+STK520. Le rsultat tait un signal PWM de la frquence 7.77 KHZ sur les sorties PC0 (PSCOUT10) et PB7 (PSCOUT11).

33

Projet Quadricoptre 2005/2006 Ce rsultat nest bien videmment quune premire tape dans le travail demande. La suite serait de mesurer la back EMF suivant la thorie propose dans la thse fournie par Mr. Philippe Martin : Direct Back EMF Detection Method for Sensorless Brushless DC (BLDC) Motor Drives Ralise par Jianwen Shao et prsente la Virginia Polytechnic Institute and the State University .

En Bleu : LAVR Studio4 est utilis pour flasher le fichier main.hex cre par le compilateur WinAVR partir du code C. En Vert : le signal PWM mesur sue le pin PC0. Pour les valeurs utilises dans le code source (voir annexe), on obtient une frquence de 7.77KHZ. 2.3.6. Carte de test de ltage de puissance

Nous avons ralis une carte de test destine la validation du hardware du variateur (drivers+mosfets). Elle a t ralise sous Eagle : voir schma lectronique, routage et schma dimplantation en annexe. Les fichiers sources (.sch et .brd) sont disponibles dans les documents du projet 2006. Pour gnrer une tension de 5V, nous utilisons un rgulateur de tension 7805 mont avec une capacit de 1F en parallle sur lentr et une identique sur la sortie. Cela nous permet de supprimer les capacits de lissage C6 et C15, en parallle de la capacit en sortie du rgulateur, et C5, C8 et C14, en parallle de celle dentre du rgulateur. Cette carte permet une utilisation avec ou sans capteurs effet Hall, pour des courants allant jusqu 4A. Le calcul de la largeur de piste pour un courant maximal donn se fait laide dabaques (voir graphique en annexe). Les pistes des cartes ralises au LEE font 35m dpaisseur, alors que celles de la carte prsente sur le quadricoptre, sous-traite lextrieur, font 70m dpaisseur. Voici la carte de test ralise, avec le moteur du kit ATAVRMC100 :

34

Projet Quadricoptre 2005/2006

Les cinq fils rouges connectent la carte de test une carte servant dadaptateur pour lamplificateur oprationnel : nous navons pas reu lAO LMV7219M5 en botier SOT23-5, nous lavons remplac provisoirement par un AD8051AR en botier SO-8. Voici les deux faces de la carte :

Carte de test vue de dessous

35

Projet Quadricoptre 2005/2006

Carte de test vue de dessus 2.3.7. Protocole de validation

Avant de tester lensemble de la carte, il sera prfrable de tester les parties indpendantes afin de valider le hardware. Ainsi pour chaque driver on testera successivement les voies haute et basse en envoyant un signal PWM connu sur une entre dun driver et en vrifiant que le mosfet associ commute en consquence. Une fois ceci fait, on peut tester lensemble de la carte en lutilisant comme hardware dun programme valid su lATAVRMC100 (programme dusine ou autre), en le connectant au STK500 comme sur la photo suivante :

Lors dun test optimiste, nous avons connect toute la carte sans avoir valid les souslments, en utilisant le code dusine de lATAVRMC100 : un mosfet a pris feu. Do limportance de tester les sous-parties et dutiliser un code oprationnel.

36

Projet Quadricoptre 2005/2006

3. CAPTEURSLe dtail des objectifs de groupe est dtaill dans ce tableau : GROUPE CAPTEUROBJECTIFS - Liste des taches % AVANCEMENT LIVRABLE NIVEAU DIFFICULTE TEMPS CONSACRE

Prise en main de l'ATMEGA Premire lecture de la doc de l'ATMEGA Branchements du kit de dveloppement Installation des logiciels ncessaires pour flasher le microcontroleur (attention logiciels diffrents selon le kit de dveloppement utilis: STK 300 ou STK 500) Apprendre flasher des programmes sur le microcontroleur du kit de dveloppement Ecriture de programmes simples pour s'entraner flasher le microcontroleur, et pour mieux comprendre le fonctionnement de l'ATMEGA: -> Programme permettant d'allumer les LEDS du kit de dveloppement -> Programme avec une boucle qui fait clignoter les LEDS (utilisation de la fonction delay) -> Utilisation des boutons en entre pour commander l'allumage des LEDS 100% 100% ++ + 10 2

100%

-

2

100%

+

4

100%

10

100% 100% 100%

programme test programme test programme test

++ ++ ++

MIDGII Prise de contact avec la liaison srie UART Installer et apprendre utiliser les programmes permettant de rceptionner des donnes sur la liaison srie: hyperterminal, Portmon, Terminal v1.9b Ecriture de programmes simples utilisant la liaison srie: -> programme qui envoie une donne en continu sur la liaison srie, rception de cette donne sur le PC. Prise de contact avec la Midg II (visite du site du constructeur, lecture des docs: notamment message specification qui permet de connatre le contenu des diffrents messages envoys par la MidgII. 100% + 2

100%

-

1

4 100% programme test ++

100%

+

3

37

Projet Quadricoptre 2005/2006Branchement direct Midg II - PC grce un adaptateur MidgII-PC -> Installation du logiciel fourni par Microrobotics pour visionner les donnes reues -> Rglage grce au logiciel des messages effectivement envoys par la MidgII, de la frquence de ces messages etc -> Test de rception du GPS Branchement de la Midg II sur le kit de dveloppement (utilisation de deux liaisons sries UART0 et UART1, l'une pour la transmission Midg II -> kit de dveloppement, l'autre pour la transmission kit de dveloppement -> PC -> Comprhension grce aux docs du protocole d'envoie de donnes de la Midg II -> Ecriture d'un programme permettant la rcupration des messages envoys par la Midg II au microcontroleur. Ce programme permet galement de retirer du message envoy les donnes utiles et exploitables pour la boucle d'asservissement. Perturbation magntique des capteurs par le fonctionnement des moteurs -> dfinition du problme -> relev des mesures des capteurs de la MIDG II pour analyser leurs perturbations pour diffrentes vitesses des moteurs -> interprtation des rsultats 100% 100% 100%

2 100% 100% 100% + -

100%

+

3

100%

programme test

+++

5

Rapport + 1

Capteurs Ultrasons Prise de contact avec le protocole I2C Prise de contact avec les capteurs utiliss (SRF10): documentation du capteur sur Internet Comprhension du message envoy par le capteur Comprhension du programme existant pour rcuprer le message sur le microcontroleur et en extraire les donnes utiles Commentaires des programmes existants pour qu'ils soient plus faciles comprendre Test d'un capteur ultrason grce au programme de rcupration des donnes, rcupration des donnes sur le PC grce la liaison srie Ecriture d'un programme permettant de changer trs facilement l'adresse d'un capteur Dtection d'obstacles: -> Dfinition de notre besoin 100% + 2 100% 100% 100% 100% 100% code comment rapport + + ++ +++ + 3 3 3 5 2

100%

++

3

100% programme

+++

4

38

Projet Quadricoptre 2005/2006-> Branchement de 2 capteurs ultrasons sur le bus I2C -> Ecriture d'un programme permettant de rcuprer les donnes envoyes par les 2 capteurs ultrasons. -> Test de ce premier programme, interprtation des rsultats -> Ecriture d'un programme plus joli, configurable, pour rcuprer les donnes envoyes par n capteurs ultrasons -> Dfinition d'un premier protocole exprimental de test pour 3 capteurs ultrasons, placs dans trois direction orthogonale. -> Cablage des trois capteurs (soudure des fils adquates, utilisation d'une d'essai lectronique) -> Montage de trois capteurs sur une structure de test ressemblant celle du quadricoptre -> Premire campagne de mesures -> Interprtation des rsultats -> Ecriture de deux autres programmes pour l'utilisation de n capteurs: l'un tel que les US soient lancs les uns aprs les autres, un autre tel que tous les US soient toujours relancs en mme temps ds que le plus lent a fini (en gnral toutes les 60 ms) -> Dfinition d'un protocole exprimental de test pour 3 capteurs ultrasons plus prcis que le prcdent et utilisant les nouveaux programmes -> Campagne de mesure prcise pour valuer les vritables performances des 3 capteurs, et permettant de valider son oprabilit pour rpondre notre besoin. -> Interprtation des rsultats

100% 100% programme 100% rapport

+ +++ ++ +++

2 4 2 5

100% programme

100%

rapport

++

2

100%

+

2

100% 100% 100% relev de mesures rapport

+ + ++

2 8 2

100%

programme s

+++

8

100%

rapport

++

4

100%

relev de mesures rapport

+++

10

100%

+++

5

39

Projet Quadricoptre 2005/2006

3.1.

Prise en main ATMEGALecture de la documentation

3.1.1.

Cette documentation est donne en document pdf ATmega128(L) Complete. Cette documentation nous a normment servi tout au long de lanne. Il est important de la survoler une fois au dbut pour au moins tre au courant de ce quelle contient. 3.1.2. Kit de dveloppement et logiciels utiliss

Pendant lanne nous avons utilis deux kit de dveloppement : un stk 500 puis un stk 300. La principale diffrence entre les deux kits est que le 300 ne contient quun port UART, tandis que le stk 500 en contient deux. Comme cela est dtaill dans la partie centrale inertielle, pour certains tests effectus avec la MIDGII, deux ports UART sont ncessaires, il est donc ncessaire dutiliser le stk 500. En revanche pour tout ce qui concerne la partie sur les capteurs ultrason le stk 300 est tout fait utilisable. Les deux types de kit de dveloppement nutilisent pas les mmes logiciels pour flasher le microcontrleur. Avec les stk 500 on utilise AVR Studio, tandis quavec les stk 300 on utilise Pony Prog. En ce qui concerne les branchements du kit de dveloppement en lui-mme, tout est indiqu dans la doc. Il est ncessaire de connecter certains pins avec dautres par lintermdi