Bonjour,
La dernière fois, j’ai réalisé un câblage propre pour prendre la main sur le boitier de commande, et un circuit tout pourri pour en vérifier le fonctionnement. C’est normal. On vas y aller par étapes …
Faire des essais en suivant le fauteuil n’est franchement pas pratique, avant de finaliser la “fabrication” des signaux, je dois prendre le contrôle à distance.
Pour cela, j’ai choisi une flysky FS-i6. Elle n’est pas chère, et je pourrais l’utiliser lorsque je me ferais un hexacopter brushless.
Je l’ai acheté un peu moins de 40€ chez banggood (lien) avec un récepteur FS-iA6B. La référence du récepteur est importante.
Ce même récepteur est vendu seul 8€ environ et la télécommande peut en mémoriser 20. Ce qui permet facilement de piloter le future hexacopter sans reprogrammer sans cesse la télécommande.
A noter que je n’y connais pas grand chose en radio, juste le fonctionnement basic des servos, je peux donc être imprécis sur certains points.
Pourquoi ce choix ? Grâce à cet article : lien ou il explique que ce récepteur fournis des signaux CPPM. Cela signifie donc qu’il peut être raccordé à un arduino via 1 seul fil pour transmettre toutes les commandes.
Finalement, et c’est la que la référence du récepteur est importante, il est encore mieux que prévu : il fournit aussi des signaux iBus, une communication sur le port série à 115200 bauds avec un protocole connu.
iBus, c’est bien, surtout qu’en cherchant un peu, on trouve le code de quelqu’un qui a déjà fait tout le boulot : C’est ici
Pour mémoire, j’ai gardé une copie du code source ici
Et pourquoi iBus, c’est mieux que CPPM ? Et, c’est quoi CPPM ?
En RC, pour gérer un servomoteur on envoi une impulsion d’une durée comprise entre 1 et 2ms, la durée de cette impulsion correspond à la position désirée du servo entre son min (1ms) et son max (2ms). Sur un récepteur 6 voies, il y a donc 6 connecteurs pour 6 servos différents.
Sur un multirotor, on a pas de servomoteur, mais un contrôleur de vol qui gère la stabilité (oui, pour ceux qui connaissent, je prend des raccourcies). Pour éviter d’avoir a relier les 4 voies des commandes au contrôleur de vol, il existe le CPPM : les impulsions de chaque voies passent les une après les autres sur le même file. Et hop, 1 seul câble entre le récepteur et le contrôleur de vol.
C’est cool, mais il y a peut être mieux à faire… le récepteur reçoit une info numérique (les récepteurs actuels en 2.4GHz, pas les anciennes générations) puis doit créer une impulsion, et le récepteur doit compter le temps qui passe, avec sa propre précision pour transformer cela en valeur numérique… autant tout passer en numérique, ainsi la valeur 1240 reçut par le récepteur, reste 1240 dans le contrôleur de vol, et pas 1238 ou 1243 (par exemple).
Et voilà, donc le iBus, c’est toutes ces valeurs transmises sur 2 octets en série, avec un en-tête spécifique et un code de validation à la fin pour être certain de la qualité des données.
Moi, je n’ai pas un contrôleur de vol, mais un arduino : c’est pareil.
Pour la connexion, j’ai choisi d’utiliser le port série N°1 de l’arduino, et ainsi garder le N°0 libre pour les communication avec le PC (via l’usb, mais c’est un port série quand même)..
Ce qui donne :
On peut difficilement faire plus simple …
Pour le code, je reprend la partie qui m’intéresse dans celui publié par povlhp et je remplace la partie télécommande filaire.
Le nouveau programme est donc : celui-ci
Une fois de plus, c’est juste un code de test/travail, il permet de vérifier la logique du système mais est loin d’être parfait.
Je reçoit donc bien les infos des 6 voies : les 4 voies joystick et 2 interrupteurs ou potentiomètre au choix.
ici, j’utilise le levier 3 position (interrupteur C) pour choisir un mode (1, 2 ou 3). Pour cela, j’ai paramétré la télécommande pour que cet interrupteur soit assigné à la voie 5.
Et le résultat :
Dans les prochains articles nous parlerons d’une bien meilleur façon de commander le fauteuil et d’une amélioration notable du fonctionnement avec cette radiocommande.
Bonne journée,
Jilks
PS : j’ai essayé d’être plus précis que la dernière fois, si c’est cool ou si c’est chiant, dites le moi.
Salut!
Non, c’est sympa et je suis tout ça avec intérêt.
Mais c’est vrai qu’on est pas dans le bricolage simple et accessible à tous où il s’agit de couper quelques planches, utiliser quelques clous et un peu de colle.
Ce sujet est quand même réservé à des personnes averties.
C’est à la fois un peu déjanté et intelligent.
Moi j’aime! 😀
C’est mieux d’etre précis, ceux qui ne sont pas intéressé feront défilé la page plus vite pour aller voir le résultat directement…