la pratique


Pour fonctionner, la carte Mega a besoin d’un logiciel, dénommé IDE, qu’on va « téléverser » dans sa mémoire. Ce logiciel permet de faire de la programmation pour Arduino (cela ne nous concerne pas, SimVim Cockpit programme pour nous) et de transférer cette programmation dans la carte Arduino. On pourrait aller le chercher sur le site officiel d’Arduino, mais il est beaucoup plus simple de le charger directement à partir de X-Plane. Plus précisément, c’est le plugin de SimVim Cockpit que nous aurons installé dans X-Plane qui fait le travail, c’est lui qui détecte la carte Arduino et qui vérifie si son programme IDE est à jour.

Il faut tout d’abord faire en sorte que notre carte Arduino soit reconnue dès qu’on la branche en USB sur notre ordinateur. Pour celà il nous faut un petit driver, dénommé CH340, à télécharger sur la page https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers/all#drivers-if-you-need-them Une fois installé, ouvrir X Plane et brancher en USB une carte Mega non encore utilisée. Evidemment,   X-Plane va remarquer que cette nouvelle carte n’a rien en mémoire, le logiciel IDE est absent. Nous allons donc ouvrir le Menu « Plugins » de X-Plane, et sélectionner Update. X-Plane va alors se connecter sur le site d’Arduino sans rien vous demander, et téléverser le firmware IDE dans la carte.
Dès lors, la nouvelle carte est reconnue par X-Plane, il n’y a plus qu’à attribuer des fonctions avec le Configurator.  Si votre carte comporte déjà une version de l’IDE, mais périmée, X-Plane va vous demander de la mettre à jour (Upload), mais à part ce cas particulier, nous n’aurons plus jamais à recharger le logiciel IDE. 


le câblage d’une carte Mega.

Chacun a sa méthode, en principe les entrées et sorties de la carte Mega se font par ses connecteurs femelles de type FH100. On y insère des connecteurs mâles HE14 achetés chez GoTronic en barrettes sécables. Les connecteurs de GoTronic me semblent plus fiables que ceux de AliExpress, dont la surface de contact est beaucoup plus faible. Très bien, mais  la Mega une fois placée dans le cockpit n’est plus aussi accessible que sur une table, et il est très facile de se tromper d’un cran quand on place les HE14. Tout est alors décalé, vous imaginez les conséquences. D’autre part, brancher et débrancher des connecteurs arrive souvent, les HE14 ne sont pas conçus pour cela. Et que se passe t’il quand vous voulez dessouder un fil et le remplacer par un autre ? Tout ceci pour conclure que dans cet usage les HE14 ont toutes les chances de devenir une source de problèmes.
La solution :  je mets toujours des barrettes de répartition autour de la Mega. Ce sont des barrettes à vis ref. 08094 de GoTronic ou équivalent chinois. Sur chaque broche de la barrette, on soude un fil de 0,14 mm² minimum, qui va sur une broche du HE14 qu’on branchera sur la Mega. On vérifie bien chaque soudure et on met par dessus un morceau de gaine thermo-rétractable. Le premier fil de chaque groupe aura une gaine rouge, et près de la Mega, on mettra un point rouge près de la première pin de chaque groupe. Thermo rouge sur point rouge, on ne trompera pas de sens. Par précaution, quand le connecteur HE14 est prêt, on met de la colle chaude de chaque côté, sur les gaines thermo pour immobiliser le tout et être sûr que si on doit retirer le HE14, on ne tirera pas sur les fils. Tout doit être fait pour une fiabilité maximum, les connecteurs représentent 90% des sources de pannes. Toujours pour l’obsession de la fiabilité, on préfèrera des fils souples aux fils rigides, qui cassent plus facilement, et quand on étamera les fils dénudés avant de les souder, on évitera si possible de mettre de la soudure jusqu’au niveau de l’isolant, pour préserver 1 ou 2 mm de fil souple, sinon le fil étamé devient un fil rigide…
Lorsque cette opération (fastidieuse, je sais) est effectuée, les barrettes de répartition sont collées à la colle chaude sur un profilé en bois de 15×15 triangulaire (pas facile à trouver, il faudra peut être s’en faire au rabot).
Désormais, quand vous aurez à modifier un fil, cela se fera en dévissant une borne sur la barrette, on ne touchera jamais plus aux entrées Mega.

Quelques conseils en bonus.
Même s’il y a des pins inutilisées sur la Mega, il est bon d’y mettre un connecteur HE14, sans fil. Cela permet une meilleure tenue du connecteur, un groupe de 3 broches tient très mal, il peut même être arraché par l’élasticité des fils, un de 8 broches tiendra bien.
Lorsqu’on soude un connecteur HE14 mâle, il est bon d’y enfiler un femelle, qui maintiendra les broches bien parallèles pendant la soudure, il arrive en effet que le plastique de la broche mâle se déforme un peu lors de la soudure.
J’utilise surtout de la soudure de diamètre 10/10. J’ai aussi de la 5/10 pour les opérations délicates.
Quand on soude un fil sur une broche, il faut toujours retirer le fer à souder en suivant le sens du fil, cela forme un petit cône le long du fil qui le renforce, alors que si on retire le fer perpendiculairement à la broche, cela forme une pointe qui gênera la gaine thermo-rétractable.
Quand on soude des fils sur un connecteur, comptez au fur et à mesure. Si vous arrivez à 7 quand un connecteur 8 broches est rempli, il y a un problème…
Bien entendu, chaque soudure doit être vérifiée, on tire sur le fil, et on examine le tout à la loupe.
On peut utiliser du fil de 0,14² pour les barrettes, mais attention si vous les serrez avec un collier nylon, serrez le collier à la main, et coupez l’excédent au ciseau, n’utilisez pas votre pince spéciale qui serre (trop) et coupe en même temps, il m’est arrivé d’avoir un fil coupé à l’intérieur de l’isolant, invisible de l’extérieur, à cause de cette pince trop puissante.
Quelle longueur de thermo-rétractable noir faut-il ? Comptez le nombre de cosses à souder, à un centimètre par cosse, cela fait combien de mètres ?
Utilisez un bonne pince à dénuder, qui n’arrache jamais un fil : voir le chapitre outillage.
La récup a ses limites, essayer de ré-utiliser un connecteur DB25 par exemple n’est pas toujours une bonne idée.

Enfin, pour l’orientation des barrettes, tenez compte du fait que vous aurez en général accès aux branchements par la place du pilote, vous serez debout contre le tableau de bord, c’est plus fréquent que par l’avant du cockpit, occupé par l’ordinateur, l’écran du paysage, etc… Donc, si vous êtes droitier, orientez les barrettes de telle manière que vous pourrez introduire le tournevis de droite à gauche, et non l’inverse. Dernière recommandation pratique : placez un petit tournevis tenu par un clip ou un aimant dans le cockpit, cela vous évitera d’aller fouiller dans la boîte à outils toutes les 5 minutes.

Exemple de répartiteur, pour droitier. En bas, une grosse goulotte destinée à canaliser tous les fils qui vont aller vers les barrettes. Il faut prévoir 3 barrettes et 1m de thermo-rétractable de diamètre 3,2 en noir et en rouge. L’alimentation à gauche vient d’un ordinateur. Reste à mettre un régulateur de tension 12-9V
Le tout est monté sur une planche de MDF de 3 mm, séparée du fond du cockpit par des entretoises de 30 mm, bien pratique pour camoufler des fils en dessous.
En attendant d’être incorporée dans un cockpit, cette planche d’alim a servi pour tester tous les systèmes d’Arduino : encodeurs, servos, afficheurs, etc…


le Configurator

Aller sur le site simvim.com, onglet Configurator. Voici un extrait de la première page :

Nous avons à gauche une liste de toutes les fonctions possibles.
En 1, nous avons l’onglet des paramètres, le seul qui nous intéresse pour le moment.
En 2, nous indiquons le nombre de moteurs de notre avion
En 3, un grand nombre d’onglets, en fonction du système concerné : commandes de vol, moteurs, etc…
En 4, Primary controls concerne les commandes principales, d’autres onglets sont possibles pour détailler d’autres fonctions, par exemple tout ce qui concerne le train et les freins.
En 5, voilà la liste des commandes : en tête Yoke et Rudder, fonctions analogiques qui peuvent être attribuées à SimVim Cockpit, bien que, souvent elles soient déjà sur un joystick ou une carte Bodnar. Ensuite les différentes manières de commander les trims : par impulsions en + ou en – issues d’un encodeur, ou en analogique, par un potentiomètre.
En 6, c’est la dataref qui va commander la fonction.
En 7, des lettres qui renseignent sur le type de commande : par exemple
a    = analogique, (potentiomètre)
b     =   bouton poussoir momentané
t     = toggle switch soit inter à bascule à 2 positions stables, ON et OFF. Il est également possible de sélectionner un bouton poussoir pour simuler un inter à bascule: une pression = ON, une autre = OFF (exemple un Korry).
B     = spécial pour les volets, indiquer le nombre de positions de la manette,
Br     = spécial Auto Brake, une entrée par position
Ba     = comme le précédent, mais pour les Auto Brakes à 4,6,ou 8 positions pré-définies.
Etc…

Enfin, dans la fenêtre de droite, nous avons la liste des « pins » ou broches de la carte Mega (dénommée « controller » en anglais) beaucoup d’entrées pour des interrupteurs, qui servent aussi de sorties pour des LEDs, c’est le programme qui décide,  et 16 entrées analogiques A0 à A15.
En général, on est en connexion USB, la liaison Ethernet est moins utilisée.

Un exemple . Sélectionner l’onglet Anti Ice. Dans la liste Anti Ice Controls, cliquer sur Master anti-ice system Switch (all)

Une fenêtre indique Toggle Switch, Select direct/multiplexed Input, c’est juste une indication. Comme nous n’avons pas de carte MUX (multiplexeur) branchée, nous n’avons pas le choix, il suffit de cliquer par exemple sur la pin 2 de la liste de droite. On nous confirme en vert alors que le paramètre est attribué.

C’est tout. Désormais un interrupteur branché entre la masse et la pin 2 commandera tous les systèmes anti-givrage prévus sur notre avion. Si nous choisissons une fonction commandée par un encodeur, l’opération précédente va réserver deux pins au lieu d’une seule, par exemple la 2 et la 3^

Attention : dans le tableau de droite les pins sont regroupées, par exemple de 2 à 13, puis de 14 à 21. Quand une fonction occupe plusieurs pins, elles doivent toujours être dans le même groupe, 12 et 13 c’est OK, mais pas 13 et 14.


avec une ou des cartes MUX.

Et quand on a une ou plusieurs MUX ?
Il faut d’abord attribuer une entrée Mega pour la MUX. Par exemple, notre MUX n°1 va avoir son fil SIG branché sur l’entrée 4 de la Mega.  Sans avoir rien sélectionné dans les commandes,  on clique sur la pin 4. Il apparaît alors une fenêtre de choix « Connect ». Choisir Input Multiplexer , Output serait pour une MUX dédiée à des LEDs.

Nous avons alors une inscription dans la liste des pins 4>Input MUX(0) . Notre MUX est connectée, et pour le moment elle n’a aucune entrée attribuée.

Revenons à la liste des fonctions et choisissons par exemple « Pitot Heat Switch », cliquons sur la pin correspondant à la MUX qui va recevoir l’interrupteur de Réchauffage Pitot, par exemple la MUX de l’entrée 4.
Nous avons alors un autre tableau qui bien évidemment correspond aux 16 entrées possibles de la MUX. Attribuons l’entrée 0 par exemple. Parameter assigned, c’est fait, un interrupteur branché sur l’entrée 0 commandera cette fonction. C’est tout.

MUX 2, 3,, etc…, à chaque fois cliquer sur l’entrée Mega sur laquelle la MUX est branchée, puis sur l’entrée MUX choisie.


s’il s’agit d’une LED.

Dans la liste des fonctions à gauche, nous avons choisi un onglet Annunciator, il y a une lettre l, comme Led, tout à droite.
Cliquons sur la ligne qui nous intéresse, on nous demande de choisir LED single digital output, donc une LED seule.
Choisissons une pin d’entrée sur la Mega, et c’est tout, une LED branchée avec son – à la masse et son + à la pin sélectionnée sur la Mega (par l’intermédiaire d’une résistance de 270 Ohms environ) s’allumera quand la fonction sera active.
Si une fonction est attribuée par erreur, par exemple une analogique qui devrait être dans la série des pins A0 à A15, et qu’on voudrait attribuer à une pin d’entrée interrupteur, le Configurator le refuse, on ne peut pas faire d’erreur.
Ceci correspond à 99% des attributions pour un cockpit. Le 1% restant concerne les servos , les moteurs pas à pas ou autres.

Rappel: une carte MUX ne peut pas être à la fois pour des entrées et des sorties LEDs. Si le cockpit comporte peu de LEDs, il est plus pratique d’utiliser des pins classiques que de passer par une MUX spéciale. Mais dans le cas d’un 737, par exemple, il faudra de nombreuses MUX spéciales LEDs, nous y reviendrons

