Vous êtes sur la page 1sur 53

Rapport de Stage Technicien ST2

Juin & Juillet 2009

Suivi GPS d'un drone


par une antenne motorise

Pierre-Alain Vercruysse,
tudiant Gnie lectrique 4Anne

Page 1 / 53

Page 2 / 53

Rsum :
En qualit d'tudiant en deuxime anne de cycle ingnieur gnie lectrique, j'tais tenu
d'effectuer un stage technicien. La difficult cette anne a concern la recherche de ce stage. En
effet, nous sommes nombreux ne pas avoir trouv de stage en entreprise. Cependant, une
possibilit de stage a t trouve l'INSA mme au sein du projet drone dvelopp par celle-ci
depuis maintenant plusieurs annes.
Mon activit pendant ce stage concernait la station sol du drone. La station sol permet
d'effectuer un suivi radar dont le rle est de suivre le vol du drone grce la diffrence entre les
coordonnes GPS de la station et celle du drone. Il fallait donc que je poursuive lasservissement
de cette antenne motorise et que je propose de nouvelles cartes lectroniques afin de modifier les
dfauts de la carte prcdente.
Concrtement, j'ai commenc par prendre en main la station sol existante. Il m'a fallu un
certain temps d'adaptation. Aprs avoir bien intgr tout cet environnement de travail, j'ai donc
commenc modifier le code. Une fois le code modifi et performant, je suis pass au
dveloppement d'une seconde carte. tant un peu en retard sur mon travail, je n'ai pas pu corriger
les dfauts pendant les deux mois du stage. J'ai cependant souhait continuer travailler sur la
station sol pour pouvoir corriger les dfauts majeurs. Il faudra malgr tout tester cette nouvelle
carte pour la valider entirement.

Page 3 / 53

Page 4 / 53

Sommaire
Rsum

Page 3

I - Le projet Drone

Page 9

1) Les drones
2) Initiative du projet
3) Organisation du projet : quipe
4) Dtails des diffrents groupes de travail

II - Organisation du travail pendant le stage

Page 15

1) Diagramme de Gantt
2) Archivage des fichiers : SVN
3) Travail en quipe
4) Phases de Tests
5) Prsentation publique du projet
5) a - Journes Portes Ouvertes l'arodrome du polygone
5) b - Confrence EMAV 2009 (Pays-Bas)
- Objectif de l'EMAV
- Contenu, essais des quipes

III - Descriptif de la station sol :

Page 23

1) Rle de la station sol


2) Schma du drone en vol
3) Diagramme de fonctionnement
4) Coordonnes GPS

IV - Descriptif de la carte lectronique

Page 27

1) Contexte de la station sol


1) a - Choix des microcontrleurs
1) b - Organisation de la carte

2) Dtails des diffrents composants de la station sol


Page 5 / 53

Page 6 / 53

2) a - Cblage du FTDI
2) b - Cblage du Xbee
2) c - Cblage des PICs
2) d - Connecteur RJ11
2) e - Connecteur DIL10 Carte Commande/Puissance
2) f - Gestion de l'alimentation
2) g - Commande des moteurs

3) Ralisation des cartes


3) a - Typon carte commande
3) b - Typon carte puissance
3) c - Prototype de la station
3) d - Commande des composants
3) e - Tests effectues sur la carte puissance

V - Descriptif du programme

Page 43

1) PIC motorisation
1) a - Organigramme
1) b - Fonctionnement du code
1) c - Stratgie de calcul des pas moteurs
1) d - Dtails du code

2) PIC changeur
Ides pour le code

VI - Mode d'emploi de la station sol V2

Page 49

Configurer le Xbee

VII - Evolutions futurs

Page 51

Conclusion

Page 53

Page 7 / 53

Page 8 / 53

I - Le projet Drone
1) Les drones
Un drone est un vhicule volant non habit qui peut tre autonome ou assist par un pilote
au sol. Le terme drone vient de l'anglais "bourdonnement" (commun au bruit de nombreux drone),
et en anglais, un drone se dit UAV (Unmanned Aerial Vehicle). La plupart des drones que l'on
retrouve actuellement trouvent leurs applications dans le domaine militaire. Ils ont pour but la
surveillance et l'observation arienne. Selon la nature de sa mission, un drone aura des dimensions,
un fuselage, un poids bien particulier. l'inverse de l'aviation ou de l'aromodlisme, il n'y a donc
pas de forme clairement dfinie pour un drone. Sur la Figure 1, on peut voir un ensemble de
drones de tailles compltement diffrentes. On peut de manire gnrale classer les drones selon
diffrentes caractristiques tels que la taille, leur altitude de travail, et leur objectif.
1

1: Le Drone "Predator" de l'arme amricaine .


2: Quadrirotor (aromodlisme) : X-ufo.
3: Le "Neuron" dvelopp par la France et cinq autres pays europens (prvu pour 2010)
4: Drone miniature ailes battantes prsent l'EMAV 2009.
Figure 1 : Diffrents types de drones

Historiquement, sans remonter leurs balbutiements (lors de la premire guerre mondiale),


les drones ont t utiliss par les tats-Unis lors de la guerre du Vietnam (1969) pour observer et
dtecter leurs ennemis. Cependant, c'est bel et bien depuis la guerre du golfe que ceux-ci font
partie intgrante des armes modernes.
Comme dans beaucoup d'autres domaines quand il s'agit de haute technologies, les drones
et l'arme sont troitement lis. Cependant, on peut s'attendre voir apparatre les drones dans le
domaine civil. En effet, quelques applications types pourraient tre la surveillance d'autoroutes
(embouteillage, accidents, ), de forts, de chemins de fer, des applications de topographie, etc

2) Initiative du projet
l'INSA Strasbourg, le projet drone commence ds
2003. Les dbuts sont difficiles, et il faudra attendre une pr
tude pour pouvoir commencer travailler activement sur le
projet. Au dbut une forme circulaire (soucoupe) avec une
pousse par 4 moteurs avait t envisage mais la forme a vite
tait repense laissant place une structure avec deux moteurs
sur les extrieurs et une aile plane cylindrique (cf. Figure 2).
Figure 2 : Bimoteur

Page 9 / 53

De manire mthodique, le premier prototype a t ralis avec en fait un seul moteur


thermique plac au cur de la structure, et deux ailettes de direction sur les cts (cf. Figure 3) .

Figure 3 : Monomoteur

Figure 4 : Drone en vol en 2005

C'est aprs avoir stabilis ce prototype que l'quipe du drone a pu participer au concours
organis par l'ONERA et la DGA en 2005. Ce premier concours avait pour objectif la surveillance
de terrain au dessus dun paysage urbain. Il verra d'ailleurs le drone Cigogne rcompens d'une
premire place ex-quo accompagne de la mention scnario pour avoir survol la zone et
identifi des obstacles. La photographie en Figure 4 montre le drone version 2005 en vol.
Actuellement le drone a une forme cylindrique avec deux moteurs brushless situs sur ses
flancs. Les Figures 5 et 6 montrent le drone dans cette configuration. Il est galement possible de
retrouver une vido du drone en vol en suivant le lien suivant :
http://www.insa-strasbourg.fr/medias/dossier-drone/vol--horizontal-drone-cigogne.wmv

Figure 5 : Dessin CAO du drone 2009

Figure 6 : Drone 2009

3) Organisation du projet
Le projet est gr par un trio de professeurs : Renaud KIEFER, Marc VEDRINES,
Franois KIEFER. Cest un projet dvelopp dans la section mcatronique de lINSA. Cependant,
le projet tant pluridisciplinaire, des tudiants dautres spcialits sont galement mis
contribution : Gnie Electrique, Plasturgie, Mcanique, Topographie, etc
Le dveloppement du drone est rendu possible grce aux laboratoires des diffrentes
spcialits de lcole. La totalit du drone est ralise au sein de lINSA : moulage, pice
mcaniques, dveloppement des cartes lectronique, traitement des images,
Le projet sarticule autour de quatre grands groupes de travail :
- Lquipe Interface Homme Machine qui est charge du dveloppement de toute l'lectronique
embarque sur le drone. Cela comprend les parties acquisition, traitement, et transmission des
donnes.
- Lquipe Mcanique charge de la conception et la fabrication de la structure du drone.

Page 10 / 53

- Lquipe Vision soccupant du test et de la ralisation des diffrents prototypes de systmes de


vision embarque.
- L'quipe Station Sol ralise les infrastructures ncessaires au contrle et au suivi du vol. Cela
comprend une interface graphique ainsi qu'une infrastructure de lancement du drone et un systme
de suivi de trajectoire de l'antenne au sol.
Pour ma part, jai donc travaill dans lquipe station sol. Jai repris le projet des tudiants
mcatroniciens prcdents. Je me suis occup en particulier de lamlioration de la station sol
(code et carte lectronique), ainsi que de la mise en place dune communication srie avec un
ordinateur. Pour ce faire, jai travaill avec deux camarades de classe Gaylord Wagner (interface
Labview sur PC), et Emmanuel Roussel (Dveloppement dun Joystick commande de haut niveau,
dveloppement dun compas, ). Au total, nous tions 7 lves lectroniciens travailler en
stage sur ce projet.

4) Dtails des diffrents groupes de travail


4) a - Groupe lectronique embarque
Tout dabord, il y a le groupe dlectronique embarque (IHM). La carte mre permettant
de contrler le drone est entour dun grand nombre de priphriques (carte capteur, GPS, Centrale
Inertielle, Radio Commande, metteur Xbee, ). Sur la Figure 7 est reprsente larchitecture de
cette carte.

Figure 8 : Carte mre du drone


Figure 7 : Architecture de la carte mre du drone

La grosse partie du travail dans ce groupe de travail est la programmation des


microcontrleurs grant la commande des moteurs et des servo-moteurs (asservissement) en
fonction des donnes reues provenant de lensemble des capteurs et de la Radiocommande. Le
groupe de travail a connu un grand nombre de participants dont notamment deux lves
lectroniciens en par. Le travail sur cette carte sera prolong en PRT avec certainement une
modification (simplification) de la carte pour permettre une gestion plus simple de la commande
du drone.

Page 11 / 53

4) b - Groupe Mcanique :
La structure du drone est compose de 5 lments assembls (aile suprieure, aile
infrieure, 2 ailes latrales et mt central) et rigidifis par lapport de longerons et de polystyrne
expans. Les ailes suprieure et infrieure sont en structure sandwich alors que les ailes
latrales sont exclusivement en composite. Ces lments sont le fruit dun processus de fabrication
trs prcis.
Aprs la phase de conception CAO/FAO, la premire tape ncessite lusinage de bruts,
gnralement en bois, permettant de raliser les moules par la suite. Il sagit des masters extrados
et intrados (cf. Figure 9). On applique ensuite du "gel coat", amliorant ltat de surface des
masters et augmentant la dure de vie du moule en durcissant la surface externe.

Figure 9 : Moulure et Ralisation d'une des ailes

Une fois les masters finaliss, on procde la seconde tape, la cration des moules
(intrados et extrados). Ces moules en composite son raliss par moulage partir des masters.
Leur composition leur procure une dure de vie importante. Il est donc possible de fabriquer un
grand nombre dailes, assez rapidement.
Enfin, il est possible de raliser les ailes proprement dites. Pour cela, chaque surface
externe des ailes est dabord conue indpendamment par lenduit de rsine poxy plac sous vide
pendant 24 heures. Les deux parties sont ensuite assembles et colles pour former laile finale.

4) c - Groupe Vision :
Le groupe vision se concentre sur deux aspects : la capture de vidos bord du drone et
lmission de cette vido en direct soit sur un ordinateur soit sur des lunettes de vision 3D (cf.
Figure 10). Les lunettes 3D quant elles impriment la vido accompagn ventuellement dune
incrustation dinformation capteurs tel que la vitesse, laltitude, etc

Figure 10 : Lunettes 3D
Page 12 / 53

Concernant la camra elle est orientable dans toutes les directions grce deux servomoteurs. Cet ensemble est mont lavant du drone comme on peut le voir sur la Figure 11.

Figure 11 : Camra orientable

4) d - Groupe Station sol :


Il sagit du groupe que jai intgr. Ce groupe soccupe logiquement de la mcanique de la
station ainsi que de llectronique qui va permettre de communiquer avec le drone pour lui fournir
des consignes. La station (cf. Figure 12) sol permet de diriger des informations ainsi que de faire
un suivi d'antenne (cf. Figure 13).
ces deux activits, sajoute galement lactivit topographique qui soccupe de rceptionner les
images issues de la camra et de les traiter des fins topographiques.

Figure 12 : Carte lectronique

Figure 13 : Antenne motorise

Page 13 / 53

Page 14 / 53

II - Organisation du travail pendant le stage


1) Diagramme de Gantt
Afin dy voir plus clair et de nous fixer des limites, il nous a t demand de construire un
diagramme de Gant. Bien entendu il y a un dcalage entre le diagramme de gant prvisionnel et le
droulement effectif du stage. Le diagramme suivant indique le diagramme prvisionnel ainsi que
les activits effectues.

Figure 14 : Diagramme de Gantt

La prise en main du matriel a t assez rapide. Cependant, on remarque sur ce diagramme


que la gestion du code a t plus complexe que ce qui avait t imagin au dbut. Les quelques
essais (tests parking et tests sur toits) ont t assez concluants. Suite la validation par ces essais,
le travail sest donc port sur la ralisation dune nouvelle carte. Pour ce faire, il fallait exactement
dfinir ce que lon voulait ajouter cette nouvelle version. Il tait assez dlicat au dbut de savoir
exactement ce qui devait tre amlior. De nombreuses consultations avec mes camarades ont t
trs utiles pour dfinir une station sol qui pourrait tre la plus efficace possible. Par exemple,
lajout dun Xbee avec la possibilit dune configuration in-circuit a t la source dun grand
nombre derreurs difficilement dcelables.
La plus grande erreur visible sur ce diagramme est la mauvaise synchronisation lors de
lachat des composants : la liste des composants tait disponible assez rapidement (Semaine 28).
Cependant le retard dans la livraison de la commande (envoi de la liste puis rception) est
responsable du retard qui apparat sur cette tche. Par ailleurs cause dune erreur de conception
de la carte (Adaptation des niveaux 3.3V 5V du Xbee), ce retard sest amplifi.
De manire rparer cette erreur sur la carte et pour permettre une meilleure prise en main
future de la station sol, le travail de dbogage que jai commenc sur cette carte sest poursuivi
Page 15 / 53

jusqu fin septembre. Les problmes ont t corrigs et consigns sur une note dapplication.
Finalement, certaines tches n'ont pas pu tre valides : le code sur la station sol V2 n'a pas
pu tre test ce qui est fort regrettable. Une amlioration du code n'a pas pu tre pense.
Cependant, le code fonctionne assez bien tel quel. Pour finir la rdaction de la note d'application
n'a pu se faire que en dehors du stage.

2) Archivage des fichiers : SVN


Pour permettre un travail plus efficace, plus scuris et avec plus de suivi, un SVN a t
utilis. Un SVN est en fait un Systme qui permet de faire des sauvegardes du travail en cours sur
un site internet. Ceci est trs pratique en dveloppement de projets car cela permet de ne pas
perdre le travail effectu lorsque lon souhaite modifier, ajouter ou supprimer certaines choses. Le
SVN fait en fait des sauvegarde sur internet. Selon les cas, il est possible daccder lensemble
des dossiers du projet. Cest donc galement trs pratique pour lchange de documents au sein
mme du groupe de projet. Pour utiliser un SVN il faut appartenir un groupe de travail (une
simple adresse e-mail suffit pour appartenir ce groupe). Dans notre cas, le SVN sappuyait sur
les outils de Google. Un compte Google (enregistrement possible avec une adresse du type
@insa-strasbourg.fr ) est donc ncessaire.

Figure 15 : Sauvegarde Projet Cigogne

Un accs libre au SVN est possible en suivant le lien suivant : http://code.google.com/p/


dronecigogne/. La Figure 15 reprsente ce que pourrait voir un utilisateur libre. Il est galement
possible pour lui de tlcharger les fichiers si il a au pralable install un logiciel grant les SVN
sur son ordinateur.
Lutilisation dun SVN ne modifie en rien lorganisation des fichiers sur le systme
dexploitation. Il y a juste lajout de quelques options lors dun clique droit sur un fichier ou
dossier contenus dans le SVN. Sur la Figure 16 on peut voir par exemple quil est possible de
mettre jour un dossier/fichier en cliquant sur "SVN Update" (rcupre le fichier dorigine stock
sur internet), de publier la nouvelle version d'un fichier ou de rajouter un nouveau dossier/fichier
en cliquant sur "SVN Commit". Il est galement possible d'accder de nombreuses autres
possibilits : supprimer un fichier du SVN, interdire l'ajout d'un fichier sur le SVN, etc

Page 16 / 53

Figure 16 : SVN

3) Travail en quipe
Personnellement, je travaillais sur un projet assez indpendant puisque la plus grande
interaction que javais tait celle avec le responsable de la carte capteur laquelle devait menvoyer
une trame sous un certain format. Malgr cela, je me suis rendu compte de limportance de
connaitre un projet dans sa globalit pour pouvoir travailler efficacement dessus. En effet, il me
fallait galement certaines informations concernant les protocoles pour interfacer correctement le
Joystick, le PC soccupant du suivi du drone, etc

Figure 17 : Quelques rglages lors des essais

Page 17 / 53

D'un point de vue plus humain, il a t trs agrable de travailler dans une quipe dans
laquelle rgnait une trs bonne ambiance. Le fait que nous nous connaissions tous dj a contribu
justement cette bonne ambiance.

Figure 18 : Premiers tests sur le toit du Btiment C

4) Phases de Tests
Toutes les phases de tests ne se sont en fait pas drouls sur la maquette du drone 2009
(Figure 6) mais plutt sur un "mullet" (Figure 17) qui est en fait un petit avion plus stable que le
drone permettant de valider un grand nombre de travaux effectus.
Avec ce projet, je me suis galement rendu compte de la trs grande importance de prvoir
un maximum de tests. Il ma t possible deffectuer quelques tests sur les toits de lINSA pour
vrifier le bon asservissement de lantenne. En effet, travailler sur le toit permet de contourner les
problmes de rception du GPS observs lors des tests sur le parking de lINSA. Ces tests ont
permis de corriger les premiers dfauts avant les essais sur le terrain.

Figure 19 : Essais sur le terrain

Concernant les essais sur le terrain, deux ont t effectus. Malheureusement, je nai pu
tre prsent entirement lors du premier essai et tant donn les complications quil y a eu durant
les premires heures de cet essai (en particulier problmes avec la carte capteur et le GPS), je nai
pas eu le temps de tester personnellement quoique ce soit avant mon dpart. Les deuximes essais
se sont drouls le dernier jour du stage, et ne se sont une nouvelle fois pas drouls comme prvu.
En effet, quelques problmes sur la carte mre sont survenus au dbut, et une fois ces problmes

Page 18 / 53

rectifis, les batteries embarques ntaient finalement plus trs fiables et par consquent,
lantenne ne pouvait plus suivre de manire efficace le drone puisque la puissance d'mission du
Xbee tait moindre.
Par ailleurs, nous nous sommes rendus compte de perturbations dues au moteur thermique
utilis puisque la transmission fonctionnait assez bien lorsque le moteur tait coup (vol plan).
Au final, je me suis rendu compte de limportance quil fallait accorder la prparation des
tests ainsi que du listing du matriel amener sur place. Par exemple, pour un essai intermdiaire,
javais oubli de prendre avec moi le composant principal de la station sol.

5) Prsentation publique du projet


5) a - Journes Portes Ouvertes l'arodrome du polygone
Le deuxime week-end du stage (13 et 14 juin), il nous a t propos de prsenter le drone
lors de la journe portes ouvertes de l'arodrome du Polygone (Neuhof). Cette journe avoir pour
but la publicit de cet arodrome, et donc au passage un ensemble de stands taient prsents
(Arme, Drone Cigogne, club d'aromodlisme, etc) pour prsenter leurs activits. C'tait
galement l'occasion d'un petit meeting arien puisque on pouvait y voir d'anciens avions de la
seconde guerre mondiale par exemple.

Figure 20 : Antenne motorise

Cette journe a t trs intressante puisque non seulement elle nous a appris beaucoup de
choses sur le projet drone en lui-mme, mais elle nous a aussi permis d'expliquer des visiteurs
(sans ncessairement avec un bagage scientifique) ce projet. De nombreux tudiants taient
prsents lors de cette journe, et je pense qu'il serait trs intressant de continuer assister aux
prochaines portes ouvertes de ce type car il s'agit l d'un moyen efficace de plbisciter le projet et
l'cole.

Page 19 / 53

5) b - Confrence EMAV 2009 (Pays-Bas)


L'EMAV est la confrence Europenne sur les drones (Micro Air Vehicle). Chaque anne,
elle se droule dans une ville diffrente. Cette confrence permet de runir professionnels,
tudiants et tous ceux concerns par des projets type drone. Cette anne, l'EMAV se droulait
Delft (Pays-Bas) et tait organise par l'Universit TU Delft. Le contenu de ces quatre journes est
assez divers : prsentation publique des projets de chaque quipe, essais "outdoors" et "indoors".
Du ct des quipes, on retrouve principalement des quipes corennes et franaises (beaucoup
d'coles d'aronautique et aviation). Ct professionnel, on retrouve l'ONERA, la DGA,
Reprsentants de l'arme amricaine, etc

Figure 21 : Prsentation lors de la confrence

Les essais "outdoors" : pour ces essais un certain nombre de points tait attribu aux
groupes qui arrivaient faire un atterrissage prcis, un largage, une crevaison de ballon, une
localisation de vhicule et/ou le passage sous une arche. Des bonus taient accords aux quipes
qui ralisaient ces missions en autonome ou par guidage aux lunettes.

Figure 22 : Essais "outdoors"

Figure 23 : Mission "outdoors"

Page 20 / 53

Les essais "indoors" se droulaient en deux parties. Une des deux missions tait d'entrer
dans une pice, de rcuprer un objet pos sur une table, de le dposer sur une zone spciale et
d'atterrir sur une plateforme prvue.

Figure 24 : Essais "indoors"

Figure 25 : Mission "outdoors"

Pour plus d'informations sur cette confrence, il est possible de visiter le site en suivant le
lien suivant http://www.emav2009.org/

Page 21 / 53

Page 22 / 53

III - Descriptif de la station sol :


1) Rle de la station sol :
L'objectif principal de la station sol est de faire un suivi du
drone par une antenne (cf. Figure 36). Le drone tant quip d'un
metteur vido, la station sol rcupre le flux vido par un module de
rception pos sur le mat, et retransmet ce flux directement par USB
grce au module "Grabshow". Par la suite, il serait intressant
d'intgrer une seconde antenne qui ferait la rception et l'mission des
trames Xbee Sol-Air d'abord puis par exemple Sol-Sol (pour une
tlcommande ou le Joystick). La station sol a par ailleurs d'autres
Figure 26 : Antenne motorise
rles. Voici un listing de ses taches :
- Acquisition de la trame GPS (@#) du drone pour effectuer le suivi d'antenne.
- Acquisition de la trame GPS du drone pour un ordinateur branch sur la station sol (USB).
- Acquisition de la trame PID (@P) de l'ordinateur (USB) afin de modifier les PID en vol.
- Acquisition des consignes Joystick (en mode filaire actuellement).
- Envoi des consignes Joystick et de la trame PID.
- Envoi de certaines donnes afficher sur les lunette 3D.
Une premire station avait t dveloppe lors d'un
projet MIQ4 en 2008/2009 (cf. Figure 37). Ce travail avait
dbouch sur la ralisation d'une double carte commande et
puissance. Cette carte qui est tout fait fonctionnelle prsente
cependant quelques dfauts. Une nouvelle version de ces
cartes a donc t ralise.
Figure 27 : Station sol - Version 1

2) Schma du drone en vol :

Nor

t
Es

Figure 28 : Schma du drone en vol

Page 23 / 53

3) Diagramme de fonctionnement :
La carte s'appuie sur 2 microcontrleurs PICs 18F. L'un va se charger de motoriser
l'antenne afin d'orienter celle-ci toujours dans la direction du drone. Le second PIC va tre un
aiguilleur d'information pour l'incrustation vido et l'envoi de la trame pour la correction des PIDs.
Le Xbee transmet la trame GPS aux deux PICs ainsi qu'au PC (interfac en USB)
contenant l'interface graphique. Le PC va ensuite renvoyer une trame PID contenant les
corrections apporter en vol sur les PID, ainsi que les donnes qu'il faudra afficher lors de
l'incrustation vido. Le PIC aiguilleur va donc rcuprer la trame GPS ainsi que la trame PIDs. Il
va par ailleurs recevoir des consignes Joystick. partir de ce flux d'informations, il va construire
la trame PID (@P) envoye par Xbee au drone. Il va galement afficher sur les lunettes 3D les
informations souhaites (Altitude, Vitesse ) par le biais du module de surimpression vido
(incrustation vido). Le switch SW permet de reconfigurer le Xbee par USB lors d'un drglage de
celui-ci.
Voici un diagramme de fonctionnement de la station :
Figure 29 : Diagramme de fonctionnement
Drone

Xbee

Microcontrleur
de suivi antenne
Sw

Joystick

Microcontrleur
d'aiguillage des

Moteurs

Antenne

PC USB

Incrustation
Vido

Lunette 3D

Grabshow USB

PC pour
lecture Vido

Figure 30 : Rcepteur Vido et Grabshow USB

Page 24 / 53

4) Coordonnes GPS :
Les coordonnes GPS sont envoyes par la trame GPS (@#). Elles ont pour unit les
degrs et se composent de la longitude (axe "X") et de la latitude (axe "Y") ayant pour origine
respectivement le mridien de Greenwich et l'quateur. La Terre tant approxime une sphre de
rayon R = 6374 km, par un simple produit en croix, on peut trouver une quivalence entre les
degrs et les mtres : 360 = 2.R.
Figure 31 : Coordonnes GPS

latitude
quateur
longitude

Mridien de
Greenwich

http://www.gpsfrance.net/
Figure 32 : Impression cran issu du site "gpsfrance.net"

Page 25 / 53

Page 26 / 53

IV - Descriptif de la carte lectronique :


1) Contexte de la station sol :
La carte lectronique s'inspire logiquement de l'architecture souhaite (Figure 29). La
structure de la carte suit celle de la prcdente version. La station sol s'articule autour de deux
microcontrleurs PIC : un 18F4520 pour la gestion de la commande des moteurs, et un 18F6520
qui s'occupera de l'aiguillage des donnes entre le Xbee, le PC, les lunettes 3D ainsi que le
Joystick.

1) a - Choix des microcontrleurs :


Les PICs retenus pour cette deuxime version de la carte restent les mmes que pour la
premire version. Il faut cependant noter que le PIC 18F4520 est sans doute surdimensionn. En
effet, un grand nombre dentres/sorties restent inutilises. Un PIC comme le 18F2221 (28 pins au
lieu de 40) pourrait remplir ce rle. Cependant, pour viter de s'loigner de la carte V1, le mme
PIC a t gard. En ce qui concerne le PIC changeur (18F6520), il a t choisi pour ses deux
ports UART. Ce PIC a t parfaitement choisi puisque seuls deux PICs possdent 2 UART
(communication srie) et 4 CCP (Capture Compare). Cependant, ce PIC n'existe que au format
CMS TQFP(64pins), ce qui est un peu embtant pour les soudures non professionnelles.

1) b - Organisation de la carte :
Voici un schma simplifi de l'organisation de la station sol :

Xbee

Adaptation des
niveaux de tension
3.3V 5V

Tx

Rx

Moteur
pas pas

L297 + L298

Moteur
pas pas

18F4520

Rx

Adaptation des
niveaux de tension
5V 3.3V

L297 + L298

Rx
Tx

Interrupteur

Ftdi

Connecteur USB

PC

Rx2

18F6520
Rx1

Tx2

Joystick
Tx2

Connecteur RJ11

Lunette 3D

Figure 33 : Organisation de la carte

Ce schma ne fait intervenir que les composants les plus importants. ces composants
s'ajoutent des rseaux de 6 LEDs (4 vertes, 2 rouges) pour chaque PIC ainsi que des Interrupteurs,
un Bouton Poussoir, des connecteurs PicKit, un connecteur pour le Compas (Projet annexe), etc

Page 27 / 53

2) Dtails des diffrents composants de la station sol :


2) a - Cablage du FTDI :
Concernant le FTDI : il s'agit d'un composant permettant la conversion de signaux UART
en signaux USB directement lisibles par un ordinateur grce un logiciel comme X-CTU.
L'ordinateur (qui est en fait l'interface graphique) rcupre donc les informations de la trame GPS
( coordonnes, altitude, vitesse, etc), et renvoie une trame PID (corrections des PID, slection
des waypoints, affichage d'informations sur l'incrustation vido ) par le biais du 18F6520. Ce
dernier, le PIC d'aiguillage va rcuprer les consignes Joystick, les PID et va les retransmettre par
Xbee de faon structure. Il a galement t convenu que le PC enverrai une premire trame
indiquant quelles indications devaient tre imprimes sur les lunettes (cf. explication sur le code de
ce PIC). Le pic d'aiguillage se chargera donc d'envoyer rgulirement les informations afficher
sur la lunette.
Le cblage de ce composant est indiqu sur le schma ci-dessous. Les diodes D17 et D18
permettent d'viter un conflit entre les alimentations de l'USB et celle de la carte. En effet, si ces
diodes ntaient pas l, il y aurait le 5V USB qui irait directement sur le 5V rgul de la batterie.
Dans tous les cas, le FTDI sera aliment par une seule des deux tensions (la plus grande), et les
deux alimentations resteront spares l'une de l'autre.
5V_Alim_Commande

USB1

D18

D17

1N4148W

1N4148W

4
20

VCC
DP
DM
GND

16
15

USB
19

FTDI XBEE
FT232RL

VCCIO
VCC

TXD
RXD
RTS#
CTS#
DTR#
DSR#
DCD#
RI#

USBDM
USBDP

RESET#

1
5
3
11
2
9
10
6

TX_Ftdi
RX_Ftdi
RTS
CTS

des signaux srie (RS232/UART) en signaux

17

C7

de n'tre aliment que par une seule tension

OSCI
OSC0

3V3OUT
TEST

27
28

AGND
GND1
GND2
GND3

3V3

CBUS0
CBUS1
CBUS2
CBUS3
CBUS4

23
22
13
14
12

26

25
7
18
21

100nF

Figure 34 : FTDI

Figure 35 : Carte USB-Srie-Xbee

Page 28 / 53

Le FTDI est un composant trs pratique. Grce ce composant, il a t possible de


remplacer la grosse puce USBMOD3 prcdemment installe sur la station sol V1. En
regardant bien, lUSBMOD3 intgre lui-mme un FTDI. Par ailleurs, le FTDI cr une
alimentation de 3,3V que l'on peut rutiliser sur la carte pour alimenter le Xbee. On vite ainsi
l'ajout d'un composant qui remplirait cette fonction. Cependant, cette alimentation 3,3V fluctue
entre 3V et 3,6V avec un courant admissible de 50mA. Le Xbee PRO pouvant consommer un peu
plus, il faudra donc faire attention ce paramtre l. En effet, sur la datasheet, il n'est pas indiqu
clairement les courants consomms. On peut cependant se rfrer aux valeurs des courants RX et
TX 3,3V (respectivement 55mA et 215mA). Lors de plusieurs essais, la carte de test "USB-Srie
-Xbee" (cf. Figure 35) a parfaitement bien fonctionn.

2) b - Cblage du Xbee :
Les niveaux fournis par le Xbee ne sont pas directement des signaux compatibles ceux
des PIC. Il fallait donc adapter la l'entre IN du Xbee (5V3.3V) ainsi que la sortie OUT du Xbee
(3.3V5V) :
R18

5V

1k

R19

4k7

2k2

D
1N4148W

Sortie 5V Xbee

Figure 36-a :
Abaisseur de tension

Sortie 3.3V Xbee

Figure 36-b : Rehausseur de tension

Pour la conversion 5V 3.3V, l'adaptation s'est faite par un simple pont de rsistance. (cf.
Figure 36-a)
Et pour la conversion 3.3V 5V , initialement, lide d'un montage rehausseur de tension
(cf. Figure 36-b ) utilisant une diode et une rsistance de tirage avait t choisie et mme
malheureusement valide jusquau typon. Le principe de ce montage est le suivant : On choisit une
diode dont la chute de tension vaut 1V. Cette diode sera toujours passante, ainsi, lorsque A = 3.3V,
B vaut 4.3V, et lorsque A = 0V, B vaut 1V
En fait, il se trouve que ce montage risque de ne pas marcher aux vues des niveaux de
tension des PIC et du Xbee. En regardant dans les datasheet du Xbee et du PIC, on peut retrouver
les valeur limites des tats hauts et bas. Voici ces valeurs (en Volts) : pour le Xbee : VOH = Vcc 0,5 ; VOL = 0,5 ; Pour le PIC : VIH = 0,8.VDD ; VIL = 0,2.VDD
Si un niveau haut mis par le Xbee est trop faible (2,8V), celui-ci sera rehauss 3,8V
mais ne pourra pas tre reconnu comme un tat particulier par le PIC qui a une plage inconnue de
1V 4V (lorsqu'il est aliment 5.0V). Par ailleurs, mme l'tat bas ne sera pas reconnu car il est
trop haut.
3.8 V
2.8 V

Xbee

4V

Rehausseur
1V

PIC
1.5 V

0.5 V

1V

Figure 37 : Incompatibilits des niveaux de tension

Page 29 / 53

cause de ce dsagrment, beaucoup de temps a t perdu. Pour raliser cette adaptation,


j'ai donc pens au dbut utiliser un transistor mais il n'tait pas possible d'utiliser un unique
transistor bipolaire pour raliser cette fonction (cf. Figure 38).
Ne fonctionne pas :
Vout < Vin

Inverseur :
Vout

6V
0.

Vin

Vin

Vout

Figure 38 : Exemples de montages transistor bipolaires

En ayant parl mes collgues de mon problme, Hugo Van Reeth (responsable carte
capteur) m'a indiqu que lui utilisait une porte ET pour une adaptation quasi-identique. En effet
une porte ET est un circuit qui admet un niveau limite pour une tension haute en entre gale VIH
= 2.8V. En sortie, la porte ET retourne un tat haut 5V compatible avec le niveau du PIC. Il s'agit
donc l d'une excellente solution pour adapter un niveau 3.3V 5V.
Une porte ET ( Rfrence SN74AHCT1G08 ) a donc t soude in extremis sur la face du
dessous du circuit.
Cette partie de la carte a subi un grand nombre de modifications et est passe par plusieurs
stades :
Au dbut, la porte ET tait alimente par le 5V gnral de la carte. (cf. Figure 39). Il y
avait cependant des problmes sur la communication Xbee USB qui persistaient. La dmarche
a donc t d'isoler petit petit les signaux entrant/sortant du Ftdi. La configuration n'tait possible
que si la diode D15 tait retire (circuit ouvert entre Tx_6520 et Rx_Ftdi).
5V

2 entres

sortie

masse

Figure 39 : Soudures sur la porte "ET"

C'est donc ce moment l que j'ai compris que le problme venait de l'mission de
donnes du PIC 6520. En effet, pour configurer le Xbee, il fallait alimenter la porte ET. Or, en
alimentant cette porte ET, on alimentait galement le reste de la carte et en particulier le PIC 6520.
Par la suite, il fallait donc trouver une faon d'alimenter la porte ET par une autre source de
tension. Les deux diodes D17 et D18 (cf. Figure 34) servent justement avoir une alimentation 5V
pour le Ftdi (par USB) mme lorsque le reste de la carte nest pas aliment. Il aurait donc fallu
alimenter cette porte ET par cette alimentation qui se trouve sur le point commun des diodes D17
et D18 (Alimentation du Ftdi).

Page 30 / 53

Voici une photo montrant le soudage "in extremis" de la porte ET ainsi que la modification
d 'alimentation :

Tx_Xbe
5V

5V D17/

Figure 40 : Modifications finales apportes

Au final, le Xbee est cbl comme suit :

5V_Ftdi

3V3

U7
PORTE ET
RX_Ftdi
RX_Pic4520

VCC
Y
GND

U6
1
2
3
4
5
6
7
8
9
10

RX1_Pic6520

R21

1k

TX2_Pic6520

R22

Vcc
AD4/DIO4
Dout
CTSBar/DIO7
DIN/ConfigBar
ON/SleepBar
DO8*
Vref
RESET
Associate/AD5/DIO5
PWM0/RSSI
RTS/AD6/DIO6
PWM1
AD3/DIO3
[reserved]
AD2/DIO2
DTRBar/SLEEP_RQ/DI8 AD1/DIO1
Gnd
AD0/DIO0

11
12
13
14
15
16
17
18
19
20

RTS

CTS

XBEE

2k2
TX_Ftdi

SW1

RX2_Pic6520

SPDT

Figure 41 : Cblage du Xbee

La diode D14 sert viter que lors de la reprogrammation du Xbee, un signal puisse tre
envoy sur le PIC 18F6520 (il ne s'agit que d'une scurit). R18 et R19 forment le pont diviseur de
tension 5V 3.3V. La porte ET se charge donc de rehausser la tension 3.3V 5V. Et enfin, pour
permettre de le reprogrammer sans avoir dbrancher le Xbee, un interrupteur a t ajout. Cet
interrupteur dconnecte le 18F6520 de l'USB PC, pour permettre la communication
bidirectionnelle entre le PC (USB) et le Xbee (sans cet interrupteur, on n'aurait que le sens
XbeePC).

2) c - Cblage des PICs


Les PICs sont cadencs 12 MHz par un quartz extrieur. En plus de leurs connectiques
essentielles (capteurs, commande des puces, etc), ils sont tous les deux quips d'un jeu de 6

Page 31 / 53

LEDs de dbogage (4 vertes et 2 rouges). Le connecteur faisant office de programmateur PicKit2


peut galement servir de dbogage par UART : seul un interrupteur doit tre bascul (Figure 46).
Les deux PICs sont dcoupls par un condensateur CMS de 100nF placs sur le typon au plus
proche des PICs.
Les ponts diviseurs forms des rsistances R13 R16 permettent d'adapter le signal 12V
issu des capteurs de inductifs monts sur l'antenne (cf. Figure 42). La rsistance R12 est bien
entendu une rsistance de tirage vitant un court circuit de l'alimentation lors de l'appui sur le
bouton. Ce bouton est le bouton "Init" d'initialisation de la station sol.
Lors du dveloppement de la carte, une ide a t mise concernant une initialisation
compltement automatise de la station grce un compas (une boussole). Cette boussole (cf.
Figure 43) a t dveloppe par Emmanuel Roussel. Pour plus de dtails concernant une
implmentation de celle-ci, il faudrait voir le rapport la concernant.

Figure 43 : Compas

Figure 42 : Capteur inductif azimut

Voici le schma de cblage du PIC de commande des moteurs :

Entres/Sorties

Microcontroleur

Capteurs Inductifs
12V_Commande

U2
2
3
4
5
6
7
14
13

Capteur Azimut

R13

J10

R14

12k

4
3
2
1

10k

R15

Osc2_Pic4520
Osc1_Pic4520

R16

12k

10k

Capteur Profondeur

Boussole/Compas

33
34
35
36
37
38
39
40

Init
Capteur Azimut
Capteur Profondeur
Compas

CONN-SIL4

PGC_Pic4520
PGD_Pic4520

Bouton INIT

RA0/AN0/C1INRC0/T1OSO/T13CKI
RA1/AN1/C2INRC1/T1OSI/CCP2B
RA2/AN2/C2IN+/VREF-/CVREF
RC2/CCP1/P1A
RA3/AN3/C1IN+/VREF+
RC3/SCK/SCL
RA4/T0CKI/C1OUT
RC4/SDI/SDA
RA5/AN4/SS/HLVDIN/C2OUT
RC5/SDO
RA6/OSC2/CLKO
RC6/TX/CK
RA7/OSC1/CLKI
RC7/RX/DT
RB0/AN12/FLT0/INT0
RB1/AN10/INT1
RB2/AN8/INT2
RB3/AN9/CCP2A
RB4/KBI0/AN11
RB5/KBI1/PGM
RB6/KBI2/PGC
RB7/KBI3/PGD

RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5/P1B
RD6/PSP6/P1C
RD7/PSP7/P1D

5V_Alim_Commande
5V_Alim_Commande

J9
3
2
1
CONN-SIL3

RE0/RD/AN5
RE1/WR/AN6
RE2/CS/AN7
RE3/MCLR/VPP

BP1

BP_PILOU

15
16
17
18
23
24
25
26
19
20
21
22
27
28
29
30
8
9
10
1

Clock_Azimut
Sens_Azimut
Clock_Profondeur
Enable_Azimut
Enable_Profondeur
Sens_Profondeur
TX_Pic4520
RX_Pic4520

Led0
Led1
Led2
Led3
Led4
Led5

Vpp_Pic4520

PIC18F4520
VDD=5V_ALIM_COMMANDE

Init
Compas

R12
10k

Led5

Led4

Led3

Led2

Led1

Led0

Rseau de LEDs

Osc2_Pic4520

Osc1_Pic4520

Oscillateur Externe 12MHz


Dcouplage 5V
5V_Alim_Commande

X1
D0

D1

D2

D3

D4

D5

LED-R

LED-R

LED-G

LED-G

LED-G

LED-G

R0

R1

R2

R3

R4

R5

220

220

220

220

220

220

C10
CRYSTAL

C8

C9

15pF

15pF

100nF

Figure 44 : PIC-moteur

Page 32 / 53

Concernant le PIC d'aiguillage, le joystick est branch directement sur les pins CCP
(Capture Compare). Ces pins permettent d'analyser facilement des signaux PWM.
Voici le schma de cblage du PIC d'aiguillage :

Entres/Sorties

Microcontroleur
U3
39
7

Osc1_Pic6520
Vpp_Pic6520

Joystick

24
23
22
21
28
27
40

5V_Alim_Commande

JOYSTICK
1
2
3
4
5
6

Joystick_X
Joystick_Y
Joystick_BP1
Joystick_BP2

Osc2_Pic6520

48
47
46
45
44
43
42
37

Joystick_BP2
Joystick_BP1
CONN-SIL6
PGC_Pic6520
PGD_Pic6520

TX1_Pic6520
RX1_Pic6520
VCC

Led11

Led10

Led9

Led8

Led7

Led6

Rseau de LEDs

30
29
33
34
35
36
31
32

D7

D8

D9

D10

D11

LED-R

LED-R

LED-G

LED-G

LED-G

LED-G

R7

R8

R9

R10

R11

220

220

220

220

220

220

RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5
RD6/PSP6
RD7/PSP7

RA0/AN0
RA1/AN1
RA2/AN2/VREFRA3/AN3/VREF+
RA4/T0CKI
RA5/AN4/LVDIN
RA6/OSC2/CLKO

RE0/RD
RE1/WR
RE2/CS
RE3
RE4
RE5
RE6
RE7/CCP2B

RB0/INT0
RB1/INT1
RB2/INT2
RB3/INT3
RB4/KBI0
RB5/KBI1/PGM
RB6/KBI2/PGC
RB7/KBI3/PGD

RF0/AN5
RF1/AN6/C2OUT
RC0/T1OSO/T13CKI
RF2/AN7/C1OUT
RC1/T1OSI/CCP2A
RF3/AN8/C2IN+
RC2/CCP1
RF4/AN9/C2INRC3/SCK/SCL RF5/AN10/C1IN+/CVREF
RC4/SDI/SDA
RF6/AN11/C1INRC5/SDO
RF7/SS
RC6/TX1/CK1
RC7/RX1/DT1
RG0/CCP3
RG1/TX2/CK2
AVDD
RG2/RX2/DT2
AVSS
RG3/CCP4
RG4/CCP5

58
55
54
53
52
51
50
49

Led6
Led7
Led8
Led9
Led10
Led11

2
1
64
63
62
61
60
59
18
17
16
15
14
13
12
11
3
4
5
6
8

TX2_Pic6520
RX2_Pic6520
Joystick_Y
Joystick_X

PIC18F6520
VDD=5V_ALIM_COMMANDE

D6

R6

19
20

OSC1/CLKI
MCLR/VPP

Dcouplage 5V

Oscillateur Externe 12MHz


Osc1_Pic6520

Osc2_Pic6520

X2

5V_Alim_Commande

CRYSTAL

C13

C11

C12

15pF

15pF

100nF

Figure 45 : PIC changeur

Voici le schma des connecteurs de programmation intgrant un port UART :


5V_Alim_Commande

Vpp_Pic6520

5V_Alim_Commande

Vpp_Pic4520

D12

D13

J4
1
2
3
4
5

UART16

RB751
5

4
3
2

CONN-SIL5

1
DPDT

J5
TX_Pic4520
PGD_Pic4520
RX_Pic4520
PGC_Pic4520

1
2
3
4
5

UART26

RB751
5

4
3
2

CONN-SIL5

1
DPDT

TX1_Pic6520
PGD_Pic6520
RX1_Pic6520
PGC_Pic6520

Figure 46 : Connecteur PicKit2 / UART

Les diodes D12 et D13 sont souvent utilises sur ces connecteurs pour imposer un tat haut
sur la patte du MCLR tout en vitant un problme de niveau de tension (entre le 5V rgul et le 5V
issu de l'USB PC) lors de la programmation. Il n'y a pas de critres spciaux pour le choix de ces
diodes : il faut juste avoir une diode CMS pas chre de tension de seuil infrieure 1V (pour que
la pin MCLR puisse lire un tat haut : 4V est le minimum possible).

Page 33 / 53

2) d - Connecteur RJ11 :

J3

5V_Alim_Commande

Sur la carte commande de la station sol V1, le connecteur


avait mal t cbl puisque pour faire le lien avec le module de
surimpression vido, il fallait croiser le cble RJ11 ce qui n'est pas
trs pratique. Pour cette raison, la nouvelle carte intgre un
connecteur RJ11 qui lui est cette fois adapt au module de
surimpression. Un cble droit devra donc tre fait.

4
2
5
6
1
3

TX1_Pic6520

RJ-11

Figure 47 : Connecteur RJ11

4
2
3

2
1

TX Pic

5
1

3
2

3
4

5
4

Module d'incrustation

Carte Commande
Figure 48 : Connecteur RJ11

Figure 49 : Connecteur RJ11

2) e - Connecteur DIL10 Carte Commande/Puissance :


Contrairement la station sol V1, le connecteur intgre ici une alimentation 12V issue de
la carte puissance. Prcdemment, cette alimentation tait fournie par un deuxime cble
d'alimentation directement depuis la batterie. L'alimentation 5V a aussi t intgre ce
connecteur, ce qui permet de n'utiliser plus qu'un seul rgulateur 5V qui se trouve sur la carte
puissance. En revanche, les signaux "Reset" des deux puces L297 ont t retirs car ils ne sont pas
utiles dans notre cas (cf. la suite de cette note d'application). Il s'agit en effet de signaux permettant
de rinitialiser l'tat initial des bobines commander. Toute la commande se faisant de faon
transparente pour nous, ces signaux ne nous sont pas vraiment ncessaires.
Un interrupteur permet d'alimenter le 5V de la carte commande soit par le 5V rgul de la
carte puissance, soit par n'importe quelle broche 5V de la carte commande (exemple PicKit
etc) . Une LED permet de visualiser si la carte puissance est alimente ou non. Sur les schmas

Page 34 / 53

de "correction", une deuxime LED a t rajoute pour indiquant l'alimentation de la carte


commande. L'alimentation 12V est dcouple par un condensateur CMS de 100nF en sortie de
connecteur, et pour le 5V, il est rgul en sortie d'interrupteur.
12V_Commande

J8

C6
100nF

Clock_Azimut
Sens_Azimut
Enable_Azimut

6
7
8
9
10

SPDT
5
4
3
2
1

Enable_Profondeur
Sens_Profondeur
Clock_Profondeur

5V

R20

5V_Alim_Commande

470

CONN-DIL10_PILOU

C5
100nF

D_ON
LED-G

Figure 50 : Connecteur Commande/Puissance

2) f - Gestion de l'alimentation :
On utilise directement une tension 12V issue d'une batterie qui une fois filtre alimente
directement les hacheurs des moteurs. Une diode a t ajoute en srie pour viter une inversion
dans le sens des connecteurs. Pour former une tension 5V, un simple rgulateur 5V a t choisi. Il
permet d'alimenter les PICs de la carte commande, ainsi que les puces L297 et L298. Plus tard, la
question du dimensionnement du rgulateur a t aborde. Le rgulateur 5V alimente au maximum
3 pics (les 2 principaux ainsi que celui du Joystick), 2 composants L297 et 2 L298.
U4

12V

TBLOCK-I2

1
1N5351BRL

SPDT

12V

C1

C2

100nF

22uF

J2

VI

VO
GND

1
2

D16

ON-OFF

12V

5V_Alim

7805
3

1
2

C3

C4

100nF

22uF

J1
1
2

CONN-SIL2

J3
1
2

CONN-SIL2
GND_P

CONN-SIL2

Figure 51 : Alimentation

GND_P

GND_P

Concernant les PICs, ils sont limits 250mA chacun (cf. page 321 et 307 du 18F4520 et
18F6520), les L298 consomment au repos 36mA maximum chacun (cf. page 3 de la datasheet), et
enfin, pour les L297, aucune indication n'est donne. La dtermination prcise de la valeur
maximale du courant que le rgulateur devra fournir est difficile. Cependant, cette valeur est dj
majore si on prend effectivement 250mA pour les PICs. En effet, ceux-ci ne consommeront pas
autant puisque tous leurs priphriques ne sont pas utiliss. Par consquent, on peut retenir pour
valeur haute une consommation de 900mA.
Or les simples rgulateurs 7805 permettent de dlivrer un courant de 1A (voire plus avec
un dissipateur adapt). De toutes faons, vu le diffrentiel de tension 12V 5V, un dissipateur
devrait tre ajout ce composant. Pour informations, si jamais le choix de ce rgulateur vient
tre remis en question, le remplacement par un LM323T (dans le mme package TO-220) pourra
tre envisag.

Page 35 / 53

Un dissipateur pour ce composant devra dissiper :


(Ubatterie - Urgule) * Iconsomme = (12-5)*1 = 7 Watt.
Si l'on considre une temprature ambiante de 25C, et que l'on souhaite obtenir une temprature
de jonction de 30C, on a : T = P*Rdissipateur soit Rdissipateur = 5C/7W
Air ambiant
Ta = 25

P=7W

Jonction
Tj = 30

Figure 52 : Dissipation de la chaleur du 7805

Il faudra donc un dissipateur de rsistance thermique au maximum de 0,7 C/W (une valeur
basse est prfrable). Lors de hautes tempratures (ex 40C), la jonction sera environ 35C.
Concernant l'alimentation, trois connecteurs supplmentaires (2x5V et 1x12V) ont t
ajouts sur la carte puissance dans le cas o un accs une de ces tensions serait ncessaire. Sur la
carte commande, il y a galement des points test (masse;tension) permettant d'accder aux tensions
12V, 5V et 3.3V.
2) g - Commande des moteurs :
Nous avons 2 moteurs pas pas contrler. Un moteur pas pas est un ensemble de
bobinages que l'on peut alimenter indpendamment les uns des autres. En alimentant certaines
bobines du stator, on peut donc orienter le rotor (aimant permanent) selon des directions
privilgies. Selon le nombre de phases du moteur et le nombre de paires de ples, un moteur pas
pas possde un certain nombre de positions privilgies. En alimentant donc certaines bobines les
unes aprs les autres, on peut donc faire avancer le moteur de pas en pas (cf. Figure 53).

Figure 53 : les 2 fonctionnements possibles en mode "FULL"

Pour alimenter un moteur on utilise trs souvent des hacheurs intgrs de type L298. Ici, il
s'agit d'un moteur pas pas. La commande n'est pas forcment vidente. Il existe des composants
L297 qui remplissent la fonction de driver de moteur pas pas.

Page 36 / 53

Le schma en Figure 27 est issu de la datasheet du L297 qui propose un schma tout fait de
commande de moteur pas pas. ce schma de base, certains ajouts ont t faits : un
potentiomtre de contrle du courant admissible a t ajout (cf. Figure 55) ainsi qu'un
interrupteur permettant de slectionner le mode de commande du hacheur L298 : INH1, INH2 ou
bien A,B,C,D. Ces deux modes de commande sont expliqus dans la datasheet.
5V_Alim

Figure 54 : Association L297/L298

5V_Alim

12V

C16A

C17A

C18A

100nF

470uF

100nF

5V_Alim

U5A

12
10
20
19
17
18

Enable_Azimut_P

5V_Alim

Sens_Azimut_P
Clock_Azimut_P

3
GND_P
11

SPDT

Vref_a
Vosc_a

15
16

VCC
ENABLE
RESET
HALF/FULL
CW/CCW
CLOCK

A
B
C
D
INH1
INH2

HOME
SENS1
SENS2

CONTROL
VREF
OSC

GND

SYNC

GND_P

4
6
7
9
5
8

5
7
10
12
6
11

14
13

1
15

R22A R23A
50

50

D17A
D18A
D19A
D20A
1N5351BRL
1N5351BRL
1N5351BRL 1N5351BRL

U6A

GND_P

VCC
IN1
IN2
IN3
IN4
ENA
ENB
SENSA
SENSB

VS
OUT1
OUT2
OUT3
OUT4

J13A
1
2
3
4

3
13
14

CONN-SIL4

GND
8

D21A
D22A
D23A
D24A

L298

1N5351BRL
1N5351BRL
1N5351BRL 1N5351BRL
GND_P

CONTROL_A

L297
GND_P

GND_P

GND_P

GND_P

5V_Alim
5V_Alim

Au final, il se trouve qu'il n'y a pas de grande diffrence


entre ces deux modes. On pourrait donc l'avenir penser tirer la
patte 11 du L297 5V.
Le filtre RC est un mcanisme de protection qui contrle
le courant des moteurs en faisant varier le rapport cyclique du
hacheur. Ce n'est pas la mme chose que l'entre Clock qui elle
contrle la vitesse du moteur : chaque front montant du signal
Clock, l'alimentation des phases du moteur change (cf. Figure 53).

R20A
22k

RVA
Vosc_a
Vref_a

C14A
3.3nF
1k

GND_P

C15A
100nF

GND_P
GND_P

Figure 55 : Complments

La pate 19 est la masse, et donc la puce va fonctionner en mode "FULL", c'est--dire


qu'il y aura 4 tats successives des sorties A,B,C,D. Selon l'tat initial du "translator" (composant
principal du L297), on aura soit le fonctionnement "one-phase-on" soit le fonctionnement "twophase-on" (cf. Figure 53).
Les rsistances R22 et R23 sont des rsistances "SENSE" de mesure du courant entrant
dans les moteurs. Les puces L297 sont quipes de comparateurs de tension entre la tension aux
bornes de ces rsistances Usense et la tension Vref applique sur la patte 15 du circuit. Si la tension
Usense dpasse Vref , alors, la puce modifie le rapport cyclique pendant un certain temps de faon
faire chuter la tension et donc le courant tir par les moteurs.
Les rsistances "SENSE" se fixent de manire avoir une tension comprise entre 0 et 5V.
Avec la formule Usense = Rs*Iadm , et avec Rs = 1, on aura donc une tension de Usense = 2V lorsque
le moteur consomme 2A. Pour pouvoir contrler le courant admissible on place le potentiomtre
RV (cf. Figure 55) sur l'entre Vref. Pour limiter 2A la consommation, il faudra donc tourner le
potentiomtre jusqu' obtenir une tension de 2V sur la patte 15 du L297. Il faudra bien veiller au
calibrage de ces potentiomtre car si ils sont rgls une tension maximale pour Vref, alors, les
moteurs pourront tirer 10A, ce qui risque d'tre assez dangereux.

Page 37 / 53

3) Ralisation des cartes :


Afin de gagner en place, la station sol sera ralise comme prcdemment sur deux cartes
"Commande" et "Puissance". Deux circuits intgrs ont t choisis en CMS car il n'y avait pas le
choix (le Ftdi ainsi que le PIC 18F6520). D'autres composants plus classiques (rsistances, diodes,
condensateurs, LEDs) ont galement t choisis en CMS.
Le PIC "moteur" 18F4520 aurait pu tre choisi en CMS. Cependant, la carte tant nouvelle
(prototype et non une version finale), et le tirage de celle-ci n'tant pas professionnel, le format
DIL standard a t prfr celui "CMS". Sur les cartes prsentes ci aprs, les plans de masse ont
t retirs.
3) a - Typon carte commande :

Figure 56-a : Carte Commande


Station sol V2.

1 cm

Figure 56-b : Carte Commande


Station sol V2. Typon Corrig

1 cm

Aprs dbogage de la carte, le typon a t modifi. En effet, voici un listing des dfaut
relevs sur ce premier typon :
- Problme avec le montage rehausseur de tension (Diode+Rsistance), remplac par une
porte ET alimenter par le point commun des diodes D17 et D18 (ce qui nest pas fait sur la V2
modifie).
- Le package du connecteur DIL10 n'est pas bon si on utilise un plan de masse (toutes les
pattes taient relies). Remplacement de ce package par le package d'origine en utilisant l'option
"Change Layer Solder Side"
- Le connecteur RJ11est mal situ car lorsque l'on superpose cette carte avec la carte
puissance, ce connecteur est mal situ (au niveau du radiateur du hacheur du moteur de
profondeur).
- Une deuxime LED d'tat d'alimentation de la carte commande a t ajoute.
Page 38 / 53

3) b - Typon carte puissance :

Figure 57-a : Carte Puissance


Station sol V2.

1 cm

Figure 57-b : Carte Puissance


Station sol V2. Typon Corrig

1 cm

Cette carte possde elle aussi quelques dfauts :


- Package des Rsistances "SENSE" R22 et R23.
- Le rgulateur est trop proche des connecteurs autour. Il faudra prvoir un emplacement
pour un dissipateur.
- Vrifier le package des condensateurs CMS
- Il faut loigner les potentiomtres la fois du switch "CONTROL" ainsi que des
rsistances 22 et 23. Il faudrait galement tourner de 180 un de ces potentiomtres afin que le
rglage du courant admissible se fasse dans le mme sens pour les deux tages moteurs. (Par
exemple si on visse, on augmente le courant limite, si on dvisse, on diminue cette limite). Pour
plus de clart, on pourrait faire apparaitre dur le package la vis de rglage.
- Le changement du bornier d'alimentation gnrale 12V pourrait tre envisag. On pourra
choisir une solution clips, plus pratique pour le montage/dmontage.
- Pourquoi pas supprimer les interrupteurs "CTRL_x" car comme dit en page 13, il ne sont
pas utiles.

Page 39 / 53

3) c - Prototype de la station :
Voici une image prsentant les emplacements des diffrents composants/connecteurs. On
remarquera qu'un soin particulier a t apport la logique de placement de ceux-ci.

Switch UART/Prog 18F6520


Connecteur Joystick

Connecteur PK2 18F6520

Switch UART/Prog 18F4520


Switch UART/Prog 18F4520

Bouton Poussoir
d'Initialisation
Alimentation 5V
carte commande
Connecteur Boussole
LED Alimentation
carte Puissance

Port USB pour la


communication
"srie" avec PC

Connecteur
Capteurs Inductifs

Connecteur PK2 18F4520

Connecteur
Moteur Azimut

Potentiomtre rglage
Connecteur

courant limite

Moteur Profondeur
Alimentation Gnrale 12V

Switch Mode "Full/Half"

Figure 58 : Prototype de la station sol V2

3) d - Commande des composants :


La commande a t effectue sur le site de Farnell. Voici la liste de composants ncessaires
pour ces circuits :
1 x PIC 18F4520
1 x PIC 18F6520
1 x Ftdi FT232RL
1 x Xbee Pro
1 x 7805
2 x L297
2 x L298
1 x Porte ET Cms
2 x Quartz HS 12MHz
4 x Condensateurs Cms 15pF
12 x Condensateurs Cms 100nF
1 x Condensateur Plastique 100nF
2 x Condensateur Chimique 22F
2 x 470 uF
3.3nF

8 x LEDs Cms Vertes


4 x LEDs Cms Rouges
2 x LEDs Simple Vertes
12 x Rsistances Cms 220
3 x Rsistances Cms 10k
2 x Rsistances Cms 12k
1 x Rsistance Cms 1k
1 x Rsistance Cms 2.2k
2 x Rsistance Cms 22k
4 x Rsistance de Puissance 0.5
2 x Rsistances LEDS xxxxxxxxxx
2 x Potentiomtre 10k
5 x Diodes (chute de tension faible)
17 x Diodes (Roue Libre et Alim)

2 x Connecteurs SIL5 (pas 2.54mm)


1 x Connecteur SIL3 (pas 2.54mm)
3 x Connecteur SIL4 (pas 2.54mm)
1 x Connecteur SIL6 (pas 2.54mm)
2 x Connecteurs SIL2 (pas 2.54mm)
2 x Connecteurs DIL10 (pas 2.54mm)
2 x Connecteurs Femelle DIL10 (pas 2.54mm)
1 x Connecteur RJ11
1 x Bornier d'Alimentation Gnrale
3 x Barrettes scables SIL2 (pas 2.54mm)
2 x Barrettes scables SIL10 (pas 2.00mm)
1 x Port USB
2 x Petits Interrupteurs SPDT
2 x Interrupteurs SPDT
2 x Interrupteurs DPDT
1 x BP Cms

Page 40 / 53

3) e - Tests effectus sur la carte puissance :


Afin d'effectuer une premire vrification du fonctionnement de la carte puissance, un
signal Clock issu d'un GBF a t impos sur le connecteur DIL10 et une mesure des signaux de
sortie ont t effectus. Lors de ces tests, les moteurs ont bien fonctionn comme il le fallait. Voici
sur les figures 19 et 20, les tensions releves sur l'entre Clock de la puce L297 ainsi que sur les
bobines A, B, C, D du moteur

Figure 59 : Le signal Clock (1) et un signal de bobine (2)

Figure 60 : Les 4 signaux des bobines A(1), B(2), C(3), D(4)

