[Pilotesteur] Interface de simulateur de vol

[Pilotesteur] Interface de simulateur de vol

Vincent, l’un des candidats pré-sélectionnés par notre jury, se présente pour être élu Ambassadeur 2016 dans la catégorie Pilotesteur.

Avant d’en savoir plus sur son projet, une interface de simulateur de vol, nous vous invitons à découvrir son parcours.

D’où vient ta passion ?

Passionné d’aéronautique et d’électronique, je m’intéresse un peu à tout ce qui permet de lier ces deux mondes. Je suis sur Toulouse, ville phare de l’aéronautique Française et Européenne, où j’exerce la profession d’ingénieur aéronautique. Je passe également mon temps à l’aéroclub, afin de peaufiner mes techniques de pilotage.

Je passe également du temps avec mes petits camarades de l’association Virtu’ailes afin de rénover le simulateur de vol Concorde (celui d’Air France) pour le préparer à son entrée dans un musée.

As-tu une citation préférée ?

Si je devais en avoir une, je retiendrai celles de Latéocére et St Exupéry : “Notre idée est irréalisable. Il ne nous reste plus qu’une chose à faire : la réaliser ” et “La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.”

  1. Pourquoi ce projet ?


    Passionné d’aéronautique et de beaux avions, je suis toujours un peu triste en voyant de « vieux » instruments, devenus inertes, en vente sur des sites aux enchères, brocantes et autres bourses. D’autre part, pratiquant la simulation, je cherche des moyens d’agrémenter mes vols en installant des instruments complémentaires fonctionnels (et pas trop chers bien entendu).



    Parmi les instruments éligibles à cette destinée, ceux présents dans les cockpits des années 70/80 sont de bons candidats. En effet, ils sont bien souvent normalisés et la documentation associée est disponible (car certains volent encore).



    A terme, je souhaiterais avoir une interface, simple, qui se connecterait en Ethernet (ce qui facilite l’interface avec le simulateur de vol Flightgear).



    Les instruments de cette époque, jusqu’à l’avènement des écrans, utilisent plusieurs types de signaux :



    des signaux synchros et/ou resolvers, utilisés notamment pour l’asservissement de la position des aiguilles.

    des signaux « discrets » (mise à la masse ou un +28V), pour les « flags », les voyants,..

    des signaux numérique Arincs, pour les indications numériques (Distance DME, position,…)

    et parfois des signaux plus « exotiques » (fréquences / tension des systèmes électriques,…).

    A ceci, il faut rajouter les alimentations électriques, qui sont bien souvent de 28V continu et/ou en 26V 400Hz.



    Comme vous pouvez le voir, pour un instrument « simple », il y a déjà pas mal de travail d’interface.



    La génération des signaux synchros ou resolvers et l’alimentation 26V 400Hz présentent les difficultés principales. Pour ceux qui ne connaissent pas les signaux synchros et resolvers, je vous invite à consulter le site aviatechno qui introduit très bien les spécificités de ces signaux (http://aviatechno.net/trans/syn_tx.php).



    La génération des signaux Arincs présente quelques difficultés, mais, étant estimée moins critique, je l’étudierai plus tard.



    Ayant été régulièrement en déplacement professionnel sur des durées assez longues, des soucis informatiques… (plus tous les ennuis que Murphy peut générer). Je n’ai pas eu le temps de faire de jolis schémas, ni de réaliser énormément d’essais (cependant cela fonctionne).



    J’orienterai donc le tutoriel plus sur la philosophie générale qui devrait vous permettre d’implanter sans trop de soucis l’interface. Je considère également que vous avez des connaissances en programmation et en électronique.
  2. Quel matériel ?

    La solution retenue s’articulera autour d’un PIC (PIC24F, dsPIC,…) qu’importe sa définition tant que celui-ci dispose de 2 ports SPI, d’une bonne mémoire et d’une bonne capacité de calculs. Pour ma part, j’ai retenu un dsPIC33FJ128, mais un PIC24F fait tout aussi bien l’affaire (ou un autre microcontroleur si vous êtes habitués à celui-ci).



    Pour le matériel nécessaire, en plus du matériel du parfait électronicien habituel (fer à soudure, platine de programmation, diodes, condensateurs, résistances…), il faut pour la réalisation de l’alimentation 26VHz :



    un transformateur torique (120 VA primaire 230,secondaire 2 x 30 V)

    des ponts de diodes

    et des amplificateurs audio (LM318) (avec les résistances adéquates).

    Pour la génération des signaux synchros ou resolvers, j’utilise des convertisseurs numériques analogiques MCP4922. Ceux-ci ont l’avantage d’avoir deux voies et de s’interfacer facilement en SPI. La résolution de 12bits est estimée suffisante pour les besoins (environ 1/10 de degrés d’angle synchro). Un autre convertisseur numérique analogique doit être utilisé pour la génération du signal 400Hz. Celui-ci peut être interne au microcontroleur (généralement 10bits de résolution) ou pas.



    Dans mon cas, j’ai opté pour une génération à partir d’un autre MCP4922. Ainsi avec 3 MCP4922, je peux générer 2 signaux synchros (ou resolvers) et l’alimentation 400Hz.



    En ce qui concerne la connectique, si vous n’avez pas de matériel adéquat (connecteur spécifique), il vous faudra trouver une solution pour vous connecter (soudure, démontage de la connectique pour vous interfacer directement à l’arrière de l’instrument,…).





    Pour mon cas, j’ai utilisé des connecteurs à sertir aéronautique (sur Toulouse on a toujours moyens de trouver une connaissance qui a une connaissance qui….). Ces connecteurs sont, lors d’une utilisation “normale”, insérés dans une prise. Là, ils sont simplement insérés sur les “pinouilles” à l’arrière du connecteur instrument.



    De la gaine thermo permet de faire isolation entre les connecteurs. Simple et efficace mais supporte pas les déplacements. Veillez donc à bien marquer les fils.



    Pour les fils, c’est de la récupération. Évitez les fils de trop petite dimension ainsi que les fils électriques domestiques qui sont trop épais et trop rigides (une gauge de 24 à 20 est adaptée – soit environ 0.2 à 0.6 mm2).



    Typiquement, les fils utilisés pour les servos en aéromodélisme font l’affaires. Attention aux brins des fils qui peuvent facilement faire des courts-circuits.
  3. L’installation :

    Le projet peut être présenté par le schéma suivant.



    Si vous connaissez un peu les signaux synchros (et resolvers), vous savez qu’en temps normal il y a trois signaux :



    E (S3 S1) = KE sin Θ

    E (S2 S3) = KE sin (Θ + 120°)

    E (S1 S2) = KE sin (Θ + 240°)



    Avec E = sin(wt), correspondant à une fréquence de 400Hz



    Dans le cas de notre montage, pour simplifier, seules deux voies sont disponibles, la troisième étant raccordée à la masse. Cela conduit alors à générer deux voies répondant à :



    E (S3 S1) = KE sin Θ

    E (S2 S3) = KE sin (Θ + 60°)


    Afin de gagner du temps de calcul, une table contenant la valeur de sin (Θ ) et sin (Θ + 60°) (pour Θ allant de 0 à 359) est chargée dans la mémoire du microcontroleur.



    Cette table est appelée régulièrement pour générer une tension oscillant entre 0 et 5V (ou Vref fixé sur le MCP4922). Cette tension est ensuite filtrée pour supprimer la composante continue et amplifiée pour obtenir la tension 26V 400Hz (E). Le microcontroleur faisant alors évoluer le sinus par pas de 5° (soit un appel toutes les 34.72µs).



    La valeur de l’angle synchro (en degrés) est reçue par RS232 ou par Ethernet (pour l’heure non fonctionelle, la pile TCPIP de Microchip n’ayant pas voulu collaborer facilement).



    Cette valeur d’angle synchro est convertie en utilisant le tableau chargé précédemment.



    Les valeurs des multiplications E sin Θ et E sin (Θ + 60°) sont alors envoyées sur les MCP4922 afin de fournir les tensions synchros. Ces valeurs sont ensuite expurgées de leurs composantes continue et amplifiée afin qu’à pleine échelle nous ayons une tension de 11.8V eff.



    En ce qui concerne le câblage du microcontroleur, il n’y a pas de difficultés si vous connaissez les bases. Il vous faudra une alimentation stabilisée à 3.3V pour l’alimentation. La tension nécessaire à l’alimentation du stabilisateur peut être récupérée en créant des spires autour du transformateur torique. Je n’ai pas essayé cette technique, essayant de gagner du temps, j’ai réutilisé la tension 3.3V déjà disponible sur d’autres platines disponibles chez moi (platine de dev Explorer 16).



    L’alimentation du MCP4922 demande également 3.3V. Vous pouvez utiliser celle du microcontrolleur. En ce qui concerne la tension de référence, j’ai opté pour une tension de ref de 5V. L’amplification qui suit est assez importante et il est préférable de limiter cette amplification en utilisant une tension de 5V en référence.
  4. En ce qui concerne l’amplification : elle repose sur un montage AOP inverseur.



    Il faut régler les gains de telles sortes que nous ayons 26VEff pour l’alimentation 400Hz 11.8VEff sur la voie A pour un angle synchro de 90° et pour un angle synchro de 30° sur la voie B.
  5. Pour l’alimentation, cela repose sur le schéma suivant.



    Les condensateurs de filtrages retenus sont de 4700µF / 100V. Cela permet de réduire fortement le résidu d’oscillation.




  6. Évolutions envisagées :

    Rapidement, il faut finaliser le tout.



    Un cuivre est en cours de réalisation, cela permettra de supprimer la filasse utilisée actuellement.



    Il faut implémenter l’Ethernet. L’utilisation de trame UDP reste le plus simple, mais les diverses tentatives réalisées n’ont pas toutes été couronnées de succès. D’autres essais avec le compilateur de MikroElectronica ont été plus fructueux.



    Pour l’heure cela fonctionne, pas parfaitement, mais les aiguilles bougent, ce qui est un bon début.
  7. Si c’était à refaire :

    Je partirais sur une solution à base de modulateur (multiplieur), car il n’est alors plus nécessaire de faire faire des calculs au microcontroleur, ce qui permet d’augmenter le nombre d’interfaces. Cependant les tarifs de ces composants sont élevés. Une autre solution serait d’utiliser à fond le numérique en utilisant au maximum les capacités SPI des microcontroleurs, ce qui se traduirait certainement par un choix différent de convertisseur numérique analogique (le MCP4922 ayant été choisi pour sa capacité à prendre en entrée une Vref allant de 0 à +5V, cela donne une marge de manœuvre intéressante). L’utilisation de FPGA peut être également possible, mais le tarif plus élevé rend la chose moins accessible.



    Dans le projet actuel pour moins de 100€, il est possible de réaliser une interface pour plusieurs instruments. L’origine des coûts étant principalement le transformateur torique, les condensateurs et ponts de diodes. Le microcontroleur et les MCP4922 pouvant être disponibles en sample depuis le site de Conrad.



    Le projet actuel a du potentiel, mais la réalisation, surtout logicielle, a été plus délicate que supposée. Les contraintes professionnelles et personnelles ont empiétées sur le temps prévu initialement à la réalisation du projet (même si des amis ont pu m’aider sur la partie hardware).
Réalisé par
Posté le
Univers
Robotique & RC
Temps de fabrication
1 mois
Niveau de difficulté
Expert
Matériel(s)
1
PIC (dsPIC33FJ128 ou PIC24F)
1
Transformateur torique (120 VA primaire 230,secondaire 2 x 30 V)
1
Convertisseurs numériques analogiques MCP4922

Un commentaire

  1. l’ arinc 429 est une transmission « RZ » (return to zero) contenant 32 bit transmis en symétrique, a des vitesse de 12.5kb/s ou 100Kb/s selon les bus utilisé l’ état « 1 » haut est d’ environs 10 a 15V et l’ état bas « 0 » environ -10 a -15V avec un passage a 0 entre chaque bit transmis
    le mot contient 5 information : le « label sur 8 bit qui défini le type de donnée, le « SDI » qui défini la source ou la destination pour les équipements qui sont doublé ou triplé sur 2 bit (position 1,2,3 ou tous le monde), la donnée utile sur 24 bit, le « ssm » sur 2 bit qui informe de la validité du mot et 1 bit de parité
    le plus difficile étant de trouver les label et le formatage a utiliser

Vous devez être connecté pour laisser un commentaire.