You are on page 1of 67

Laboratoire d’actionneurs intégrés (LAI) Section Microtechnique - Projet de 8ème semestre

Electronique de commande ultra-légère pour un hélicoptère de 7.2g avec télécommande IrDA

Professeur responsable : Assistants :

Yves Perriard Grégory Savioz Christophe Winter

Etudiant :

Patrick Clerc

Lausanne, 6 juin 2011

Projet de semestre

LAI, EPFL

Table des matières
1 2 Introduction ....................................................................................................................................2 1.1 2.1 2.2 Objectifs du projet ..................................................................................................................3 Besoins généraux ....................................................................................................................3 Télécommande .......................................................................................................................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

Récepteur embarqué sur l’hélicoptère .....................................................................................5

Partie matérielle..............................................................................................................................6 Choix des solutions et des composants ...................................................................................6 Télécommande ...............................................................................................................6 Récepteur ........................................................................................................................7 Schéma de principe .........................................................................................................8 Télécommande ...............................................................................................................9 Récepteur ...................................................................................................................... 13 Carte d’interface ........................................................................................................... 16 3.1.1 3.1.2 3.1.3 3.2 3.2.1 3.2.2 3.2.3 3.3

Schémas électroniques ............................................................................................................8

Réalisation des PCB ............................................................................................................. 17 Communication IrDA ........................................................................................................... 20 Télécommande ..................................................................................................................... 23 Récepteur .............................................................................................................................. 30 Vue d’ensemble des programmes ......................................................................................... 36 Bilan du projet ...................................................................................................................... 37 Bilan personnel ..................................................................................................................... 39

4

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

5

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

6 7

Bibliographie ................................................................................................................................ 40 Annexes ........................................................................................................................................ 41 7.1 7.2 7.3 7.4 Télécommande ..................................................................................................................... 41 Récepteur .............................................................................................................................. 47 Récepteur modifié ................................................................................................................ 54 Carte d’interface ................................................................................................................... 61

Printemps 2011

1

Projet de semestre

LAI, EPFL

1

Introduction

Un hélicoptère à double rotor en fibre de carbone a été réalisé par Grégory Savioz lors d’un projet de semestre en 2007 dans le laboratoire d’actionneurs intégrés [1]. L’hélicoptère réalisé ne pèse que 7.2 grammes, comprend deux moteurs à courant continu à balais et est alimenté par une batterie lithiumpolymère (voir Figure 1). Le but de ce projet est de réaliser la commande à distance de cet hélicoptère ultra-léger. Une télécommande ainsi qu’une électronique de commande ultra-légère doivent donc être construites. La télécommande doit être en mesure d’envoyer des signaux de commande pour contrôler l’altitude, le lacet et le tangage de l’hélicoptère, ainsi que d’afficher le niveau de batterie de l’hélicoptère afin d’éviter une décharge irréversible des batteries lithium -polymères. Dans le projet présent, le contrôle du tangage sera uniquement implémenté de façon logicielle, étant donné que l’hélicoptère ne possède pas la mécanique nécessaire à la modification de son angle de tangage. La communication bidirectionnelle est faite à l’aide de signaux infrarouges afin de minimiser la consommation électrique du circuit électronique embarqué sur l’hélicoptère. Ce mode de communication doit permettre de diriger l’hélicoptère à une distance de 2 à 4 mètres. Le microcontrôleur utilisé dans cette application est le MSP430F2132 de Texas Instrument, dont la spécification principale est d’avoir plusieurs modes de veille qui garantissent une consommation très faible, ce qui nous permettra d’obtenir une autonomie maximale pour l’hélicoptère. Ce microcontrôleur possède également un module de conversion UART/IrDA qui permettra d’implémenter facilement l’envoi des signaux infrarouges. Les points critiques de ce projet résident principalement dans la conception d’un circuit électronique suffisamment léger et petit pour ne pas entraver le vol de l’hélicoptère. De plus, la consommation doit être la plus faible possible, les batteries lithium-polymère utilisées ayant une faible capacité (50 à 70 mAh). Une synchronisation de la communication bidirectionnelle doit également être gérée afin de minimiser les pertes de données envoyées par infrarouge.

Figure 1: Hélicoptère ultra-léger

Printemps 2011

2