Page 41 / 53

Page 42 / 53

V - Descriptif du programme :
Il y a deux programmes sur cette station sol car deux microcontrleurs. Le microcontrleur
responsable de la commande des moteurs est le 18F4520, tandis que celui qui fait l'aiguillage des
donnes est le 18F6520. Pour le moment, seul le programme des moteurs a t fait.

1) PIC motorisation :
Le but de ce code est de prendre en compte la position du drone (coordonnes GPS et
altitude) et aprs une phase d'initialisation (coordonnes de rfrence de la station sol), les moteurs
pas pas sont commands en nombre de pas effectuer pour s'incliner en direction du drone
sachant qu'un tour d'azimut vaut 488 pas et un tour profondeur vaut 246 pas.
1) a - Organigramme :
Voici un organigramme trs simplifi du code :
Dbut

Bouton Init

Initialisation station
(moteurs + coordonnes)

Acquisition coordonnes

Calculs de delta
coordonnes entre drone
et station
Calculs des nombres de
pas moteurs

Rotation des moteurs du


nombre de pas dsirs

Figure 61 : Organigramme du code

1) b - Fonctionnement du code :
Actuellement, la rception de la trame se fait sous interruptions : ds que l'on active le bit
d'activation des interruptions rception UART (RCSTAbits.CREN), les valeurs de longitude,
latitude et d'altitude du drone sont charges dans les variables correspondantes (longitude_GPS,
latitude_GPS et altitude_GPS ).
Une fois ces valeurs charges (ce qui se produit lorsque la fonction acquisition_GPS() est
appele), la position des deux moteurs tant connue (variables position_moteur_azimut et

Page 43 / 53

position_moteur_profondeur), le programme va calculer le nombre de pas effectuer pour chacun


des deux moteurs.
En premier lieu, le moteur azimut est command (tracking_azimut(1)) puis c'est au tour du
moteur de profondeur (tracking_profondeur(5)). Dans le code des fonctions de "tracking", une
horloge est cre. Cette horloge est ncessaire, et c'est elle qui va faire bouger le moteur d'un pas
l'autre chaque front montant. chaque cycle de cette horloge, les variables de position des
moteurs sont incrmentes (ou dcrmentes selon le sens de rotation).
Les tapes de suivi des deux moteurs sont actuellement squentielles : on charge la trame,
on calcule le nombre de pas on bouge les moteurs, puis on recommence. Le systme fonctionne
donc en saccad. Il serait beaucoup plus intressant de faire une lecture en continu de la trame,
ainsi les moteurs tourneront en continu, ce qui permettra de rendre le systme plus fluide. Cela dit,
les moteurs sont assez rapides pour arriver la position souhaite trs rapidement, et l'chelle du
dplacement du drone, les moteurs devraient fonctionner assez bien dans l'tat actuel des choses.
C'est d'ailleurs le cas actuel : lors du suivi, il n'y a pas de dcrochage d une vitesse trop grande
du drone.
NORD

angle_drone_azimut

1) c - Stratgie de calcul des pas moteurs :


Drone

latitude_GPS

Le calcul de l'angle du drone est donn


par la simple formule suivante (cf. la figure 35)

longitude_GPS - longitude_station

angle = arctan
latitude_GPS - latitude_station

latitude_station

Station sol
longitude_station

Une fois la valeur calcule, il faut


galement savoir dans quel cadran le drone se
trouve. En effet, la fonction arctan() est une
fonction de ] - ; + [ vers ] -/2 ; /2 [.
Sur la Figure 63, la valeur des angles
calcule est donne par valeur et la valeur de
l'angle relle est donne par angle. Au final, la
fonction utilise retourne un angle compris dans
l'intervalle ] - ; [ (sachant que l'azimut Nord
correspond l'angle 0 ).
Une fois cet angle obtenu, il reste
calculer le delta angle entre cet angle et celui o
se trouve le moteur. L'angle du moteur est donne
par la formule :

EST

longitude_GPS

Figure 62 : Schma pour le calcul de l'azimut

Cadran 3 :
x<0&y>0
angle = angle +

Cadran 1 :
x>0&y>0
angle = angle

Cadran 4 :
x<0&y<0
angle = angle -

Cadran 2 :
x>0&y<0
angle = angle

Figure 63 : Les cadrans de la fonction arctan()

angle_moteur_azimut = position_moteur_azimut .

2.pi
488

Concernant la soustraction, il faut s'assurer que la diffrence est belle et bien infrieure
puis savoir de quel signe est cette diffrence. Le signe sera donn par une variable spcifique
( sens_rotation_azimut )

Page 44 / 53

Pour ce qui est du calcul de l'angle de la profondeur, il faut prendre en compte la distance
de la projection au sol de la station sol et du drone (cf. la cotation "distance" sur la Figure 64).
L'angle de profondeur sera finalement donn par la formule :
altitude_G PS - altitude_s tation
angle = arctan

distance

NORD

ALTITUDE

ALTITUDE
Drone

Drone

altitude_GPS

angle_drone_profondeur

altitude_GPS
angle_drone_profondeur
altitude_station

altitude_station

EST
U
longitude_station

longitude_GPS
distance

Figure 64 : Schmas pour le calcul de la profondeur

1) d - Dtails du code :
Afin de permettre une plus grande rapidit de prise en main du code de la station lavenir,
voici des extraits dtaills du code (certains passages ont t supprims/modifis pour plus de
lisibilit) :
La fonction main :
void main(){
/* dclaration de variables

*/

/* ...... */

/* Initialisation du PIC (UArt, Interruptions, TRIS, etc */


while(INIT == 0 ) ;
initialisation_station() ;
while(1) {
acquisition_GPS() ;
if ((latitude_GPS!=0)&&(longitude_GPS!=0)) break ;
}
longitude_station = longitude_GPS ;
latitude_station = latitude_GPS ;
altitude_station = altitude_GPS ;

/* ...... */

Attente d'appui sur le bouton


pour initialiser la station
(moteurs et coordonnes GPS)

while(1) {
acquisition_GPS();
coord_x = (long) longitude_GPS - (long) longitude_station ;
coord_y = (long) latitude_GPS - (long) latitude_station ;
coord_z = altitude_GPS - altitude_station ;

Calcul du delta
position entre la
station et le drone
Calcul du nombre
de pas pour le
moteur azimut

angle_drone_azimut = angle_azimut_du_drone(coord_x,coord_y) ;
angle_moteur_azimut = position_moteur_azimut*2.0*pi/488.0 ;
if( fabs(angle_moteur_azimut-angle_drone_azimut) > pi ) {
delta_angle_azimut = 2*pi - fabs(angle_moteur_azimut-angle_drone_azimut) ;
if (angle_moteur_azimut-angle_drone_azimut>0) sens_rotation_azimut= SENS_HOR ;
else sens_rotation_azimut = SENS_TRIGO ;
}

Page 45 / 53

else {
delta_angle_azimut = fabs(angle_moteur_azimut-angle_drone_azimut) ;
if(angle_moteur_azimut-angle_drone_azimut>0) sens_rotation_azimut=SENS_TRIGO ;
else sens_rotation_azimut = SENS_HOR ;
}
nb_pas_azimut = (int) (0.5+(delta_angle_azimut*488.0/(2.0*pi))) ;
tracking_azimut(1) ;

Dplacement du moteur azimut

x = (int) (11.11949266*coord_x) ; // en mtres


y = (int) (11.11949266*coord_y) ; // 111194.92... = Rayon_Terre * 2pi / 360
angle_drone_profondeur = angle_profondeur_du_drone(x,y,coord_z) ;
angle_moteur_profondeur = position_moteur_profondeur*2.0*pi/246.0 ;
delta_angle_profondeur = fabs(angle_moteur_profondeur-angle_drone_profondeur) ;
if (angle_moteur_profondeur<angle_drone_profondeur ) sens_rotation_profondeur = SENS_HOR ;

else sens_rotation_profondeur = SENS_TRIGO ;


nb_pas_profondeur = (int) (0.5+(delta_angle_profondeur*246.0/(2.0*pi))) ;
tracking_profondeur(5) ;

Dplacement du moteur profondeur


Calcul du nombre
de pas pour le
moteur profondeur

}
}

La fonction de dplacement des moteurs :


Choix du sens de rotation du moteur
(la variable sens_rotation_azimut
est globale)

void tracking_azimut(int vitesse) {


int i = 0 ;
Azimut_SensRotation_297 = sens_rotation_azimut ;
Azimut_Enable_297 = 1 ;

Gnration d'un signal horloge pour le


dplacement des moteurs et incrmentation
de la variable de position du moteur.

for(i=0;i<nb_pas_azimut;i++) {
Azimut_Clock_297 = 0;
Delay10KTCYx(vitesse);
Azimut_Clock_297 = 1;
Delay10KTCYx(vitesse);
if (sens_rotation_azimut==SENS_HOR) position_moteur_azimut ++ ;
else if (sens_rotation_azimut==SENS_TRIGO) position_moteur_azimut -- ;
}
}

La gestion des interruptions :


void InterruptHandler(){
if ((PIR1bits.RCIF)&&(MAJ_Trame==1)) {

On dtecte @

if(RCREG=='@') compteur_octet = -1 ;
else if (RCREG=='#') {

ce stade l, on a dtect
conscutivement @ et #.
On pourra donc inscrire le
reste de la trame dans le
tableau trame[]

if (compteur_octet==-1) compteur_octet=0;
else compteur_octet=-2;
}

Si # n'a pas t dtect,


on attendra de recevoir nouveau @

else if ((compteur_octet>=0)&&(compteur_octet<18)){
trame[compteur_octet]=RCREG ;
compteur_octet++;
if(compteur_octet>=18) {
MAJ_Trame = 2 ;
compteur_octet = -2 ;
RCSTAbits.CREN = 0;
}
}

Ici, on rcupre la trame et


on la stocke dans le tableau
trame[].
Une fois que la trame est
compltement charge, on
dsactive les interruptions
sur USART

}
}

Page 46 / 53

L'acquisition des donnes GPS :


