Encodeurs Extra plats de Fab et Arduino+Link2Fs: ça marche!

Tout sur les cartes et la programmation des modules ARDUINO

Encodeurs Extra plats de Fab et Arduino+Link2Fs: ça marche!

Messagede JacquesZ » Jeu 18 Jan 2018 01:47

Bonjour à tous.

Suite aux premiers test effectués ce soir avec une version spécifique de l'encodeur extra plat proposée par notre excellent ami Fab (Fabien Dehegeer) ici: http://fabien.deheegher.free.fr/FD/cat/encodeur/index.htm, avec une Arduino MEGA et Link2FS et sa routine qui gère l'accélération des encodeurs, j'ai le plaisir de vous annoncer que ça fonctionne!

L'objet du test était de vérifier si le circuit PIC spécialement développé par Fab pour convertir ses encodeurs au format CTS288 seul accepté par les cartes OpenCockpit/FDBus était nécessaire pour l'interfaçage avec une Arduino.

Fab m'a donc envoyé deux encodeurs pour test, un avec le PIC soudé sur la platine, l'autre avec la platine seule sans PIC et des straps pour connecter directement aux pins de la carte. Le tout accompagné d'un schéma de câblage montrant les deux configurations (on va dire une config "spéciale carte OpenCockpit/FDBus", avec le PIC intégré, l'autre standard sans PIC). Et l'ensemble parfaitement emballé bravo!

Un mot tout d'abord:
La solution de l'encodeur extra plat soudé sur sa platine d'accueil et le Bezel imprimé en 3D associé est vraiment pratique pour intégrer facilement des encodeurs ultraplats devant des écrans pour les instruments, surtout comparé à l'encombrement d'un encodeur CTS288 standard, sans compter le gain en épaisseur plus que conséquent. Il n'y a qu'à souder le cable en nappe et à raccorder, dans mon cas à une Arduino MEGA. Et si on ajoute à cela les boutons imprimés en 3D et leur légende en couleur, c'est top.

Connection:
Les broches A et B de l'encodeur doivent être branchées sur deux broches Digitales distinctes de l'Arduino, et la broche Commun de l'encodeur est raccordée à l'une des broches GND de la MEGA.

Software:
Le programme utilisé pour les tests est Link2FS http://www.jimspage.co.nz/link2fs_experts.htm, qui bien qu'ancien (2014) et plus développé hélas, permet de raccorder pas mal d'éléments hardware via des Arduinos (MEGA/UNO) à FSX/P3D, gère les Variables et Events Simconnect et dans le mode "expert", les variables et offsets FSUIPC.
A l'exception notable qu'il ne fonctionne pas avec P3Dv4.

Link2FS propose une librairie spécifique pour gérer les encodeurs avec accélération, que j'utilisais déjà pour raccorder des encodeurs CTS288 standard.
Un poil de plongée dans le code Lua de l'Arduino pour vérifier que les broches sont correctement déclarées, un téléversement dans la carte, et j'ai lancé le programme Link2FS pour vérfier ce qu'il recevait.

Par défaut mon code Lua sur l'Arduino envoie des ordres HDG BUG DEC/INC à FSX via Link2FS, avec gestion de l'accélération si on tourne rapidement le bouton, le délai de transition lent/rapide étant géré par une variable en début de code.

Eh bien cela fonctionne parfaitement, chaque sens est parfaitement décodé par la librairie encodeur Arduino et les codes incrément/décrément sont correctement envoyés et sans "faux rebonds". La seule différence avec mon code original a été de réduire fortement le seuil du délai de transition lent/rapide par rapport au code d'origine prévu pour un CTS288, délai passé de 50ms à 10ms seulement, sinon tout mouvement était détecté comme rapide et envoyait de ce fait une rafale d'ordres HDG bug INC/DEC à chaque mouvement de l'encodeur même d'un cran seulement.

Le test final avec FSX s'est révélé concluant, l'encodeur fait bien tourner le Heading bug plus ou moins vite selon la vitesse de rotation de l'encodeur, et on fait faire au bug un tour complet du cadran en à peine 6 mouvements de rotation "rapides" de l'encodeur, alors qu' en vitesse "lente", le cap peut être affiché au degré près.

Parmi mes critères personnels la gestion de l'accélération était mon critère principal qui m'avait fait retenir la solution Arduino et Link2fs pour avoir un fonctionnement réaliste du Heading bug et du Course Bug en priorité, c.a.d.pour pouvoir afficher des caps sans passer deux heures à tourner l'encodeur nondoightblanc .

En résumé, pour fonctionner avec une Arduino et link2FS, pas besoin de PIC d'adaptation pour l'encodeur, le proto est donc validé, Fab, je vais pouvoir te commander les autres encodeurs!

Et accessoirement poursuivre la réalisation de mon panel, ce qui compte tenu de mes deux mains gauches est une autre paire de manche... murrouge. Prochaine étape, un test avec Air Manager et sa version 3.0 qui travaille également avec des Arduinos

