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. Le principe est "simple" il faut modifier 2 voies de l'émetteur afin que la position des servos connectés sur ces voies sur le récepteur suivent la postion de la tête.

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. Et voici le résultat sur cette petite vidéo.

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 U2

1 Transistor MMBT2222ALT ( ou 2N2222A pour la version non CMS) T1

1 module break-out IDG300

1 Quartz 10.000Mhz Q1

1 diode BAS32L ( ou 1N4148 pour la version non CMS) D1

1 Résistance de 1Kohm R4

6 Résistances de 10Kohm R1, R2, R3, R5, R6

1 Bouton poussoir S1

2 Condensateurs de 22pF C1, C2

1 Condensateur de 10µF/ 16Volts C3

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). Désolé je n'ai pas fait de circuit imprimé ! A la demande d'un internaute j'ai fait uen version pour les canaux 5 et 8, elle se trouve ici ( a priori bug sur le canal 8, dite moi si cela marche pour vous ou pas, j'ai que un émetteur 7 voies) et une version pour les voies 5 et 6 qui se trouve ici.. Puis enfin une version pour les canaux 5 et 7 et une version 4 et 5. Ces versions ont été testées avec des radiocommande Futaba ainsi que Hitech ( Elipse). Elles incluent toutes les dernieres modification qui, à l'origine comportait des bugs ( limites débattement servos augmentées pour Futaba, augmentation de la limite de la période PPM pour Hitech et inversion de sens de signal PPM en sortie automatique).

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. Par souci de sécurité le wachdog est actif. En effet si le module se "plante" alors il n'y a plus de trame PPM transmise à l'émetteur, et donc le modèle devient incontrôlable

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 !

Précision concernant l'alimentation du module (16 décembre 2006) : Certaine fois le module se plantait lorsqu'il il était alimenté par l'émetteur. Ce problème a été résolu en ajoutant C8 de 47 µF sur l'entrée de l'alimentation du module (5 volts). Le schéma a été mis a jour comme vous pouvez le voir sur cette page.

Laissez un commentaire sur le livre d'or

RETOUR