Crunchez vos adresses URL
|
Rejoignez notre discord
|
Hébergez vos photos
Affichage des résultats 1 à 7 sur 7
  1. #1
    Bonjour à tous,


    L'objectif de ce post est de vous partager mon petit projet DIY visant à me fabriquer mon propre MCDU d'A320 en guise de périphérique fonctionnel pour MSFS.
    Le MCDU (Multipurpose Control Display Unit) d'un avion civil c'est un appareil situé dans le cockpit (à la droite du commandant) qui comme son nom l'indique permet de gérer plein d'aspect du vol donné : la route, les phases de montée, descente, approche, atterrissage, les performances, vitesses, messages, etc...


    1 - Contexte
    2 - Choix des composants
    3 - Configuration MMJoy2
    4 - Comportement du mini-écran
    5 - Création de la PCB
    6 - Reception de la PCB et premiers tests
    7 - Conception de la boite
    8 - Impression 3D et intégration
    9 - Tests






    1 - Contexte





    Mon caprice est que dans le simulateur, manipuler cet appareil c'est modifier la vue pour cliquer sur les boutons du clavier... ce qui a le don de me fatiguer
    Du coup, la première étape a été de voir si une boite quelque part dans le monde aurait eu l'idée de commercialiser une version physique pour simulateur.
    Ca existe, ca a l'ai plutôt bien foutu mais c'est franchement pas donné. Exemple d'une version à 1900$ https://www.fsc.it/Product.aspx?lang...d-053c128c7d65
    J'ai pu voir d'autre version de l'ordre de 800€, pareil trop cher.
    Du coup, il m'est venu l'idée de tenter de m'en fabriquer un moi même.






    2 - Choix des composants


    J'ai déjà passé un peu de temps pour me faire deux boites à boutons en USB avec des microcontrôleurs Arduino Pro Micro et surtout la puce ATMEGA32U4 reconnue par un PC comme périphérique USB. Les tutos sur le nets sont largement disponibles surtout à destination du simracing.
    Le principe est simple : Si on souhaite se faite une boite à bouton avec 6 boutons, il faut les arranger dans un tableau avec 2 colonnes et 3 lignes, ou l'inverse, ou 1 colonne et 6 lignes ou l'inverse. La somme nombre de ligne et de colonne donne le nombre de pin qui seront mobilisés sur la carte. Basé sur ce principe, appuyer sur un bouton c'est permettre à deux pin de la carte SEULEMENT de se connecter entre eux et donc d'être interpréter par la carte puis le PC comme un bouton qui est pressé.
    Dans le cas du MCDU c'est 70+ boutons donc une matrice de 8 par 9 au moins, donc mobiliser 17 pin de la carte, ce qui permet la Pro Micro :-)
    Pour les autres composants, il faut bien évidemment un écran, d'à peu prêt la bonne taille afin de le relier au dernier port de la CGU. Une fois reconnu (cf post XXX), MSFS permet nativement d'extraire dans une fenêtre dédiée un affichage de cockpit.
    Ensuite, l'objectif est de se trouver des petits boutons (merci Aliexpress encore) que je puisse souder, sur une PCB que je vais devoir concevoir.... je ne connais pas du tout du tout ce monde donc beaucoup de choses à apprendre.
    Enfin, intégrer le tout dans une boite en impression 3D, ca je maitrise.




    3 - Configuration MMJoy2


    La principale contrainte que j'ai rencontrée est que la méthode la plus répandue consiste à utiliser un code Arduino très simple et répandue, mais qui ne permet un maximum de 32 buttons maximum.
    En fouillant un peu, je suis tombé sur une autre librairie, indépendante d'Arduino, qui reset la puce ATMEGA en y implémentant son propre code. Il s'agit de la librairie MMJoy2. Celle ci permettrait de mapper 128 boutons !! Bingo !



    La prochaine étape consiste donc à concrétiser cela sur une pro micro toute neuve :-)
    Je reçois ma puce d'Aliexpress et je tente l'implémentation de MMJoy2 pour faire quelques tests et confirmer que je peux mapper autant de boutons.
    La manip pour intégrer MMJoy2 n'est pas compliquée, il faut basculer la carte en mode bootloader et être un peu rapide mais quelques rares tutos sur youtube sont très claires pour faire cette manip'.
    MMjoy2 a directement une interface dédiée qui permet de définir quels pins sont les lignes et les colonnes.
    Le soucis est que cette librairie n'est pas uniquement prévue pour des boutons mais également des axes de joystick, ou des "hat" directionnels. Du coup ca vient tuer la moitié de la place pour les boutons ce qui me laisse que 64 boutons possibles...





    Etant donné cette limitation de 64 boutons, c'est déjà le double du classique 32, donc je me laisse pas abattre.
    J'ai donc décidé d'éliminer certains boutons qui ne sont pas opérationnels dans MSFS ou peu/pas utilisé. J'ai finalement convergé sur le mapping suivant :





    Autre point important qui me permet de bien vérifier si MSFS sera en mesure de reconnaitre mon Arduino sous MMJoy2 c'est l'utilisation de SPAD.neXt.
    C'est outil permet de mappé tous vos périphériques avec votre simulateur mais de manière bien plus profonde que dans les settings de MSFS.
    Une fois dedans, je vérifie que les boutons sont bien captés par windows, et SPAD.neXt.



    C'est bien le cas, tout roule, next step.


    4 - Mini-écran


    Pas un choix enorme mais encore une fois, merci la Chine pour trouver quelque chose de pas trop cher et qui convient. J'ai trouvé donc ce petit écran de 5'' avec un format différent du MCDU qui est quasiment carré.
    J'ai galéré à le connecter au PC car il n'était pas reconnu. Ma CGU ne captait rien losque je le branchait. Je pense que c'est trop petit pour qu'elle le detecte. J'ai donc du l'interfacer avec un dédoubleur HDMI qui lui est branché sur secteur et tout fonctionne correctement
    Tous les détails dans ce post, où j'ai finalement trouvé la solution tout seul, moyennant un peu d'argent :-/
    Comme dit plus haut, MSFS permet d'extraire un affichage cockpit dans une fenetre dédié, pour la manipuler, la mettre en fullscreen etc.
    J'ai découvert depuis un outil assez pratique qui enregistre une configuration d'ecran extrait. C'est hyper pratique ==> Une fois MSFS lancé, je lance cet outil et il me met de suite en plein écran sur le mini écran l'affichage du MCDU !! Au top !







    5 - Création de la PCB


    Là, on rentre dans le dur...
    Tout comme les imprimantes 3D, les machine pour se faire ses propres PCB se sont largement démocratisées.
    C'est ce qui m'a fait me dire que ce ne devait pas être trop compliqué de se faire une PCB avec le bon soft. Seulement je n'y connais rien du tout...
    Après quelques heures à balayer certains tutos, j'ai convergé sur l'outil Eagle pour faire sa PCB de A à Z. Eagle est associé au groupe Autodesk, qui fait nottament Fusion 360, idéal pour faire de la conception 3D gratuitement pour un particulier.

    Eagle ouvert, je suis comme un canard face a un couteau... Je dois donc me manger du tuto de base pour identifier les étapes indispensables.
    En résumé, je crée le composant de la carte Arduino, ainsi que le composant Bouton, avec les bons pins.



    Puis on entame la création du Schéma, qui revient à créer les 64 boutons, la carte et les relier entre eux. Cette étape est très importante car en gros, le tracé des pins des lignes seront sur le niveau supèrieur de la PCB, le tracé des pins des colonnes, seront sur le dessous de la PCB. Il faut donc faire très attention à ce que les routes d'une même surface ne se croisent pas, ce qui n'était pas une mince affaire comme vous pouvez le voir ci-dessous.









    L'étape suivante est de créer la board, le design final avec le perçage et la localisation exacte des boutons.





    Il doit certainement y avoir des méthodes pour simplifier les tracés ci-dessous, j'ai fait ce qui me paraissait logique, si vous avez des idées ou des features pour lesquelles je suis passé à coté, je ne serais pas surpris.
    Après moultes vérifications, j'ai pu extraire le projet via ce qui s'appelle un "gerber", qui via une multitude de fichier, définis les routes, les perçage, etc.
    J'ai ensuite trouvé un site qui propose de fabriquer la PCB de son choix ==> JLCPCB
    Ca m'a couté une quinzaine d'euros pour la fabrication et l'envoi chez moi (de Chine, évidemment)




    6 - Réception de la PCB et premiers tests


    J'ouvre ma boite et un gros colis m'y attend !!!
    Bizarre de voir concrètement ma première PCB, j'espère surtout que je me suis pas planté dans les routes de chaques lignes et colonnes car ca fait beaucoup de routes à gerer...
    Je m'empresse de souder l'Arduino dessus ainsi que quelques boutons pour faire le test et ca marche !!!








    Voila où j'en suis pour l'instant,
    Les étapes 7/8/9 viendront plus tard :-)

  2. #2
    C'est bon ça! En moins cher que l'arduino, j'avais repéré l'esp32
    Un jour je pense me faire un throttle. Sinon, bravo pour la fabrication du pcb perso, j'aurais pas fait aussi propre!
    Citation Envoyé par Snakeshit Voir le message
    Mais comme on me l'a appris dans la Marine, plus les choses sont automatisées, moins ça consomme de cases plus vous en avez de libre pour choses utiles, comme penser à des filles dénudées .

  3. #3
    7 - Conception de la boite

    Pas mal de temps passé sur ce point pour m'assurer que tous les éléments s'intègre bien. L'épaisseur de la PCB, des composants dessus, l'écran, la PCB qui l'intègre ainsi que les composants et l'encombrement que prendra les cables USB/HDMI est à prendre en compte.
    Nombreuses itérations donc de mesures, de conception, de vérification, de corrections...
    J'ai également fait quelques tests pour les boutons. J'ai constaté qu'un espacement entre la boite et le bouton de 0.3mm est trop petit car la tolérance de l'impression 3D peut un peu déborder. J'ai donc mis 0.4mm j'espère que ca ira.

    J'ai passé beaucoup de temps mais arrivé à un moment, il faut passer du tu concret pour voir clairement ce qui peux coincer, ou ce qui peut être amélioré... Le seul soucis est que les impressions sont longues
    La partie supèrieur et infèrieures prennent respectivement 20h à imprimer, les boutons prennent 8h... On est sur deux jours complets d'impression sont la moindre erreur fait recommencer à minima une des trois partie.

    wait and see

    Dernière modification par FlyGhost ; 09/07/2022 à 15h38.

  4. #4
    8 - Impression 3D et intégration

    Après plus de 48h d'impression non stop, j'ai enfin tout, sauf qu'il faut recommencer :-)
    En effet, parmi les points qui ne vont pas :
    - Les boutons ne coulissent pas du coup j'ai du augmenter le gap entre bouton et boite de 0,1mm
    - Les caractères sur les boutons sont petits et ne permettent pas de faire ressortir les caractères. Du coup modif de police et rebelotte

    Refaire la partie haute et les boutons c'est 28h d'impression en plus ==> 76h d'impression au total ! J'ai mis l'imprimante au repos là





    Une fois tout imprimé, j'ai tenté de faire ressortir en blanc les caractères avec du blanco
    Ca marche pas trop mal mais ca déborde méchamment.
    Pour effacer le débordement et ne garder que le blanc du caractère j'ai tenter le ponçage et le passage à l'ethanol avec l'éponge magique, et l'éponge magique est toujours pleine de surprises



    Une fois que c'est terminé, et bien on assemble. Ca mérite quelque petit coup de ponçage par ci par là pour retirer les petits défauts d'impression mais globalement tout rentre super proprement.







    Prochaine étape le test !! Mais à minima tous les boutons fonctionne correctement, il va falloir tout mapper sur Spadnext maintenant, mais ça se profile bien

  5. #5
    9 - Tests

    Tout est monté, maintenant l'heure de vérité.
    Le plus long c'est de mappé tous les boutons sur Spad.Next. C'est vraiment hyper pratique cet outil, je n'utilise plus les paramètres MSFS pour les contrôles désormais.
    Une fois mappé, l'écran était déjà testé donc tout roule, les branchement pareil (même si j'irai probablement au niouf direct après un audit d'Ackboo...)
    J'ai fait deux trois vols avec, avec le dernier A320 de chez Fenix est c'est vraiment hyper plaisant. C'est tellement un outil qu'on regarde sans arrêt que je limite énormément mes mouvements de caméra, je peux rentrer les infos sans avoir à faire des mouvements de vue entre la tablette et le MCDU, bref tout l'interet d'avoir l'objet physiquement.

    Si certains veulent se lancer, je n'avais pas le choix d'imprimer les PCB par 5, du coup j'ai 4 PCB toutes neuves sur laquelle il faut souder un Arduino, et les boutons. Si ca interesse quelqu'un.

    Petite vidéo pour illustrer le résultat :

    https://www.youtube.com/shorts/dVuLVptTj2k

  6. #6

  7. #7

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •