les principales fonctions


 les interrupteurs

Ce terme générique désigne les inverseurs à une ou deux positions stables ON-OFF ou ON-OFF-ON . Les  (ON) OFF (ON) peuvent être considérés comme des boutons poussoirs doubles. Egalement les boutons poussoirs à un contact momentané, les commutateurs rotatifs à x positions, qui sont des séries d’interrupteurs fixes, les encodeurs, qui sont des commutateurs rotatifs à deux directions, les micro-switches,  les relais, etc… Autant dire beaucoup de monde.


Photo de famille

Le principe de câblage est toujours le même : on branche une cosse de l’interrupteur à la masse commune de tout le cockpit, et l’autre sur une entrée de la carte Mega. On va ensuite dans le Configurator pour attribuer cette connexion à une fonction. C’est tout.
Dans le cas de la carte d’extension MUX, le principe est le même, mais on branche bien entendu la cosse de commande sur une des 16 entrées MUX, il n’y aura qu’une seule sortie pour 16 interrupteurs vers la carte Mega.
Il y a des cas particuliers, par exemple un commutateur rotatif (rotary switch) commande 5 positions de volets. C’est tout aussi simple, après avoir choisi la fonction « flaps handle multi position », on choisit une pin d’entrée en s’assurant que les 4 suivantes sont bien dans le même groupe et on indique le nombre de positions voulu. Vérifier dans la colonne de droite que 5 entrées ont bien été sélectionnées (signe^). C’est tout.

Rappelons le branchement des encodeurs : les cosses extérieures correspondent aux deux directions (Increase ou Decrease), la cosse centrale est reliée à la masse. Ne pas confondre avec les potentiomètres.
SimVimCockpit prévoit l’utilisation de différents types d’encodeurs, à vous de trouver celui qui convient le mieux. Il est inutile d’investir dans des encodeurs très chers, les chinois à 40 centimes conviennent très bien.


 les analogiques

Cela concerne essentiellement les potentiomètres, utilisés pour les axes de roulis, tangage, dérive, les trims, parfois les volets…  Ils sont en général rotatifs, quelque fois linéaires. Pour des fonctions vitales comme les axes d’un manche, on a intérêt à utiliser des potentiomètres Cermet (GoTronic), malgré leur prix. Ils sont inusables et très précis. Pour les trims, on pourra se contenter d’un potentiomètre à piste carbone, dix fois moins cher.

Les potentiomètres se branchent sur les entrées analogiques de la carte Arduino, on en a 16 , marquées A0 à A15, c’est bien suffisant.
Les deux cosses extrèmes sont reliées au +5 Volts et à la masse commune, la cosse centrale -le curseur- étant relié à une de ces entrées analogiques. 


les sorties digitales

Cela concerne les LEDs, soit individuelles, soit en groupe.

Les Leds en haut de cette photo sont des individuelles groupées dans un seul circuit, appelé bargraphe, mais elles restent isolées et peuvent être commandées les unes après les autres (indicateur de position de trim par exemple). Les Leds de droite sont des très classiques 3 mm à tête plate, donc à faisceau  large. Quand elles sont blanches, prendre du blanc chaud.
Les Leds peuvent être branchées sur n’importe quelle entrée de la carte Mega, sauf les analogiques, bien qu’il s’agisse d’une « output ». Cela peut paraître bizarre, mais vient du fait que les LEDs fonctionnent en « ON-OFF », tout comme les interrupteurs.
Quand on branche une Led directement sur la Mega, il faut intercaler une résistance, entre 100 Ohms et 1 kilohm, soit dans le plus (fil le plus long de la Led), soit dans le moins (fil le moins long). En général, je prends des 270 ohms, ça va bien.
Les plus seront reliés aux entrées Mega, les moins peuvent être reliés tous ensemble et ensuite à la masse par un seul fil.

Une MUX spéciale

Le branchement direct sur la Mega est envisageable s’il y a peu de Leds, mais dans le cas d’un Overhead de 737, par exemple,  il faudra recourir à des cartes d’extension. Elles sont très semblables aux cartes MUX des entrées, mais le processeur n’est pas le même, il pourra s’agir d’un driver genre DM13A (quelques centimes chez Ali Express) ou mieux des DM134. Je préfère le DM134 au DM13A, car il existe en format 24 pattes étroit (DIP) qu’on peut associer à un connecteur  de circuit intégré DIP24, au pas classique de 2,54.   Le format habituel du DM13A, aux pattes espacées de 1,24 mm est quasiment impossible à souder pour nous.
Un DM134 peut commuter 16 Leds, mais attention, ce sont les moins des LEDs (cathodes) qu’on branche aux entrées, et les plus peuvent être reliés ensemble et branchés ensuite sur le + 5 Volts de l’alimentation générale, pas sur le 5 volts prélevé sur la carte MEGA, dont l’intensité maximale est trop faible pour toutes les LEDs. Le DM134 ayant un régulateur de tension intégré, il n’est pas nécessaire d’intercaler des résistances, cela simplifie bien les choses. Les fils sortant  du DM134  sont les suivants :
+  5 volts pour l’alimentation du DM134  seul, pas des LEDs
masse commune, pour le DM13A comme pour les LED
sortie SIG pour le SIGnal  de commande, à relier à une entrée de la Mega
sorties L et D pour le Bus, à relier respectivement aux entrées Bus 27 et 28 de la Mega.

Autre avantage de ces cartes MUX Leds, on peut les relier ensemble en parallèle, et n’avoir qu’une seule entrée sur la MEGA, les cartes seront interrogées les unes après les autres et chaque carte interroge ses LEDs à tour de rôle.
Par exemple, si vous voulez mettre 64 Leds sur une seule entrée Mega, vous pouvez brancher 4 MUX Led en parallèle, avec chacune 16 Leds, mais une seule sortie S vers une seule entrée Mega. Vous voyez l’avantage pour les cockpits complexes.
Autre particularité intéressante du MUX Led à base de DM134, , on doit brancher une résistance sur sa patte n°23, en général une 1 kilohm. Cela peut paraître une complication, mais si, en série avec cette résistance, on place un potentiomètre de 22 kilohm environ, on peut avec ce potentiomètre contrôler la luminosité des toutes les LEDs branchées sur le DM134. C’est un PWM ou dimmer intégré, très intéressant. Même avec un potentiomètre dimmer de 22 kilohms, on conservera la résistance de 1 kilohm, pour éviter de mettre la patte 23 à la masse quand le potentiomètre est à zéro Ohm.
Exemple d’implantation sur un circuit imprimé d’essai à pastilles :

Recommandations :
Attention à la consommation de courant : les sorties LEDs de la Mega peuvent alimenter en direct une LED, pas deux en même temps.
Les sorties LEDs commutent du +5V, elles peuvent donc très bien servir à déclencher un relais, il existe des quantités de cartes relais qui fonctionnent avec un signal d’entrée de 5 volts, et en général avec un courant d’entrée très faible, dans les capacités d’une pin Mega et à plus forte raison  MUX Led. Le relais pourra alors commander un pavé de LEDs multiples sans se soucier de l’intensité. Si vous voulez commander une Led de puissance, une lampe, un solénoïde, etc… par une sortie Mega, c’est possible, mais en intercalant un transistor MOSFET, voir la documentation de SimVim http://simvim.com/tech_dout.html
Toutefois, un DM134  peut supporter jusqu’à 90 mA sur chacune de ses entrées, on pourrait donc théoriquement   y brancher 4 Leds, et il existe des circuits intégrés compatibles capables de sortir une intensité bien supérieure. Pour les « cas spéciaux ».


 les afficheurs

Un afficheur dit « 7 segments » est un ensemble de sept LEDs en forme de traits, disposés de manière à pouvoir afficher des chiffres, et parfois des lettres stylisées.
L’utilisation la plus courante dans un cockpit est l’affichage des caps, vitesse, fréquences. Un affichage de cap HDG comprendra 3 afficheurs 7 segments, une fréquence en demandera 6 plus un point. Dans tous les cas, l’utilisation d’un multiplexeur MUX adapté est nécessaire, et chaque carte MUX pourra recevoir jusqu’à 16 afficheurs.  
Il existe en Chine de nombreuses cartes prêtes à l’emploi, comprenant par exemple 8 afficheurs et, sur le même circuit, un driver, ou pilote, qui pourra être un MAXC7219  ou un TM1637.


Exemple un afficheur à 8 digits


et à l’arrière du circuit imprimé, le MAX7219 


Bien entendu, il existe des circuits tout montés de ce genre pour moins d’afficheurs. Un groupe de 8 afficheurs pourrait servir à afficher à la fois le cap (3 chiffres) et la vitesse (3 chiffres), deux afficheurs entre les deux restant inutilisés.
Chacun de ces circuits comporte un connecteur 5 broches :
-une entrée 5 volts, à brancher sur l’alimentation 5 volts principale et non sur la carte Mega (un groupe d’afficheurs consomme pas mal de courant)
-une masse commune GND
-une sortie Clock CLK qui sera reliée à une entrée quelconque de la carte MUX afficheurs, d’une part et d’autre part, on mettra une résistance de 1 kilohm entre cette pin CLK et la masse
-une sortie DIN, ou D, c’est le bus, à relier à la carte Mega sur la pin
-une sortie CS, à relier à la pin Bus     de la carte Mega
Le Configurator fonctionne toujours de la même manière : on choisit d’abord une entrée libre pour la carte MUX, ce sera sa sortie SIG, puis « Output Multiplexer », puis

SimVimCockpit peut aussi commander des afficheurs LCD capables d’afficher des textes sur plusieurs lignes, mais leur usage est plus rare dans nos cockpits, je vous renvoie donc à la documentation de SimVim.


les servos

L’application principale des servos est la commande des aiguilles, dans les instruments analogiques ou dans des indicateurs de position de trim par exemple.
Des servos très petits (9 grammes) et très peu chers sont disponibles en Chine, qui conviennent tout à fait à nos usages, car on ne leur demande pas de puissance. Leur angle de rotation est ajustable facilement par le logiciel.Pour utiliser des servos, il nous faut une carte Arduino en plus de la Mega, il s’agira d’une UNO, dans laquelle on télécharge le programme spécial servos de SimVimCockpit, disponible dans le Menu.

Cette carte doit être alimentée en 5 Volts. Soit on prélève cette tension sur une sortie 5V de la carte Mega, soit on alimente la UNO par son jack et dans ce cas on lui envoie du 9 Volts, le régulateur de tension intégré à la UNO fait le reste, soit éventuellement on se sert de la prise USB, mais dans ce cas il faut la brancher sur un chargeur de téléphone ou équivalent, jamais sur l’ordinateur.
La sortie Tx de la carte UNO (pin 1) est branchée sur l’entrée Rx de la Mega (pin 17), et la sortie Rx de la UNO (pin 0)  sur  l’entrée Tx de la Mega (pin 2). On peut brancher jusqu’à 18 servos sur les entrées 2 à 19 de la carte UNO. Chaque servo a trois fils : le signal, à brancher sur les entrées UNO, un +5V et une masse commune.
Un servo consomme parfois plus de courant que ce que la carte Mega peut fournir, même si elle est alimentée par une alim externe donnant du 9 volts. Par prudence, comme notre cockpit est alimenté par une alim d’ordinateur donnant aussi  du 5 Volts, on alimentera le ou les servos  par cette sortie 5 volts. Ce qui signifie qu’il faut amener du 5 Volts « grosse intensité » (tout est relatif, des fils de 0,20² suffiront largement) sur les platines contenant un ou des servos.

Ici, la sortie TX de la UNO est branchée sur l’entrée 17 de la MEGA et la sortie RX est sur la 16. Comme on le voit, le servo est alimenté en 5 volts à partir de l’alimentation générale.
Ici, le signal du servo (fil jaune ou orange) est branché sur l’entrée 2 de la UNO.
Il faut faire très attention au branchement du servo, la disposition des pins du connecteur varie d’une marque à l’autre.

Attention : il faut connecter toutes les masses de toutes les alims avant de tester la fonction servo.

La course des servos peut être ajustée par un paramètre dans le Configurator de SimVim. Le site de SimVim Cockpit http://simvim.com/tech_servo.htm    donne de nombreuses astuces pour augmenter la course d’un servo, calibrer une gauge non linéaire, etc…

D’autres fonctions sont possibles avec SimVimCockpit, comme la commande de moteurs pas à pas, ou des sorties à tension variable (PWM) etc… Voir le site de SimVim