You are on page 1of 67

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 : Assistants :

Yves Perriard Grgory Savioz Christophe Winter

Etudiant :

Patrick Clerc

Lausanne, 6 juin 2011

Projet de semestre

LAI, EPFL

Table des matires


1 2 Introduction ....................................................................................................................................2 1.1 2.1 2.2 Objectifs du projet ..................................................................................................................3 Besoins gnraux ....................................................................................................................3 Tlcommande .......................................................................................................................4 Fonctions ........................................................................................................................4 Cahier des charges fonctionnel .......................................................................................4 Fonctions ........................................................................................................................5 Cahier des charges fonctionnel .......................................................................................5 Analyse fonctionnelle .....................................................................................................................3

2.2.1 2.2.2 2.3 2.3.1 2.3.2 3 3.1

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

Partie matrielle..............................................................................................................................6 Choix des solutions et des composants ...................................................................................6 Tlcommande ...............................................................................................................6 Rcepteur ........................................................................................................................7 Schma de principe .........................................................................................................8 Tlcommande ...............................................................................................................9 Rcepteur ...................................................................................................................... 13 Carte dinterface ........................................................................................................... 16 3.1.1 3.1.2 3.1.3 3.2 3.2.1 3.2.2 3.2.3 3.3

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

Ralisation des PCB ............................................................................................................. 17 Communication IrDA ........................................................................................................... 20 Tlcommande ..................................................................................................................... 23 Rcepteur .............................................................................................................................. 30 Vue densemble des programmes ......................................................................................... 36 Bilan du projet ...................................................................................................................... 37 Bilan personnel ..................................................................................................................... 39

Partie logicielle ............................................................................................................................. 20 4.1 4.2 4.3 4.4

Conclusion ................................................................................................................................... 37 5.1 5.2

6 7

Bibliographie ................................................................................................................................ 40 Annexes ........................................................................................................................................ 41 7.1 7.2 7.3 7.4 Tlcommande ..................................................................................................................... 41 Rcepteur .............................................................................................................................. 47 Rcepteur modifi ................................................................................................................ 54 Carte dinterface ................................................................................................................... 61

Printemps 2011

Projet de semestre

LAI, EPFL

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 lithiumpolymre (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

Printemps 2011

Projet de semestre

LAI, EPFL

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.

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.

Printemps 2011

Projet de semestre

LAI, EPFL

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 l hlicoptre 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 Taille Poids Autonomie Alimentation 150 x 80 mm Maximum 200 g Minimum 48 h en mode de fonctionnement normal 2.4 4.1 V, sans fil A laide dun MSP430 Traitement des donnes Conversion Analogique - Digitale Conversion UART/IrDA Communication IrDA bidirectionnel, 2 4 mtres Fonction ON/OFF Interface utilisateur Contrle de laltitude Contrle du lacet Contrle du tangage Affichage statut Affichage batterie Indication ON/OFF Ratio batterie restante/batterie pleine Caractristiques

Tableau 1 : Cahier des charges fonctionnel de la tlcommande

Printemps 2011

Projet de semestre

LAI, EPFL

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 Taille Poids Autonomie Caractristiques Maximum 20x28 mm Maximum 1g 2 5 minutes de vol A laide dun MSP430 Traitement des donnes Conversion Analogique - Digitale Signal PWM Conversion UART/IrDA Alimentation Communication Contrle des moteurs Batterie lithium-polymre 3 4.2 V IrDA bidirectionnel, 2 4 mtres PWM, boucle ouverte

Tableau 2 : Cahier des charges fonctionnel du rcepteur

Printemps 2011

Projet de semestre

LAI, EPFL

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 l hlicoptre, 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 l a 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 Printemps 2011 6

Projet de semestre

LAI, EPFL

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 gatesource 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 rempli t 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 Taille H x L x W [mm] Poids [g] Consommation [mA] Distance [m] Baud rate max [kbps] Tension dalimentation [V] Prix* [CHF] TFBS4650
1.6 x 6.8 x 2.8 0.05 0.075 0.5 115.2 2.4 3.6 2.50

TFBS4711 TFDU4101 TFDU6103


1.9 x 3 x 6 0.05 0.07 18 115.2 2.4 5.5 2.35 4 x 9.7 x 4.7 0.2 0.07 >1 115.2 2.4 5.5 4.35 4 x 9.7 x 4.7 0.2 2 1 22 4000 2.4 5.5 2.65

TFDU6300
2.5 x 8.5 x 3.1 0.075 2 19 4000 2.4 3.6 3.65

Tableau 3 : Comparaison des diffrents transceivers IR

*Prix chez Digikey.ch le 31 mars 2011

Printemps 2011

Projet de semestre

LAI, EPFL

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.

Printemps 2011

Projet de semestre

LAI, EPFL

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

Printemps 2011

Projet de semestre

LAI, EPFL

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.

Figure 4: Montage lectronique de la LED de statut

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 LED s sont connectes de la mme manire sur les pins P1.1, P1.2 et P1.3.

Figure 5 : Montage lectronique d'une LED servant l'affichage du niveau de batterie de lhlicoptre

Printemps 2011

10

Projet de semestre

LAI, EPFL

Conversions Analogique-Digitale (ADC) La lecture des potentiomtres est faite par le biais de lADC 10 bits du microcontr leur. 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

Printemps 2011

11

Projet de semestre

LAI, EPFL

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 dalimentatio n 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.

Printemps 2011

12

Projet de semestre

LAI, EPFL

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

Printemps 2011

13

Projet de semestre

LAI, EPFL

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 limit e 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

Printemps 2011

14

Projet de semestre

LAI, EPFL

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.

Printemps 2011

15

Projet de semestre

LAI, EPFL

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, laut re 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 V CC afin dviter que des courants entrent dans le programmateur, lors du dbogage par exemple.

Printemps 2011

16

Projet de semestre

LAI, EPFL

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

Printemps 2011

17

Projet de semestre

LAI, EPFL

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 rcep teur 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.

Printemps 2011

18

Projet de semestre

LAI, EPFL

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)