Sur la base de cette analyse fonctionnelle un cahier des charges peut être construit. 2 Analyse fonctionnelle Pour connaitre les besoins électroniques et les fonctions logicielles de la télécommande ainsi que du récepteur embarqué.Projet de semestre LAI. les objectifs de ce travail sont énumérés ci-dessous : Définir les besoins de chaque circuit électronique (télécommande et récepteur embarqué sur l’hélicoptère) Dessiner les schémas électroniques de la télécommande et du récepteur Créer le routage et assembler les circuits électroniques Comprendre et implémenter le protocole IrDA Ecrire le software des deux microcontrôleurs Minimiser le poids. EPFL 1. la communication par infrarouge ainsi qu’une partie de création hardware. ce qui nous permettra de définir les composants électroniques nécessaires à la réalisation de la télécommande et du récepteur. la taille et la consommation du récepteur Ce projet demande un travail dans des domaines variés. lacet et tangage) à distance de façon intuitive Utiliser l’hélicoptère et la télécommande durant plusieurs minutes Pouvoir utiliser et transporter la télécommande facilement Garantir le fonctionnement de l’hélicoptère Ne pas décharger les batteries de l’hélicoptère de manière irréversible Sur la base de ces besoins nous pouvons définir les fonctions propres à la télécommande et au récepteur.1 Objectifs du projet Dans un souci de synthèse et de clarté.1 Besoins généraux Les besoins à remplir pour le projet en général sont les suivants : Connaitre le temps d’utilisation restant de l’hélicoptère Guider l’hélicoptère (altitude. il est nécessaire de procéder à une analyse fonctionnelle du produit. ensuite une analyse séparée pour la télécommande et pour le récepteur. tels que l’électronique. 2. Cette analyse est divisée en trois parties : d’abord une partie générale rappelant les besoins globaux à satisfaire. la programmation de microcontrôleurs. Printemps 2011 3 .

Projet de semestre LAI.2 Télécommande 2.1 Fonctions Les fonctions que la télécommande doit réaliser sont énumérées ci-dessous : Indiquer le statut de la télécommande (allumée/éteinte) Lire des signaux analogiques donnés par l’utilisateur Communiquer avec l’hélicoptère sans fil Synchroniser la communication sans fil avec l ’hélicoptère Envoyer les commandes au récepteur de l’hélicoptère Recevoir le signal (tension de la batterie de l’hélicoptère) émis par l’hélicoptère Interpréter la tension de la batterie comme un rapport (batterie restante/batterie pleine) Afficher le niveau de la batterie de l’hélicoptère Assurer une bonne autonomie (faible consommation) Etre ergonomique (taille. EPFL 2.Digitale Conversion UART/IrDA Communication IrDA bidirectionnel. poids. sans fil A l’aide d’un MSP430 Traitement des données Conversion Analogique . forme) 2. 2 à 4 mètres Fonction ON/OFF Interface utilisateur Contrôle de l’altitude Contrôle du lacet Contrôle du tangage Affichage statut Affichage batterie Indication ON/OFF Ratio batterie restante/batterie pleine Caractéristiques Tableau 1 : Cahier des charges fonctionnel de la télécommande Printemps 2011 4 .4 à 4. nous pouvons établir le cahier des charges fonctionnel : Désignation Taille Poids Autonomie Alimentation 150 x 80 mm Maximum 200 g Minimum 48 h en mode de fonctionnement normal 2.2 Cahier des charges fonctionnel Sur la base de la liste des fonctions de la télécommande ainsi qu’avec les contraintes posées par le projet.2.1 V.2.

3.2 Cahier des charges fonctionnel De même que pour la télécommande. 2 à 4 mètres PWM.1 Fonctions Voici les fonctions que le récepteur doit remplir : Recevoir le signal émis par la télécommande Interpréter le signal reçu comme une combinaison de vitesse des hélices Commander la vitesse des moteurs Lire la tension de la batterie Communiquer avec la télécommande sans fil Synchroniser la communication sans fil avec la télécommande Envoyer la valeur de tension de la batterie à la télécommande Stopper les moteurs lorsque le niveau de la batterie devient trop faible Ne pas entraver le vol de l’hélicoptère Assurer une bonne autonomie (faible consommation) Ne pas dépasser les dimensions suivantes : 20x28 mm Ne pas peser plus de 1 g 2. boucle ouverte Tableau 2 : Cahier des charges fonctionnel du récepteur Printemps 2011 5 .2 V IrDA bidirectionnel.Digitale Signal PWM Conversion UART/IrDA Alimentation Communication Contrôle des moteurs Batterie lithium-polymère 3 à 4. EPFL 2.3.Projet de semestre LAI.3 Récepteur embarqué sur l’hélicoptère 2. nous pouvons construire le cahier des charges fonctionnel pour le récepteur : Désignation Taille Poids Autonomie Caractéristiques Maximum 20x28 mm Maximum 1g 2 à 5 minutes de vol A l’aide d’un MSP430 Traitement des données Conversion Analogique .

Projet de semestre

LAI, EPFL

3

Partie matérielle

Dans ce chapitre, les choix des solutions permettant de remplir les fonctions énumérées précédemment ainsi que le choix des composants et des circuits électroniques sont justifiés. Un schéma de principe présentant les solutions choisies est présenté, puis nous établirons une liste complète des composants électroniques nécessaires, enfin nous pourrons construire le schéma électronique de la télécommande et du récepteur.

3.1 Choix des solutions et des composants
En ce qui concerne la télécommande, nous devons faire des choix quant à l’alimentation, la manière d’afficher le statut de la télécommande, la façon d’afficher le niveau de batterie de l’ hélicoptère, les moyens pour guider l’hélicoptère et l’émetteur/récepteur infrarouge. Du côté du récepteur les choix sont plus restreints, il faudra définir les transistors de puissance permettant de commander les moteurs ainsi que le transceiver infrarouge, les autres composants étant imposés par le projet.

3.1.1 Télécommande
Le choix de l’alimentation de la télécommande est principalement lié aux caractéristiques du microcontrôleur qui supporte des tensions allant de 2.4 V à 4.1 V. L’alimentation doit être faite sans fil afin d’assurer l’ergonomie et la transportabilité de la télécommande. Trois accumulateurs AA (HR6) de 1.2 V chacun feront parfaitement l’affaire. Ceci permet d’obtenir 3.6 V pour alimenter l a télécommande. Des piles AA de 1.5 V pourront également être utilisées car une diode Schottky (CDBU0530) sera installée après l’alimentation afin de faire baisser la tension de 0.5 V. Chaque accumulateur pesant 30 grammes, il restera une marge d’environ 110 grammes pour la construction de la télécommande, ce qui est largement suffisant. Un boitier pouvant contenir trois piles AA et muni d’un bouton ON/OFF est utilisé pour placer les accumulateurs sous la télécommande. En ce qui concerne l’affichage de statut (ON/OFF), la solution retenue est très simple : une LED rouge (LH R974) est directement connectée à la tension d’entrée. De cette manière dès que le bouton du boitier des piles est sur ON, la LED s’allume indiquant que la télécommande est enclenchée. La LED LH R974 s’allume sous une tension de 1.8 V avec un courant de 2 mA ce qui est réalisable avec les batteries choisies précédemment. Afin de garantir une faible consommation et une lecture intuitive, l’affichage du niveau de la batterie de l’hélicoptère est implémenté à l’aide de quatre LEDs vertes (CMD17-21). De cette manière, lorsque la batterie est pleine, les quatre LEDs sont allumées. Puis, au fur et à mesure que la batterie diminue, les LEDs s’éteignent en commençant par celle de droite. Lorsque les quatre LEDs sont éteintes, cela signifie que l’hélicoptère est entré dans un mode d’arrêt des moteurs et ne répond plus aux commandes de l’utilisateur, afin de garantir la réutilisation des batteries lithium-polymère. Nous choisissons les LEDs CMD17-21 qui s’allument sous une tension de 2.1 V avec un courant de 5 mA car les batteries permettent d’atteindre ces valeurs. L’altitude, le lacet ainsi que le tangage de l’hélicoptère doivent pouvoir être commandés. Pour ce faire une solution simple et intuitive est de disposer d’un potentiomètre linéaire pour réguler l’altitude et d’un potentiomètre à deux dimensions sous forme de joystick pour contrôler le lacet et le tangage. En plaçant les deux potentiomètres de part et d’autre de la télécommande, l’utilisateur peut aisément commander l’hélicoptère avec ses deux pouces. En montant, respectivement descendant, la position du potentiomètre linéaire (positionné sur la gauche), il pourra augmenter, respectivement diminuer, l’altitude de l’hélicoptère. L’axe horizontal du joystick (gauche-droite) permet de commander le lacet Printemps 2011 6

Projet de semestre

LAI, EPFL

de l’hélicoptère alors que l’axe vertical (haut-bas) commande le tangage. Nous choisissons le potentiomètre linéaire EWAP1 de Panasonic qui a une course de 45 mm et mesure 60 x 8 mm, et le joystick miniature de la série 252 de CTS qui mesure 20 x 21 x 13 mm, car ces deux composants sont en accord avec les dimensions de la télécommande (150 x 80 mm). Le Tableau 3, permet de comparer et de choisir un transceiver infrarouge du fabricant Vishay. Pour la télécommande les restrictions sont moins importantes que pour le récepteur de l’hélicoptère. 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 données à une distance suffisante. Nous constatons que l’émetteur/récepteur offrant la plus grande distance d’émission est le TFDU6103, c’est pourquoi nous optons pour ce dernier pour la télécommande.

3.1.2 Récepteur
Les moteurs montés sur l’hélicoptère sont de simples moteurs DC à balais. Ces moteurs peuvent être commandés en vitesse grâce à des signaux PWM. L’électronique de commande de ces moteurs est donc réduite au minimum, à savoir un transistor de puissance qui fournit le courant nécessaire 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 d’un ampère avec une tension gatesource de 3 V, or les moteurs consomment environ 250 mA chacun. De plus, la taille du package est adaptée à notre application et il contient déjà la diode de roue libre en parallèle au transistor, ce qui nous évite d’en ajouter une au circuit électronique. Pour le choix du transceiver infrarouge du récepteur, nous pouvons à nouveau consulter le Tableau 3. Les caractéristiques adéquates et celles qui ne conviennent pas sont mises en évidence, en vert et en rouge respectivement. Nous constatons qu’un seul transceiver rempli t toutes les contraintes (taille, poids et consommation), il s’agit du TFBS4711. Le baud rate maximal est largement suffisant comme nous le verrons plus loin lors de l’implémentation de la communication IrDA. Transceiver Caractéristiques Taille H x L x W [mm] Poids [g] Consommation [mA] Distance [m] Baud rate max [kbps] Tension d’alimentation [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 1à8 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 1à9 4000 2.4 à 3.6 3.65

Tableau 3 : Comparaison des différents transceivers IR

*Prix chez Digikey.ch le 31 mars 2011

Printemps 2011

7

Projet de semestre

LAI, EPFL

Afin de confirmer le choix des deux transceivers (celui de la télécommande et celui du récepteur) nous pouvons calculer la distance de communication. Selon les datasheets du constructeur Vishay, nous pouvons déterminer la distance à laquelle l’hélicoptère peut être contrôlé en connaissant les deux transceivers.

Pour des conditions d’utilisation standards, pour le transceiver de la télécommande et pour le récepteur sur l’hélicoptère. En prenant les deux valeurs minimales (130 mW/sr et 35 mW/m2) nous obtenons une distance d’environ 2 mètres. Ceci nous laisse envisager qu’une distance supérieure peut être atteinte dans de bonnes conditions et en augmentant le courant au maximum dans la LED émettrice, étant donné que les signaux sont envoyées sous forme de pulses.

3.1.3 Schéma de principe
Nous pouvons maintenant construire un schéma contenant les principaux composants électroniques décrits ci-dessus afin de synthétiser la situation. La Figure 2 présente la télécommande et le récepteur de l’hélicoptère communiquant par infrarouge. Le circuit électronique du récepteur ne contiendra pas les moteurs, qui sont déjà fixés sur l’hélicoptère, mais ils sont représentés ici pour clarifier le schéma. Le récepteur est muni d’une LED rouge (identique à celle de la télécommande) pour faciliter la tâche de débogage du logiciel par la suite.

Figure 2 : Schéma de principe de la télécommande et du récepteur

3.2 Schémas électroniques
Les différents composants électroniques doivent encore être connectés entre eux, ce qui fait l’objet de ce paragraphe. Les parties critiques des schémas électroniques de la télécommande et du récepteur seront expliquées ; les schémas complets se trouvent en annexes pour ne pas surcharger la partie explicative.

Printemps 2011

8

Afin de minimiser les effets des résistances et des inductances parasites des fils (R et L). Le terme peut être très important si les signaux du circuit sont rapides et risque de gêner le fonctionnement du microcontrôleur qui demande une tension d’alimentation continue.1 V. des capacités de découplage C1 et C2 sont montées en parallèle du microcontrôleur. Figure 3 : Montage électronique de l'alimentation de la télécommande Printemps 2011 9 . c’est pourquoi une diode Schottky est placée entre la entre la tension d’alimentation et le microcontrôleur.Projet de semestre LAI. afin de pouvoir utiliser des piles au lieu des accumulateurs. Cette diode crée une chute de tension de 0. La Figure 3 représente le montage électronique de l’alimentation avec les deux capacités de découplage C1 et C2.6 V car nous allons utiliser des accumulateurs lors de ce projet. Sur cette figure la tension d’alimentation est de 3.2. La chute de tension aux bornes du microcontrôleur est donnée par . il est nécessaire d’abaisser la tension d’alimentation du microcontrôleur à maximum 4.1 V. La tension à l’entrée du microcontrôleur (VCC MC) est donc de 3. EPFL 3.1 Télécommande Alimentation et découplage du microcontrôleur Comme énoncé plus haut.5 V sans limiter le courant d’alimentation. Ces capacités devront être situées le plus proche possible des pins.

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. la tension aux bornes de la LED et le courant circulant dans la LED. La tension VGS du transistor étant faible (celle fournit par le pin du microcontrôleur est de maximum 3. comme le montre la Figure 4. la tension de saturation VD. Nous pouvons reprendre le calcul ci-dessus avec un courant de 5 mA et une tension VLED de 2. celle-ci est connectée au microcontrôleur par le biais d’un transistor (BS170). Nous pouvons prendre une résistance normalisée de 1 kΩ. La valeur de la résistance R1 est définie en connaissant la tension Vcc.3.1 V et ainsi choisir une résistance de 330 Ω. La Figure 5 présente le montage d’une seule LED. les trois autres LED s sont connectées de la même manière sur les pins P1.sat est négligeable.1. Figure 5 : Montage électronique d'une LED servant à l'affichage du niveau de batterie de l’hélicoptère Printemps 2011 10 .1 V). EPFL LED de statut La LED qui permet de déterminer si la télécommande est allumée ou éteinte est simplement connectée via une résistance à la tension d’alimentation.2 et P1. P1.Projet de semestre LAI.

De cette manière. dans la partie logicielle du rapport. la tension des batteries est également mesurée par le pin P3. de la façon suivante : Pour ne pas être dépendant de la tension des accumulateurs (qui diminue plus les accumulateurs se déchargent) nous utilisons.8 V. Le convertisseur retourne la tension lue. lorsque les accumulateurs sont complètement chargés. Figure 6 : Montage électronique des différentes conversions AD de la télécommande Printemps 2011 11 . Nous obtiendrons donc des valeurs selon l’équation suivante : La configuration précise de l’ADC sera présentée plus loin.Projet de semestre LAI. La référence négative est simplement mise à zéro en connectant la patte P2. il est nécessaire que la tension lue se trouve entre 0 et 2. Comme nous avons choisi une tension de référence positive de 2. EPFL Conversions Analogique-Digitale (ADC) La lecture des potentiomètres est faite par le biais de l’ADC 10 bits du microcontr ôleur.5 V qui est donnée sur le pin P2.3 à la terre. la source tension interne du microcontrôleur de 2. comme référence positive.4. des capacités de 100 nF (C3. Sur la Figure 6.5 V. C4 et C5 de la Figure 6) sont connectées en parallèle des entrées de l’ADC.5 V. la tension à l’entrée de l’ADC est de 1. Afin de filtrer les bruits de mesures.0. Un diviseur de tension formé par R8 et R9 est mis en place pour diviser la tension par deux. Les résistances du diviseur de tension sont choisies grandes (100 kΩ) pour minimiser les pertes de courant. Vin.

La patte 5 (SD) est tirée à la terre par la résistance de pull-down R12. Il s’agit d’une connexion JTAG à quatre fils ou d’une connexion bi-wire à deux fils.3 V. c’est pourquoi nous pouvons utiliser une résistance normalisée de 10 Ω. ce jumper est laissé en l’air. les deux connexions sont implémentées sur le circuit électronique de la télécommande et du récepteur. La résistance R11.6 V. Comme présenté à la Figure 7. L’anode de la LED infrarouge est connectée à la tension d’alimentatio n pour maximiser la tension aux bornes de la LED et ainsi le courant qui la traverse. Figure 7 : Schéma de la connexion du transceiver infrarouge de la télécommande Connexion JTAG et bi-wire Le microcontrôleur peut être programmé par le biais de deux connexions différentes. la résistance nécessaire doit donc être de 6 Ω. le cas échéant. car les tensions ne dépassent pas les valeurs admises par le MSP430. Avec l’utilisation de la connexion bi-wire. Printemps 2011 12 . connectée à la patte de TEST du microcontrôleur. Texas Instrument a créé un programmateur (numéro de référence : eZ430-RF2500) qui permet d’accéder au MSP430 à l’aide d’une connexion bi-wire. Afin de garantir une certaine flexibilité. si la tension à l’anode est supérieure à 3. La capacité C6 permet de découpler l’anode de la LED émettrice. Ce pin peut être mis à un pour stopper le transceiver ou pour changer la vitesse de transmission infrarouge. lors de l’utilisation de la connexion JTAG. Le courant maximum supporté par la LED IR est de 600 mA et la tension à ces bornes est de 3. afin de garantir un niveau haut par défaut. il est nécessaire de mettre la ligne au niveau haut pour que le microcontrôleur sache qu’une connexion JTAG est utilisée sur les pattes P1. les capacités C7. L’alimentation fournie par le programmateur est directement connectée au pin VCC du microcontrôleur. Par contre. Cette résistance a pour but de limiter le courant circulant dans la LED. le pin d’entrée-sortie du connecteur bi-wire (SBWTDIO) doit être mis à VCC par le bais d’une résistance de pull-up de 47 kΩ. La résistance nulle R14 (voir Figure 8).7. EPFL Transceiver infrarouge La façon de connecter l’émetteur/récepteur infrarouge est décrite dans les datasheets de ce dernier [5].Projet de semestre LAI.4 à P1. Selon les datasheets du fabricant. quant à elle est nécessaire. C8 et la résistance R10 forment un filtre passe-bas pour lisser la tension d’alimentation du transceiver. représente un « jumper » que l’on peut choisir de connecter ou non. car le programmateur gère lui-même l’état de la ligne TEST.

5 V (voir Figure 9).2. est connectée à l’alimentation du microcontrôleur par le biais d’une diode Schottky qui abaisse la tension de 0. A nouveau. Figure 9 : Montage électronique de l'alimentation du récepteur Printemps 2011 13 .2 V. Figure 8 : Schéma électronique des connections JTAG et bi-wire 3. qui délivre une tension maximale de 4. le microcontrôleur est découplé grâce à la capacité C1.Projet de semestre LAI. ceux du récepteur sont connectés de la même manière aux pins correspondants. la batterie de l’hélicoptère.2 Récepteur Alimentation et découplage du microcontrôleur Pour les mêmes raisons que celles de la télécommande. EPFL La Figure 8 présente la façon de placer les deux connecteurs pour le microcontrôleur de la télécommande.

ce qui est effectué grâce au diviseur de tension formé de R4 et R5 de la Figure 11. Figure 10 : Connexion de la LED de contrôle Conversions Analogique – Digitale (ADC) La lecture de la tension de la batterie Li-Po se fait de la même manière que la lecture de la tension des accumulateurs de la télécommande. étant la seule LED du récepteur et étant très peu utilisée. nous pouvons calculer la valeur de la résistance R9 : Nous choisissons donc la valeur normalisée 330 Ω.7 V (correspondant à la tension d’alimentation du microcontrôleur) et le courant circulant dans la LED de 5 mA. Figure 11 : Montage électronique de la conversion AD de la tension de la batterie de l’hélicoptère Printemps 2011 14 .5 V.0 en sortie par le biais d’une résistance qui limit e le courant. La tension fournie par le pin étant au maximum de 3. la LED est donc simplement connectée au pin 3. EPFL LED de contrôle Le LED de contrôle. ne nécessite pas un montage spécifique. Le microcontrôleur est capable de fournir un courant de 5 mA en sortie. Comme la tension de référence interne est de 2. il est nécessaire de diviser la tension lue par un facteur deux.Projet de semestre LAI. comme présenté en Figure 10.

Pour garantir une faible consommation du transceiver lors de l’envoi des données. formé de la capacité C3 et de la résistance R7.2 V. la valeur de cette résistance est choisie supérieure. Le deuxième moteur est connecté de la même manière sur le pin P1. diminuant ainsi la distance de communication. 47 Ω.Projet de semestre LAI.76 Ω. ce qui limite le courant à 90 mA. Le courant maximum supporté par la LED IR est de 430 mA et la tension à ces bornes est de 4. l’anode de la LED infrarouge est connectée à la batterie pour maximiser la tension et le courant dans la LED. La résistance de pull-down R2 (voir Figure 12) est présente pour assurer que le moteur ne tourne pas si le microcontrôleur n’envoie pas un 1 à la sortie (lors du démarrage ou d’un bug par exemple). Printemps 2011 15 . R8.3. minimale nécessaire doit donc être de 9. l’électronique de commande des moteurs se résume à un transistor de puissance qui fourni le courant au moteur. Ces capacités fournissent une partie du courant durant un court instant lors de l’enclenchement du transistor. Une diode de roue libre D3 est nécessaire pour que le courant puisse circuler lorsque le transistor ne conduit pas. Nous retrouvons le filtre passe-bas. Figure 12 : Montage électronique d'un driver de moteur Transceiver infrarouge La connexion du transceiver infrarouge TFBS4711 est similaire à celui de la télécommande (voir Figure 13). EPFL Contrôle des moteurs Comme énoncé plus haut. la résistance. A nouveau. La capacité C2 permet de découpler le transceiver. Les capacités C4 et C5 permettent d’éviter les pics de courant sur la batterie d’alimentation.

l’un au recto. car l’ordre des pistes sur le circuit à programmer peut être inversé. 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 récepteur ou des headers standards pour la programmation de la télécommande. De cette manière quelque soit l’ordre des pistes de programmation sur le récepteur.Projet de semestre LAI. Cette astuce garantit également la réutilisabilité de cette carte d’interface. Printemps 2011 16 . Une diode Schottky est placée sur la ligne d’alimentation V CC afin d’éviter que des courants entrent dans le programmateur. deux connecteurs MOLEX. Ce circuit est simple (voir en annexe) . une carte d’interface a également été créée. un des deux connecteurs aura le même ordre de pistes et pourra ainsi être utilisé. l’aut re au verso.2. lors du débogage par exemple. EPFL Figure 13 : Schéma de la connexion du transceiver infrarouge du récepteur 3.3 Carte d’interface Dans le but de faciliter les étapes de programmation des microcontrôleurs. sont montés sur le circuit. Pour faciliter et garantir une connexion adéquate.

5 mm par 68. car ce dernier mesure 48. Les contraintes principales sont posées par le boitier qui contiendra les piles. En ce qui concerne la télécommande. le point principal à respecter est de garantir une bonne ergonomie. sont placés sur la gauche. mesurant 60 mm de long. Dans ce but. le potentiomètre. ainsi que par le potentiomètre linéaire. Enfin. La forme définitive de la télécommande est présentée à la Figure 14. sont disposées sur une ligne au centre de la télécommande. Le montage des composants de la télécommande se fait sur une seule face. EPFL 3.5 mm.Projet de semestre LAI. pour définir les dimensions et la forme générale. respectivement sur la droite. une forme particulière est donnée au PCB afin d’améliorer l’ergonomie tout en évitant la construction d’un boitier en plastique. permettant d’afficher le niveau de la batterie . Dans ce paragraphe nous allons surtout voir les aspects mécaniques pour la construction des PCB mais les dessins des designs finaux se trouvent en annexe. cette figure ne contient que les cotes. de cette manière l’utilisateur peut piloter l’hélicoptère tout en ayant une indication visuelle claire de l’état de la batterie de l’hélicoptère. en mm.6 mm pour assurer un bon support rigide et solide étant donné qu’aucune coque en plastique ne viendra recouvrir la télécommande. le transceiver infrarouge est soudé sur le devant de la télécommande. qui sont imposées par les contraintes citées précédemment. Pour ce faire nous pouvons nous inspirer des manettes de jeux de la Playstation 3. pour garantir une direction d’émission naturelle pour l’utilisateur. Figure 14 : Forme de la télécommande avec les mesures principales Printemps 2011 17 . Les LEDs vertes.3 Réalisation des PCB Les composants et les circuits électroniques étant maintenant définis. de la télécommande. respectivement le joystick. L’épaisseur du PCB est de 1. nous pouvons passer à la création des PCB. Le design du routage est relativement peu contraint. étant donné que le boitier des piles est posé à l’arrière de la télécommande.

les connecteurs de programmation de la carte d’interface sont des MOLEX.Projet de semestre LAI.1 mm d’épaisseur est utilisé. c’est pourquoi un PCB de 0. le volume du récepteur doit être minimisé. Comme décrit précédemment. gros et lourds. La principale contrainte dimensionnelle concerne les cotes externes maximales . EPFL Figure 15 : Photo de la première version de la télécommande Figure 16 : PCB de la deuxième version de la télécommande La forme du récepteur est également particulière. Le poids étant également un critère critique. ceci permet d’éviter d’utiliser des connecteurs standards. Le récepteur peut alors faire office de « câble » et aucun connecteur n’y sera fixé. l’hélicoptère étant de petite taille. Printemps 2011 18 . le récep teur doit pouvoir être fixé sur ce dernier sans entraver son fonctionnement.

La partie plus large sera découpée. la forme générale du récepteur. de 18 par 28 mm. EPFL La Figure 17 présente. elle sert uniquement au dessin des pistes. nous pourrons couper une de ses « pattes » pour alléger le circuit. Selon le programmateur choisi. nous pouvons observer le corps principal du circuit. Figure 17 : Forme du récepteur avec mesures principales Figure 18 : Photo du récepteur (verso) ainsi que de la batterie LiPO Figure 19 : Photo du récepteur (recto) Printemps 2011 19 .Projet de semestre LAI. Les deux « pattes » contiennent uniquement les pistes qui permettront la programmation du microcontrôleur.

le microcontrôleur possède un module qui permet de convertir un signal UART en un signal IrDA en mode SIR. Ces propriétés dépendent principalement du type d’émetteur et de récepteur utilisés. telle que la longueur d’onde. le logiciel de la télécommande est explicité en détail.6 kbps. comme c’est le cas dans ce projet. Dans notre application le transceiver infrarouge du récepteur ne permet d’envoyer et de recevoir des données qu’en mode SIR. Puis. Seules les deux couches inférieures sont utiles à notre application.1 Communication IrDA La communication entre la télécommande et l’hélicoptère étant réalisée par infrarouge. ce qui largement suffisant pour cette application. une vue d’ensemble permettra de synthétiser la communication entre les deux circuits. le baud rate en anglais. le protocole de communication utilisé est décrit de manière générale. au plus rapide. VFIR. suivi de la présentation du logiciel du récepteur de l’hélicoptère.Projet de semestre LAI. 16 Mbps) : SIR. EPFL 4 Partie logicielle Ce chapitre est consacré à l’explication des programmes implémentés sur les microcontrôleurs qui permettent le contrôle de l’hélicoptère à distance par le biais de l’ infrarouge. il existe quatre schémas de pulse qui permettent de modifier le baud rate (du plus lent. en ne développant que les aspects utilisés dans le cadre de ce projet. 9. Les propriétés physiques des transceivers choisis. c'est-à-dire que la couche inférieure est indispensable et que les couches supérieures ne sont pas nécessaires au fonctionnement de base de la communication. sont parfaitement définis et compatibles avec l’application présente. IrPhy. Printemps 2011 20 . MIR. la puissance d’émission. Cette partie traite de l’explication en générale de la communication IrDA. les caractéristiques supplémentaires ne sont que brièvement expliquées. En ce qui concerne la vitesse de transmission. telles que les propriétés optiques. L’architecture du protocole IrDA se présente sous forme de couches (voir Tableau 4). 4. Pour commencer. nous allons implémenter le protocole de communication adapté. 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 première couche. Les couches se superposent plus la complexité de la communication augmente. permet de spécifier les caractéristiques de transmission. elles seront donc expliquées en détail. De plus. à savoir l’IrDA (Infra-Red Data Association). la vitesse de transmission est donc définie à 9600 bps. FIR. la sensibilité. l’angle d’émission. Enfin. la forme des pulses et la vitesse de transmission.

Start 1 bit Information 8 bits Stop 1 bit Figure 21 : Représentation schématique d'un caractère envoyé par IrDA Le Framer ajoute un byte de départ. Le modèle SIR du protocole de communication peut être schématisé comme le montre la Figure 21. un byte de fin.Projet de semestre LAI. Ces bits de contrôles permettent de définir si les bits ont tous été reçus et donc si l’information reçue est correcte.. CS 8 bits CS 8 bits EOF 8 bits Figure 22 : Représentation schématique d'un paquet de données envoyé par IrDA Printemps 2011 21 . BOF 8 bits Donnée 8 bits …. nous observons que le bit de start de l’IrDA est représenté par la valeur logique ‘1’ et que le bit de stop vaut ‘0’. Cette modulation comprend trois étapes principales pour transformer un signal UART en un signal IrDA : 1) Inversion de la valeur du bit 2) Génération d’un signal qui dure 3/16 du bit de données 3) Ajout d’un bit de début (start) et d’un bit de fin (stop) Figure 20 : Conversion UART / IrDA La Figure 20 présente la conversion UART / IrDA. elle transforme les paquets de données en les encadrant dans des bits de contrôle. La suite de ces différents bytes forme un paquet de données. 10 bits au total sont donc générés et envoyés. ainsi que deux bytes de vérification autour des données à envoyer. Ce schéma de pulses représente la base de la communication IrDA. La couche Framer donne la forme du paquet de pulses. Pour chaque caractère à envoyer. EPFL La forme des pulses correspondant au modèle SIR est créée par une modulation RZI (Return to Zero Inverted). Les couches supérieures du protocole utilisent toutes cette forme et ne font que mettre bout à bout différents caractères d’information permettant d’exécuter des communications complexes. Le caractère d’ information contenu entre ses deux bits ne mesure que 8 bits. appelé frame en anglais.