Pour ceux intéressés, je peux transmettre le code Arduino à téléverser pour utiliser les encodeurs avec Link2FS.


Jacques
Ma chaîne YouTube Tutos sur l’A320 par un Pilote de Ligne: https://youtube.com/channel/UCljftuoKBcgeR-WBgYJpuoA
Avatar de l’utilisateur
JacquesZ
 
Messages: 2848
Inscription: 24/11/10

Re: Encodeurs Extra plats de Fab et Arduino+Link2Fs: ça marc

Messagede fab » Jeu 18 Jan 2018 08:37

Merci pour ce rapport de test complet !
Avatar de l’utilisateur
fab
 
Messages: 4414
Inscription: 26/12/12
Localisation: Roubaix

Re: Encodeurs Extra plats de Fab et Arduino+Link2Fs: ça marc

Messagede PapaLima » Jeu 18 Jan 2018 16:18

C'est une très bonne nouvelle Jacques !!

J'ai reçu les encodeurs plats de Fab mais pour les connecter à une IO32 c'est vraiment plat comme il faut, je confirme.

J'allais te poser la question "mais quid du remplacement de la couche Link2fs par AirManager 3 car il supporte Arduino de facto" mais tu va nous faire le test et c'est parfait !!! Tu vas me faire gagner du temps! merci affiche

J'attends le résultat de ton test encodeur/Arduino/AM3 pour me permettre de confirmer un éventuel montage du GPS en kit chouettedoights
Avatar de l’utilisateur
PapaLima
 
Messages: 814
Inscription: 14/04/16
Localisation: LFPG

Re: Encodeurs Extra plats de Fab et Arduino+Link2Fs: ça marc

Messagede JacquesZ » Jeu 18 Jan 2018 17:05

PapaLima a écrit:C'est une très bonne nouvelle Jacques !!

J'ai reçu les encodeurs plats de Fab mais pour les connecter à une IO32 c'est vraiment plat comme il faut, je confirme.

J'allais te poser la question "mais quid du remplacement de la couche Link2fs par AirManager 3 car il supporte Arduino de facto" mais tu va nous faire le test et c'est parfait !!! Tu vas me faire gagner du temps! merci affiche

J'attends le résultat de ton test encodeur/Arduino/AM3 pour me permettre de confirmer un éventuel montage du GPS en kit chouettedoights

Euh...
Pour le GPS type Garmin GNS 430/530 il te faudra des encodeurs doubles ELMA27 qui ont un mode de fonctionnement différent du CTS288, donc ça ne te servira pas à grand chose.

Sur FSX si tu veux via AM piloter le GPS de base de FSX, c'est possible puisque les fonctions Simconnect du GPS existent, je crois qu'il existe des Lvars pour le Reality XP, donc l'interfaçage via AM serait théoriquement possible également, mais pas simple et pas en déporté de toutes manières.

Par ailleurs je rappelle que AM3 ne propose pas de GPS digne de ce nom pour l'instant, et pas avant un grand moment à mon avis, car même avec des fonctions de moving map améliorées dans l'API si elles sortent un jour sur AM, c'est EXTREMEMENT compliqué à programmer un GPS, je rappelle que Reality XP utilise l'émulateur GARMIN pour faire tout le sale boulot en tâche de fond.... chouettedoights

La solution la plus réaliste pour un kit comme le tien si tu veux t'en servir sous FSX avec RealityXP, c'est une carte joystick genre Leobodnar BBI32, bien plus simple, ou un programme qui transforme l'Arduino en carte Joystick ou émulateur clavier (Google est ton ami lunettesnoires ).

Sur XPlane la solution envisagée dans ton kit est ArdsimX si je me souviens bien, mais le GPS de base de XP est d'une autre facture que celui de FSX et dans les deux cas (XPlane ou Reality XP) on pilote le soft via des raccourcis claviers émulés.

Perso j'ai débuté à l'époque un kit maison basé sur une LeoBodnar qui me permettait de piloter le RealityXp ancienne version, ça marchait bien avec un bezel en carton, mais j'ai laissé tomber au moment de faire les boutons et le Bezel, trop compliqué à l'imprimante 3D. Le kit n'existait pas à l'époque, on bricolait avec un écran déporté du genre PS One difficile à trouver, certains dans le forum l'ont fait (Filippo de mémoire). Bref je suis passé à une version toute faite chez Emuteq, plus simple pour moi.

Jacques
Ma chaîne YouTube Tutos sur l’A320 par un Pilote de Ligne: https://youtube.com/channel/UCljftuoKBcgeR-WBgYJpuoA
Avatar de l’utilisateur
JacquesZ
 
Messages: 2848
Inscription: 24/11/10


Retourner vers Interface & logiciel ARDUINO





Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités