HEAD MOUNT TRACKER
En français : « caméra orientable
suivant les mouvements de la tête »
Création le
3 Novembre 2006
Dernière
mise à jour le 24 Novembre 20007
En progressant dans le
projet du drone, le
pilote Ludo, qui en demande toujours plus, souhaitait avoir la possibilité de
faire bouger la caméra à bord du modèle réduit sur 2 axes (haut/bas et droite
gauche). Nous avions vu des vidéos sur le net avec ce genre d’interface
et cela à l’air plus simple à piloter en immersion.
Pour cela il est
nécessaire de capter les mouvements de la tête avec 2 gyroscopes (il
n’est pas possible d’utiliser un accélérateur sur l’axe
droite / gauche, ou difficilement). En parcourant le net je suis tombé sur un
nouveau chipset l’IDG300
de chez InvenSense. Ce circuit inclus 2 gyroscopes.
De plus il existe un module tout prêt le « break out module », ce
qui facilite la construction. Lextronic
ayant en stock ce module j’ai décidé de partir dans l’aventure.
Le module doit être
petit, autoalimenté par l’émetteur si possible, avec une possibilité de
recentrer la caméra en cas de dérive des gyroscopes. Le principe est simple, il
faut extraire et analyser la trame PPM de l’émetteur et modifier les voies 6 et 7 afin
quelles reflètent la position de la caméra, les autres voies ne devant pas être
changées car utilisées pour piloter l’aéronef. Sur la plupart des
émetteurs du commerce une prise d’écolage est disponible et donc va être
utilisée pour faire ce changement dans la trame PPM. Une fois la trame PPM modifiée, elle est ré injectée dans l'émetteur toujours par la prise d'écolage. Une inversion de sens de
débattement des servos est également prévue pour faire face à toute
possibilité. Il est également possible de connecter les servos en direct sur ce
module pour d’autres applications éventuelles (en fait pour le
développement cela permet de se passer de l’émetteur et du récepteur). Un
PIC 18LF252 trainant sur le bureau a été réquisitionné pour faire ce module.
Détails de la carte prototype avec le module IDG-300 sur le coté:
Ci dessous le même module mais finalisé
Fonctionnement détaillé :
Le PIC lit les valeurs
analogiques des gyroscopes sur ces entrées AN0 AN1 (configuré avec une
référence de 0V à VCC du PIC). D’autre part le PIC analyse le signal PPM
venant de l’émetteur après mise en forme par un transistor sur son entrée RC1. Le PIC
regénère le signal PPM sur la patte RC0 en modifiant les voies 6 et 7 sans toucher aux autres
voies. 2 straps sont prévus pour faire une inversion de sens des servos sur les pattes RC4 pour le pitch ( haut/bas) et RC5 pour le yaw ( droite/gauche). Le PIC génère également 2 sorties directement connectable sur
des servos pour des applications « locales » au cas où. la patte RC2 génere le signal pour le servo yaw ( droite/gauche) et la patte RC3 génera le signal pour le servo du pitch (haut/bas). Un bouton poussoir
est prévu sur l'entréeRB6 du PIC pour remettre la caméra en position
neutre. Le montage alimente le module IDG 300 par un LPZ2950CV3.3 pour fournir le 3.3v, le PIC lui pour ca part est directement alimenté sur l'entrée de l'alimentaion : ATTENTION L'alimentation du module doit être de 4.5 volts à 5 volts maximum. En général les prises écolage des émetteurs sortent
5 Volts et on peut se prendre directement dessus (Voir plus loin). La mise en
forme et à niveau du signal PPM en entrée est gérée par un classique MMBT2222ALT (ou 2N2222 pour la version non CMS),
la sortie PPM vers l’émetteur sort directement de la patte RC0 du PIC ( et donc en 5 volts). Pour information,
j’utilise un émetteur SUPERTEF96 de Mr Francis Thobois, et ce module
respecte également le codage PPCM de celui-ci afin de permettre l’évasion
de fréquence si nécessaire. La durée de la trame est également respectée pour
toujours avoir la voie numéro 8 sur ces émetteurs. Par contre sur un émetteur
SUPERTEF96 il n’existe pas de prise écolage et il a fallu en créer une
(couper la piste entre la résistance R14 de 220Kohm et la patte PA6 du microcontroleur sur le module codeur du Supertef96. Le potentiel PA6 du microcontrôleur sort le signal PPM sur la prise d'écolage et la patte "devenue libre" de R14 devient l'entrée de la modulation PPM avant mise en forme par l’ampli-op A4/b).
Bon, Passons aux choses sérieuses :
Vos trouverez
ci-dessous schéma de ce petit module à fixer sur le front (bien vertical,
sinon interférences entre les sorties droite/gauche et haut/bas)
La liste des composants est assez simple :
1 PIC 18LF252 U1 ( ou 18F252)
1 LPZ2950CV3.3 ou autre régulateur 3.3Volts
1 module break-out
IDG300
4 Condensateurs de 100nF C4, C5, C6, C7
Logiciel à mettre dans
le PIC est disponible ici. pour les voies 6 et 7 ( version du 24 Décembre 2007) (Ne me demandez pas les sources de ce code je ne les
diffuse pas, par contre je suis ouvert à vos propositions de modifications)
Précision concernant le logiciel :
Normalement j’ai
prévu de supporter une modulation dite positive et négative mais je n’ai
pu tester que la modulation positive sur mon émetteur SUPERTEF96 (le long
silence de +-8mS est à 5 volts et non pas à zéro). Le nombre de voies transmis par
l’émetteur doit être de 7 ou 8 voies, mais j’ai testé uniquement 7
voies transmises. Donc il se peut qu’il y ait une ou des erreurs dans
le logiciel mais je n’ai pas d’autres émetteurs
pour faire les tests. Si problème faite le moi savoir afin de tenter de
corriger cet éventuel bug.
Interface avec les émetteurs du commerce :
Une page expliquant les
différents modèles d’émetteur est très bien faite par Silicium31. Vous trouverez cette page à
cette adresse. Pour ce module nous avons besoin des signaux : masse,
alim +5volts, PPM in et PPM out. Bien vérifier la tension d’alimentation
fournie par le module émetteur. Elle DOIT être de 5 volts maximum sinon il faut
interfacer un régulateur genre 78L05. Idem pour la trâme PPM elle doit être de
5 volts au maximum. Si votre prise écolage ne dispose pas de l’alim alors
il faudra utiliser une pile ou accu séparé (cas des prises jack comme les
émetteurs Graupner). ATTENTION si vous utilisez un accu séparé ne pas oublier de
le charger sinon l’émetteur ne recevra pas la trâme PPM du module et donc
ne l’enverra pas au modèle, rappelez vous que TOUTE la trame PPM est
transmise, y compris la position des manches servant à piloter le modèle !
Laissez un commentaire sur le livre d'or