qui doit être envoyée dans le frame pour accéder à ce service. souvent fixé à la valeur hexadécimale 0xC0. En effet. c'est-à-dire qu’il y a un appareil maitre et un ou plusieurs appareils esclaves. Cette réponse indique si le récepteur a bien reçu la donnée précédemment envoyée et s’il est prêt à recevoir la donnée suivante. Cette couche permet également la découverte d’ appareils qui possèdent une connexion infrarouge active. il est évident que la communication ne se fait qu’entre deux circuits qui possèdent. le Tiny TP ajoute un étage de contrôle du flux au niveau de l’IrLMP. des caractéristiques compatibles pour la communication IrDA. La couche IrLAP permet une transmission point à point en halfduplex. Chaque service que l’appareil peut fournir possède une adresse. car il s’agit d’ajouts de caractères qui permettent d’établir un échange précis et contrôlé d’information s. nous ne pouvons pas nous permettre d’attendre la réponse de l’hélicoptère. les différents bytes de données. Le Check Sum doit bien évidemment être envoyé sur deux bytes pour éviter un overflow sur un seul byte lors de l’addition des différentes données. pour envoyer les commandes sur les moteurs. quant à elle. La couche IrLMP. la découverte et l’accession aux différents services proposés par un appareil. c'est-à-dire qu’il permet de segmenter les données. de gérer la priorité des envois et de réassembler les données de différents services. Ces couches sont surtout utilisées dans des applications d’échange de documents de taille importa nte. ou lors d’échange d’informations diverses entre plusieurs appareils pouvant fournir différents services. si tous les bits sont reçus correctement et quand il finit. La couche IAS rend possible l’enregistrement. car la transmission en temps réel serait perdue. Enfin. le paquet de données peut être analysé à la réception. qui est lui fixé à 0xC1. permet à plusieurs applications d’un appareil d’utiliser le lien infrarouge pour envoyer ou recevoir des informations. les deux bytes de CS (Check Sum) qui ne sont rien d’autre que la somme de tous les bytes de données.Projet de semestre LAI. car il est possible de déterminer quand il commence. EPFL La Figure 22. l’envoi d’un document à partir d’un ordinateur vers une imprimante. Les couches supérieures ne sont pas implémentées dans ce projet. comme par exemple. la connexion avec un ou plusieurs de ces appareils ainsi que l’échange d’informations entre les différents appareils actifs. représente le schéma d’un paquet de base contenant le BOF (Beginning of Frame). Enfin. Printemps 2011 22 . De plus. qui est un élément mobile. La description des fonctions des couches supérieures montre qu’elles ne sont pas applicables dans notre application. et le EOF (End Of Frame). Les informations sont envoyées l’une après l’autre et une réponse est chaque fois attendue pour continuer l’échange. la télécommande et l’hélicoptère ne fournissent pas différents services auxquels nous voudrions accéder indépendamment. de par leurs composants électroniques et leur programmation. Munis de ces caractères supplémentaires.

la communication bidirectionnelle n’est pas commandée par des requêtes et réponses. Cette solution permet un bon contrôle de l’hélicoptère. repose sur une mise en veille. la période d’échantillonnage minimale étant donnée dans les datasheets par : Printemps 2011 23 . Le code. cette coupure de 50 ms passera donc presque inaperçue pour l’utilisateur. en effet l’être humain est capable de se rendre compte d’un changement et de réagir en conséquence en 120 ms environ. Pour pouvoir implémenter ce mode de fonctionnement. La fréquence de 8 MHz est amplement suffisante étant donné qu’il y a très peu de calculs à effectuer et que le programme est rythmé par les interruptions. nommée « Low-Power Mode ». le temps de réception. ou une série de conversions. le récepteur peut envoyer la valeur de la batterie de l’hélicoptère que la télécommande affichera sur les LEDs vertes. D’autre part. De plus amples informations sur la programmation et le fonctionnement du MSP430 peuvent être trouvées dans [3]. qui ont une fréquence plus faible. Ceci permet de diminuer la consommation du microcontrôleur et de réagir en temps réel aux événements extérieurs. Les informations provenant de la télécommande et contrôlant la vitesse des moteurs étant plus importantes et demandant une plus grande réactivité. écrit en langage C. est terminée. est simplement déterminé par un compteur qui s’incrémente jusqu’à la valeur correspondant à 50 ms. Comme précisé dans la partie précédente. EPFL 4. qui est stoppée lorsqu’une interruption est activée. Le principe de fonctionnement du code de la télécommande. car l’envoi des données ne se fait qu’une fois par seconde. ainsi que celui du récepteur. Cette conversion ne peut toutefois pas être exécutée à très haute fréquence. c'est-à-dire que nous ne nous assurons pas que le récepteur ait reçu l’information pour lui envoyer l’information suivante. évitant ainsi une remise à zéro à chaque fois que le microcontrôleur se met en veille prolongée. il suffit d’observer le frame infrarouge envoyé par la télécommande. de compter le temps d’envoi d’un frame et de définir combien de paquets peuvent être envoyés avant le mode de réception. quant à lui. Conversion Analogique – Digitale (ADC) L’interruption principale du programme de la télécommande est l’interruption de la conversion AD. Durant ces 50 ms. le watchdog timer du microcontrôleur est désactivé. Le concept du logiciel étant d’envoyer en continu les données lues par la télécommande.2 Télécommande Ce paragraphe présente une description des choix de programmation ainsi que du fonctionnement général du programme qui est implémenté sur le MSP430 de la télécommande. qui est déclenchée lorsqu’une conversion. l’incrémentation de compteur ainsi que l’envoi et la réception de signaux IrDA. la télécommande envoie les données de façon continue durant 950 ms puis stoppe l’envoi pour se mettre en mode de réception durant 50 ms. l’interruption ADC et l’interruption de réception infrarouge. Pour ajuster le temps d’envoi. Il est donc nécessaire de t rouver une solution pour que les deux appareils (la télécommande et le récepteur de l’hélicoptère) puissent se synchroniser et ne pas envoyer des données n’importe quand. ce stratagème garantit une consommation minimale du circuit situé sur l’hélicoptère. il est nécessaire que ces données soit régulièrement mises à jour.Projet de semestre LAI. La fréquence de l’horloge principale du microcontrôleur (MCLK) ainsi que la fréquence auxiliaire (SMCLK) sont fixées à 8 MHz et sont cadencées grâce à l’oscillateur interne contrôlé numériquement. L’horloge auxiliaire nous permet de passer au mode de veille le moins sévère (Low-Power Mode 0) tout en exécutant des tâches de fond comme les mesures ADC. tient dans un unique fichier regroupant le programme principal (main) ainsi que la définition des deux interruptions.

ce qui est réalisé par l’interruption du Timer A qui n’est exécutée qu’une seule fois lors de l’initialisation.4. c’est-à-dire en commençant par le pin P3.1 / A1 P2.4 / A4 P2. ces pins ne seront pas échantillonnés mais une incrémentation de l’adresse suivante du tableau est effectuée. le lacet et le tangage.3 / A3 P2. C’est pourquoi la fréquence du module ADC (ADC10CLK) est choisie à la valeur minimale possible.6 MHz. Ce contrôleur fonctionne en parallèle du fonctionnement principal du microcontrôleur et peut donc être actif lors de la veille de ce dernier. qui permet de stocker dans un tableau les valeurs lues par l’ADC. en début de programme. L’échantillonnage quant à lui se fait sur 64 coups d’horloge. L’interruption est déclenchée lorsque le tableau « ADC_buffer » est rempli. Nous obtenons finalement : . EPFL Dans notre cas (résistance des potentiomètres) et donc .Projet de semestre LAI. afin de diminuer la cadence des interruptions de l’ADC. Pour établir cette tension sur la patte P2.5 V pour ne pas dépendre des fluctuations de la tension d’alimentation. Le tableau « ADC_buffer » reçoit donc les paramètres en commençant par l’état des batteries et en terminant par l’altitude ( voir Tableau 5). à savoir 1.0. ce qui correspond à l’horloge SMCLK divisée par un prescaler de 5.0 / A0 Adresse ADC_buffer ADC_buffer [0] ADC_buffer [1] ADC_buffer [2] ADC_buffer [3] ADC_buffer [4] ADC_buffer [5] Paramètre lu Batteries ----Tangage Lacet Altitude Tableau 5 : Stockage des valeurs lues par l’ADC dans le tableau à l'aide du DTC Printemps 2011 24 . Patte du MSP430 / Source de l’ADC P3. il faut attendre un délai de 30 μs. Les valeurs sont lues et stockées de manière décroissante. par le biais du joystick et enfin l’état des batteries de la télécommande. la lecture des valeurs des potentiomètres peut se faire à basse fréquence. la tension de référence de la conversion AD est programmée comme étant la tension de référence interne de 2. donnée par le potentiomètre linéaire. c'est-à-dire que la fréquence d’échantillonnage doit être inférieure à 4 MHz.0 / A5 P2. De plus la transmission IrDA étant limitée à 9600 bps. correspondant à une fréquence Comme énoncé plus haut.0 puis en remontant jusqu’au pin P2.2 / A2 P2. Les quatre données devant être récoltées par l’ADC sont les suivantes : l’altitude. Cette méthode rend obligatoire le passage par tous les pins de l’intervalle même s’ils ne sont pas configurés en entrée ADC. L’interruption ADC peut être déclenchée qu’après la lecture et la sauvegarde de ces quatre valeurs en utilisant le contrôleur de transfert de données (en anglais Data Transfer Controller ou DTC).

2 ms pendant quelques μs. qui représente le temps de chaque étape pour une seule lecture ADC : Etape Echantillonnage Conversion Sauvegarde DTC Total Nombre de coups d’horloge Durée [μs] 40 7.18 kHz.Projet de semestre LAI.5 0.625 0. à savoir 193 μs.25 Tableau 6 : Durée de chaque étape pour une conversion AD Etant donné que l’interruption est déclenchée lorsque que le tableau « ADC_buffer » est complètement rempli. le temps entre chaque interruption est de quatre conversions AD. EPFL Maintenant que l’initialisation du module ADC est complètement définie. il est possible de calculer précisément la fréquence de l’interruption ADC à l’aide du tableau suivant. ce qui permet d’économiser de l’énergie.125 48. Printemps 2011 25 . La fréquence de l’interruption ADC se monte donc à 5. Le microcontrôleur est mis en veille et n’est actif que toutes les 0. bien que ce gain soit négligeable face à la consommation des LEDs d’affichage.

Pour s’assurer que le buffer d’envoi de 8 bits est prêt à recevoir une nouvelle information.8 kHz. grâce au Tableau 7 qui contient les valeurs des conversions AD sur 8 bits pour les positions critiques des potentiomètres : Paramètres Potentiomètre Altitude Position Bas Haut Gauche Joystick Lacet Milieu Droite Bas Joystick Tangage Milieu Haut Valeur hexadécimale 0xFF 0x00 0xF8 0x7A 0x02 0xFF 0x7C 0x00 Valeur décimale 255 0 248 122 2 255 124 0 Tableau 7 : Valeurs de sortie de l'ADC codées sur 8 bits Communication IrDA Pour l’implémentation de l’envoi et de la réception du signal IrDA. EPFL Les données lues par le module ADC sont codées sur 10 bits de la façon suivante : Les données ne peuvent être envoyées que par paquet de 8 bits. il suffit de vérifier la valeur du flag d’interruption du module USCI. Pour obtenir une vitesse de transmission de 9600 bps. l’interruption est automatiquement appelée. Pour la réception. il suffit d’activer l’interruption de réception du module USCI et lorsqu’un byte est reçu et enregistré dans le buffer de réception. L’horloge à 8 MHz est donc divisée par un prescaler de 52 pour obtenir une fréquence de 153. Il est donc primordial de désactiver l’interruption de réception lors de l’envoi des données et de ne l’activer que lorsque que l’on est prêt à recevoir des Printemps 2011 26 . Pour former un pulse de 3/16 de bit.Projet de semestre LAI. le module de conversion effectue un suréchantillonnage 16 fois plus élevé. s’il est à 1. Si ce dernier est à 0 c’est que l’envoi n’est pas terminé et que le buffer ne peut pas recevoir de nouvelles données. le module USCI (Universal Serial Communication Interface) est configuré pour la conversion UART / IrDA. Nous imposons à ce module d’utiliser l’horloge auxiliaire (SMCLK) à 8MHz. de cette manière la réception et la transmission de données infrarouge pourra se faire durant le mode de veille. Il ne faut garder que les 8 bits de poids fort. la fréquence du module doit donc être de 9600 x 16 = 153. en exécutant un décalage de 2 bits à droite. Les données seront ensuite utilisées et converties en vitesse des moteurs de manière adéquate sur le récepteur de l’hélicoptère.6 kHz. il est donc nécessaire de diminuer la taille des sorties de l’ADC avant l’ envoi. correspondant à une division par 4. un étage de modulation est activé pour se rapprocher le plus possible de la fréquence désirée. un nouveau byte peut être placé dans le buffer pour être envoyé.

c'est-à-dire qu’il faudra environ 7. La première fonction est effectuée dans l’interruption de réception infrarouge (voir Figure 24) c'est-à-dire lorsqu’un signal infrarouge a été reçu correctement par la télécommande. la tension d’entrée de l’ADC est égale à la moitié de la tension effective de la batterie. EPFL données. selon la valeur de LED_display. La tension de la batterie de l’hélicoptère peut varier entre 3. le bon nombre de LEDs sera illuminé : Si LED_display > 200  4 LEDs allumées.Projet de semestre LAI. ce qui aboutit à : Le but est de pouvoir afficher le niveau de la batterie selon 5 états grâce à un nombre codé sur 8 bits. si LED_display <= 50  aucune LED allumée Printemps 2011 27 . Pour envoyer ces informations à l’hélicoptère durant 950 ms. ce qui correspond à des valeurs ADC codées sur 10 bits allant de 654 à 859. équivalant à des valeurs sur 8 bits de 164 à 214. il compte 70 bits au total. et enfin. En effet. l’interruption de réception étant d’une priorité supérieur e à celle de l’ADC. Effectivement. si LED_display > 50  1 LED allumée. qui exécute l’envoi des données lorsque ses valeurs sont toutes lues.2 et 4. le programme risque d’être interrompu à un moment inopportun par l’interruption de réception (voir Figure 24) Le frame d’information envoyé à l’hélicoptère est présenté à la Figure 23 . Ces valeurs ne sont rien d’autres que la lecture du potentiomètre et du joystick par l’ADC. si LED_display > 100  2 LEDs allumées. Dans le cas présent. l’interprétation et la conversion de ces données sont exécutées par le récepteur de l’hélicoptère. 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 données envoyé par la télécommande Affichage des LEDs L’affichage des LEDs vertes remplit deux fonctions distinctes : premièrement il permet d’indiquer à l’utilisateur le niveau de batterie de l’hélicoptère. le Check Sum est équivalent à la somme de la valeur de l’altitude.3 ms pour l’envoi total du frame à une vites se de 9600 bps. les valeurs retournées par le module ADC du récepteur sont donnée par : Or dans le montage du récepteur. il suffit donc de faire partir 130 paquets de données à la suite.2 V. si LED_display > 150  3 LEDs allumées. du lacet et du tangage. Les données brutes sont envoyées. La conversion pour l’affichage sur les LEDs se fait donc de la manière suivante : Puis. deuxièmement il doit permettre de faire savoir que les niveaux des accumulateurs de la télécommande sont faibles.

6 V. selon les instructions données précédemment. ce qui nous donne une valeur sur 10 bits de 613. L’interruption de réception est déclenchée lorsqu’un byte de données est reçu. Ce programme est constitué de trois parties principales : le main. bien que l’utilisation de ses données ne se fasse que de temps en temps.2 V en série. d’une information ou de la fin du paquet. L’interruption ADC est appelée régulièrement durant tout le fonctionnement du programme. Leur tension peut chuter jusqu’à 1 V lorsqu’ils sont vides. la vérification de la donnée est effectuée en comparant la valeur de l’information avec celle du Check Sum reçu.Projet de semestre LAI. L’activation et la désactivation de l’interruption de réception IR est également faite dans l’interruption de l’ADC. permettant ainsi une synchronisation parfaite de l’envoi et de la réception. A la fin de cette interruption le microcontrôleur se remet en veille. La conversion ADC se fait durant la veille du microcontrôleur. Elle débute par une analyse du byte reçu afin de savoir s’il s’agit du début du paquet. Une fois que le frame complet est reçu. le microcontrôleur sort du mode de veille pour relancer une conversion AD puis se remet en veille. il donne le départ de la conversion ADC puis entre en mode de veille. immédiatement ap rès la lecture de la tension des accumulateurs. EPFL La deuxième fonction quant-à-elle est exécutée lors de l’interruption ADC. Le montage de la lecture de la tension des accus est le même que pour la batterie de l’hélicoptère. les quatre LEDs vertes changent d’état toutes les 2500 fois que l’interruption ADC est appelée. quand le buffer d’envoi du module IrDA est prêt. Les batteries de la télécommande sont en fait trois accumulateurs de 1. Un schéma temporel. baissant la tension totale à 3 V. Si le résultat de la lecture ADC est en dessous de cette valeur. représentant la synchronisation entre les deux circuits est représenté plus loin en Figure 29. Printemps 2011 28 . Le microcontrôleur est d’abord initialisé. totalisant donc 3. ce qui provoque un clignotement à 1Hz environ. l’interruption ADC et l’interruption de réception IrDA. Déroulement général du programme La Figure 24 est un schéma explicatif du code implémenté sur la télécommande. nous pouvons donc réutiliser l’équation ci -dessus. Une fois l’interruption ADC terminée. Si cette vérification est correcte l’afficha ge des LEDs est exécuté comme expliqué plus haut.

