Interface PC / Radiocommande

Introduction

L'un de mes vieux rêves était d'avoir un logiciel de simulation d'hélicoptère utilisant ma radio-commande Futaba. Il en existe dans le commerce, mais il faut avoir une prise spéciale (prise écolage) pour pouvoir les utiliser. Or ma radio-commande n'en n'a pas. Par conséquent je me suis fait un circuit qui analyse les signaux en sortie du récepteur radio et qui les envoie vers un PC sur la liaison série. Je peux donc maintenant utiliser ma radio et le simulateur que je me suis fait.

Montage électronique

Le montage est assez simple. J'utilisé ma carte 68hc11 à tout faire (voir sur ma page électronique, le montage à base de 68hc11 et celui sur le max232 qui permet de le connecter au port série du PC) et j'ai directement relié les pins de data (fil blanc ou jaune des connecteurs classiques pour récepteur radio) sur l'un des ports d'entrée du 68hc11.

Schéma de la carte d'interface :

Photo d'ensemble : Ensemble

Soft embarqué

Le programme du 68hc11 n'est pas très compliqué. Il se décompose en deux phases.
  1. La première consiste à analyser les signaux émis par le récepteur radio
  2. La deuxième à envoyer le résultat des mesures sur la liaison série, si le PC le demande
Comme on le voit sur la figure ci-dessus, les signaux émis par le récepteur et qui sont censés controler des servo moteurs, sont carrés. Le signal reste à l'état haut pendant une à 2 ms, la durée indiquant la consigne exacte envoyée au servo moteur. puis le signal reste à l'état bas pendant environ 20ms. Le passage à l'état haut des différents signaux émis par le récepteur se fait de manière séquentielle. Par conséquent, il est très facile de mesurer la durée de l'état haut de chacun des signaux.
Une fois que l'on a les quatres signaux (ou plus si vous le souhaitez), il reste plus de 10ms pour les envoyer sur la liaison série, ce qui est largement suffisant.

Voici donc le programme assembleur que j'ai utilisé : radiocommand.asc
Je mesure la durée de l'état haut avec une boucle et en incrémenant le registre 16 bits "Y" du 68hc11. Malgrè les 16 bits du compteur, je n'ai qu'environ 200 pas mesurant la consigne mais c'est plus que suffisant pour le simulateur...
Attention : L'ordre d'émission des signaux par le récepteur radio ne correspond pas forcément au numéro des voies. Par conséquent, si vous utilisez mon programme tel quel, il faudra que vous verifiez l'ordre dans lequel on mesure chaque signal et l'ordre effectif d'emmision des signaux. Si vous n'y prenez pas garde, vous aller manquer de nombreuses mesures et ralentir fortement la mesure du signal.

Soft pour PC

Au niveau du PC, il faut communiquer avec la carte par le port série. Mon protocole de communication est simple : le PC envoie un octect différent de 0xFF (255), et la carte lui renvoie 4 fois 2 octets, correspondant aux mesures des quatres voix la radio-commande.
Ensuite, il suffit d'étalloner les signaux : en placant les manettes aux extrèmes on obtient les minima et maxima des signaux, puis il ne reste qu'à faire une règle de trois.

Download

La partie assembler et les cartes electroniques au format Wyntypon : radio_68hc11.zip (97Ko)