Poster un message

En réponse à :

JCAP-RESduino

lundi 28 août 2017 par Philippe Loutrel
Jauge à essence capacitive ou résistive à base d’Arduino

En réponse à :

> JCAP-RESduino

mercredi 16 août 2017

Bonjour à tous,

Merci Philippe de partager tes trouvailles ...

Contrairement à la majorité de ceux qui fréquentent ce forum, je ne suis pas un fana de voitures mais plutôt d’engins volants.

Je vole en particulier avec un MCR 01 que j’ai construit et le régime administratif des avions de construction amateur permet un certain nombre de raffinements électroniques (instruments ou adaptation) impossibles à faire avec les avions "industriels" certifiés.

Les cartes ARDUINO font partie depuis quelques années de mes outils favoris et, Philippe, ils sont parfaitement à leur place dans une machine volante !!!

En lien avec le sujet JCAP-RESduino j’ai fait une fonction (entre autres que gère une carte MEGA 2560) qui lit une jauge capacitive avec un affichage numérique, d’une précision diabolique. La jauge est du genre de celle-ci : http://www.aircraftspruce.com/pages/in/fuelinstrumentation_skysports/skysportfuelsys.php La précision vient du fait que c’est un réservoir central aux formes non torturées. La façon la plus sûre de connaître la quantité d’essence dans ce réservoir est le bâton étalonné-gradué qui ne ment jamais .... au sol ! Le dispositif Arduinesque est toujours en accord avec le bâton au sol, et il n’y a pas de raison de ne pas lui faire confiance en vol ... De plus, j’ai un calculateur de carburant, qui "décompte" le carburant au fur et à mesure de sa consommation. Et quand la jauge et le calculateur sont d’accord (à un ou deux litres près) le pilote est content !

Pour cette réalisation, j’ai procédé "à la fainéante", c’est à dire que j’ai conservé l’instrument à aiguille (inexploitable) où j’ai "piqué" le signal (une tension). Ensuite remplissage des 80 litres 5 par 5, avec relevé des tensions "numérique" lues par l’ARDUINO pour l’étalonnage, et l’affaire est dans le sac.

Mais, pour la suite, je projette une réalisation un peu plus compliquée pour un avion qui a les réservoirs dans les ailes. Ce type de réservoirs présente des avantages, mais c’est le cauchemar du "jaugeur" ! Le bâton étalonné-gradué n’est pas exploitable du fait de la forme "à plat" du réservoir qui rend le jaugeage très sensible à l’inclinaison de l’avion au sol. Cet avion est équipé de deux jauges capacitives placées "en diagonale" dans les réservoirs avec des indicateurs à aiguille qui disent à peu près n’importe quoi. Cet avion est fort heureusement équipé d’un calculateur de carburant et la seule solution pour savoir assez précisément ce qui reste comme carburant et de partir avec les pleins et de tenir bien à jour les décomptes pour chaque réservoir ...

Ce que j’espère, c’est que du fait de la capacité d’intégration de la mesure ARDUInesque on puisse avoir en vol une mesure de meilleure qualité qu’au sol, car en vol, en moyenne, l’avion est à l’horizontale. Sur mon avion, où l’essence balotte pas mal en vol, chaque mesure vient au sommet d’une pile de 50 mesures en chassant celle qui avait été faite 50 cycles plus tôt. La valeur affichée est la moyenne des 50 valeurs collectées sur une quinzaine de secondes.

Voilà pour le contexte .... Allons un peu dans le "dur" :-)

Je ne veux pas procéder "à la fainéante" en laissant en place les indicateurs à aiguille, pour des raison d’élégance et aussi parce qu’il faut trouver la place pour l’afficheur de 2x16 caractères ..... Donc il faut trouver le moyen de traiter les jauges capacitives "brutes" ....

J’ai pensé en premier à la solution basique consistant en un oscillateur, ce cher 555 par exemple en montage astable attaquant un autre 555 monté en monostable, dont la sortie est basiquement intégrée par un circuit RC. Quand la capacité de la jauge varie, la fréquence varie et la tension résultant de l’intégration varie. L’ARDUINO peut lire cette tension dont il peut d’ailleurs améliorer le "lissage", en enchainant et moyennant une cinquantaine ou une centaine de mesures.

Mais, quand on prend les chiffres, l’ordre de grandeur de la capacité de la jauge conduit à des fréquences comprise entre 50 et 100 kz, si on ne veut pas prendre des valeurs de résistances éléphantesques ... Placé au milieu de divers dispositifs avioniques, radio, transpondeur, EFIS, sans parler du calculateur d’injection, cela pourrait poser des pb. J’emploie le conditionnel, car ce n’est qu’une crainte, je n’ai pas testé.

Et c’est là que je "tombe" (admirativement) sur le forum des Rois de la bidouille où est très précisément traité mon sujet de réflexion .... Et je comprends (ou crois comprendre) que la façon de mesurer la capacité de la jauge consiste, non pas à l’intégrer dans un circuit oscillant, mais à mesurer le temps de décharge du condensateur qu’elle représente. Et je me dis que pour avoir notre résultat il suffit de faire cela une dizaine de fois par seconde et qu’alors s’éloigne le spectre du générateur de parasite ... Une mesure pourrait consister en une charge de la capacité via une broche OUTPUT placée au niveau HIGH pendant le temps "nécessaire", puis en la plaçant au niveau LOW, on déclenche le compteur (avec la fonction micro) qu’on arrête lorsque le tension atteint une valeur proche de 0V choisi de façon arbitraire ....

Ai-je bien compris l’idée du concepteur du JCAP-RESduino ? je n’en suis pas sûr, car je n’ai pas clairement retrouvé dans le code ARDUINO (que je n’ai surement pas suffisamment analysé !) cette logique qui me paraît assez "basique".

Ce qui est certain c’est que je vais essayer :-)

Michel

PS : un détail relatif à la nature du carburant qui ne concerne que les utilisateurs d’engins volant ... Le comportement de la jauge capacitive est significativement différent entre la SP98 et la 100 LL, essence plombée indispensable aux moteurs d’avions légers massivement présents devant les pompes, et dont la conception remonte aux années 50. Le moteur ROTAX qui équipe mon avion a été conçu pour l’essence sans plomb, mais se voit contraint de temps à autre de consommer de la 100 LL ... Avec 2 étalonnages et un choix de carburant, le système ARDUINO se joue de cette difficulté !

SP98 100 LL



Pour participer à ce forum, vous devez vous enregistrer au préalable. Merci d'indiquer ci-dessous l'identifiant personnel qui vous a été fourni. Si vous n'êtes pas enregistré, vous devezvous inscrire au préalable.

[s'inscrire] [mot de passe oublié ?]