Printemps 2011

19

Projet de semestre

LAI, EPFL

Partie logicielle

Ce chapitre est consacr lexplication des programmes implments sur les microcontrleurs qui permettent le contrle de lhlicoptre distance par le biais de l infrarouge. 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.

Printemps 2011

20

Projet de semestre

LAI, EPFL

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 d information 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. Start 1 bit Information 8 bits Stop 1 bit

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

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. BOF 8 bits Donne 8 bits .. CS 8 bits CS 8 bits EOF 8 bits

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

Printemps 2011

21

Projet de semestre

LAI, EPFL

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 dinformation s. Ces couches sont surtout utilises dans des applications dchange de documents de taille importa nte, 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 d appareils 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.

Printemps 2011

22

Projet de semestre

LAI, EPFL

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 t rouver 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 :

Printemps 2011

23

Projet de semestre

LAI, EPFL

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 P3.0 / A5 P2.4 / A4 P2.3 / A3 P2.2 / A2 P2.1 / A1 P2.0 / A0

Adresse ADC_buffer ADC_buffer [0] ADC_buffer [1] ADC_buffer [2] ADC_buffer [3] ADC_buffer [4] ADC_buffer [5]

Paramtre lu Batteries ----Tangage Lacet Altitude

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

Printemps 2011

24

Projet de semestre

LAI, EPFL

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 Echantillonnage Conversion Sauvegarde DTC Total

Nombre de coups dhorloge

Dure [s] 40 7.5 0.625 0.125 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.

Printemps 2011

25

Projet de semestre

LAI, EPFL

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 l envoi. 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 Potentiomtre Altitude Position Bas Haut Gauche Joystick Lacet Milieu Droite Bas Joystick Tangage Milieu Haut Valeur hexadcimale 0xFF 0x00 0xF8 0x7A 0x02 0xFF 0x7C 0x00 Valeur dcimale 255 0 248 122 2 255 124 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

Printemps 2011

26

Projet de semestre

LAI, EPFL

donnes. En effet, linterruption de rception tant dune priorit suprieur e 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 vites se 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. BOF 8 bits Altitude 8 bits Lacet 8 bits Tangage 8 bits CS 8 bits CS 8 bits EOF 8 bits

Figure 23 : Paquet de donnes envoy par la tlcommande

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 <= 50 aucune LED allume

Printemps 2011

27

Projet de semestre

LAI, EPFL

La deuxime fonction quant--elle est excute lors de linterruption ADC, immdiatement ap rs 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 lafficha ge 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.

Printemps 2011

28

Projet de semestre

LAI, EPFL

Interruption ADC Main


Sauvegarde des valeurs ADC Initialisation Sortie sur les LEDs Horloge : 8 MHz ADC : 20 kHz IrDA : 9600 bps

NON

Batteries faibles ? OUI

Conversion ADC Activation des interruptions Mise en veille

Clignotement des 4 LEDs vertes

NON

Buffer denvoi prt ? ET Nombre de frames envoyes < 130 ?

Interruption de rception IrDA


Analyse du frame Sauvegarde du caractre reu

OUI Envoi des donnes par IrDA

NON NON Somme caractres = CS ? OUI Affichage du niveau de la batterie

Nombre de frames envoyes 130 ? OUI Activation de linterruption de rception IrDA

Fin de linterruption Retour en mode de veille

Temps de rception 50 ms ? OUI Dsactivation de linterruption de rception IrDA, remise zro du nombre de frames envoyes

NON

Fin de linterruption Sortie du mode de veille

Figure 24: Schma du code de la tlcommande

Printemps 2011

29

Projet de semestre

LAI, EPFL

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 lorsq ue 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

Printemps 2011

30

Projet de semestre

LAI, EPFL

Les signaux PWM sont gnrs laide de deux comparateur s 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 assur er 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 d inverser 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 c es rsultats sur les moteurs, pour sassurer que la valeur obtenue reste dans la plage autorise : [0 ; 200]. Valeur du comparateur du PWM 20 40 80 100 150 180 Vitesse de lhlice du dessous (1) [tr/min] 420 750 1000 1260 1560 1700 Vitesse de lhlice du dessus (2) [tr/min] 620 1000 1430 1650 2000 2500

Ratio (1)/(2) 0.68 0.75 0.7 0.76 0.78 0.68

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

Printemps 2011

31

Projet de semestre Conversion Analogique Digitale (ADC)

LAI, EPFL

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.

Printemps 2011

32

Projet de semestre

LAI, EPFL

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, naya nt 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. BOF 8 bits Batterie 8 bits CS 8 bits EOF 8 bits

Figure 26 : Paquet de donnes envoy par le rcepteur

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 contrl e (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 donn es 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.

Printemps 2011

33

Projet de semestre

LAI, EPFL

Main
Initialisation - Sortie sur la LED - Horloge : 8MHz - ADC : 25 kHz - IrDA : 9600 bps - PWM : 20 kHz Activation de linterruption de rception IrDA

Interruption Timer A

NON

Conversion ADC termine ? OUI Dsactivation du module ADC

NON

Pas de rception > 20 ms ?

OUI Dsactivation de linterruption de rception IrDA

Buffer denvoi prt ? ET Nombre de frames envoyes < 3 ?

NON

OUI Envoi des donnes par IrDA NON

ADC off ? OUI Dmarrage du module ADC Conversion ADC Nombre de frames envoyes =3? NON

OUI Batterie faible ? OUI Arrt des moteurs Dsactivation des interruptions Mise en veille Fin de linterruption Sortie du mode de veille NON Activation de linterruption de rception IrDA, remise zro du nombre de frames envoyes

Activation des interruptions Mise en veille

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

Printemps 2011

34

Projet de semestre

LAI, EPFL

Interruption de rception IrDA


Analyse du frame Sauvegarde du caractre reu

NON

Somme caractres = CS ? OUI Changement des comparateurs du Timer A

Fin de linterruption Retour en mode de veille

Figure 28 : Schma du code de l'interruption de la rception IrDA du rcepteur

Printemps 2011

35

Projet de semestre

LAI, EPFL

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

Printemps 2011

36

Projet de semestre

LAI, EPFL

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 cell e 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 res ter 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] 35 50 65 70 Poids [g] 0.75 1.67 2.06 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

Printemps 2011

37

Projet de semestre

LAI, EPFL

compltement, mais il est fortement probable que lhlicoptre puisse voler au-del des deux minutes espres. Elments Moteurs MSP430 veille MSP430 actif ADC LED Transceiver IR envoi Transceiver IR rception TOTAL avec ratio Courant consomm 500 mA 80 A 500 A 1.5 mA 5 mA 0.6 mA 0.1 mA 500.56 mA Puissance consomme 1.85 W 0.3 mW 1.85 mW 5.55 mW 18.5 mW 2.22 mW 0.37 mW 1.852 W Ratio [%] 100 70 30 0.007 5 1.26 95

Tableau 10 : Consommation lectrique des lments du rcepteur

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 d ajouter 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

Printemps 2011

38

Projet de semestre

LAI, EPFL

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 vi tesse suffisante aux moteurs durant un certain laps de temps, permettant ainsi lhli coptre 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

Printemps 2011

39

Projet de semestre

LAI, EPFL

6
[1] [2] [3] [4] [5] [6]