Vous remarquerez aussi que certaines pins ne figurent pas dans la liste, ce sont les pins interdites, réservées au Bus par exemple.
Tout ceci est très intuitif, le Configurator explique très bien ce qu’il faut faire, et l’entrée de fonctions va devenir très rapide pour vous.
Un groupe d’attributions peut ainsi être préparé, il est temps d’en  vérifier le fonctionnement.
Cliquer sur SAVE , ce qui ouvre une fenêtre proposant d’enregistrer dans un fichier nommé data.cfg les attributions définies. Enregistrer, et ce nouveau fichier va être envoyé en principe dans « Téléchargements ».
COUPER ce fichier et le coller dans X-Plane/Ressources/Plugins/Simvim   (pas directement dans les Plugins !)
A chaque nouvel ajout d’une ou plusieurs fonctions, faire de même: SAVE, enregistrer, couper-coller.
Pour ajouter des fonctions, dans le Configurator, cliquer sur EDIT. Il va aller chercher le fichier data.cfg dans X-Plane, et afficher tout ce qui a déjà été entré.
Pour supprimer des fonctions, de même, cliquer alors sur CLEAR, puis sur le n° de la pin concernée. Ces actions dans le Configurator deviennent très vite des automatismes, on constate donc qu’on peut programmer tout un cockpit sans programmation …
En fait, la seule difficulté est parfois de trouver le bon libellé pour une fonction. Dans ce cas, l’onglet « Panel and Instrument Layout » peut nous aider à trouver la bonne dataref, pour les fonctions courantes.


démarrage

Nous avons préparé un courte liste d’attributions avec le Configurator.
1° Préparer une carte Mega Arduino, avec son logiciel IDE chargé,  et un interrupteur à bascule quelconque pour tester.
Nous supposons que vous utilisez la carte avec une connexion USB (plus simple qu’en Ethernet):
2° Connecter la carte à un port USB de l’ordinateur contenant X Plane.
3° Démarrer X-Plane: si la connexion est bien établie une fenêtre 1 USB SimVim Cockpit   x inputs  va s’ouvrir pour le confirmer, puis, après une courte attente, Scanning s’efface: la carte est prête, actionner l’interrupteur et vérifier ce qui se passe sur le tableau de bord.

Faisons une pause pour quelques explications, que les électroniciens avertis peuvent aisément sauter. Traduction des explications de Simvim Cockpit:
1° Un bouton (Button) ou « bouton poussoir » n’a qu’une seule commande, on pousse, la commande est envoyée. Il arrive qu’un seul poussoir commande plusieurs fonctions: elles sont alors exécutées en même temps avec une seule pression sur le poussoir.
2° Dans les choix « T-Switch » qui correspondent aux inverseurs, dits aussi « inters à bascule » ou « Toggle Switch », il y a une option pour un type particulier de bouton: Use a toggle button instead of switch. Un « Toggle Button », c’est en fait un bouton poussoir à qui on demande deux actions ou plus, successivement: on pousse, le premier clic commande une action, on pousse une deuxième fois, le deuxième clic en commande une deuxième, etc… D’où le qualificatif de « Toggle » . Cette catégorie aurait pu être dans les « Buttons » plutôt que dans les Toggle.

A noter que X-Plane comporte beaucoup de commandes qui effectuent toutes seules une action du type « toggle » avec un seul clic de bouton… c’est prévu par le programme. Dans ce cas l’entrée dans SimVimCockpit  doit être considérée comme un simple « Button ». Il  faut vérifier si l’action que vous souhaitez effectuer figure dans la liste des actions liées aux « Toggle Switches » ou aux « Buttons », c’est parfois l’une ou l’autre.

3° Un interrupteur, ou T-Switch a toujours au moins deux positions stables: ON et OFF. Il agit comme deux boutons, un commande ON et l’autre OFF, mais on n’assigne qu’une seule fonction à ce type de composant dans le Configurator: par exemple l’allumage des phares c’est successivement ON et  OFF, mais une seule fonction est prévue « allumage des phares », le programme s’occupe du reste, donc de l’extinction des phares.
4° Un interrupteur à 3 positions est  un ON OFF ON c’est à dire deux interrupteurs opposés avec un point milieu commun , le OFF pour les deux interrupteurs. Il y a donc deux paramètres à attribuer, avec le OFF comme point commun aux deux.
Fin de la pause.


les sites Arduino

Deux sites sont indispensables, et suffisants: le site officiel d’Arduino:  https://www.arduino.cc/

le site de SimVimCockpit pour notre interface, le Configurator, les exemples de branchements,  et bien d’autres choses: http://www.simvim.com/index.html

De nombreux sites parlent de la programmation Arduino, addition de nombres binaires et autres subtilités. Cela peut intéresser les curieux, mais ne sert à rien pour un cockpit.