Théorie
Que
fait cette interface ? Elle analyse le signal provenant de la
radio (via la prise écolage) et le traduit en informations compréhensibles
par le PC, le tout étant transmis par le port USB. L'émetteur
radio est alors vu comme un joystick 8 axes proportionnels et 8 boutons.
Le
signal provenant de la radio est un signal dit 'ppm'. C'est celui
que l'on retrouve sur le port écolage de votre radio. Vous
trouverez en page Prise
écolage les détails sur les port écolage les
plus répandus. Si il vous reste des doutes, ou si votre radio
n'est pas équipée de prise écolage, je vous invite à jeter un
oeil sur l'excellent site http://users.belgacom.net/TX2TX.
Ce
signal ppm est une suite de pulses de durée de 1 et 2 ms,
chaque pulse déterminant la position du servo de la voie
correspondante. Un durée de 1 ms correspond au débattement
maxi dans un sens, 2 ms au débattement maxi dans l'autre sens.
Il y a autant de
pulses que de voies.
A
ces pulses, on en rajoute un autre dit de synchronisation, plus
long. L'ensembles de tous ces pulses fait autour de 20 ms
(variable suivant les émetteurs).
Le
schéma ci-dessous représente l'aspect du signal ppm.
L'analyse
de ces signaux est effectuée par un microcontrôleur PIC de
chez Microchip du type 18F2455 Celui-ci analyse donc les signaux
en provenance de la radio après mise en forme par un
transistor, mesure la durée de chaque pulse et retransmet le
tout au PC via le port USB. A noter que l'interface fonctionne
aussi bien avec des pulses positifs que négatifs.
Chaque
voie est codée sur 16 bits, avec près de 15000 positions
possibles: les commandes sont souples et sans aucun à-coup.
A
noter que dans le cas spécifique de l'émetteur Walkera 4 voies
(Dragonfly 4), il ne s'agit pas d'un signal ppm, mais d'un
signal codé numérique spécifique, non détaillé ici.
Le
18F2455 possède la particularité de posséder un module de
dialogue USB intégré. Il dispose de plus de mémoire EEprom,
ce qui lui permet de mémoriser les réglages effectués
(attribution des voies, inversion, ...). Le microcontrôleur est
cadencé par un quartz à 20 MHz, mais fonctionne en interne à
48 MHz.
Le
schéma électronique de l'ensemble est donné ci-dessous:
La
transmission des informations via le port USB est relativement
complexe, beaucoup plus que pour le port série par exemple. Il
faut en effet que l'interface se 'présente' au PC, en précisant
ce qu'elle est sensée faire (émuler un joystick dans le cas présent),
la quantité d'information qu'elle doit envoyer, dans quel ordre,
à quelle fréquence, etc... Je ne détaillerai pas ici cette
partie logicielle.