Bibliographie
Savioz Grgory, "Design and construction of an ultra-light helicopter", EPFL, Projet de semestre, 2007 Charles D. Knutsonm, Jeffrey M. Brown, "IrDA Principles and Protocols", The IrDA library, Volume 1, MCL Press, 2004 "MSP430x2xx Family Users Guide", SLAU144F, Texas Instrument, 2010 "MSP430F21x2 Mixed signal microcontroller", SLAS578G, Texas Instrument, 2009 "Fast Infrared Transceiver Module for 2.4 V to 5.5 V Operation", TFDU6103, Vishay, 2009 "Serial Infrared Transceiver for 2.4 V to 5.5 V Operation", TFBS4711, Vishay, 2010

Printemps 2011

40

Projet de semestre

LAI, EPFL

Annexes

Les annexes sont divises en quatre parties : les documents concernant la tlcommande, le rcepteur, le rcepteur modifi ainsi que la carte d interface. 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 Capacit Capacit Capacit polarise Connecteur JTAG Connecteur piles Connecteur TI Diode Schottky Joystick LED LED (on/off) Microcontrleur MSP430F2132 Potentiomtre Rsistance Rsistance Rsistance Rsistance Rsistance Transceiver TFDU6103 Transistor BS170 Valeur 100 nF 4.7 F 10 F 6 pins 2 pins 4 pins 0.5 V 10 k verte rouge 28 pins 10 k 330 1 k 20 k 10 47 k 8 pins Footprint 0805 0805 0805 JUMP6 JUMP2 JUMP4 0603 JOYSTICK 0805 0805 TSSOP28 pot_pta4543 0402 0402 0805 0805 0805 IRMS6452 SOT23_2 Quantit 5 2 1 1 1 1 1 1 4 1 1 1 4 1 1 2 1 1 4

Tableau 11 : Liste des composants lectroniques de la tlcommande

Printemps 2011

41

J4 VCC

VCC GND D1 DIODE SCHOTTKY R1 1k POT R6 POT DUAL R7 + D2 LED C3 100 nF R8 100 k 2 U1 MSP430F2132-28P DVCC C5 100 nF C4 100 nF C1 10 uF C2 100 nF

1 2 VCC MC

Piles

R2 330

R3 330

R4 330

R5 330

D3 LED

D4 LED

D5 LED

D6 LED

VCC MC

J1

JTAG

VCC TCK TMS TDI TDO GND P1.4/SMCLK/TCK P1.5/TA0.0/TMS P1.6/TA0.1/TDI/TCLK P1.7/TA0.2/TDO/TDI

1 2 3 4 5 6

25 26 27 28

P2.0/ACLK/A0/CA2 P2.1/TAINCLK/SMCLK/A1/CA3 P2.2/TA0.0/A2/CA4/CAOUT P2.3/TA0.1/A3/VREF/VEREF/CA0 P2.4/TA0.2/A4/VREF/VEREF/CA1 P2.5/ROSC/CA5

8 9 10 19 20 3

Q1

R9 100 k

Q2

Q3 XIN/P2.6/CA6 DVSS XOUT/P2.7/CA7 1 7 4

21 22 23 24 P1.0/TACLK/ADC10CLK/CAOUT P1.1/TA0.0/TA1.0 P1.2/TA0.1 P1.3/TA0.2 P3.0/UCB0STE/UCA0CLK/A5 P3.1/UCB0SIMO/UCB0SDA P3.2/UCB0SOMI/UCB0SCL P3.3/UCB0CLK/UCA0STE P3.4/UCA0TXD/UCA0SIMO P3.5/UCA0RXD/UCA0SOMI P3.6/TA1.0/A6 P3.7/TA1.1/A7

VCC MC 6

11 12 13 14 15 16 17 18

TEST/SBWTCK

Q4 VCC MC R13 47 k VCC SBWTCK SBWTDIO GND 1 2 3 4 R14 0 J2 CON4 VCC MC

RST/NMI/SBWTDIO

R11 10

R10 10

U2 TFDU6103 3 4 5 R12 20 k 7 TXD RXD SD NC VCC1 VCC2/IRED_AN IRED_CAT GND 6 1 2 8 C6 4.7 uF C8 4.7 uF C7 100 nF
B

TP1

TP2 Title Tlcommande Size A Date:


4 3

VIS

VIS

Document Number 1 Tuesday, May 10, 2011


2

Rev Sheet 1
1

of

Projet de semestre

LAI, EPFL

