clerc rapport
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