remise à zéro du nombre de frames envoyées NON Fin de l’interruption Sortie du mode de veille Figure 24: Schéma du code de la télécommande Printemps 2011 29 . 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 d’envoi prêt ? ET Nombre de frames envoyées < 130 ? Interruption de réception IrDA Analyse du frame Sauvegarde du caractère reçu OUI Envoi des données par IrDA NON NON Somme caractères = CS ? OUI Affichage du niveau de la batterie Nombre de frames envoyées ≥ 130 ? OUI Activation de l’interruption de réception IrDA Fin de l’interruption Retour en mode de veille Temps de réception ≥ 50 ms ? OUI Désactivation de l’interruption de réception IrDA.Projet de semestre LAI.

Timer A et génération du PWM L’interruption principale de ce programme est celle du Timer A. c'est-à-dire que le microcontrôleur s’initialise. seuls les éléments caractéristiques au récepteur seront développés en détail. EPFL 4. puis se décrémente jusqu’à atteindre zéro et ainsi de suite (voir Figure 25). Le mode du compteur est choisi en « up-down » c'està-dire qu’il s’incrémente jusqu’a la valeur de TACCR0. Le comparateur principal. il n’arrive donc à la valeur 400 que si aucune donnée n’est reçue durant 20 ms. c’est pourquoi dans cette partie. qui est déclenchée lorsq ue le compteur atteint la valeur maximale. les rendant ainsi inaudibles pour l’être humain. la fréquence de l’horloge principale du microcontrôleur et f. le programme repose sur le même principe de fonctionnement que celui de la télécommande.3 Récepteur La configuration logicielle du microcontrôleur du récepteur est très semblable à celle de la télécommande. Les deux interruptions du récepteur sont l’interruption du Timer A et celle de la réception IrDA. fixée par l’utilisateur. Le comparateur principal est donc défini de la manière suivante : avec . la fréquence désirée. Le Timer A sert également à la création des deux signaux PWM qui forment la commande en tension des deux moteurs indépendamment. Figure 25 : Compteur du Timer A et génération du PWM Printemps 2011 30 . se met en veille et est activé grâce aux interruptions. Tout d’abord. puis sort le microcontrôleur de sa veille (voir Figure 27). Cette interruption incrémente un compteur. pour savoir si la télécommande a démarré la pause de 50 ms. Le compteur est remis à zéro par l’interruption de réception IrDA. Pour les mêmes raisons qu’énoncées précédemment. est donc ajusté de façon à obtenir des commutations PWM à 20 kHz.Projet de semestre LAI. TACCR0. l’horloge principale ainsi que le l’horloge auxiliaire sont cadencées à 8 MHz. A cette fréquence l’interruption du Timer A est alors déclenché toutes les 50 μs.

c'est-à-dire que la sortie PWM est inversée lors du passage par la valeur du comparateur auxiliaire (TACCR1 ou TACCR2) et est mise à zéro lorsque le Timer atteint la valeur maximale.7 0. Une vérification est effectuée avant d’envoyer c es résultats sur les moteurs. créant ainsi une différence de vitesse entre les deux hélices et entrainant un mouvement de rotation de l’hélicoptère.Projet de semestre LAI. présentées dans le Tableau 7. pour s’assurer que la valeur obtenue reste dans la plage autorisée : [0 . Le coefficient 200 représente simplement la valeur du comparateur TACCR0. L’altitude est appliquée de façon identique sur les deux moteurs permettant d’élever l’hélicoptère à la verticale. Ce mode permet d’avoir un rapport de cycle du PWM proportionnel à la valeur du comparateur auxiliaire. comme énoncé ci-dessus. En tenant compte des valeurs mesurées par l’ADC de la télécommande. il est nécessaire d’ajouter un coefficient de correction pour assur er que les hélices tourne à la même vitesse lorsque la consigne est la même pour les deux moteurs. Le coefficient du lacet doit être déterminé en réalisant des essais avec le montage final.75 0. dont la valeur est modifiée lors de la réception des données IR. permettant ainsi d’appliquer des vitesses différentes sur les deux hélices. il est possible de définir la valeur à appliquer aux deux comparateurs. le zéro doit correspondre à la position médiane du joystick. Ce coefficient est trouvé en faisant la moyenne des ratios donnés par le Tableau 8. il est nécessaire d ’inverser l’altitude en la soustrayant à la valeur maximale. TACCR0.75 afin de pouvoir facilement l’appliquer à l’aide de nombres entiers (3/4). Il en est de même pour le lacet. le diviseur 1024 est quant à lui. mais elle est arrondie à 0. Cette moyenne est de 0. Finalement nous obtenons les formules suivantes : La position « haut » du potentiomètre linéaire correspondant à la valeur 0. TACCR1 et TACCR2. soustrait. pour tenir compte des frottements mécaniques différents pour les deux hélices. comme le montre la Figure 25.76 0. D’autre part.73. EPFL Les signaux PWM sont générés à l’aide de deux comparateur s supplémentaires. Le mode de génération est appelé « toggle/reset ». sur un moteur. 255.78 0. Valeur du comparateur du PWM 20 40 80 100 150 180 Vitesse de l’hélice du dessous (1) [tr/min] 420 750 1000 1260 1560 1700 Vitesse de l’hélice du dessus (2) [tr/min] 620 1000 1430 1650 2000 2500 Ratio (1)/(2) 0. Le lacet quant à lui est.68 0. additionné. Le moteur 1 sera donc régulé par le PWM généré par le comparateur TACCR1 et le moteur 2 par celui du comparateur TACCR2. à déterminer expérimentalement.68 Tableau 8 : Vitesse des hélices en fonction du comparateur du PWM Printemps 2011 31 . 200]. et sur l’autre.

la période d’échantillonnage minimum est donnée par : Cette fois-ci est donnée par le diviseur résistif formé par les deux résistances de : et donc . donnant ainsi une période d’échantillonnage de 16 μs. EPFL Le module ADC n’est activé qu’une fois par seconde pour faire une mesure de la tension de la batterie de l’hélicoptère. est fixée à la moitié de l’horloge principale. suivi de la conversion de la valeur lue ( ) et de son enregistrement ( ). le module ADC est éteint dans l’interruption du Timer A. mais la récupération de la valeur ne se fait qu’après la prochaine interruption du Timer A qui se déclenche à 20 KHz. l’échantillonnage commence directement une fois que le module est complètement configuré. à savoir 30 ms. ADC10CLK. c'est-à-dire que la fréquence d’échantillonnage doit être inférieure à 93 kHz. il faut éviter que sa tension descende au dessous de 3 V. Pour garantir que la tension reste au dessus de cette valeur.Projet de semestre Conversion Analogique – Digitale (ADC) LAI. La période d’échantillonnage doit être la plus courte possible pour permettre la lecture de la tension de la batterie et l’envoi de cette information dans le laps de temps restant. Cet échantillonnage dure 16 μs. par la vérification de l’état de la batterie. afin de garantir qu’il s’agit de la pause intentionnelle de la télécommande et non d’une coupure de communication. Une fois que la conversion est terminée. comme expliqué au chapitre précédent. sur 64 coups d’horloge. lorsque la tension de la batterie atteint 3. prenant ainsi compte d’un facteur de sécurité suffisant. Pour obtenir une fréquence d’échantillonnage proche. En effet. afin de diminuer la consommation du circuit électronique. dans le main. La conversion AD est directement suivie. La tension de 3. désactive les interruptions et se met en veille. Printemps 2011 32 . L’échantillonnage se fait.2 V.2 V. S’agissant d’une batterie lithium-polymère. Cette activation est faite dans le main lorsque le récepteur ne reçoit plus aucune donnée durant un intervalle de 20 ms. le microcontrôleur du récepteur stoppe les moteurs. Comme dans la partie précédente. Le temps total pour qu’une conversion AD soit réalisée est de 50 μs. correspond à une valeur sur 8 bits de 164. quant -à lui. c'est -à-dire toutes les 50 μs. l’horloge du module ADC. sans quoi sa recharge est impossible. à savoir 4 MHz.

Seul le paquet de données envoyé est différent (voir Figure 26). La conversion n’est réalisée qu’une seule fois. permettant ainsi d’envoyer les données à l’aide du transceiver IR. Le récepteur de l’hélicoptère. n’aya nt que la valeur de la batterie à envoyer. Elle effectue l’analyse du byte et dès que le paquet complet est reçu. La durée totale d’envoi est donc de 12. de 30 ms. Printemps 2011 33 . la somme des informations reçues est calculée et comparée au byte de Check Sum reçu. mais qu’il n’effectue une tâche de conversion et d’envoi. Tout comme pour la télécommande. les comparateurs du Timer A sont modifiés. Déroulement général du programme Un schéma explicatif du code implémenté sur le récepteur est présenté sur les Figures 27 et 28. l’interruption de réception ressemble fortement à celle de la télécommande. à l’aide d’un compteur. elle est déclenchée lorsqu’un byte de donn ées est reçu. L’interruption de réception IR est réactivée après l’envoi des trois frames d’information. Aux moments où ce compteur atteint la valeur 400. Il est choisi d’envoyer cette information trois fois. L’interruption du Timer A est déclenchée à 20 kHz et permet de définir. La durée d’envoi d’un tel paquet à une vitesse de 9600 bps se monte à 4. mais également de tenir compte de la minimisation de la consommation du récepteur. si le récepteur doit envoyer l’état de la batterie à la télécommande. puis désactivée durant les 30 ms suivant l’attente de 20 ms. Comme le montre la Figure 28. ce qui permet l’envoi de plusieurs frames dans le temps imparti. pour permettre à la télécommande de la recevoir au moins une fois correctement. EPFL Communication IrDA Tous les paramètres d’initialisation de la communication IrDA sont les mêmes que ceux de la télécommande. L’interruption de réception est donc activée par défaut. le module ADC est initialisé puis la conversion est démarrée. BOF 8 bits Batterie 8 bits CS 8 bits EOF 8 bits Figure 26 : Paquet de données envoyé par le récepteur La synchronisation entre la réception et l’envoi des données infrarouge est également implémentée sur le récepteur. dans le but d’éviter un chevauchement des interruptions de manière non contrôlé e (voir Figure 27). le frame IR ne fait que 40 bits.Projet de semestre LAI. garantissant ainsi la compatibilité des deux circuits. à la suite de quoi le module ADC est arrêté.6 ms. l’interruption de réception IrDA est désactivée. Comme expliqué ci-dessus.2 ms. A la fin de cette interruption le microcontrôleur se remet en veille. L’envoi de l’information est réalisé dans l’interruption du Timer A à condition que la conversion AD soit terminée. le compteur est remis à zéros à chaque interruption de réception IrDA. qu’une fois par seconde . La Figure 27 montre que le microcontrôleur est souvent sorti du mode de veille. Ce programme est constitué de trois parties principales : le main. correspondant à 20 ms sans réception. Le Check Sum se résume alors à la simple répétition de la valeur de la tension de la batterie. l’interruption du Timer A et l’interruption de réception IrDA. selon les explications précédentes. le microcontrôleur est d’abord initialisé puis active les interruptions et se met en veille. Si les deux nombres sont égaux.

ADC : 25 kHz .Horloge : 8MHz .IrDA : 9600 bps .PWM : 20 kHz Activation de l’interruption de réception IrDA Interruption Timer A NON Conversion ADC terminée ? OUI Désactivation du module ADC NON Pas de réception > 20 ms ? OUI Désactivation de l’interruption de réception IrDA Buffer d’envoi prêt ? ET Nombre de frames envoyées < 3 ? NON OUI Envoi des données par IrDA NON ADC off ? OUI Démarrage du module ADC Conversion ADC Nombre de frames envoyées =3? NON OUI Batterie faible ? OUI Arrêt des moteurs Désactivation des interruptions Mise en veille Fin de l’interruption Sortie du mode de veille NON Activation de l’interruption de réception IrDA. remise à zéro du nombre de frames envoyées Activation des interruptions Mise en veille Figure 27 : Schéma du code du main et de l'interruption du Timer A du récepteur Printemps 2011 34 .Sortie sur la LED . EPFL Main Initialisation .Projet de semestre LAI.

Projet de semestre LAI. EPFL Interruption de réception IrDA Analyse du frame Sauvegarde du caractère reçu NON Somme caractères = CS ? OUI Changement des comparateurs du Timer A Fin de l’interruption Retour en mode de veille Figure 28 : Schéma du code de l'interruption de la réception IrDA du récepteur Printemps 2011 35 .

Figure 29 : Schéma temporel du programme des deux circuits Printemps 2011 36 . Cette figure permet de conclure que les deux microcontrôleurs sont synchronisés et que c’est la télécommande qui donne la cadence de réception et d’émission infrarouge. Il faut noter que les échelles temporelles sont déformées pour des raisons de lisibilité. permettant ainsi une économie d’énergie au niveau de l’hélicoptère. Nous constatons également que la télécommande est beaucoup plus active que le récepteur.4 Vue d’ensemble des programmes Les deux logiciels ont maintenant été décrits et afin de clarifier le fonctionnement de ces deux programmes en parallèle. La télécommande est représentée en bleu. et le récepteur en orange. sur la deuxième moitié.Projet de semestre LAI. EPFL 4. sur la partie du haut. la Figure 29 présente un déroulement temporel des principales étapes réalisées par les deux microcontrôleurs.

Cette distance est suffisante mais peut être augmentée comme il le sera expliqué plus loin.04 Tableau 9 : Poids des différentes batteries LiPo en fonction de leur capacité La consommation totale du récepteur peut être estimée en additionnant la consommation des différents éléments électroniques et en considérant le temps de fonctionnement de chacun de ces éléments. Nous observons que la consommation totale est de 1. nous pouvons également définir que le temps de vol espéré avec une batterie de 50 mAh s’élève à six minutes maximum.5 grammes.1 Bilan du projet Les différentes étapes de la réalisation de la télécommande et du récepteur ayant été décrites. ce qui dépasse largement les espérances. Les efforts effectués pour diminuer la consommation du circuit sont donc visibles mais sont négligeables face à la consommation des moteurs. Avec une telle estimation. tels que la distance de communication ainsi que le poids et la consommation du récepteur peuvent être présentés. en présentant la consommation de courant des composants électroniques. Il s’agit bien sûr d’une surestimation étant donné qu’en réalité la tension d’alimentation n’est pas constante et que les batteries ne peuvent pas être déchargées Printemps 2011 37 .7 V. En ce qui concerne le poids du récepteur. La communication étant bidirectionnelle. mais l’hélicoptère serait tout de même capable de voler avec un tel « chargement ». et que la batterie représente l’élément critique de ce critère. qui dépend de la capacité de cette dernière (voir Tableau 10). le but était de res ter en dessous d’un gramme. la distance de retour est de maximum deux mètres. Avec une batterie de 50 mAh. et cell e qui s’exerce dans le sens inverse. s’élève à 0. la puissance consommée de chaque élément avec l’hypothèse que la tension d’alimentation est constante et de 3. et enfin le rapport de temps durant lequel chaque composant est actif (temps d’activité sur une seconde en pourcent). les points critiques du projet. Le Tableau 10 résume la consommation totale. En revanche. le poids total du circuit se monte à 2.67 2. Capacité de la batterie [mAh] 35 50 65 70 Poids [g] 0. comme demandé dans les objectifs du projet. au-delà desquels la télécommande ne reçoit plus la valeur de la batterie de l’hélicoptère. Les améliorations possibles sont également décrites pour une éventuelle suite à ce projet. qui tournent en continu et consomment 250 mA chacun. nommée distance de retour.2 grammes.75 1. Le poids du PCB avec les composants électroniques soudés. EPFL 5 Conclusion 5.852 W et qu’elle est principalement due au fonctionnement des deux moteurs.Projet de semestre LAI. à savoir celle allant de la télécommande (qui envoie les données) au récepteur (qui reçoit les données) appelée distance de commande. auxquelles il faut ajouter le poids de la batterie. L’envoi des commandes à l’hélicoptère s’effectue sans problème à une distance de quatre mètres.06 2. il importe de distinguer les deux distances de communication différentes. Nous constatons donc qu’il y a un compromis poids-autonomie.

qui n’est plus capable de recevoir correctement les informations IR. deux plans de masse différents sont dessinés et reliés par une ferrite. car.1 mA 500. ce qui engendre un dysfonctionnement du microcontrôleur. plusieurs améliorations peuvent y être apportées. Eléments Moteurs MSP430 veille MSP430 actif ADC LED Transceiver IR envoi Transceiver IR réception TOTAL avec ratio Courant consommé 500 mA 80 μA 500 μA 1.3 mW 1. augmentant ainsi le courant dans la LED émettrice ainsi que la consommation du transceiver. mais les moteurs ne disposent plus de suffisamment de courant pour faire décoller l’hélicoptère. De cette manière les sauts de tension sur l’alimentation n’affecteront pas le fonctionnement du microcontrôleur.3 V pour alimenter le microcontrôleur.37 mW 1.26 95 Tableau 10 : Consommation électrique des éléments du récepteur Des problèmes furent rencontrés lors des essais avec l’hélicoptère : les moteurs. mais il est fortement probable que l’hélicoptère puisse voler au-delà des deux minutes espérées.85 mW 5. EPFL complètement. Nous sommes donc face à un compromis entre la distance et la consommation. De plus.5 mW 2.55 mW 18. qui est commune pour tous les composants électroniques. Deuxièmement. comme présenté dans la partie des schémas électroniques.6 mA 0. pour supprimer les perturbations de la masse.22 mW 0. il est possible d’ ajouter un régulateur de tension de 3. Tout d’abord. Ces perturbation peuvent également se retrouvées sur la masse du circuit. provoquent des sauts de tension sur l’alimentation. le deuxième plan de masse relie tous les autres composants du circuit. En utilisant des transistors à résistance ON relativement élevée (au dessus du Ohm). Au vu du bilan de ce projet. la résistance sur la LED (R9) peut être diminuée à 10 Ω. pour corriger les problèmes dus aux moteurs de l’hélicoptère. la distance de communication entre le récepteur et la télécommande peut être augmentée. Le premier plan de masse regroupe l’étage de driver des moteurs. au lieu des 47 Ω actuels. ayant une faible résistance interne. il est donc envisageable de diminuer cette résistance R9. mais comme le Tableau 10 le montre.5 mA 5 mA 0. Une deuxième version du récepteur accueillant les modifications décrites dans cette Printemps 2011 38 .007 5 1. La taille du récepteur peut également être diminuée. la consommation du circuit électronique est négligeable face à celle des moteurs.Projet de semestre LAI.852 W Ratio [%] 100 70 30 0. ces problèmes de communication disparaissent.85 W 0. afin de l’alléger un peu.56 mA Puissance consommée 1.

Lausanne. comprenant les étapes de recherche de composants électroniques. il est possible d’imposer une vi tesse suffisante aux moteurs durant un certain laps de temps.2 Bilan personnel D’un point de vue plus personnel. cette deuxième version n’a pas pu être créée et testée sur l’hélicoptère. le 6 juin 2011 Patrick Clerc Printemps 2011 39 . soudage des composants sur le PCB. routage d’un PCB à l’aide du logiciel Orcade. La vitesse à imposer. Faute de temps. au lieu de brutalement couper les moteurs. qui m’a permis de réaliser un objet concret et exigeant des compétences dans des domaines variés. permettant ainsi à l’héli coptère de se poser lentement. En effet. ainsi que le temps de descente. l’atterrissage de l’hélicoptère lorsque les batteries sont faibles peut être amélioré de façon logicielle.Projet de semestre LAI. ce projet a été une expérience très enrichissante dans mon cursus universitaire. surtout dans les étapes de débogage. réalisation d’un schéma électronique. J’ai également appris les bases du protocole de communication IrDA. J’ai tiré une grande satisfaction de ce projet. leur soutien et leur disponibilité durant tout le semestre. EPFL conclusion a été réalisée et est présentée en annexes. Enfin. pour le temps qu’ils m’ont consacré. En effet. j’ai pu prendre conscience des difficultés liées à la réalisation de circuits électroniques composés d’un microcontrôleur et j’ai remarqué que cela demande souvent de l’intuition et de l’expérience. j’ai pu apprendre à créer un circuit électronique de A à Z. La taille du circuit de cette version modifiée est de 16x26 mm. sont à déterminer expérimentalement. 5. Je tiens encore à remercier Grégory Savioz et Christophe Winter. mes assistants. Enfin. ce qui n’a pas pu être fait au vu des problèmes rencontrés lors des essais. programmation d’un microcontrôleur et enfin tests sur l’hélicoptère réel.