7.2 Rcepteur
Liste des composants lectroniques : Une quantit de 0 signifie que seul le footprint a t utilis dans la cration du PCB, le composant nest donc pas soud sur le circuit. Dsignation Capacit Capacit Capacit Capacit Connecteur batterie Connecteur JTAG Connecteur moteur Connecteur TI Diode Schottky LED Microcontrleur MSP430F2132 MOSFET IRLML2402 Rsistance Rsistance Rsistance Rsistance Rsistance Transceiver TFBS4711 6 pins 2 pins 4 pins 0.5 V rouge 32 pins Valeur 100 nF 100 F 1 F 4.7 F Footprint 0402 1206 0402 0402 PILE_DIDEL_6MM molex51281-0694 SIL2_2MM MOLEX545480471 0603 0603 QFN5X5_33 SOT23_2 100 k 47 47 330 47 k 6 pins 0402 0402 0805 0402 0402 TFBS4711S Quantit 2 1 1 1 1 0 0 0 3 1 1 2 4 1 1 1 1 1

Tableau 12 : Liste des composants lectroniques du rcepteur de lhlicoptre

Printemps 2011

47

VCC

J2 2 1 J4 D1 DIODE SCHOTTKY MOT1 R4 100 k + C5 100 nF 1 2 C4 100 uF D3 DIODE SCHOTTKY

Batterie

VCC_MC

C1 1 uF

R5 100 k

Q1 MOSFET

J5 1 2 MOT2 DIODE SCHOTTKY Q2 MOSFET D4

30

U1 MSP430F2132 DVCC 3 XIN/P2.6/CA6 P1.2/TA1.0 P1.3/TA2.0 23 24 P2.0/ACLK/A0/CA2 6

R2 100 k

J1

JTAG

VCC TCK TMS TDI TDO GND P1.4/SMCLK/TCK P1.5/TA0.0/TMS P1.6/TA1.0/TDI/TCLK P1.7/TA0.2/TDO/TDI P1.0/TACLK/ADC10CLK/CAOUT P1.1/TA0.0/TA0.1 P2.1/TAINCLKSMCLK/A1/CA3 P2.2/TA0.0/A2/CA4/CAOUT P2.3/TA1.0/A3/VREF/VEREF/CA0 P2.4/TA2.0/A4/VREF/VEREF/CA1 21 22 7 8 18 19

1 2 3 4 5 6

25 26 27 28

R3 100 k

D2

R1 330

LED

VCC

9 10 11 12 15 16 P3.0/UCB0STE/UCA0CLK/A5 P3.1/UCB0SIMO/UCB0SDA P3.2/UCB0SOMI/UCB0SCL P3.3/UCB0CLK/UCA0STE P3.6/TA0.1/A6 P3.7/TA1.1/A7 P3.4/UCA0TXD/UCA0SIMO P3.5/UCA0RXD/UCA0SOMI DVSS 1 5 P2.5/ROSC/CA5 XOUT/P2.7/CA7 NC31 NC4 NC17 NC20 TEST/SBWTCK 29 RST/NMI/SBWTDIO Thermal 32 2 31 4 17 20

VCC_MC R9 0

13 14

33

R7 47

R8 47

R6 J3 47 k CON4

U2 2 3 4

VCC1

TXD

VCC2/IRED_AN

RXD

1 2 3 4

VCC SBWTCK SBWTDIO GND

GND

SD

C3 100 nF

C2 4.7 uF

TFBS4711

Title Rcepteur Size A Date:


4 3

Document Number 2 Tuesday, May 10, 2011


2

Rev Sheet 1
1

of

Projet de semestre

LAI, EPFL

7.3 Rcepteur modifi


Liste des composants lectroniques : Une quantit de 0 signifie que seul le footprint a t utilis dans la cration du PCB, le composant nest donc pas soud sur le circuit. Dsignation Capacit Capacit Capacit Capacit Connecteur batterie Connecteur JTAG Connecteur moteur Connecteur TI Diode Schottky LED Microcontrleur MSP430F2132 MOSFET IRLML2402 Rgulateur TPS73033 Rsistance Rsistance Rsistance Rsistance Rsistance Rsistance Transceiver TFBS4711 6 pins 2 pins 4 pins 0.5 V rouge 32 pins Valeur 1 F 4.7 F 100 nF 100 F Footprint 0402 0402 0402 1206 PILE_DIDEL_6MM molex51281-0694 SIL2_2MM MOLEX545480471 0603 0603 QFN5X5_33 SOT23_2 3.3 V 100 k 47 47 330 47 k FERRITE 6 pins SOT23_5 0402 0402 0805 0402 0402 1206 TFBS4711S Quantit 2 1 4 1 1 0 0 0 3 1 1 2 1 4 1 1 1 1 0 1

