clerc rapport

Upload: nourallah-aouina

Post on 30-Oct-2015

44 views

Category:

Documents


0 download

TRANSCRIPT

  • Laboratoire dactionneurs intgrs (LAI)

    Section Microtechnique - Projet de 8me

    semestre

    Electronique de commande ultra-lgre pour un

    hlicoptre de 7.2g avec tlcommande IrDA

    Professeur responsable : Yves Perriard

    Assistants : Grgory Savioz

    Christophe Winter

    Etudiant : Patrick Clerc

    Lausanne, 6 juin 2011

  • Projet de semestre LAI, EPFL

    Printemps 2011 1

    Table des matires

    1 Introduction .................................................................................................................................... 2

    1.1 Objectifs du projet .................................................................................................................. 3

    2 Analyse fonctionnelle ..................................................................................................................... 3

    2.1 Besoins gnraux .................................................................................................................... 3

    2.2 Tlcommande ....................................................................................................................... 4

    2.2.1 Fonctions ........................................................................................................................ 4

    2.2.2 Cahier des charges fonctionnel ....................................................................................... 4

    2.3 Rcepteur embarqu sur lhlicoptre..................................................................................... 5

    2.3.1 Fonctions ........................................................................................................................ 5

    2.3.2 Cahier des charges fonctionnel ....................................................................................... 5

    3 Partie matrielle.............................................................................................................................. 6

    3.1 Choix des solutions et des composants ................................................................................... 6

    3.1.1 Tlcommande ............................................................................................................... 6

    3.1.2 Rcepteur ........................................................................................................................ 7

    3.1.3 Schma de principe ......................................................................................................... 8

    3.2 Schmas lectroniques ............................................................................................................ 8

    3.2.1 Tlcommande ............................................................................................................... 9

    3.2.2 Rcepteur ...................................................................................................................... 13

    3.2.3 Carte dinterface ........................................................................................................... 16

    3.3 Ralisation des PCB ............................................................................................................. 17

    4 Partie logicielle ............................................................................................................................. 20

    4.1 Communication IrDA ........................................................................................................... 20

    4.2 Tlcommande ..................................................................................................................... 23

    4.3 Rcepteur .............................................................................................................................. 30

    4.4 Vue densemble des programmes ......................................................................................... 36

    5 Conclusion ................................................................................................................................... 37

    5.1 Bilan du projet ...................................................................................................................... 37

    5.2 Bilan personnel ..................................................................................................................... 39

    6 Bibliographie ................................................................................................................................ 40

    7 Annexes ........................................................................................................................................ 41

    7.1 Tlcommande ..................................................................................................................... 41

    7.2 Rcepteur .............................................................................................................................. 47

    7.3 Rcepteur modifi ................................................................................................................ 54

    7.4 Carte dinterface ................................................................................................................... 61

  • Projet de semestre LAI, EPFL

    Printemps 2011 2

    1 Introduction

    Un hlicoptre double rotor en fibre de carbone a t ralis par Grgory Savioz lors dun projet de

    semestre en 2007 dans le laboratoire dactionneurs intgrs [1]. Lhlicoptre ralis ne pse que 7.2

    grammes, comprend deux moteurs courant continu balais et est aliment par une batterie lithium-

    polymre (voir Figure 1).

    Le but de ce projet est de raliser la commande distance de cet hlicoptre ultra-lger. Une

    tlcommande ainsi quune lectronique de commande ultra-lgre doivent donc tre construites.

    La tlcommande doit tre en mesure denvoyer des signaux de commande pour contrler laltitude, le

    lacet et le tangage de lhlicoptre, ainsi que dafficher le niveau de batterie de lhlicoptre afin

    dviter une dcharge irrversible des batteries lithium-polymres. Dans le projet prsent, le contrle

    du tangage sera uniquement implment de faon logicielle, tant donn que lhlicoptre ne possde

    pas la mcanique ncessaire la modification de son angle de tangage.

    La communication bidirectionnelle est faite laide de signaux infrarouges afin de minimiser la

    consommation lectrique du circuit lectronique embarqu sur lhlicoptre. Ce mode de

    communication doit permettre de diriger lhlicoptre une distance de 2 4 mtres.

    Le microcontrleur utilis dans cette application est le MSP430F2132 de Texas Instrument, dont la

    spcification principale est davoir plusieurs modes de veille qui garantissent une consommation trs

    faible, ce qui nous permettra dobtenir une autonomie maximale pour lhlicoptre. Ce

    microcontrleur possde galement un module de conversion UART/IrDA qui permettra

    dimplmenter facilement lenvoi des signaux infrarouges.

    Les points critiques de ce projet rsident principalement dans la conception dun circuit lectronique

    suffisamment lger et petit pour ne pas entraver le vol de lhlicoptre. De plus, la consommation doit

    tre la plus faible possible, les batteries lithium-polymre utilises ayant une faible capacit (50 70

    mAh). Une synchronisation de la communication bidirectionnelle doit galement tre gre afin de

    minimiser les pertes de donnes envoyes par infrarouge.

    Figure 1: Hlicoptre ultra-lger

  • Projet de semestre LAI, EPFL

    Printemps 2011 3

    1.1 Objectifs du projet

    Dans un souci de synthse et de clart, les objectifs de ce travail sont numrs ci-dessous :

    - Dfinir les besoins de chaque circuit lectronique (tlcommande et rcepteur embarqu sur

    lhlicoptre)

    - Dessiner les schmas lectroniques de la tlcommande et du rcepteur

    - Crer le routage et assembler les circuits lectroniques

    - Comprendre et implmenter le protocole IrDA

    - Ecrire le software des deux microcontrleurs

    - Minimiser le poids, la taille et la consommation du rcepteur

    Ce projet demande un travail dans des domaines varis, tels que llectronique, la programmation de

    microcontrleurs, la communication par infrarouge ainsi quune partie de cration hardware.

    2 Analyse fonctionnelle

    Pour connaitre les besoins lectroniques et les fonctions logicielles de la tlcommande ainsi que du

    rcepteur embarqu, il est ncessaire de procder une analyse fonctionnelle du produit. Cette analyse

    est divise en trois parties : dabord une partie gnrale rappelant les besoins globaux satisfaire,

    ensuite une analyse spare pour la tlcommande et pour le rcepteur. Sur la base de cette analyse

    fonctionnelle un cahier des charges peut tre construit, ce qui nous permettra de dfinir les composants

    lectroniques ncessaires la ralisation de la tlcommande et du rcepteur.

    2.1 Besoins gnraux

    Les besoins remplir pour le projet en gnral sont les suivants :

    - Connaitre le temps dutilisation restant de lhlicoptre

    - Guider lhlicoptre (altitude, lacet et tangage) distance de faon intuitive

    - Utiliser lhlicoptre et la tlcommande durant plusieurs minutes

    - Pouvoir utiliser et transporter la tlcommande facilement

    - Garantir le fonctionnement de lhlicoptre

    - Ne pas dcharger les batteries de lhlicoptre de manire irrversible

    Sur la base de ces besoins nous pouvons dfinir les fonctions propres la tlcommande et au

    rcepteur.

  • Projet de semestre LAI, EPFL

    Printemps 2011 4

    2.2 Tlcommande

    2.2.1 Fonctions

    Les fonctions que la tlcommande doit raliser sont numres ci-dessous :

    - Indiquer le statut de la tlcommande (allume/teinte)

    - Lire des signaux analogiques donns par lutilisateur

    - Communiquer avec lhlicoptre sans fil

    - Synchroniser la communication sans fil avec lhlicoptre

    - Envoyer les commandes au rcepteur de lhlicoptre

    - Recevoir le signal (tension de la batterie de lhlicoptre) mis par lhlicoptre

    - Interprter la tension de la batterie comme un rapport (batterie restante/batterie pleine)

    - Afficher le niveau de la batterie de lhlicoptre

    - Assurer une bonne autonomie (faible consommation)

    - Etre ergonomique (taille, poids, forme)

    2.2.2 Cahier des charges fonctionnel

    Sur la base de la liste des fonctions de la tlcommande ainsi quavec les contraintes poses par le

    projet, nous pouvons tablir le cahier des charges fonctionnel :

    Dsignation Caractristiques

    Taille 150 x 80 mm

    Poids Maximum 200 g

    Autonomie Minimum 48 h en mode de fonctionnement normal

    Alimentation 2.4 4.1 V, sans fil

    Traitement des donnes

    A laide dun MSP430

    Conversion Analogique - Digitale

    Conversion UART/IrDA

    Communication IrDA bidirectionnel, 2 4 mtres

    Interface utilisateur

    Fonction ON/OFF

    Contrle de laltitude

    Contrle du lacet

    Contrle du tangage

    Affichage statut Indication ON/OFF

    Affichage batterie Ratio batterie restante/batterie pleine

    Tableau 1 : Cahier des charges fonctionnel de la tlcommande

  • Projet de semestre LAI, EPFL

    Printemps 2011 5

    2.3 Rcepteur embarqu sur lhlicoptre

    2.3.1 Fonctions

    Voici les fonctions que le rcepteur doit remplir :

    - Recevoir le signal mis par la tlcommande

    - Interprter le signal reu comme une combinaison de vitesse des hlices

    - Commander la vitesse des moteurs

    - Lire la tension de la batterie

    - Communiquer avec la tlcommande sans fil

    - Synchroniser la communication sans fil avec la tlcommande

    - Envoyer la valeur de tension de la batterie la tlcommande

    - Stopper les moteurs lorsque le niveau de la batterie devient trop faible

    - Ne pas entraver le vol de lhlicoptre

    - Assurer une bonne autonomie (faible consommation)

    - Ne pas dpasser les dimensions suivantes : 20x28 mm

    - Ne pas peser plus de 1 g

    2.3.2 Cahier des charges fonctionnel

    De mme que pour la tlcommande, nous pouvons construire le cahier des charges fonctionnel pour

    le rcepteur :

    Dsignation Caractristiques

    Taille Maximum 20x28 mm

    Poids Maximum 1g

    Autonomie 2 5 minutes de vol

    Traitement des donnes

    A laide dun MSP430

    Conversion Analogique - Digitale

    Signal PWM

    Conversion UART/IrDA

    Alimentation Batterie lithium-polymre 3 4.2 V

    Communication IrDA bidirectionnel, 2 4 mtres

    Contrle des moteurs PWM, boucle ouverte

    Tableau 2 : Cahier des charges fonctionnel du rcepteur

  • Projet de semestre LAI, EPFL

    Printemps 2011 6

    3 Partie matrielle

    Dans ce chapitre, les choix des solutions permettant de remplir les fonctions numres prcdemment

    ainsi que le choix des composants et des circuits lectroniques sont justifis. Un schma de principe

    prsentant les solutions choisies est prsent, puis nous tablirons une liste complte des composants

    lectroniques ncessaires, enfin nous pourrons construire le schma lectronique de la tlcommande

    et du rcepteur.

    3.1 Choix des solutions et des composants

    En ce qui concerne la tlcommande, nous devons faire des choix quant lalimentation, la manire

    dafficher le statut de la tlcommande, la faon dafficher le niveau de batterie de lhlicoptre, les

    moyens pour guider lhlicoptre et lmetteur/rcepteur infrarouge. Du ct du rcepteur les choix

    sont plus restreints, il faudra dfinir les transistors de puissance permettant de commander les moteurs

    ainsi que le transceiver infrarouge, les autres composants tant imposs par le projet.

    3.1.1 Tlcommande

    Le choix de lalimentation de la tlcommande est principalement li aux caractristiques du

    microcontrleur qui supporte des tensions allant de 2.4 V 4.1 V. Lalimentation doit tre faite sans fil

    afin dassurer lergonomie et la transportabilit de la tlcommande. Trois accumulateurs AA (HR6)

    de 1.2 V chacun feront parfaitement laffaire. Ceci permet dobtenir 3.6 V pour alimenter la

    tlcommande. Des piles AA de 1.5 V pourront galement tre utilises car une diode Schottky

    (CDBU0530) sera installe aprs lalimentation afin de faire baisser la tension de 0.5 V. Chaque

    accumulateur pesant 30 grammes, il restera une marge denviron 110 grammes pour la construction de

    la tlcommande, ce qui est largement suffisant. Un boitier pouvant contenir trois piles AA et muni

    dun bouton ON/OFF est utilis pour placer les accumulateurs sous la tlcommande.

    En ce qui concerne laffichage de statut (ON/OFF), la solution retenue est trs simple : une LED rouge

    (LH R974) est directement connecte la tension dentre. De cette manire ds que le bouton du

    boitier des piles est sur ON, la LED sallume indiquant que la tlcommande est enclenche. La LED

    LH R974 sallume sous une tension de 1.8 V avec un courant de 2 mA ce qui est ralisable avec les

    batteries choisies prcdemment.

    Afin de garantir une faible consommation et une lecture intuitive, laffichage du niveau de la batterie

    de lhlicoptre est implment laide de quatre LEDs vertes (CMD17-21). De cette manire, lorsque

    la batterie est pleine, les quatre LEDs sont allumes. Puis, au fur et mesure que la batterie diminue,

    les LEDs steignent en commenant par celle de droite. Lorsque les quatre LEDs sont teintes, cela

    signifie que lhlicoptre est entr dans un mode darrt des moteurs et ne rpond plus aux commandes

    de lutilisateur, afin de garantir la rutilisation des batteries lithium-polymre. Nous choisissons les

    LEDs CMD17-21 qui sallument sous une tension de 2.1 V avec un courant de 5 mA car les batteries

    permettent datteindre ces valeurs.

    Laltitude, le lacet ainsi que le tangage de lhlicoptre doivent pouvoir tre commands. Pour ce faire

    une solution simple et intuitive est de disposer dun potentiomtre linaire pour rguler laltitude et

    dun potentiomtre deux dimensions sous forme de joystick pour contrler le lacet et le tangage. En

    plaant les deux potentiomtres de part et dautre de la tlcommande, lutilisateur peut aisment

    commander lhlicoptre avec ses deux pouces. En montant, respectivement descendant, la position du

    potentiomtre linaire (positionn sur la gauche), il pourra augmenter, respectivement diminuer,

    laltitude de lhlicoptre. Laxe horizontal du joystick (gauche-droite) permet de commander le lacet

  • Projet de semestre LAI, EPFL

    Printemps 2011 7

    de lhlicoptre alors que laxe vertical (haut-bas) commande le tangage. Nous choisissons le

    potentiomtre linaire EWAP1 de Panasonic qui a une course de 45 mm et mesure 60 x 8 mm, et le

    joystick miniature de la srie 252 de CTS qui mesure 20 x 21 x 13 mm, car ces deux composants sont

    en accord avec les dimensions de la tlcommande (150 x 80 mm).

    Le Tableau 3, permet de comparer et de choisir un transceiver infrarouge du fabricant Vishay. Pour la

    tlcommande les restrictions sont moins importantes que pour le rcepteur de lhlicoptre. En effet,

    le poids et la taille du transceiver ne sont pas critiques, ce qui nous permet de choisir un metteur plus

    puissant afin de garantir un envoi de donnes une distance suffisante. Nous constatons que

    lmetteur/rcepteur offrant la plus grande distance dmission est le TFDU6103, cest pourquoi nous

    optons pour ce dernier pour la tlcommande.

    3.1.2 Rcepteur

    Les moteurs monts sur lhlicoptre sont de simples moteurs DC balais. Ces moteurs peuvent tre

    commands en vitesse grce des signaux PWM. Llectronique de commande de ces moteurs est

    donc rduite au minimum, savoir un transistor de puissance qui fournit le courant ncessaire au

    fonctionnement du moteur. Les transistors de puissance que nous allons utiliser sont des MOSFET

    IRLML2402. En effet, ce transistor est capable de fournir plus dun ampre avec une tension gate-

    source de 3 V, or les moteurs consomment environ 250 mA chacun. De plus, la taille du package est

    adapte notre application et il contient dj la diode de roue libre en parallle au transistor, ce qui

    nous vite den ajouter une au circuit lectronique.

    Pour le choix du transceiver infrarouge du rcepteur, nous pouvons nouveau consulter le Tableau 3.

    Les caractristiques adquates et celles qui ne conviennent pas sont mises en vidence, en vert et en

    rouge respectivement. Nous constatons quun seul transceiver remplit toutes les contraintes (taille,

    poids et consommation), il sagit du TFBS4711. Le baud rate maximal est largement suffisant comme

    nous le verrons plus loin lors de limplmentation de la communication IrDA.

    Transceiver

    Caractristiques TFBS4650 TFBS4711 TFDU4101 TFDU6103 TFDU6300

    Taille

    H x L x W [mm] 1.6 x 6.8 x 2.8 1.9 x 3 x 6 4 x 9.7 x 4.7 4 x 9.7 x 4.7 2.5 x 8.5 x 3.1

    Poids [g] 0.05 0.05 0.2 0.2 0.075

    Consommation [mA] 0.075 0.07 0.07 2 2

    Distance [m] 0.5 1 8 >1 1 22 1 9

    Baud rate max [kbps] 115.2 115.2 115.2 4000 4000

    Tension dalimentation [V] 2.4 3.6 2.4 5.5 2.4 5.5 2.4 5.5 2.4 3.6

    Prix* [CHF] 2.50 2.35 4.35 2.65 3.65

    Tableau 3 : Comparaison des diffrents transceivers IR

    *Prix chez Digikey.ch le 31 mars 2011

  • Projet de semestre LAI, EPFL

    Printemps 2011 8

    Afin de confirmer le choix des deux transceivers (celui de la tlcommande et celui du rcepteur) nous

    pouvons calculer la distance de communication. Selon les datasheets du constructeur Vishay, nous

    pouvons dterminer la distance laquelle lhlicoptre peut tre contrl en connaissant les deux

    transceivers.

    Pour des conditions dutilisation standards, pour le transceiver de la

    tlcommande et pour le rcepteur sur lhlicoptre. En prenant les deux

    valeurs minimales (130 mW/sr et 35 mW/m2) nous obtenons une distance denviron 2 mtres. Ceci

    nous laisse envisager quune distance suprieure peut tre atteinte dans de bonnes conditions et en

    augmentant le courant au maximum dans la LED mettrice, tant donn que les signaux sont envoyes

    sous forme de pulses.

    3.1.3 Schma de principe

    Nous pouvons maintenant construire un schma contenant les principaux composants lectroniques

    dcrits ci-dessus afin de synthtiser la situation. La Figure 2 prsente la tlcommande et le rcepteur

    de lhlicoptre communiquant par infrarouge. Le circuit lectronique du rcepteur ne contiendra pas

    les moteurs, qui sont dj fixs sur lhlicoptre, mais ils sont reprsents ici pour clarifier le schma.

    Le rcepteur est muni dune LED rouge (identique celle de la tlcommande) pour faciliter la tche

    de dbogage du logiciel par la suite.

    Figure 2 : Schma de principe de la tlcommande et du rcepteur

    3.2 Schmas lectroniques

    Les diffrents composants lectroniques doivent encore tre connects entre eux, ce qui fait lobjet de

    ce paragraphe. Les parties critiques des schmas lectroniques de la tlcommande et du rcepteur

    seront expliques ; les schmas complets se trouvent en annexes pour ne pas surcharger la partie

    explicative.

  • Projet de semestre LAI, EPFL

    Printemps 2011 9

    3.2.1 Tlcommande

    Alimentation et dcouplage du microcontrleur

    Comme nonc plus haut, afin de pouvoir utiliser des piles au lieu des accumulateurs, il est ncessaire

    dabaisser la tension dalimentation du microcontrleur maximum 4.1 V, cest pourquoi une diode

    Schottky est place entre la entre la tension dalimentation et le microcontrleur. Cette diode cre une

    chute de tension de 0.5 V sans limiter le courant dalimentation.

    La chute de tension aux bornes du microcontrleur est donne par

    . Le terme

    peut tre trs important si les signaux du circuit sont rapides et risque de gner le fonctionnement du

    microcontrleur qui demande une tension dalimentation continue. Afin de minimiser les effets des

    rsistances et des inductances parasites des fils (R et L), des capacits de dcouplage C1 et C2 sont

    montes en parallle du microcontrleur. Ces capacits devront tre situes le plus proche possible des

    pins.

    La Figure 3 reprsente le montage lectronique de lalimentation avec les deux capacits de

    dcouplage C1 et C2. Sur cette figure la tension dalimentation est de 3.6 V car nous allons utiliser des

    accumulateurs lors de ce projet. La tension lentre du microcontrleur (VCC MC) est donc de 3.1

    V.

    Figure 3 : Montage lectronique de l'alimentation de la tlcommande

  • Projet de semestre LAI, EPFL

    Printemps 2011 10

    LED de statut

    La LED qui permet de dterminer si la tlcommande est allume ou teinte est simplement connecte

    via une rsistance la tension dalimentation, comme le montre la Figure 4. La valeur de la rsistance

    R1 est dfinie en connaissant la tension Vcc, la tension aux bornes de la LED et le courant circulant

    dans la LED.

    Nous pouvons prendre une rsistance normalise de 1 k.

    Affichage du niveau de la batterie

    Afin de garantir un courant suffisant dans la LED verte, celle-ci est connecte au microcontrleur par

    le biais dun transistor (BS170). La tension VGS du transistor tant faible (celle fournit par le pin du

    microcontrleur est de maximum 3.1 V), la tension de saturation VD,sat est ngligeable. Nous pouvons

    reprendre le calcul ci-dessus avec un courant de 5 mA et une tension VLED de 2.1 V et ainsi choisir une

    rsistance de 330 .

    La Figure 5 prsente le montage dune seule LED, les trois autres LEDs sont connectes de la mme

    manire sur les pins P1.1, P1.2 et P1.3.

    Figure 4: Montage lectronique de la

    LED de statut

    Figure 5 : Montage lectronique d'une LED servant

    l'affichage du niveau de batterie de lhlicoptre

  • Projet de semestre LAI, EPFL

    Printemps 2011 11

    Conversions Analogique-Digitale (ADC)

    La lecture des potentiomtres est faite par le biais de lADC 10 bits du microcontrleur. Le

    convertisseur retourne la tension lue, Vin, de la faon suivante :

    Pour ne pas tre dpendant de la tension des accumulateurs (qui diminue plus les accumulateurs se

    dchargent) nous utilisons, comme rfrence positive, la source tension interne du microcontrleur de

    2.5 V qui est donne sur le pin P2.4. La rfrence ngative est simplement mise zro en connectant

    la patte P2.3 la terre. Nous obtiendrons donc des valeurs selon lquation suivante :

    La configuration prcise de lADC sera prsente plus loin, dans la partie logicielle du rapport.

    Afin de filtrer les bruits de mesures, des capacits de 100 nF (C3, C4 et C5 de la Figure 6) sont

    connectes en parallle des entres de lADC.

    Sur la Figure 6, la tension des batteries est galement mesure par le pin P3.0. Comme nous avons

    choisi une tension de rfrence positive de 2.5 V, il est ncessaire que la tension lue se trouve entre 0

    et 2.5 V. Un diviseur de tension form par R8 et R9 est mis en place pour diviser la tension par deux.

    De cette manire, lorsque les accumulateurs sont compltement chargs, la tension lentre de

    lADC est de 1.8 V. Les rsistances du diviseur de tension sont choisies grandes (100 k) pour

    minimiser les pertes de courant.

    Figure 6 : Montage lectronique des diffrentes conversions AD de la tlcommande

  • Projet de semestre LAI, EPFL

    Printemps 2011 12

    Transceiver infrarouge

    La faon de connecter lmetteur/rcepteur infrarouge est dcrite dans les datasheets de ce dernier [5].

    Comme prsent la Figure 7, les capacits C7, C8 et la rsistance R10 forment un filtre passe-bas

    pour lisser la tension dalimentation du transceiver. La capacit C6 permet de dcoupler lanode de la

    LED mettrice.

    Lanode de la LED infrarouge est connecte la tension dalimentation pour maximiser la tension aux

    bornes de la LED et ainsi le courant qui la traverse. La rsistance R11, quant elle est ncessaire, si la

    tension lanode est suprieure 3.3 V, le cas chant. Cette rsistance a pour but de limiter le

    courant circulant dans la LED. Le courant maximum support par la LED IR est de 600 mA et la

    tension ces bornes est de 3.6 V, la rsistance ncessaire doit donc tre de 6 , cest pourquoi nous

    pouvons utiliser une rsistance normalise de 10 .

    La patte 5 (SD) est tire la terre par la rsistance de pull-down R12. Ce pin peut tre mis un pour

    stopper le transceiver ou pour changer la vitesse de transmission infrarouge.

    Figure 7 : Schma de la connexion du transceiver infrarouge de la tlcommande

    Connexion JTAG et bi-wire

    Le microcontrleur peut tre programm par le biais de deux connexions diffrentes. Il sagit dune

    connexion JTAG quatre fils ou dune connexion bi-wire deux fils. Texas Instrument a cr un

    programmateur (numro de rfrence : eZ430-RF2500) qui permet daccder au MSP430 laide

    dune connexion bi-wire. Afin de garantir une certaine flexibilit, les deux connexions sont

    implmentes sur le circuit lectronique de la tlcommande et du rcepteur.

    Lalimentation fournie par le programmateur est directement connecte au pin VCC du

    microcontrleur, car les tensions ne dpassent pas les valeurs admises par le MSP430. Selon les

    datasheets du fabricant, le pin dentre-sortie du connecteur bi-wire (SBWTDIO) doit tre mis VCC

    par le bais dune rsistance de pull-up de 47 k, afin de garantir un niveau haut par dfaut. La

    rsistance nulle R14 (voir Figure 8), connecte la patte de TEST du microcontrleur, reprsente un

    jumper que lon peut choisir de connecter ou non. Avec lutilisation de la connexion bi-wire, ce

    jumper est laiss en lair, car le programmateur gre lui-mme ltat de la ligne TEST. Par contre, lors

    de lutilisation de la connexion JTAG, il est ncessaire de mettre la ligne au niveau haut pour que le

    microcontrleur sache quune connexion JTAG est utilise sur les pattes P1.4 P1.7.

  • Projet de semestre LAI, EPFL

    Printemps 2011 13

    La Figure 8 prsente la faon de placer les deux connecteurs pour le microcontrleur de la

    tlcommande, ceux du rcepteur sont connects de la mme manire aux pins correspondants.

    Figure 8 : Schma lectronique des connections JTAG et bi-wire

    3.2.2 Rcepteur

    Alimentation et dcouplage du microcontrleur

    Pour les mmes raisons que celles de la tlcommande, la batterie de lhlicoptre, qui dlivre une

    tension maximale de 4.2 V, est connecte lalimentation du microcontrleur par le biais dune diode

    Schottky qui abaisse la tension de 0.5 V (voir Figure 9). A nouveau, le microcontrleur est dcoupl

    grce la capacit C1.

    Figure 9 : Montage lectronique de l'alimentation du rcepteur

  • Projet de semestre LAI, EPFL

    Printemps 2011 14

    LED de contrle

    Le LED de contrle, tant la seule LED du rcepteur et tant trs peu utilise, ne ncessite pas un

    montage spcifique. Le microcontrleur est capable de fournir un courant de 5 mA en sortie, la LED

    est donc simplement connecte au pin 3.0 en sortie par le biais dune rsistance qui limite le courant,

    comme prsent en Figure 10. La tension fournie par le pin tant au maximum de 3.7 V

    (correspondant la tension dalimentation du microcontrleur) et le courant circulant dans la LED de

    5 mA, nous pouvons calculer la valeur de la rsistance R9 :

    Nous choisissons donc la valeur normalise 330 .

    Figure 10 : Connexion de la LED de contrle

    Conversions Analogique Digitale (ADC)

    La lecture de la tension de la batterie Li-Po se fait de la mme manire que la lecture de la tension des

    accumulateurs de la tlcommande. Comme la tension de rfrence interne est de 2.5 V, il est

    ncessaire de diviser la tension lue par un facteur deux, ce qui est effectu grce au diviseur de tension

    form de R4 et R5 de la Figure 11.

    Figure 11 : Montage lectronique de la conversion AD de la tension de la batterie de lhlicoptre

  • Projet de semestre LAI, EPFL

    Printemps 2011 15

    Contrle des moteurs

    Comme nonc plus haut, llectronique de commande des moteurs se rsume un transistor de

    puissance qui fourni le courant au moteur. La rsistance de pull-down R2 (voir Figure 12) est prsente

    pour assurer que le moteur ne tourne pas si le microcontrleur nenvoie pas un 1 la sortie (lors du

    dmarrage ou dun bug par exemple). Une diode de roue libre D3 est ncessaire pour que le courant

    puisse circuler lorsque le transistor ne conduit pas. Les capacits C4 et C5 permettent dviter les pics

    de courant sur la batterie dalimentation. Ces capacits fournissent une partie du courant durant un

    court instant lors de lenclenchement du transistor.

    Le deuxime moteur est connect de la mme manire sur le pin P1.3.

    Figure 12 : Montage lectronique d'un driver de moteur

    Transceiver infrarouge

    La connexion du transceiver infrarouge TFBS4711 est similaire celui de la tlcommande (voir

    Figure 13). Nous retrouvons le filtre passe-bas, form de la capacit C3 et de la rsistance R7. La

    capacit C2 permet de dcoupler le transceiver.

    A nouveau, lanode de la LED infrarouge est connecte la batterie pour maximiser la tension et le

    courant dans la LED. Le courant maximum support par la LED IR est de 430 mA et la tension ces

    bornes est de 4.2 V, la rsistance, R8, minimale ncessaire doit donc tre de 9.76 . Pour garantir une

    faible consommation du transceiver lors de lenvoi des donnes, la valeur de cette rsistance est

    choisie suprieure, 47 , ce qui limite le courant 90 mA, diminuant ainsi la distance de

    communication.

  • Projet de semestre LAI, EPFL

    Printemps 2011 16

    Figure 13 : Schma de la connexion du transceiver infrarouge du rcepteur

    3.2.3 Carte dinterface

    Dans le but de faciliter les tapes de programmation des microcontrleurs, une carte dinterface a

    galement t cre. Ce circuit est simple (voir en annexe) ; il relie les connecteurs du programmateur

    (4 pistes pour le bi-wire et 6 pistes pour le JTAG) des connecteurs MOLEX pour la programmation

    du rcepteur ou des headers standards pour la programmation de la tlcommande. Pour faciliter et

    garantir une connexion adquate, deux connecteurs MOLEX, lun au recto, lautre au verso, sont

    monts sur le circuit. De cette manire quelque soit lordre des pistes de programmation sur le

    rcepteur, un des deux connecteurs aura le mme ordre de pistes et pourra ainsi tre utilis. Cette

    astuce garantit galement la rutilisabilit de cette carte dinterface, car lordre des pistes sur le circuit

    programmer peut tre invers. Une diode Schottky est place sur la ligne dalimentation VCC afin

    dviter que des courants entrent dans le programmateur, lors du dbogage par exemple.

  • Projet de semestre LAI, EPFL

    Printemps 2011 17

    3.3 Ralisation des PCB

    Les composants et les circuits lectroniques tant maintenant dfinis, nous pouvons passer la

    cration des PCB. Dans ce paragraphe nous allons surtout voir les aspects mcaniques pour la

    construction des PCB mais les dessins des designs finaux se trouvent en annexe.

    En ce qui concerne la tlcommande, une forme particulire est donne au PCB afin damliorer

    lergonomie tout en vitant la construction dun boitier en plastique. Pour ce faire nous pouvons nous

    inspirer des manettes de jeux de la Playstation 3, pour dfinir les dimensions et la forme gnrale. Les

    contraintes principales sont poses par le boitier qui contiendra les piles, car ce dernier mesure 48.5

    mm par 68.5 mm, ainsi que par le potentiomtre linaire, mesurant 60 mm de long. La forme

    dfinitive de la tlcommande est prsente la Figure 14, cette figure ne contient que les cotes, en

    mm, qui sont imposes par les contraintes cites prcdemment. Lpaisseur du PCB est de 1.6 mm

    pour assurer un bon support rigide et solide tant donn quaucune coque en plastique ne viendra

    recouvrir la tlcommande.

    Le montage des composants de la tlcommande se fait sur une seule face, tant donn que le boitier

    des piles est pos larrire de la tlcommande. Le design du routage est relativement peu contraint,

    le point principal respecter est de garantir une bonne ergonomie. Dans ce but, le potentiomtre,

    respectivement le joystick, sont placs sur la gauche, respectivement sur la droite, de la tlcommande.

    Les LEDs vertes, permettant dafficher le niveau de la batterie, sont disposes sur une ligne au centre

    de la tlcommande, de cette manire lutilisateur peut piloter lhlicoptre tout en ayant une

    indication visuelle claire de ltat de la batterie de lhlicoptre. Enfin, le transceiver infrarouge est

    soud sur le devant de la tlcommande, pour garantir une direction dmission naturelle pour

    lutilisateur.

    Figure 14 : Forme de la tlcommande avec les mesures principales

  • Projet de semestre LAI, EPFL

    Printemps 2011 18

    Figure 15 : Photo de la premire version de la tlcommande

    Figure 16 : PCB de la deuxime version de la tlcommande

    La forme du rcepteur est galement particulire. La principale contrainte dimensionnelle concerne les

    cotes externes maximales ; lhlicoptre tant de petite taille, le rcepteur doit pouvoir tre fix sur ce

    dernier sans entraver son fonctionnement. Le poids tant galement un critre critique, le volume du

    rcepteur doit tre minimis, cest pourquoi un PCB de 0.1 mm dpaisseur est utilis. Comme dcrit

    prcdemment, les connecteurs de programmation de la carte dinterface sont des MOLEX, ceci

    permet dviter dutiliser des connecteurs standards, gros et lourds. Le rcepteur peut alors faire office

    de cble et aucun connecteur ny sera fix.

  • Projet de semestre LAI, EPFL

    Printemps 2011 19

    La Figure 17 prsente, la forme gnrale du rcepteur, nous pouvons observer le corps principal du

    circuit, de 18 par 28 mm. Les deux pattes contiennent uniquement les pistes qui permettront la

    programmation du microcontrleur. La partie plus large sera dcoupe, elle sert uniquement au dessin

    des pistes. Selon le programmateur choisi, nous pourrons couper une de ses pattes pour allger le

    circuit.

    Figure 17 : Forme du rcepteur avec mesures principales

    Figure 18 : Photo du rcepteur (verso) ainsi que de la batterie LiPO

    Figure 19 : Photo du rcepteur (recto)

  • Projet de semestre LAI, EPFL

    Printemps 2011 20

    4 Partie logicielle

    Ce chapitre est consacr lexplication des programmes implments sur les microcontrleurs qui

    permettent le contrle de lhlicoptre distance par le biais de linfrarouge. Pour commencer, le

    protocole de communication utilis est dcrit de manire gnrale. Puis, le logiciel de la

    tlcommande est explicit en dtail, suivi de la prsentation du logiciel du rcepteur de lhlicoptre.

    Enfin, une vue densemble permettra de synthtiser la communication entre les deux circuits.

    4.1 Communication IrDA

    La communication entre la tlcommande et lhlicoptre tant ralise par infrarouge, nous allons

    implmenter le protocole de communication adapt, savoir lIrDA (Infra-Red Data Association).

    Cette partie traite de lexplication en gnrale de la communication IrDA, en ne dveloppant que les

    aspects utiliss dans le cadre de ce projet, les caractristiques supplmentaires ne sont que brivement

    expliques.

    Larchitecture du protocole IrDA se prsente sous forme de couches (voir Tableau 4). Les couches se

    superposent plus la complexit de la communication augmente, c'est--dire que la couche infrieure

    est indispensable et que les couches suprieures ne sont pas ncessaires au fonctionnement de base de

    la communication, comme cest le cas dans ce projet. Seules les deux couches infrieures sont utiles

    notre application, elles seront donc expliques en dtail.

    IAS (Information Access Services) TTP (Tiny Transport Protocol)

    IrLMP (Link Management Layer)

    IrLAP (Link Access Protocol)

    Framer

    IrPhy (Physical Layer)

    Tableau 4 : Architecture du protocole de communication IrDA

    La premire couche, IrPhy, permet de spcifier les caractristiques de transmission, telles que les

    proprits optiques, la forme des pulses et la vitesse de transmission, le baud rate en anglais. Ces

    proprits dpendent principalement du type dmetteur et de rcepteur utiliss. Les proprits

    physiques des transceivers choisis, telle que la longueur donde, langle dmission, la puissance

    dmission, la sensibilit, sont parfaitement dfinis et compatibles avec lapplication prsente.

    En ce qui concerne la vitesse de transmission, il existe quatre schmas de pulse qui permettent de

    modifier le baud rate (du plus lent, 9.6 kbps, au plus rapide, 16 Mbps) : SIR, MIR, FIR, VFIR. Dans

    notre application le transceiver infrarouge du rcepteur ne permet denvoyer et de recevoir des

    donnes quen mode SIR. De plus, le microcontrleur possde un module qui permet de convertir un

    signal UART en un signal IrDA en mode SIR, la vitesse de transmission est donc dfinie 9600 bps,

    ce qui largement suffisant pour cette application.

  • Projet de semestre LAI, EPFL

    Printemps 2011 21

    La forme des pulses correspondant au modle SIR est cre par une modulation RZI (Return to Zero

    Inverted). Cette modulation comprend trois tapes principales pour transformer un signal UART en un

    signal IrDA :

    1) Inversion de la valeur du bit

    2) Gnration dun signal qui dure 3/16 du bit de donnes

    3) Ajout dun bit de dbut (start) et dun bit de fin (stop)

    Figure 20 : Conversion UART / IrDA

    La Figure 20 prsente la conversion UART / IrDA, nous observons que le bit de start de lIrDA est

    reprsent par la valeur logique 1 et que le bit de stop vaut 0. Le caractre dinformation contenu

    entre ses deux bits ne mesure que 8 bits. Pour chaque caractre envoyer, 10 bits au total sont donc

    gnrs et envoys. Ce schma de pulses reprsente la base de la communication IrDA. Les couches

    suprieures du protocole utilisent toutes cette forme et ne font que mettre bout bout diffrents

    caractres dinformation permettant dexcuter des communications complexes.

    La couche Framer donne la forme du paquet de pulses, elle transforme les paquets de donnes en les

    encadrant dans des bits de contrle. Ces bits de contrles permettent de dfinir si les bits ont tous t

    reus et donc si linformation reue est correcte. Le modle SIR du protocole de communication peut

    tre schmatis comme le montre la Figure 21.

    Le Framer ajoute un byte de dpart, un byte de fin, ainsi que deux bytes de vrification autour des

    donnes envoyer. La suite de ces diffrents bytes forme un paquet de donnes, appel frame en

    anglais.

    Information

    8 bits

    Start

    1 bit

    Stop

    1 bit

    Donne

    8 bits

    BOF

    8 bits

    EOF

    8 bits

    CS

    8 bits

    CS

    8 bits

    ..

    Figure 21 : Reprsentation schmatique d'un caractre envoy par IrDA

    Figure 22 : Reprsentation schmatique d'un paquet de donnes envoy par IrDA

  • Projet de semestre LAI, EPFL

    Printemps 2011 22

    La Figure 22, reprsente le schma dun paquet de base contenant le BOF (Beginning of Frame),

    souvent fix la valeur hexadcimale 0xC0, les diffrents bytes de donnes, les deux bytes de CS

    (Check Sum) qui ne sont rien dautre que la somme de tous les bytes de donnes, et le EOF (End Of

    Frame), qui est lui fix 0xC1. Le Check Sum doit bien videmment tre envoy sur deux bytes pour

    viter un overflow sur un seul byte lors de laddition des diffrentes donnes. Munis de ces caractres

    supplmentaires, le paquet de donnes peut tre analys la rception, car il est possible de dterminer

    quand il commence, si tous les bits sont reus correctement et quand il finit.

    Les couches suprieures ne sont pas implmentes dans ce projet, car il sagit dajouts de caractres

    qui permettent dtablir un change prcis et contrl dinformations. Ces couches sont surtout

    utilises dans des applications dchange de documents de taille importante, comme par exemple,

    lenvoi dun document partir dun ordinateur vers une imprimante, ou lors dchange dinformations

    diverses entre plusieurs appareils pouvant fournir diffrents services.

    La couche IrLAP permet une transmission point point en halfduplex, c'est--dire quil y a un appareil

    maitre et un ou plusieurs appareils esclaves. Les informations sont envoyes lune aprs lautre et une

    rponse est chaque fois attendue pour continuer lchange. Cette rponse indique si le rcepteur a bien

    reu la donne prcdemment envoye et sil est prt recevoir la donne suivante. Cette couche

    permet galement la dcouverte dappareils qui possdent une connexion infrarouge active, la

    connexion avec un ou plusieurs de ces appareils ainsi que lchange dinformations entre les diffrents

    appareils actifs.

    La couche IrLMP, quant elle, permet plusieurs applications dun appareil dutiliser le lien

    infrarouge pour envoyer ou recevoir des informations. Chaque service que lappareil peut fournir

    possde une adresse, qui doit tre envoye dans le frame pour accder ce service.

    La couche IAS rend possible lenregistrement, la dcouverte et laccession aux diffrents services

    proposs par un appareil.

    Enfin, le Tiny TP ajoute un tage de contrle du flux au niveau de lIrLMP, c'est--dire quil permet

    de segmenter les donnes, de grer la priorit des envois et de rassembler les donnes de diffrents

    services.

    La description des fonctions des couches suprieures montre quelles ne sont pas applicables dans

    notre application. En effet, nous ne pouvons pas nous permettre dattendre la rponse de lhlicoptre,

    qui est un lment mobile, pour envoyer les commandes sur les moteurs, car la transmission en temps

    rel serait perdue. De plus, la tlcommande et lhlicoptre ne fournissent pas diffrents services

    auxquels nous voudrions accder indpendamment. Enfin, il est vident que la communication ne se

    fait quentre deux circuits qui possdent, de par leurs composants lectroniques et leur programmation,

    des caractristiques compatibles pour la communication IrDA.

  • Projet de semestre LAI, EPFL

    Printemps 2011 23

    4.2 Tlcommande

    Ce paragraphe prsente une description des choix de programmation ainsi que du fonctionnement

    gnral du programme qui est implment sur le MSP430 de la tlcommande. Le code, crit en

    langage C, tient dans un unique fichier regroupant le programme principal (main) ainsi que la

    dfinition des deux interruptions, linterruption ADC et linterruption de rception infrarouge. De plus

    amples informations sur la programmation et le fonctionnement du MSP430 peuvent tre trouves

    dans [3].

    Le principe de fonctionnement du code de la tlcommande, ainsi que celui du rcepteur, repose sur

    une mise en veille, nomme Low-Power Mode , qui est stoppe lorsquune interruption est active.

    Ceci permet de diminuer la consommation du microcontrleur et de ragir en temps rel aux

    vnements extrieurs. Pour pouvoir implmenter ce mode de fonctionnement, le watchdog timer du

    microcontrleur est dsactiv, vitant ainsi une remise zro chaque fois que le microcontrleur se

    met en veille prolonge.

    La frquence de lhorloge principale du microcontrleur (MCLK) ainsi que la frquence auxiliaire

    (SMCLK) sont fixes 8 MHz et sont cadences grce loscillateur interne contrl numriquement.

    Lhorloge auxiliaire nous permet de passer au mode de veille le moins svre (Low-Power Mode 0)

    tout en excutant des tches de fond comme les mesures ADC, lincrmentation de compteur ainsi que

    lenvoi et la rception de signaux IrDA. La frquence de 8 MHz est amplement suffisante tant donn

    quil y a trs peu de calculs effectuer et que le programme est rythm par les interruptions, qui ont

    une frquence plus faible.

    Comme prcis dans la partie prcdente, la communication bidirectionnelle nest pas commande par

    des requtes et rponses, c'est--dire que nous ne nous assurons pas que le rcepteur ait reu

    linformation pour lui envoyer linformation suivante. Il est donc ncessaire de trouver une solution

    pour que les deux appareils (la tlcommande et le rcepteur de lhlicoptre) puissent se synchroniser

    et ne pas envoyer des donnes nimporte quand. Les informations provenant de la tlcommande et

    contrlant la vitesse des moteurs tant plus importantes et demandant une plus grande ractivit, la

    tlcommande envoie les donnes de faon continue durant 950 ms puis stoppe lenvoi pour se mettre

    en mode de rception durant 50 ms. Durant ces 50 ms, le rcepteur peut envoyer la valeur de la

    batterie de lhlicoptre que la tlcommande affichera sur les LEDs vertes. Cette solution permet un

    bon contrle de lhlicoptre, en effet ltre humain est capable de se rendre compte dun changement

    et de ragir en consquence en 120 ms environ, cette coupure de 50 ms passera donc presque

    inaperue pour lutilisateur. Dautre part, ce stratagme garantit une consommation minimale du

    circuit situ sur lhlicoptre, car lenvoi des donnes ne se fait quune fois par seconde. Pour ajuster

    le temps denvoi, il suffit dobserver le frame infrarouge envoy par la tlcommande, de compter le

    temps denvoi dun frame et de dfinir combien de paquets peuvent tre envoys avant le mode de

    rception, le temps de rception, quant lui, est simplement dtermin par un compteur qui

    sincrmente jusqu la valeur correspondant 50 ms.

    Conversion Analogique Digitale (ADC)

    Linterruption principale du programme de la tlcommande est linterruption de la conversion AD,

    qui est dclenche lorsquune conversion, ou une srie de conversions, est termine. Le concept du

    logiciel tant denvoyer en continu les donnes lues par la tlcommande, il est ncessaire que ces

    donnes soit rgulirement mises jour. Cette conversion ne peut toutefois pas tre excute trs

    haute frquence, la priode dchantillonnage minimale tant donne dans les datasheets par :

  • Projet de semestre LAI, EPFL

    Printemps 2011 24

    Dans notre cas (rsistance des potentiomtres) et donc , c'est--dire que

    la frquence dchantillonnage doit tre infrieure 4 MHz. De plus la transmission IrDA tant limite

    9600 bps, la lecture des valeurs des potentiomtres peut se faire basse frquence. Cest pourquoi la

    frquence du module ADC (ADC10CLK) est choisie la valeur minimale possible, savoir 1.6 MHz,

    ce qui correspond lhorloge SMCLK divise par un prescaler de 5. Lchantillonnage quant lui se

    fait sur 64 coups dhorloge, afin de diminuer la cadence des interruptions de lADC. Nous obtenons

    finalement :

    , correspondant une frquence

    Comme nonc plus haut, la tension de rfrence de la conversion AD est programme comme tant la

    tension de rfrence interne de 2.5 V pour ne pas dpendre des fluctuations de la tension

    dalimentation. Pour tablir cette tension sur la patte P2.4, il faut attendre un dlai de 30 s, ce qui est

    ralis par linterruption du Timer A qui nest excute quune seule fois lors de linitialisation, en

    dbut de programme.

    Les quatre donnes devant tre rcoltes par lADC sont les suivantes : laltitude, donne par le

    potentiomtre linaire, le lacet et le tangage, par le biais du joystick et enfin ltat des batteries de la

    tlcommande. Linterruption ADC peut tre dclenche quaprs la lecture et la sauvegarde de ces

    quatre valeurs en utilisant le contrleur de transfert de donnes (en anglais Data Transfer Controller ou

    DTC), qui permet de stocker dans un tableau les valeurs lues par lADC. Ce contrleur fonctionne en

    parallle du fonctionnement principal du microcontrleur et peut donc tre actif lors de la veille de ce

    dernier. Les valeurs sont lues et stockes de manire dcroissante, cest--dire en commenant par le

    pin P3.0 puis en remontant jusquau pin P2.0. Le tableau ADC_buffer reoit donc les paramtres

    en commenant par ltat des batteries et en terminant par laltitude (voir Tableau 5). Cette mthode

    rend obligatoire le passage par tous les pins de lintervalle mme sils ne sont pas configurs en entre

    ADC, ces pins ne seront pas chantillonns mais une incrmentation de ladresse suivante du tableau

    est effectue. Linterruption est dclenche lorsque le tableau ADC_buffer est rempli.

    Patte du MSP430 /

    Source de lADC Adresse

    ADC_buffer Paramtre lu

    P3.0 / A5 ADC_buffer [0] Batteries

    P2.4 / A4 ADC_buffer [1] ---

    P2.3 / A3 ADC_buffer [2] ---

    P2.2 / A2 ADC_buffer [3] Tangage

    P2.1 / A1 ADC_buffer [4] Lacet

    P2.0 / A0 ADC_buffer [5] Altitude

    Tableau 5 : Stockage des valeurs lues par lADC dans le tableau l'aide du DTC

  • Projet de semestre LAI, EPFL

    Printemps 2011 25

    Maintenant que linitialisation du module ADC est compltement dfinie, il est possible de calculer

    prcisment la frquence de linterruption ADC laide du tableau suivant, qui reprsente le temps de

    chaque tape pour une seule lecture ADC :

    Etape Nombre de coups dhorloge Dure [s]

    Echantillonnage 40

    Conversion 7.5

    Sauvegarde 0.625

    DTC 0.125

    Total 48.25

    Tableau 6 : Dure de chaque tape pour une conversion AD

    Etant donn que linterruption est dclenche lorsque que le tableau ADC_buffer est compltement

    rempli, le temps entre chaque interruption est de quatre conversions AD, savoir 193 s. La frquence

    de linterruption ADC se monte donc 5.18 kHz. Le microcontrleur est mis en veille et nest actif

    que toutes les 0.2 ms pendant quelques s, ce qui permet dconomiser de lnergie, bien que ce gain

    soit ngligeable face la consommation des LEDs daffichage.

  • Projet de semestre LAI, EPFL

    Printemps 2011 26

    Les donnes lues par le module ADC sont codes sur 10 bits de la faon suivante :

    Les donnes ne peuvent tre envoyes que par paquet de 8 bits, il est donc ncessaire de diminuer la

    taille des sorties de lADC avant lenvoi. Il ne faut garder que les 8 bits de poids fort, en excutant un

    dcalage de 2 bits droite, correspondant une division par 4. Les donnes seront ensuite utilises et

    converties en vitesse des moteurs de manire adquate sur le rcepteur de lhlicoptre, grce au

    Tableau 7 qui contient les valeurs des conversions AD sur 8 bits pour les positions critiques des

    potentiomtres :

    Paramtres Position Valeur hexadcimale Valeur dcimale

    Potentiomtre

    Altitude

    Bas 0xFF 255

    Haut 0x00 0

    Joystick

    Lacet

    Gauche 0xF8 248

    Milieu 0x7A 122

    Droite 0x02 2

    Joystick

    Tangage

    Bas 0xFF 255

    Milieu 0x7C 124

    Haut 0x00 0

    Tableau 7 : Valeurs de sortie de l'ADC codes sur 8 bits

    Communication IrDA

    Pour limplmentation de lenvoi et de la rception du signal IrDA, le module USCI (Universal Serial

    Communication Interface) est configur pour la conversion UART / IrDA. Nous imposons ce

    module dutiliser lhorloge auxiliaire (SMCLK) 8MHz, de cette manire la rception et la

    transmission de donnes infrarouge pourra se faire durant le mode de veille. Pour former un pulse de

    3/16 de bit, le module de conversion effectue un surchantillonnage 16 fois plus lev. Pour obtenir

    une vitesse de transmission de 9600 bps, la frquence du module doit donc tre de 9600 x 16 = 153.6

    kHz. Lhorloge 8 MHz est donc divise par un prescaler de 52 pour obtenir une frquence de 153.8

    kHz, un tage de modulation est activ pour se rapprocher le plus possible de la frquence dsire.

    Pour sassurer que le buffer denvoi de 8 bits est prt recevoir une nouvelle information, il suffit de

    vrifier la valeur du flag dinterruption du module USCI. Si ce dernier est 0 cest que lenvoi nest

    pas termin et que le buffer ne peut pas recevoir de nouvelles donnes, sil est 1, un nouveau byte

    peut tre plac dans le buffer pour tre envoy. Pour la rception, il suffit dactiver linterruption de

    rception du module USCI et lorsquun byte est reu et enregistr dans le buffer de rception,

    linterruption est automatiquement appele. Il est donc primordial de dsactiver linterruption de

    rception lors de lenvoi des donnes et de ne lactiver que lorsque que lon est prt recevoir des

  • Projet de semestre LAI, EPFL

    Printemps 2011 27

    donnes. En effet, linterruption de rception tant dune priorit suprieure celle de lADC, qui

    excute lenvoi des donnes lorsque ses valeurs sont toutes lues, le programme risque dtre

    interrompu un moment inopportun par linterruption de rception (voir Figure 24)

    Le frame dinformation envoy lhlicoptre est prsent la Figure 23, il compte 70 bits au total,

    c'est--dire quil faudra environ 7.3 ms pour lenvoi total du frame une vitesse de 9600 bps. Pour

    envoyer ces informations lhlicoptre durant 950 ms, il suffit donc de faire partir 130 paquets de

    donnes la suite. Dans le cas prsent, le Check Sum est quivalent la somme de la valeur de

    laltitude, du lacet et du tangage. Ces valeurs ne sont rien dautres que la lecture du potentiomtre et

    du joystick par lADC. Les donnes brutes sont envoyes, linterprtation et la conversion de ces

    donnes sont excutes par le rcepteur de lhlicoptre.

    Affichage des LEDs

    Laffichage des LEDs vertes remplit deux fonctions distinctes : premirement il permet dindiquer

    lutilisateur le niveau de batterie de lhlicoptre, deuximement il doit permettre de faire savoir que

    les niveaux des accumulateurs de la tlcommande sont faibles. La premire fonction est effectue

    dans linterruption de rception infrarouge (voir Figure 24) c'est--dire lorsquun signal infrarouge a

    t reu correctement par la tlcommande. La tension de la batterie de lhlicoptre peut varier entre

    3.2 et 4.2 V, ce qui correspond des valeurs ADC codes sur 10 bits allant de 654 859, quivalant

    des valeurs sur 8 bits de 164 214. Effectivement, les valeurs retournes par le module ADC du

    rcepteur sont donne par :

    Or dans le montage du rcepteur, la tension dentre de lADC est gale la moiti de la tension

    effective de la batterie, ce qui aboutit :

    Le but est de pouvoir afficher le niveau de la batterie selon 5 tats grce un nombre cod sur 8 bits.

    La conversion pour laffichage sur les LEDs se fait donc de la manire suivante :

    Puis, selon la valeur de LED_display, le bon nombre de LEDs sera illumin :

    Si LED_display > 200 4 LEDs allumes,

    si LED_display > 150 3 LEDs allumes,

    si LED_display > 100 2 LEDs allumes,

    si LED_display > 50 1 LED allume,

    et enfin, si LED_display

  • Projet de semestre LAI, EPFL

    Printemps 2011 28

    La deuxime fonction quant--elle est excute lors de linterruption ADC, immdiatement aprs la

    lecture de la tension des accumulateurs. Le montage de la lecture de la tension des accus est le mme

    que pour la batterie de lhlicoptre, nous pouvons donc rutiliser lquation ci-dessus. Les batteries

    de la tlcommande sont en fait trois accumulateurs de 1.2 V en srie, totalisant donc 3.6 V. Leur

    tension peut chuter jusqu 1 V lorsquils sont vides, baissant la tension totale 3 V, ce qui nous

    donne une valeur sur 10 bits de 613. Si le rsultat de la lecture ADC est en dessous de cette valeur, les

    quatre LEDs vertes changent dtat toutes les 2500 fois que linterruption ADC est appele, ce qui

    provoque un clignotement 1Hz environ.

    Droulement gnral du programme

    La Figure 24 est un schma explicatif du code implment sur la tlcommande. Ce programme est

    constitu de trois parties principales : le main, linterruption ADC et linterruption de rception IrDA.

    Le microcontrleur est dabord initialis, selon les instructions donnes prcdemment, il donne le

    dpart de la conversion ADC puis entre en mode de veille. La conversion ADC se fait durant la veille

    du microcontrleur. Linterruption ADC est appele rgulirement durant tout le fonctionnement du

    programme, bien que lutilisation de ses donnes ne se fasse que de temps en temps, quand le buffer

    denvoi du module IrDA est prt. Lactivation et la dsactivation de linterruption de rception IR est

    galement faite dans linterruption de lADC, permettant ainsi une synchronisation parfaite de lenvoi

    et de la rception. Une fois linterruption ADC termine, le microcontrleur sort du mode de veille

    pour relancer une conversion AD puis se remet en veille.

    Linterruption de rception est dclenche lorsquun byte de donnes est reu. Elle dbute par une

    analyse du byte reu afin de savoir sil sagit du dbut du paquet, dune information ou de la fin du

    paquet. Une fois que le frame complet est reu, la vrification de la donne est effectue en comparant

    la valeur de linformation avec celle du Check Sum reu. Si cette vrification est correcte laffichage

    des LEDs est excut comme expliqu plus haut. A la fin de cette interruption le microcontrleur se

    remet en veille.

    Un schma temporel, reprsentant la synchronisation entre les deux circuits est reprsent plus loin en

    Figure 29.

  • Projet de semestre LAI, EPFL

    Printemps 2011 29

    Figure 24: Schma du code de la tlcommande

    Main

    Initialisation

    - Sortie sur les LEDs - Horloge : 8 MHz - ADC : 20 kHz - IrDA : 9600 bps

    Conversion ADC

    Activation des interruptions

    Mise en veille

    Interruption de rception IrDA

    Affichage du niveau de la batterie

    Analyse du frame

    Sauvegarde du caractre reu

    Somme

    caractres =

    CS ?

    OUI

    NON

    Fin de linterruption Retour en mode de veille

    Interruption ADC

    NON Batteries

    faibles ?

    Sauvegarde des valeurs ADC

    Clignotement des 4 LEDs vertes

    OUI

    Buffer denvoi prt ? ET Nombre

    de frames envoyes

    < 130 ?

    Envoi des donnes par IrDA

    NON

    OUI

    Fin de linterruption Sortie du mode de veille

    Temps de rception

    50 ms ?

    NON

    Dsactivation de linterruption de rception IrDA, remise zro du

    nombre de frames envoyes

    OUI

    NON

    Activation de linterruption de rception IrDA

    Nombre de frames

    envoyes 130 ?

    OUI

  • Projet de semestre LAI, EPFL

    Printemps 2011 30

    4.3 Rcepteur

    La configuration logicielle du microcontrleur du rcepteur est trs semblable celle de la

    tlcommande, cest pourquoi dans cette partie, seuls les lments caractristiques au rcepteur seront

    dvelopps en dtail. Tout dabord, le programme repose sur le mme principe de fonctionnement que

    celui de la tlcommande, c'est--dire que le microcontrleur sinitialise, se met en veille et est activ

    grce aux interruptions. Les deux interruptions du rcepteur sont linterruption du Timer A et celle de

    la rception IrDA. Pour les mmes raisons qunonces prcdemment, lhorloge principale ainsi que

    le lhorloge auxiliaire sont cadences 8 MHz.

    Timer A et gnration du PWM

    Linterruption principale de ce programme est celle du Timer A, qui est dclenche lorsque le

    compteur atteint la valeur maximale, fixe par lutilisateur. Le Timer A sert galement la cration

    des deux signaux PWM qui forment la commande en tension des deux moteurs indpendamment. Le

    comparateur principal, TACCR0, est donc ajust de faon obtenir des commutations PWM 20 kHz,

    les rendant ainsi inaudibles pour ltre humain. Le mode du compteur est choisi en up-down c'est-

    -dire quil sincrmente jusqua la valeur de TACCR0, puis se dcrmente jusqu atteindre zro et

    ainsi de suite (voir Figure 25). Le comparateur principal est donc dfini de la manire suivante :

    avec , la frquence de lhorloge principale du microcontrleur et f, la frquence dsire. A cette

    frquence linterruption du Timer A est alors dclench toutes les 50 s. Cette interruption incrmente

    un compteur, pour savoir si la tlcommande a dmarr la pause de 50 ms, puis sort le microcontrleur

    de sa veille (voir Figure 27). Le compteur est remis zro par linterruption de rception IrDA, il

    narrive donc la valeur 400 que si aucune donne nest reue durant 20 ms.

    Figure 25 : Compteur du Timer A et gnration du PWM

  • Projet de semestre LAI, EPFL

    Printemps 2011 31

    Les signaux PWM sont gnrs laide de deux comparateurs supplmentaires, TACCR1 et

    TACCR2, dont la valeur est modifie lors de la rception des donnes IR. Le mode de gnration est

    appel toggle/reset , c'est--dire que la sortie PWM est inverse lors du passage par la valeur du

    comparateur auxiliaire (TACCR1 ou TACCR2) et est mise zro lorsque le Timer atteint la valeur

    maximale, TACCR0, comme le montre la Figure 25. Ce mode permet davoir un rapport de cycle du

    PWM proportionnel la valeur du comparateur auxiliaire. Le moteur 1 sera donc rgul par le PWM

    gnr par le comparateur TACCR1 et le moteur 2 par celui du comparateur TACCR2, permettant

    ainsi dappliquer des vitesses diffrentes sur les deux hlices. En tenant compte des valeurs mesures

    par lADC de la tlcommande, prsentes dans le Tableau 7, il est possible de dfinir la valeur

    appliquer aux deux comparateurs. Laltitude est applique de faon identique sur les deux moteurs

    permettant dlever lhlicoptre la verticale. Le lacet quant lui est, sur un moteur, additionn, et

    sur lautre, soustrait, crant ainsi une diffrence de vitesse entre les deux hlices et entrainant un

    mouvement de rotation de lhlicoptre. Le coefficient du lacet doit tre dtermin en ralisant des

    essais avec le montage final. Dautre part, pour tenir compte des frottements mcaniques diffrents

    pour les deux hlices, il est ncessaire dajouter un coefficient de correction pour assurer que les

    hlices tourne la mme vitesse lorsque la consigne est la mme pour les deux moteurs. Ce coefficient

    est trouv en faisant la moyenne des ratios donns par le Tableau 8. Cette moyenne est de 0.73, mais

    elle est arrondie 0.75 afin de pouvoir facilement lappliquer laide de nombres entiers (3/4).

    Finalement nous obtenons les formules suivantes :

    La position haut du potentiomtre linaire correspondant la valeur 0, il est ncessaire dinverser

    laltitude en la soustrayant la valeur maximale, 255. Il en est de mme pour le lacet, le zro doit

    correspondre la position mdiane du joystick. Le coefficient 200 reprsente simplement la valeur du

    comparateur TACCR0, le diviseur 1024 est quant lui, comme nonc ci-dessus, dterminer

    exprimentalement. Une vrification est effectue avant denvoyer ces rsultats sur les moteurs, pour

    sassurer que la valeur obtenue reste dans la plage autorise : [0 ; 200].

    Valeur du

    comparateur du PWM

    Vitesse de lhlice du dessous (1) [tr/min]

    Vitesse de lhlice du dessus (2) [tr/min]

    Ratio (1)/(2)

    20 420 620 0.68

    40 750 1000 0.75

    80 1000 1430 0.7

    100 1260 1650 0.76

    150 1560 2000 0.78

    180 1700 2500 0.68

    Tableau 8 : Vitesse des hlices en fonction du comparateur du PWM

  • Projet de semestre LAI, EPFL

    Printemps 2011 32

    Conversion Analogique Digitale (ADC)

    Le module ADC nest activ quune fois par seconde pour faire une mesure de la tension de la batterie

    de lhlicoptre. Cette activation est faite dans le main lorsque le rcepteur ne reoit plus aucune

    donne durant un intervalle de 20 ms, afin de garantir quil sagit de la pause intentionnelle de la

    tlcommande et non dune coupure de communication. La priode dchantillonnage doit tre la plus

    courte possible pour permettre la lecture de la tension de la batterie et lenvoi de cette information

    dans le laps de temps restant, savoir 30 ms. Comme dans la partie prcdente, la priode

    dchantillonnage minimum est donne par :

    Cette fois-ci est donne par le diviseur rsistif form par les deux rsistances de :

    et donc , c'est--dire que la frquence dchantillonnage doit tre infrieure 93

    kHz. Pour obtenir une frquence dchantillonnage proche, lhorloge du module ADC, ADC10CLK,

    est fixe la moiti de lhorloge principale, savoir 4 MHz. Lchantillonnage se fait, quant- lui, sur

    64 coups dhorloge, donnant ainsi une priode dchantillonnage de 16 s. Une fois que la conversion

    est termine, le module ADC est teint dans linterruption du Timer A, afin de diminuer la

    consommation du circuit lectronique. Le temps total pour quune conversion AD soit ralise est de

    50 s. En effet, lchantillonnage commence directement une fois que le module est compltement

    configur. Cet chantillonnage dure 16 s, suivi de la conversion de la valeur lue (

    ) et de son enregistrement ( ), mais la rcupration de la valeur ne se fait

    quaprs la prochaine interruption du Timer A qui se dclenche 20 KHz, c'est--dire toutes les 50 s.

    La conversion AD est directement suivie, dans le main, par la vrification de ltat de la batterie.

    Sagissant dune batterie lithium-polymre, il faut viter que sa tension descende au dessous de 3 V,

    sans quoi sa recharge est impossible. Pour garantir que la tension reste au dessus de cette valeur, le

    microcontrleur du rcepteur stoppe les moteurs, dsactive les interruptions et se met en veille, lorsque

    la tension de la batterie atteint 3.2 V, prenant ainsi compte dun facteur de scurit suffisant. La

    tension de 3.2 V, comme expliqu au chapitre prcdent, correspond une valeur sur 8 bits de 164.

  • Projet de semestre LAI, EPFL

    Printemps 2011 33

    Communication IrDA

    Tous les paramtres dinitialisation de la communication IrDA sont les mmes que ceux de la

    tlcommande, garantissant ainsi la compatibilit des deux circuits. Seul le paquet de donnes envoy

    est diffrent (voir Figure 26). Le rcepteur de lhlicoptre, nayant que la valeur de la batterie

    envoyer, le frame IR ne fait que 40 bits. Le Check Sum se rsume alors la simple rptition de la

    valeur de la tension de la batterie. La dure denvoi dun tel paquet une vitesse de 9600 bps se monte

    4.2 ms, ce qui permet lenvoi de plusieurs frames dans le temps imparti, de 30 ms. Il est choisi

    denvoyer cette information trois fois, pour permettre la tlcommande de la recevoir au moins une

    fois correctement, mais galement de tenir compte de la minimisation de la consommation du

    rcepteur. La dure totale denvoi est donc de 12.6 ms. Lenvoi de linformation est ralis dans

    linterruption du Timer A condition que la conversion AD soit termine.

    La synchronisation entre la rception et lenvoi des donnes infrarouge est galement implmente sur

    le rcepteur, dans le but dviter un chevauchement des interruptions de manire non contrle (voir

    Figure 27). Linterruption de rception est donc active par dfaut, puis dsactive durant les 30 ms

    suivant lattente de 20 ms, permettant ainsi denvoyer les donnes laide du transceiver IR.

    Droulement gnral du programme

    Un schma explicatif du code implment sur le rcepteur est prsent sur les Figures 27 et 28. Ce

    programme est constitu de trois parties principales : le main, linterruption du Timer A et

    linterruption de rception IrDA. Tout comme pour la tlcommande, le microcontrleur est dabord

    initialis puis active les interruptions et se met en veille. Linterruption du Timer A est dclenche

    20 kHz et permet de dfinir, laide dun compteur, si le rcepteur doit envoyer ltat de la batterie

    la tlcommande. Comme expliqu ci-dessus, le compteur est remis zros chaque interruption de

    rception IrDA. Aux moments o ce compteur atteint la valeur 400, correspondant 20 ms sans

    rception, linterruption de rception IrDA est dsactive, le module ADC est initialis puis la

    conversion est dmarre. La conversion nest ralise quune seule fois, la suite de quoi le module

    ADC est arrt. Linterruption de rception IR est ractive aprs lenvoi des trois frames

    dinformation. La Figure 27 montre que le microcontrleur est souvent sorti du mode de veille, mais

    quil neffectue une tche de conversion et denvoi, quune fois par seconde.

    Comme le montre la Figure 28, linterruption de rception ressemble fortement celle de la

    tlcommande, elle est dclenche lorsquun byte de donnes est reu. Elle effectue lanalyse du byte

    et ds que le paquet complet est reu, la somme des informations reues est calcule et compare au

    byte de Check Sum reu. Si les deux nombres sont gaux, les comparateurs du Timer A sont modifis,

    selon les explications prcdentes. A la fin de cette interruption le microcontrleur se remet en veille.

    Batterie

    8 bits

    BOF

    8 bits

    EOF

    8 bits

    CS

    8 bits

    Figure 26 : Paquet de donnes envoy par le rcepteur

  • Projet de semestre LAI, EPFL

    Printemps 2011 34

    Figure 27 : Schma du code du main et de l'interruption du Timer A du rcepteur

    Main

    Initialisation

    - Sortie sur la LED - Horloge : 8MHz - ADC : 25 kHz - IrDA : 9600 bps - PWM : 20 kHz

    Activation de linterruption de rception IrDA

    Dmarrage du module ADC

    Conversion ADC

    Pas de

    rception > 20

    ms ?

    OUI

    NON

    Dsactivation de linterruption de rception IrDA

    ADC off ?

    OUI

    NON

    Activation des interruptions

    Mise en veille

    OUI

    NON Batterie

    faible ?

    Arrt des moteurs

    Dsactivation des interruptions

    Mise en veille

    Interruption Timer A

    Envoi des donnes par IrDA

    Conversion

    ADC

    termine ?

    OUI

    NON

    Dsactivation du module ADC

    Buffer denvoi prt ? ET Nombre

    de frames

    envoyes < 3 ?

    OUI

    NON

    Activation de linterruption de rception IrDA, remise zro du

    nombre de frames envoyes

    OUI

    NON Nombre de frames envoyes

    = 3 ?

    Fin de linterruption Sortie du mode de veille

  • Projet de semestre LAI, EPFL

    Printemps 2011 35

    Interruption de rception IrDA

    Changement des comparateurs du

    Timer A

    Analyse du frame

    Sauvegarde du caractre reu

    Somme

    caractres =

    CS ?

    OUI

    NON

    Fin de linterruption Retour en mode de veille

    Figure 28 : Schma du code de l'interruption de la

    rception IrDA du rcepteur

  • Projet de semestre LAI, EPFL

    Printemps 2011 36

    4.4 Vue densemble des programmes

    Les deux logiciels ont maintenant t dcrits et afin de clarifier le fonctionnement de ces deux

    programmes en parallle, la Figure 29 prsente un droulement temporel des principales tapes

    ralises par les deux microcontrleurs. La tlcommande est reprsente en bleu, sur la partie du

    haut, et le rcepteur en orange, sur la deuxime moiti. Il faut noter que les chelles temporelles sont

    dformes pour des raisons de lisibilit. Cette figure permet de conclure que les deux microcontrleurs

    sont synchroniss et que cest la tlcommande qui donne la cadence de rception et dmission

    infrarouge. Nous constatons galement que la tlcommande est beaucoup plus active que le

    rcepteur, permettant ainsi une conomie dnergie au niveau de lhlicoptre.

    Figure 29 : Schma temporel du programme des deux circuits

  • Projet de semestre LAI, EPFL

    Printemps 2011 37

    5 Conclusion

    5.1 Bilan du projet

    Les diffrentes tapes de la ralisation de la tlcommande et du rcepteur ayant t dcrites, les points

    critiques du projet, tels que la distance de communication ainsi que le poids et la consommation du

    rcepteur peuvent tre prsents. Les amliorations possibles sont galement dcrites pour une

    ventuelle suite ce projet.

    La communication tant bidirectionnelle, il importe de distinguer les deux distances de

    communication diffrentes, savoir celle allant de la tlcommande (qui envoie les donnes) au

    rcepteur (qui reoit les donnes) appele distance de commande, et celle qui sexerce dans le sens

    inverse, nomme distance de retour. Lenvoi des commandes lhlicoptre seffectue sans problme

    une distance de quatre mtres, comme demand dans les objectifs du projet. En revanche, la distance

    de retour est de maximum deux mtres, au-del desquels la tlcommande ne reoit plus la valeur de

    la batterie de lhlicoptre. Cette distance est suffisante mais peut tre augmente comme il le sera

    expliqu plus loin.

    En ce qui concerne le poids du rcepteur, le but tait de rester en dessous dun gramme. Le poids du

    PCB avec les composants lectroniques souds, slve 0.5 grammes, auxquelles il faut ajouter le

    poids de la batterie, qui dpend de la capacit de cette dernire (voir Tableau 10). Avec une batterie de

    50 mAh, le poids total du circuit se monte 2.2 grammes, ce qui dpasse largement les esprances,

    mais lhlicoptre serait tout de mme capable de voler avec un tel chargement . Nous constatons

    donc quil y a un compromis poids-autonomie, et que la batterie reprsente llment critique de ce

    critre.

    Capacit de la batterie [mAh] Poids [g]

    35 0.75

    50 1.67

    65 2.06

    70 2.04

    Tableau 9 : Poids des diffrentes batteries LiPo en fonction de leur capacit

    La consommation totale du rcepteur peut tre estime en additionnant la consommation des diffrents

    lments lectroniques et en considrant le temps de fonctionnement de chacun de ces lments. Le

    Tableau 10 rsume la consommation totale, en prsentant la consommation de courant des composants

    lectroniques, la puissance consomme de chaque lment avec lhypothse que la tension

    dalimentation est constante et de 3.7 V, et enfin le rapport de temps durant lequel chaque composant

    est actif (temps dactivit sur une seconde en pourcent). Nous observons que la consommation totale

    est de 1.852 W et quelle est principalement due au fonctionnement des deux moteurs, qui tournent en

    continu et consomment 250 mA chacun. Les efforts effectus pour diminuer la consommation du

    circuit sont donc visibles mais sont ngligeables face la consommation des moteurs. Avec une telle

    estimation, nous pouvons galement dfinir que le temps de vol espr avec une batterie de 50 mAh

    slve six minutes maximum. Il sagit bien sr dune surestimation tant donn quen ralit la

    tension dalimentation nest pas constante et que les batteries ne peuvent pas tre dcharges

  • Projet de semestre LAI, EPFL

    Printemps 2011 38

    compltement, mais il est fortement probable que lhlicoptre puisse voler au-del des deux minutes

    espres.

    Des problmes furent rencontrs lors des essais avec lhlicoptre : les moteurs, ayant une faible

    rsistance interne, provoquent des sauts de tension sur lalimentation, ce qui engendre un

    dysfonctionnement du microcontrleur, qui nest plus capable de recevoir correctement les

    informations IR. Ces perturbation peuvent galement se retrouves sur la masse du circuit, qui est

    commune pour tous les composants lectroniques. En utilisant des transistors rsistance ON

    relativement leve (au dessus du Ohm), ces problmes de communication disparaissent, mais les

    moteurs ne disposent plus de suffisamment de courant pour faire dcoller lhlicoptre.

    Au vu du bilan de ce projet, plusieurs amliorations peuvent y tre apportes.

    Tout dabord, la distance de communication entre le rcepteur et la tlcommande peut tre

    augmente, car, comme prsent dans la partie des schmas lectroniques, la rsistance sur la LED

    (R9) peut tre diminue 10 , au lieu des 47 actuels, augmentant ainsi le courant dans la LED

    mettrice ainsi que la consommation du transceiver. Nous sommes donc face un compromis entre la

    distance et la consommation, mais comme le Tableau 10 le montre, la consommation du circuit

    lectronique est ngligeable face celle des moteurs, il est donc envisageable de diminuer cette

    rsistance R9.

    Deuximement, pour corriger les problmes dus aux moteurs de lhlicoptre, il est possible dajouter

    un rgulateur de tension de 3.3 V pour alimenter le microcontrleur. De cette manire les sauts de

    tension sur lalimentation naffecteront pas le fonctionnement du microcontrleur. De plus, pour

    supprimer les perturbations de la masse, deux plans de masse diffrents sont dessins et relis par une

    ferrite. Le premier plan de masse regroupe ltage de driver des moteurs, le deuxime plan de masse

    relie tous les autres composants du circuit. La taille du rcepteur peut galement tre diminue, afin de

    lallger un peu. Une deuxime version du rcepteur accueillant les modifications dcrites dans cette

    Elments Courant consomm Puissance consomme Ratio [%]

    Moteurs 500 mA 1.85 W 100

    MSP430 veille 80 A 0.3 mW 70

    MSP430 actif 500 A 1.85 mW 30

    ADC 1.5 mA 5.55 mW 0.007

    LED 5 mA 18.5 mW 5

    Transceiver IR envoi 0.6 mA 2.22 mW 1.26

    Transceiver IR rception 0.1 mA 0.37 mW 95

    TOTAL avec ratio 500.56 mA 1.852 W

    Tableau 10 : Consommation lectrique des lments du rcepteur

  • Projet de semestre LAI, EPFL

    Printemps 2011 39

    conclusion a t ralise et est prsente en annexes. La taille du circuit de cette version modifie est

    de 16x26 mm. Faute de temps, cette deuxime version na pas pu tre cre et teste sur lhlicoptre.

    Enfin, latterrissage de lhlicoptre lorsque les batteries sont faibles peut tre amlior de faon

    logicielle. En effet, au lieu de brutalement couper les moteurs, il est possible dimposer une vitesse

    suffisante aux moteurs durant un certain laps de temps, permettant ainsi lhlicoptre de se poser

    lentement. La vitesse imposer, ainsi que le temps de descente, sont dterminer exprimentalement,

    ce qui na pas pu tre fait au vu des problmes rencontrs lors des essais.

    5.2 Bilan personnel

    Dun point de vue plus personnel, ce projet a t une exprience trs enrichissante dans mon cursus

    universitaire. En effet, jai pu apprendre crer un circuit lectronique de A Z, comprenant les

    tapes de recherche de composants lectroniques, ralisation dun schma lectronique, routage dun

    PCB laide du logiciel Orcade, soudage des composants sur le PCB, programmation dun

    microcontrleur et enfin tests sur lhlicoptre rel. Jai galement appris les bases du protocole de

    communication IrDA. Jai tir une grande satisfaction de ce projet, qui ma permis de raliser un objet

    concret et exigeant des comptences dans des domaines varis. Enfin, jai pu prendre conscience des

    difficults lies la ralisation de circuits lectroniques composs dun microcontrleur et jai

    remarqu que cela demande souvent de lintuition et de lexprience, surtout dans les tapes de

    dbogage.

    Je tiens encore remercier Grgory Savioz et Christophe Winter, mes assistants, pour le temps quils

    mont consacr, leur soutien et leur disponibilit durant tout le semestre.

    Lausanne, le 6 juin 2011 Patrick Clerc

  • Projet de semestre LAI, EPFL

    Printemps 2011 40

    6 Bibliographie

    [1] Savioz Grgory, "Design and construction of an ultra-light helicopter", EPFL, Projet de

    semestre, 2007

    [2] Charles D. Knutsonm, Jeffrey M. Brown, "IrDA Principles and Protocols", The IrDA library, Volume 1, MCL Press, 2004

    [3] "MSP430x2xx Family Users Guide", SLAU144F, Texas Instrument, 2010

    [4] "MSP430F21x2 Mixed signal microcontroller", SLAS578G, Texas Instrument, 2009

    [5] "Fast Infrared Transceiver Module for 2.4 V to 5.5 V Operation", TFDU6103, Vishay, 2009

    [6] "Serial Infrared Transceiver for 2.4 V to 5.5 V Operation", TFBS4711, Vishay, 2010

  • Projet de semestre LAI, EPFL

    Printemps 2011 41

    7 Annexes

    Les annexes sont divises en quatre parties : les documents concernant la tlcommande, le rcepteur,

    le rcepteur modifi ainsi que la carte dinterface. Chaque partie est constitue des listes des

    composants lectroniques, du schma du circuit lectronique puis de diffrentes vue du routage du

    PCB (vue gnrale en taille relle, zoom de la vue de dessus, zoom de la vue de dessous).

    7.1 Tlcommande

    Liste des composants lectroniques :

    Dsignation Valeur Footprint Quantit

    Capacit 100 nF 0805 5

    Capacit 4.7 F 0805 2

    Capacit polarise 10 F 0805 1

    Connecteur JTAG 6 pins JUMP6 1

    Connecteur piles 2 pins JUMP2 1

    Connecteur TI 4 pins JUMP4 1

    Diode Schottky 0.5 V 0603 1

    Joystick 10 k JOYSTICK 1

    LED verte 0805 4

    LED (on/off) rouge 0805 1

    Microcontrleur

    MSP430F2132 28 pins TSSOP28 1

    Potentiomtre 10 k pot_pta4543 1

    Rsistance 330 0402 4

    Rsistance 1 k 0402 1

    Rsistance 20 k 0805 1

    Rsistance 10 0805 2

    Rsistance 47 k 0805 1

    Transceiver

    TFDU6103 8 pins IRMS6452 1

    Transistor BS170 SOT23_2 4

    Tableau 11 : Liste des composants lectroniques de la tlcommande

  • 5 5

    4 4

    3 3

    2 2

    1 1

    DD

    CC

    BB

    AA

    VCC

    MC

    VCC

    VCC

    MC

    VCC

    MC

    VCC

    MC

    VCC

    MC

    Title

    Size

    Doc

    umen

    t Num

    ber

    Rev

    Dat

    e:Sh

    eet

    of

    1A

    11

    Tues

    day,

    May

    10,

    201

    1

    Title

    Size

    Doc

    umen

    t Num

    ber

    Rev

    Dat

    e:Sh

    eet

    of

    1A

    11

    Tues

    day,

    May

    10,

    201

    1

    Title

    Size

    Doc

    umen

    t Num

    ber

    Rev

    Dat

    e:Sh

    eet

    of

    1A

    11

    Tues

    day,

    May

    10,

    201

    1

    Tlcommande

    R6

    POT

    R6

    POT

    1

    TP2

    VIS

    TP2

    VIS

    D3

    LED

    D3

    LED

    R13

    47 kR13

    47 k

    R3

    330

    R3

    330

    R11

    10R11

    10

    C2

    100

    nFC

    210

    0 nF

    C3

    100

    nFC

    310

    0 nF

    R9

    100

    kR

    910

    0 k

    R2

    330

    R2

    330

    D5

    LED

    D5

    LED

    IRE

    D_C

    AT

    2

    RX

    D4

    SD

    5

    NC

    7G

    ND

    8

    VC

    C2/

    IRE

    D_A

    N1

    TXD

    3V

    CC

    16

    U2

    TFD

    U61

    03U

    2TF

    DU

    6103

    Q3

    Q3

    R4

    330

    R4

    330

    R10

    10R10

    10

    DVCC

    2

    P2.

    5/R

    OS

    C/C

    A5

    3

    RST/NMI/SBWTDIO

    7

    P2.

    0/A

    CLK

    /A0/

    CA

    28

    P2.

    1/TA

    INC

    LK/S

    MC

    LK/A

    1/C

    A3

    9P

    2.2/

    TA0.

    0/A

    2/C

    A4/

    CA

    OU

    T10

    P3.

    0/U

    CB

    0STE

    /UC

    A0C

    LK/A

    511

    P3.

    1/U

    CB

    0SIM

    O/U

    CB

    0SD

    A12

    P3.

    2/U

    CB

    0SO

    MI/U

    CB

    0SC

    L13

    P3.

    3/U

    CB

    0CLK

    /UC

    A0S

    TE14

    P3.

    4/U

    CA

    0TX

    D/U

    CA

    0SIM

    O15

    P3.

    5/U

    CA

    0RX

    D/U

    CA

    0SO

    MI

    16P

    3.6/

    TA1.

    0/A

    617

    P3.

    7/TA

    1.1/

    A7

    18

    P2.

    3/TA

    0.1/

    A3/

    VR

    EF/

    VE

    RE

    F/C

    A0

    19P

    2.4/

    TA0.

    2/A

    4/V

    RE

    F/V

    ER

    EF/

    CA

    120

    P1.

    0/TA

    CLK

    /AD

    C10

    CLK

    /CA

    OU

    T21

    P1.

    1/TA

    0.0/

    TA1.

    022

    P1.

    2/TA

    0.1

    23P

    1.3/

    TA0.

    224

    P1.

    4/S

    MC

    LK/T

    CK

    25P

    1.5/

    TA0.

    0/TM

    S26

    P1.

    6/TA

    0.1/

    TDI/T

    CLK

    27P

    1.7/

    TA0.

    2/TD

    O/T

    DI

    28

    DVSS

    4

    XIN

    /P2.

    6/C

    A6

    6

    XO

    UT/

    P2.

    7/C

    A7

    5

    TEST/SBWTCK

    1

    U1

    MSP

    430F

    2132

    -28P

    U1

    MSP

    430F

    2132

    -28P

    R12

    20 k

    R12

    20 k

    +C

    110

    uF

    +C

    110

    uF

    1 2 3 4

    VCC

    SBWTCK

    SBWTDIO

    GND

    J2C

    ON

    4

    VCC

    SBWTCK

    SBWTDIO

    GND

    J2C

    ON

    4

    C4

    100

    nFC

    410

    0 nF

    1

    TP1

    VIS

    TP1

    VIS

    Q4

    Q4

    R5

    330

    R