5 V Operation". 2009 "Fast Infrared Transceiver Module for 2.Projet de semestre LAI. Projet de semestre. 2004 "MSP430x2xx Family User’s Guide". TFDU6103. EPFL 6 [1] [2] [3] [4] [5] [6] Bibliographie Savioz Grégory. The IrDA library. Vishay. Vishay. Volume 1. "IrDA Principles and Protocols". EPFL. 2009 "Serial Infrared Transceiver for 2. 2010 "MSP430F21x2 Mixed signal microcontroller".4 V to 5. Texas Instrument. Knutsonm. SLAU144F.5 V Operation". MCL Press. Brown.4 V to 5. TFBS4711. "Design and construction of an ultra-light helicopter". Texas Instrument. SLAS578G. Jeffrey M. 2010 Printemps 2011 40 . 2007 Charles D.

du schéma du circuit électronique puis de différentes vue du routage du PCB (vue générale en taille réelle. EPFL 7 Annexes Les annexes sont divisées en quatre parties : les documents concernant la télécommande.7 μF 10 μF 6 pins 2 pins 4 pins 0. zoom de la vue de dessous).Projet de semestre LAI. zoom de la vue de dessus.1 Télécommande Liste des composants électroniques : Désignation Capacité Capacité Capacité polarisée Connecteur JTAG Connecteur piles Connecteur TI Diode Schottky Joystick LED LED (on/off) Microcontrôleur MSP430F2132 Potentiomètre Résistance Résistance Résistance Résistance Résistance Transceiver TFDU6103 Transistor BS170 Valeur 100 nF 4. le récepteur. Chaque partie est constituée des listes des composants électroniques.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 télécommande Printemps 2011 41 . 7. le récepteur modifié ainsi que la carte d ’interface.

4/SMCLK/TCK P1.0 P1.0/A2/CA4/CAOUT P2.3/TA0.2/TA0.0/A6 P3.7 uF C7 100 nF B B A TP1 TP2 Title Télécommande Size A Date: 4 3 A 1 1 VIS VIS Document Number 1 Tuesday.2/TDO/TDI 1 2 3 4 5 6 25 26 27 28 P2.0/ACLK/A0/CA2 P2.0/TMS P1. 2011 2 Rev Sheet 1 1 of 1 5 .3/UCB0CLK/UCA0STE P3.6/TA0.1/UCB0SIMO/UCB0SDA P3.2/TA0.2/UCB0SOMI/UCB0SCL P3.0/TACLK/ADC10CLK/CAOUT P1.1/A3/VREF/VEREF/CA0 P2.7/TA0. May 10.1/TA0.7/TA1.4/UCA0TXD/UCA0SIMO P3.1 P1.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 5 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.5/UCA0RXD/UCA0SOMI P3.1/TDI/TCLK P1.7 uF C8 4.2/A4/VREF/VEREF/CA1 P2.0/TA1.6/CA6 DVSS XOUT/P2.3/TA0.7/CA7 1 7 4 21 22 23 24 P1.5/TA0.1/TAINCLK/SMCLK/A1/CA3 P2.0/UCB0STE/UCA0CLK/A5 P3.6/TA1.4/TA0.5/ROSC/CA5 8 9 10 19 20 3 C Q1 R9 100 k Q2 Q3 XIN/P2.5 4 3 2 1 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 D R2 330 R3 330 R4 330 R5 330 D D3 LED D4 LED D5 LED D6 LED VCC MC J1 JTAG C VCC TCK TMS TDI TDO GND P1.2 P3.

.

.

.

.

Désignation Capacité Capacité Capacité Capacité Connecteur batterie Connecteur JTAG Connecteur moteur Connecteur TI Diode Schottky LED Microcontrôleur MSP430F2132 MOSFET IRLML2402 Résistance Résistance Résistance Résistance Résistance Transceiver TFBS4711 6 pins 2 pins 4 pins 0.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 récepteur de l’hélicoptère Printemps 2011 47 .Projet de semestre LAI. le composant n’est donc pas soudé sur le circuit. EPFL 7.2 Récepteur Liste des composants électroniques : Une quantité de 0 signifie que seul le footprint a été utilisé dans la création du PCB.5 V rouge 32 pins Valeur 100 nF 100 μF 1 μF 4.

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 B R7 47 R8 47 R6 J3 47 k CON4 B U2 2 3 4 5 VCC1 TXD 1 VCC2/IRED_AN RXD 1 2 3 4 VCC SBWTCK SBWTDIO GND 6 GND SD C3 100 nF C2 4.3/UCB0CLK/UCA0STE P3.0/A4/VREF/VEREF/CA1 21 22 7 8 18 19 1 2 3 4 5 6 25 26 27 28 C R3 100 k D2 R1 330 LED VCC 9 10 11 12 15 16 P3.1 P2.1/A7 P3.0/TA0.2/TA0.5/UCA0RXD/UCA0SOMI DVSS 1 5 P2.1/TA0.0/ACLK/A0/CA2 6 R2 100 k J1 JTAG C VCC TCK TMS TDI TDO GND P1.3/TA1.7/TA0.5/ROSC/CA5 XOUT/P2.0/A3/VREF/VEREF/CA0 P2.0 23 24 P2.4/SMCLK/TCK P1.2/TDO/TDI P1.1/A6 P3.6/CA6 P1.7/TA1.6/TA1.1/UCB0SIMO/UCB0SDA P3.4/UCA0TXD/UCA0SIMO P3.0/TACLK/ADC10CLK/CAOUT P1. May 10. 2011 2 Rev Sheet 1 1 of 1 5 .2/TA1.0 P1.0/TDI/TCLK P1.0/UCB0STE/UCA0CLK/A5 P3.7 uF TFBS4711 A A Title Récepteur Size A Date: 4 3 Document Number 2 Tuesday.6/TA0.5/TA0.2/UCB0SOMI/UCB0SCL P3.0/A2/CA4/CAOUT P2.0/TMS P1.5 4 3 2 1 VCC J2 2 1 J4 D1 DIODE SCHOTTKY MOT1 R4 100 k + C5 100 nF 1 2 C4 100 uF D3 DIODE SCHOTTKY D D 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.3/TA2.1/TAINCLKSMCLK/A1/CA3 P2.4/TA2.

.

.

.

.

.

Projet de semestre LAI. Désignation Capacité Capacité Capacité Capacité Connecteur batterie Connecteur JTAG Connecteur moteur Connecteur TI Diode Schottky LED Microcontrôleur MSP430F2132 MOSFET IRLML2402 Régulateur TPS73033 Résistance Résistance Résistance Résistance Résistance Résistance Transceiver TFBS4711 6 pins 2 pins 4 pins 0.3 Récepteur modifié Liste des composants électroniques : Une quantité de 0 signifie que seul le footprint a été utilisé dans la création du PCB. le composant n’est donc pas soudé sur le circuit.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 récepteur modifié Printemps 2011 54 .5 V rouge 32 pins Valeur 1 μF 4. EPFL 7.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.

0/ACLK/A0/CA2 P1.5/TA0.2/UCB0SOMI/UCB0SCL P3.3/TA1.1/TAINCLKSMCLK/A1/CA3 P2.1/A7 P3.5/UCA0RXD/UCA0SOMI DVSS 1 5 33 P2.5 4 3 2 1 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 D VCC_MC C6 100nF + C1 1 uF J5 1 2 MOT2 DIODE SCHOTTKY Q2 MOSFET C R5 100 k U1 MSP430F2132 P2.1/A6 P3.7/TA0.7/CA7 NC31 NC4 NC17 NC20 TEST/SBWTCK 29 RST/NMI/SBWTDIO Thermal 32 2 31 4 17 20 DVCC J1 XIN/P2.0/TACLK/ADC10CLK/CAOUT P1.0/A3/VREF/VEREF/CA0 P2.1/TA0.2/TA1.4/UCA0TXD/UCA0SIMO P3.2/TDO/TDI P1.2/TA0.6/TA1.4/TA2.0/TMS P1.0/TA0.0/TDI/TCLK P1.7/TA1.0/A2/CA4/CAOUT P2.0 P1.3/TA2.7 uF TFBS4711 A A Title Récepteur modifié Size A Date: 4 3 Document Number 4 Friday.6/TA0.3/UCB0CLK/UCA0STE P3.0/UCB0STE/UCA0CLK/A5 P3.5/ROSC/CA5 XOUT/P2.1 P2.4/SMCLK/TCK P1.6/CA6 JTAG 3 VCC_MC R9 0 B 13 14 B R7 47 R8 47 R6 J3 47 k CON4 U2 2 3 4 5 VCC1 TXD 1 VCC2/IRED_AN RXD 1 2 3 4 VCC SBWTCK SBWTDIO GND 6 GND SD C3 100 nF C2 4. 2011 2 Rev Sheet 1 1 of 1 5 .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 23 24 R3 100 k 6 Q1 MOSFET D4 30 R2 100 k C VCC TCK TMS TDI TDO GND P1. June 03.1/UCB0SIMO/UCB0SDA P3.

.

.

.

.

.

EPFL 7.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 d’interface Printemps 2011 61 .Projet de semestre LAI.4 Carte d’interface Liste des composants électroniques : Désignation Connecteur JTAG Connecteur JTAG Connecteur JTAG Connecteur TI Connecteur TI Diode Scottky Valeur 6 pins 6 pins Header 2x7 4 pins Biwire 1x4 0.

2011 2 Rev Sheet 1 1 of 1 5 .5 4 3 2 1 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 D 1 D VIS TP2 MOLEX 4 J3 1 2 3 4 VCC SBWTCK SBWTDIO GND 1 VIS TP3 HEADER 4x1 1 C C VIS TP4 D2 DIODE SCHOTTKY J8 1 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 B GND TDO TDI TMS TCK VCC MOLEX 6 VCC TCK TMS TDI TDO GND 1 2 3 4 5 6 A J7 A HEADER 6x1 Title Carte interface Size A Date: 4 3 Document Number 3 Sunday. May 08.