Tableau 13 : Liste des composants lectroniques du rcepteur modifi

Printemps 2011

54

J2 U3 1 IN EN J4 + C5 100 nF MOT1 1 2 C4 100 uF D3 DIODE SCHOTTKY C8 100 nF R4 100 k OUT TPS73033 GND 2 NR 4
D

VCC

R10

ferrite

2 1

Batterie 3 + 5 C7 1 uF

VCC_MC

C6 100nF +

C1 1 uF

J5 1 2 MOT2 DIODE SCHOTTKY Q2 MOSFET


C

R5 100 k U1 MSP430F2132 P2.0/ACLK/A0/CA2 P1.2/TA1.0 P1.3/TA2.0 23 24 R3 100 k 6

Q1 MOSFET

D4

30

R2 100 k

VCC TCK TMS TDI TDO GND P1.4/SMCLK/TCK P1.5/TA0.0/TMS P1.6/TA1.0/TDI/TCLK P1.7/TA0.2/TDO/TDI P1.0/TACLK/ADC10CLK/CAOUT P1.1/TA0.0/TA0.1 P2.1/TAINCLKSMCLK/A1/CA3 P2.2/TA0.0/A2/CA4/CAOUT P2.3/TA1.0/A3/VREF/VEREF/CA0 P2.4/TA2.0/A4/VREF/VEREF/CA1 21 22 7 8 18 19

1 2 3 4 5 6

25 26 27 28

D2

R1 330

LED

VCC

9 10 11 12 15 16 P3.0/UCB0STE/UCA0CLK/A5 P3.1/UCB0SIMO/UCB0SDA P3.2/UCB0SOMI/UCB0SCL P3.3/UCB0CLK/UCA0STE P3.6/TA0.1/A6 P3.7/TA1.1/A7 P3.4/UCA0TXD/UCA0SIMO P3.5/UCA0RXD/UCA0SOMI DVSS 1 5 33 P2.5/ROSC/CA5 XOUT/P2.7/CA7 NC31 NC4 NC17 NC20 TEST/SBWTCK 29 RST/NMI/SBWTDIO Thermal 32 2 31 4 17 20

DVCC

J1 XIN/P2.6/CA6

JTAG

VCC_MC R9 0
B

13 14

R7 47

R8 47

R6 J3 47 k CON4

U2 2 3 4

VCC1

TXD

VCC2/IRED_AN

RXD

1 2 3 4

VCC SBWTCK SBWTDIO GND

GND

SD

C3 100 nF

C2 4.7 uF

TFBS4711

Title Rcepteur modifi Size A Date:


4 3

Document Number 4 Friday, June 03, 2011


2

Rev Sheet 1
1

of

Projet de semestre

LAI, EPFL

7.4 Carte dinterface


Liste des composants lectroniques : Dsignation Connecteur JTAG Connecteur JTAG Connecteur JTAG Connecteur TI Connecteur TI Diode Scottky Valeur 6 pins 6 pins Header 2x7 4 pins Biwire 1x4 0.5 V Footprint MOLEX51281-0694 JUMP6 DIP14_1 MOLEX545480471 JUMP4 0603 Quantit 1 1 1 1 1 2

Tableau 14 : Liste des composants lectroniques de la carte dinterface

Printemps 2011

61

J1 1 2 3 4 D1 DIODE SCHOTTKY J4 1 2 3 4 HEADER 4x1 VCC SBWTCK SBWTDIO GND

VCC SBWTCK SBWTDIO GND

TP1 MOLEX 4 J2 1 2 3 4 GND SBWTDIO SBWTCK VCC

VIS

TP2 MOLEX 4 J3 1 2 3 4 VCC SBWTCK SBWTDIO GND

VIS

TP3 HEADER 4x1

VIS

TP4 D2 DIODE SCHOTTKY J8

J5 1 2 3 4 5 6

VIS

VCC TCK TMS TDI TDO GND

MOLEX 6

J6 1 2 3 4 5 6

2 7 5 3 1 9 11

4 6 8 10 12 13 14 HEADER 7X2
B

GND TDO TDI TMS TCK VCC

MOLEX 6 VCC TCK TMS TDI TDO GND 1 2 3 4 5 6


A

J7

HEADER 6x1 Title Carte interface Size A Date:


4 3

Document Number 3 Sunday, May 08, 2011


2

Rev Sheet 1
1

of

You might also like