void acquisition_GPS() {
unsigned long degre ;
unsigned long minute ;
unsigned long datarecue ;
MAJ_Trame = 1 ;
RCSTAbits.CREN = 1;
while(MAJ_Trame != 2) ;

Ici, on active les interruptions sur USART, et on attend


ensuite que la trame soit charge compltement

datarecue = (((unsigned long)trame[0])<<24)


+ (((unsigned long)trame[1])<<16)
+ (((unsigned long)trame[2])<<8)
+ (((unsigned long)trame[3])) ;
degre = (datarecue/1000000)*1000000 ;
longitude_GPS = (degre + ((datarecue - degre)/60)*100)/100 ;
datarecue = (((unsigned long)trame[4])<<24)
+ (((unsigned long)trame[5])<<16)
+ (((unsigned long)trame[6])<<8)
+ (((unsigned long)trame[7])) ;
degre = (datarecue/1000000)*1000000 ;
latitude_GPS = (degre + ((datarecue - degre)/60)*100)/100 ;
altitude_GPS = (trame[12]<<8)+trame[13] ;

Ici, on traite les donnes


de longitude/latitude pour
la mettre en forme sous un
nombre en degrs pur :
Ex: la trame reue est sous
la forme ddmmmm
(d:degr,m:minute),
et on la met sous forme
dddddd (x10-4).

L'altitude est dj sous la


bonne forme.

MAJ_Trame = 0 ;
}

La conversion des delta position drone-station en angle (seul le code de l'azimut apparat ici) :
float angle_azimut_du_drone(long coordonnee_x,long coordonnee_y) {
float angle = 0 ;
if(coordonnee_y==0) {
if(coordonnee_x==0) {}
else if(coordonnee_x>0) angle = pi/2.0 ;
else if(coordonnee_x<0) angle = -pi/2.0 ;
}
else {
if(coordonnee_x==0) {
if(coordonnee_y>0) angle = 0 ;
else angle = pi ;
}
else {
angle = atan(((float)coordonnee_x)/((float)coordonnee_y)) ;
if(coordonnee_y<0){
if (coordonnee_x<0) angle = angle - pi ;
else angle = angle + pi ;
}
}
}
return angle ;

On calcule la valeur de
l'angle de ]-pi;+pi],
tout en prenant en
compte les diffrents
cadrans de la fonction
arctan()

Page 47 / 53

2) PIC changeur :
Voici un rappel du rle de ce PIC. Tout d'abord, il rceptionne en continu la trame GPS. Il
va ensuite rcuprer par UART une trame PID depuis le PC (via un port USB). Il rcupre
galement les consignes Joystick. Il envoie ensuite une trame unique contenant les PIDs ainsi que
les consignes Joystick par Xbee au drone.
Par ailleurs, il fait la rception de la trame GPS pour pouvoir afficher (selon les consignes
du PC) des informations sur la lunette 3D.
Figure 65 : Diagramme PIC changeur
Xbee
Rx1

Lunette 3D

Incrustation
Vido

PC USB
Tx2

Rx2

Microcontrleur
d'aiguillage des

Tx1

Joystick
CCP

Figure 66 : Aiguillage des donnes


Xbee
trame GPS

trame PID

PIC 18F6520
PID + consignes

Lunette 3D

Incrustation
Vido

affichage
des
donnes
voulues

consignes

Joystick

affichage

PC USB
PID + affichage

Ides pour le code :


Le code de ce PIC a t commenc partiellement par Emmanuel Roussel (GE4), des ides
pour la personne qui s'en occupera sont galement donnes titre indicatif dans la suite. Elles ne
sont peut tre pas ralisables mais a permettra de reflter ce qui a t pens lors de la ralisation
de la carte :
Pour le choix de l'affichage des donnes, au dbut (une fois la station sol dmarre), une
trame PID issue du PC pourra par exemple envoyer un code bien prcis indiquant si oui ou non
telle information devra tre affiche.
Suite cela, le PC n'aura plus besoin d'envoyer ce qu'il faut afficher. En interne, le PIC filtrera les
donnes issue du Xbee afficher sur la surimpression.
On pourrait galement concatner la consigne Joystick avec les corrections USB, ou bien
crer deux trames diffrentes envoyes tour tour. (Tout dpend de ce qui est prfrable pour la
carte mre embarque).

Page 48 / 53

VI - Mode d'emploi de la station sol V2 :


L'alimentation de la carte se fait par une batterie 12V qui peut fournir suffisamment de
courant (des tests sur des alimentations stabilises de labo n'ont pas t concluant puisque les
moteurs consommaient beaucoup trop pour celles-ci).
Brancher le Xbee et vrifier la configuration du Xbee;
Au dbut, seule la LED 1 s'allumera.
Appuyer sur le bouton INIT.
Une fois que le drone est dmarr et que la carte capteur du drone envoie la trame GPS
correctement, la LED 2 s'allumera.
Commence alors la routine de tracking. La LED 3 clignotera chaque actualisation.
Configurer le Xbee :
Lorsque le Xbee est branch, et que l'interrupteur plac ct est cal sur la position
"Xbee", on peut brancher un cble USB sur le connecteur USB de la carte (c'est le mme cble que
ceux des PICKit2). Lors de la premire installation, l'ordinateur dtectera un composant
"FT232RL". Il faudra installer son driver. Il faut ensuite lancer le logiciel X-Ctu.
Figure 67 : Configuration des Xbee

Sur la Figure 67, plusieurs Impressions cran ont t prises avec les paramtres
configurer pour les Xbee :
- Vrifier la communication Modem avec "Test/Query"
- Vrifier dans la bonne communication du Xbee en tapant "+++" sans rien d'autre (ne pas
appuyer sur "Entre" non plus). Un message "OK" devrait apparaitre ct de +++.
- Si cette communication ne fonctionne pas, modifier les paramtres du Xbee : Channel C,
ID (3332), DH (0), DL (0), ainsi que le Baudrate (9600).
Le Xbee est maintenant oprationnel.
Page 49 / 53

Page 50 / 53

VII - Evolutions futures :


La carte station sol V2 n'a pas pu tre valide. Il faudrait donc pouvoir vrifier son bon
fonctionnement. Avant de continuer modifier la carte et le code, il serait trs intressant de
pouvoir valider celle-ci entirement. En effet, bien que certains tests aient t concluants, il
faudrait poursuivre cette srie de test :
Tester toutes les communications :
Xbee PIC moteur = Normalement Valide
Xbee PIC aiguilleur = Fonctionnait un moment (avant modifications Figure 13 et 14)
Xbee PC USB (switch sur Xbee) = Valide
PIC Aiguilleur PC USB (switch sur Rx2) = Non Teste
PC USB PIC Aiguilleur = Fonctionnait avant modifications
Aiguilleur Incrustation Vido = Non Teste
Une fois toutes les communications vrifies, il faudra peut tre songer reposer une diode
faible chute de tension (cf. I-2)2-b ) et vrifier si les communications fonctionnent toujours.
Concernant le code en lui-mme, celui-ci n'a jamais t test entirement sur la V2 car
nayant plus de disponibilits de la trame GPS. Sur la carte V1, celui-ci a fonctionn assez bien.
Par la suite, sur la V2, un code a t fait pour faire tourner les moteurs et ce bout de code a t
valid. Si la rception de trame GPS fonctionne (communication Xbee PIC Moteur), il ny a
pas de raisons pour que ce code ne fonctionne pas.
Pour ce qui est de la carte puissance, celle-ci a t valide. En imposant des signaux Clock
(GBF), Enable, Sens, sur le connecteur DIL10, les moteurs ont tourn comme il fallait (cf. les
Figures 59 et 60 des mesures effectues). Cette carte est donc valide. Des radiateurs non
dimensionns ont t poss sur les hacheurs et le rgulateur 5V (cf. Figure 68). Il faudra
certainement en dimensionner pour les futures versions.

Figure 68 : Radiateurs poss

Page 51 / 53

Concernant dautres volutions possibles, il serait intressant dinterfacer la boussole et


ainsi dviter une phase dinitialisation de la station (ce nest cependant pas vraiment une
urgence). Il serait bien de stocker galement les coordonnes GPS de la station sol dans leeeprom
de faons pouvoir rebooter la carte si celle-ci est perturbe. Au redmarrage, mme si le drone
est encore en vol, la station sol pourra sinitialiser sur cette valeur stocke.
Lorsque la carte commande sera valide (en particulier les communications), un tirage
professionnel de la carte pourra tre envisag.
En attendant que les quelques modifications et tests soient effectus sur cette carte, je me
tiens disposition de tout lve voulant faire voluer la station sol.

Page 52 / 53

Conclusion
J'ai effectu mon stage sur le projet drone de l'INSA. Mon rle dans ce projet tait de
dvelopper une station sol permettant un suivi radar du drone grce la diffrence entre les
coordonnes GPS de la station et celle du drone. Malgr des recherches actives de stage dans des
entreprises, la majorit des entreprises avanait souvent que la crise rendait difficile toute
proposition de stage. Le stage effectu l'INSA a tout de mme tait trs intressant. Je pense
mme qu'il aurait t trs difficile de trouver un stage technicien de cette qualit en entreprise.
Cependant, je n'ai pas pu dvelopper ma culture d'entreprise, ou de manire gnrale l'aspect
organisationnel d'une entreprise.
Le travail que j'ai effectu correspondait la mise en application d'un grand nombre de
connaissances thoriques inculques par ma formation. Concrtement, j'ai pu travaill la fois sur
du software (dveloppement de programmes) et sur du hardware (ralisation de cartes
lectroniques, tests de circuit lectronique). Je regrette cependant d'avoir pass trop de temps sur
des aspects programmation. En effet, je n'ai donc pas pu m'attarder de manire efficace sur le reste
de mon activit et ceci a t trs embtant car la carte lectronique n'a pas pu tre valide
entirement. J'avais donc initialement mal prvu mon diagramme de Gantt.
Concernant l'aspect projet, j'ai trouv la faon de travailler trs agrable. Tout d'abord,
l'ambiance au sein de l'quipe de travail tait particulirement amicale. Il tait possible de se
rattacher ou demander conseil quelqu'un d'autre. Pendant les deux mois du stage, le travail a t
intensif, avec assez rgulirement des heures de travail en plus. L'aspect essais sur le terrain m'a
galement montr l'importance d'avoir des priodes de tests pour valider un maximum de points.
Durant ce stage, j'ai galement dcouvert le monde de l'aromodlisme. Travailler sur un
projet aussi innovant a aussi t trs enrichissant. En effet, ce stage m'a donn une vision bien plus
prcise de ce monde et en particulier des problmes auxquels peuvent tre confronts les crateurs
de tels engins. J'ai par ailleurs eu l'occasion de ctoyer le milieu des drones au plus prs lors de la
confrence sur les UAV (EMAV 2009) qui s'est tenue Delft.

Remerciements:
Je souhaiterai remercier tout particulirement Mr Renaud Kiefer qui a rendu ce stage possible,
mais galement mes camarades de projet qui ont contribu une trs bonne ambiance au sein de
l'quipe de projet

Page 53 / 53