*************Pour revenir à la page d’accueil *********** ICI
Ce qui suit est obsolète, remplacé parla nouvelle jauge capacitive et résistive avec un Arduino, sans circuit imprimé et coût total inférieur à 10€.
La jauge
elle même est modifiée, voir JCAPRES-duino sur ce site
Il n’y a pas que les Alpine et les ULM pour bénéficier
des bienfaits d’une jauge à carburant statique : regardez cette
originale réalisation d’Henri Vigneron pour sa splendide Citroën
Trèfle !
Le 13/03/11 Corrections dans le texte de l’étalonnage : l’organigramme était juste mais dans le texte il manquait le ré-appui sur BPE, merci Joël F-L.
Le 1/12/10 correction d’un bug d’allumage sur LED4.
Témoignage d’un pilote d’ULM (NOTEZ que je décourage fortement toute utilisation de cette jauge pour un engin volant...).
"Enfin, j’ai réussi à prendre un peu de temps pour monter la jauge à carburant sur l’ULM. "Résultat super, indications ultra précises et effet visuel très sympa sur le tableau de bord (4 Leds montées sur un petit support en alu brossé) mais surtout enfin une indication de la quantité de carburant restante. Avec réservoir transparent dans le dos pas facile de voir le niveau de carburant restant. Maintenant que du bonheur. Philippe, encore une fois un très grand merci pour ta compétence et ta disponibilités.
Un petit pilote heureux A+ Jean-Marc "
Le 28/04/10 nouvelles versions logiciel, pas de changement sur le matériel.
Le 27/2/10 Je découvre que j’ai réinventé la roue ! Ce type de jauge existe depuis longtemps, surtout en aviation. Voir http://www.avelec.co.uk/aircraft_fuel_gauges.htm
Version JcapLEDres le 17/2/10.
Cette version affiche sur les 4 LED d’étalonnage le niveau de carburant. Par exemple les deux LED du bas sont allumées quand il reste entre 1/2 et 3/4 de carburant. La sortie CADRAN peut ne pas être connectée, si l’on se contente des LED. Ceci impose bien sur soit de positionner le boitier dans l’habitacle, soit de déporter les 4 LED dans l’habitacle. Une fois sur la réserve, on affiche le niveau sur les 4 LED d’étalonnage (en sus du cadran) :
Exemple pour une reserve de 12 litres :
— les LED 3,2,1 clignotent si niveau > 9 litres (3/4 Reserve)
— les LED 2,1 clignotent si niveau > 6 litres (1/2 Reserve)
— la LED1 clignote si niveau > 3 litres (1/4 Reserve)
— les 4 LED clignotent si niveau < 3 litres
La version JcapLEDresINV est pour les cadrans inversés, c’est à dire ceux qui affichent 4/4 lorsqu’il n’y a pas de jauge connectée.
************************************************
TOUT CE QUI SUIT EST OBSOLÈTE : ELECTRONIQUE ET JAUGE ELLE MÊME, REMPLACE par JCAPRES-duino.
Les jauges à carburant de nos autos anciennes laissent souvent à désirer :indications peu précises, aiguille en mouvement fréquent et enfin la panne pure et simple avec le problème de retrouver une jauge plus ou moins compatible.
Le tendon d’Achille de ces jauges est leur équipage mobile constitué du flotteur, son bras et la résistance variable (Rvar rhéostat)
En conservant le cadran d’origine, nous proposons ici de remplacer l’équipage mobile par une jauge capacitive totalement statique, aux indications précises (à 2l près), et stables.Le condensateur de valeur variable avec le niveau du carburant est constitué de deux tubes de laiton concentriques et isolés l’un de l’autre.
Pour fixer les idées prenons 100pF (pico Farad) comme valeur de ce condensateur à l’air libre. Lorsqu’on le plonge dans le carburant, la valeur du condensateur, sa capacité, augmente proportionnellement à la longueur immergée : totalement immergé le condensateur passe à 200pF et immergé à mi-hauteur il passe à 150pF. En résumé, l’augmentation de capacité par rapport à 100pF(air libre) est parfaitement linéaire (proportionnelle) avec la longueur d’immersion. Cette augmentation est due au rôle de diélectrique joué par l’essence. La plupart des matériaux ont une constante diélectrique comprise entre 0 et 5 environ, l’essence avec une valeur autour de 2 est donc dans la moyenne.
Une caractéristique fondamentale de l’essence est sa résistivité quasi infinie : quand on essaie de mesurer la résistance électrique de l’essence en y trempant les deux sondes d’un ohmmètre très sensible (calibre 200Meghoms) on trouve toujours l’infini. Cette très grande valeur autorise le principe de mesure envisagé alors que de l’eau, même pure par exemple a toujours une résistivité mesurable et souvent basse en pratique. La présente jauge capacitive serait inutilisable pour mesurer un niveau d’eau.
Pour les inquiets « sécuritaires » indiquons tout de suite que le courant de mesure de cette jauge, au maximum de 12µA(micro ampère) est environ 10 000 fois inférieur à celui d’une jauge classique !
Outre la précision de lecture et la stabilité de l’aiguille, deux fonction originales ont été ajoutées :
--Quand on met le contact, l’aiguille vient se positionner devant la graduation ¼ puis ½, ¾ , 4/4 et enfin au niveau actuel.
— Quand le niveau tombe au dernier ¼, que nous nommerons « réserve », l’échelle totale du cadran est utilisée pour ces derniers litres. Par exemple on lira ½ quand il restera 6l. Pour rappeler que l’on est sur la réserve, l’aiguille tombe à 0 pendant 3s toutes les 12s.
Un microcontrôleur PIC 16F88, IC3, mesure périodiquement la capacité de la jauge dans l’essence.
Pour cela il commande un mono stable IC2, circuit électronique fournissant une impulsion de durée Tµs directement proportionnelle à la capacité.
En fonction de cette durée, il calcul la valeur du courant I à envoyer au cadran pour la déviation d’aiguille correspondant à la capacité. Finalement ce courant est appliqué au cadran via un transistor Q et un condensateur de lissage C6.
La fréquence du PIC est fixée par le quartz XT de 4MHz. Son cycle de base est 1µs.
IC1 et ses 3 condensateurs fournissent une tension régulée de 5V à partir du 12V de la batterie.
Les deux bouton-poussoirs et les 4 LED servent à l’étalonnage qui sera présenté expliqué plus loin.
Dans ce qui suit on considérera le cas d’un réservoir de 4*12 l + 2l de volume mort soit 50l au total
TUBES DE JAUGE
Ces deux tubes sont en laiton ou en cuivre.
Tube extérieur : diamètre externe indifférent, interne 8 mm, longueur 500mm
Tube intérieur : diamètre externe 6 mm, interne indifférent, longueur 510mm
La seule contrainte à respecter est que la différence de capacité mesurée entre le niveau "Panne Sèche" et Maxi soit inférieure ou égale à 230pF.
Percer le tube extérieur de plusieurs trous de diam 3 ou 4mm pour que l’essence ne stagne pas entre les tubes quand le niveau baissera. Ebavurer soigneusement l’intérieur du tube.
Enrouler du ruban adhésif aux deux extrémités du tube intérieur pour bien le centrer dans le tube extérieur. Coller les deux tubes sur 10mm à chaque extrémité avec de l’epoxy, le tube intérieur dépassant de 10mm à une extrémité
Découper un morceau de tôle et former une patte. La souder à l’étain sur le tube extérieur (ou la coller à l’epoxy). La jauge reposant sur le fond du réservoir, cette patte est suffisante pour la maintenir en position.
Cette patte sert de support et de connexion de MASSE. Souder la connexion JAUGE sur l’extrémité du tube intérieur
Découper un support circulaire dans un matériau isolant, ici une chute de Plexiglass de 10mm d’épaisseur, diamètre 65mm. Utiliser le joint d’origine pour tracer les 3 trous de fixation et percer deux trous de diam 3 ou 4mm pour les sorties des connexions.
Ceci est un autre montage : l’armature interne est fixée par ces cosses soudées et elle centrée par du ruban TEFLON (ep 1/10mm, le meilleur)appliqué aux deux extrémités et au centre.Dans le cas d’un réservoir en tôle, enfiler 20mm de durit d’essence à l’extrémité inférieure du tube pour l’isoler électriquement du fond du réservoir.
BOITIER ELECTRONIQUE
Etant donné le faible nombre de composants, il est théoriquement possible, mais FORTEMENT DÉCONSEILLÉ, d’utiliser une plaque à trous au pas de 2.54mm et de câbler en point à point. Il est assurément bien préférable d’utiliser un circuit imprimé comme présenté ci-dessus.
Soit vous confiez le typon à un spécialiste qui réalisera ce circuit imprimé pour quelques euros, soit vous achetez un kit chez Perlor Radio (voir ci dessus).
Je rappel à cette occasion mon statut de bénévole à 100% pour JCAP, AEPL et STROBOPIC .
Pour les plus aventureux, mais c’est très intéressant à faire, voici comment réaliser le circuit imprimé. Le typon est le fichier jcap1.lay au format spécifique du programme SPRINT-LAYOUT de circuit imprimé. Pour lire ce typon et surtout l’imprimer exactement à l’échelle 1, utiliser le viewer freeware VIEWLAYOUT40.EXE inclus avec les autres fichiers ci-dessous. Au passage je recommande ce logiciel, simple et de cout raisonnable.
Imprimer le typon sur une feuille de calque. Si les pistes ne sont pas parfaitement opaques, doubler l’épaisseur d’encre en repassant la feuille dans l’imprimante (laser ou jet d’encre, peu importe).
Scotcher le typon (du bon coté, c’est à dire encre contre la plaque) sur une plaque enduite de résine photosensible et l’insoler aux U.V. (1 à 2 mn).
Tremper 1 ou 2mn dans le révélateur (soude) qui dissout la résine exposée aux U.V.
Enlever la résine des pistes au Scotch Brite, et percer tous les trous au diam 0.8mm.
Souder les composants en orientant l’encoche de repère des deux supports de circuit intégrés comme indiqué sur la photo. Respecter la polarité des condensateurs chimiques.
Programmer le PIC avec le fichier hexadécimal jcapxx.hex, xx variant avec les versions (ou me contacter par e-mail).
Connecter ce fil au bornier Cadran.
Connecter au bornier Masse le fil de masse de la jauge d’origine et le fil provenant du tube extérieur de la jauge. Connecter au bornier Jauge le fil provenant du tube intérieur dejauge
Enfin, tirer un fil vers un +12V après contact, par exemple sur le Neiman.
Le boîtier en plastique (87X57X30mm) trouve parfaitement sa place près du régulateur de tension.Afin de prendre en compte la forme irrégulière de pratiquement tout réservoir, ainsi que les caractéristiques électriques du cadran de votre auto il est indispensable de procéder à un étalonnage de la jauge.
Cette procédure n’est à effectuer qu’une seule fois, les valeurs obtenues seront stockées dans la mémoire permanente, EEPROM, du PIC (équivalente aux cartes mémoire des appareils photo numériques).
Le principe est d’enregistrer pour les 4 valeurs ¼,1/2,3/4,et 4/4 la capacité exacte et le courant de déviation de l’aiguille. Entre ces valeurs, par exemple 1/8, le PIC procéde à une interpolation linéaire.
Ce réservoir présente un volume mort de 2l, c’est à dire que l’extrémité du tube plongeur (en général terminé par une crépine) est à la limite de ces 2l.
Partant d’un réservoir vide on verse de l’essence jusqu’à ce niveau , ce dont on s’assure en soufflant à la bouche dans le tube : on verse l’essence jusqu’à entendre le bruit caractéristique. Voir aussi l’organigramme en annexe.
Etape 1 (Auto sur sol horizontal pendant toutes les étapes)
Pour lancer l’étalonnage, maintenir appuyé le bouton-poussoir PLUS (BPP) pendant que l’on met le contact. On le relâche et le pousse deux fois : les 4 LED s’allument. On pousse le bouton-poussoir ENTREE (BPE) pour valider , les 4 LED clignotent, et on pousse BPE une deuxième fois pour enregistrer la capacité mesurée par le PIC pour ce volume mort. La LED rouge du repère ¼ s’allume, près pour l’étape 2
Etape 2
On pousse BPE pour faire clignoter la LED rouge soit 1/4. On ajoute 12 l d’essence dans le réservoir. En appuyant plusieurs secondes sur BPP on fait monter l’aiguille du cadran jusqu’au repère ¼ (si par hasard on dépasse le repère, continuer à appuyer BPP, l’aiguille une fois arrivée en haut redescendra à 0 et on recommence en visant ¼). Une fois l’aiguille au bon endroit on pousse BPE pour enregistrer dans le PIC. La LED verte ½ s’allume, près pour l’étape 3
Etape 3 On pousse BPE pour faire clignoter la LED 1/2. On ajoute 12l d’essence pour un total de 24l utiles, soit ½ reservoir. En appuyant plusieurs secondes sur BPP on fait monter l’aiguille du cadran jusqu’au repère 1/2 . Une fois l’aiguille au bon endroit on pousse BPE pour enregistrer dans le PIC. La LED verte 3/4 s’allume, près pour l’étape 4
Etape 4 On pousse BPE pour faire clignoter la LED 3/4. On ajoute 12l d’essence pour un total de 36l utiles, soit ¾ de réservoir. En appuyant plusieurs secondes sur BPP on fait monter l’aiguille du cadran jusqu’au repère 3/4 . Une fois l’aiguille au bon endroit on pousse BPE pour enregistrer dans le PIC. La LED verte 4/4 s’allume, près pour l’étape 5
Etape 5 On pousse BPE pour faire clignoter la LED 4/4. On ajoute 12l d’essence pour un total de 48l utiles, soit le plein. En appuyant plusieurs secondes sur BPP on fait monter l’aiguille du cadran jusqu’au repère 4/4 . Une fois l’aiguille au bon endroit on pousse BPE pour enregistrer dans le PIC. Les 4 LED s’allument, l’étalonnage est terminé, couper le contact.
En cas de fausse-manœuvre au cours d’une étape, si l’on coupe le contact avant d’appuyer pour la deuxième fois sur le BPE (enregistrement), aucune valeur n’est enregistrée pour cette étape.
Il est possible de revenir corriger une ou plusieurs valeurs sans recommencer toute la procédure(avec une exception pour le volume mort : si celui ci doit être modifié, il faut refaire TOUTE la procédure d’étalonnage). Par exemple si l’aiguille n’est pas parfaitement alignée sur le repère ½ alors que le réservoir contient bien 24l utiles, on procède comme suit :
Vérifier le niveau dans le réservoir.
Lancer l’étalonnage en maintenant BPP appuyé pendant que l’on met le contact, puis appuyer deux fois sur ce BPP : les 4 LED s’allument.
Pousser BPP une fois, la LED rouge ¼ s’allume
Pousser BPP une deuxième fois, la LED verte ½ s’allume.
Pousser BPE, la LED ½ clignote.
Avec BPP amener l’aiguille sur le repère ½.
Pousser BPE pour enregistrer. La LED ¾ s’allume Couper le contact.
Et pour finir un conseil : Se procurer une baguette en bois ou métal (ou autre supportant l’essence), de longueur suffisante pour jauger le réservoir. A chaque fois que l’on verse 12l d’essence dans le réservoir, plonger la baguette et repérer le niveau sur cette baguette, autrement dit créez une jauge type 2CV Citroën. Pour pratiquer l’étalonnage tranquillement, utiliser un récipient type magnum de vin, rempli d’essence et assez profond pour y plonger la baguette, et la jauge.De la même façon qu’il n’est, heureusement, pas nécessaire de comprendre le mécanisme de la marche pour marcher, la lecture de ce qui suit n’est pas du tout indispensable pour construire et utiliser cette jauge capacitive .
Pour les curieux, vous disposez du listing complet en assembleur, très commenté, et modifiable à volonté, c’est le fichier jcapi.asm.
Le PIC commence par charger en RAM les valeurs enregistrées en EEPROM lors de l’étalonnage. Ces valeurs correspondent à la durée en µs pour le volume mort, et 4 couples de valeurs : durée de l’impulsion en µs pour ¼,1/2,3/4,4/4, et donnée d’affichage pour l’aiguille.
Pour réaliser l’affichage, le fil Cadran est mis à la masse par le PIC pendant une durée variable de 1 à 200 unités de 10µs pour chaque période de 2ms. Le rapport cyclique varie donc de 1 à 100%. C’est de la PWM, modulation de largeur d’impulsion. Cette technique permet de simuler un courant de valeur moyenne variable dans le galvanomètre du tableau de bord. D’un point de vue anecdotique, cette période de 2ms peut sembler très courte étant donné l’inertie du galvanomètre. Or à ma grande surprise, j’ai constaté qu’une période de 10ms est trop longue car l’on observe des vibrations de l’aiguille.
Une fois ces valeurs en RAM, le PIC exécute une boucle sans fin :
Il déclenche le mono stable (555) qui génère alors une impulsion de durée Tin telle que Tµs = 1.1*CpF, car la résistance R1 est de 1 meghom. Avec 100pF de variation pour 50l, Tin varie de 110µs. Ceci fournit une résolution théorique de 0.5l
Et si tout ça ne marche pas, on peut utiliser une jauge de Simca 1000 Rallye 1 (à partir de 1972) Référence SIMCA : 43865-Y Référence TALBOT : 0055852400 Référence VEGLIA : 56035 Bonne surprise, la loi de jaugeage correspond a celle de l’A110 sur les points 0 - 1/2 -4/4 Seule modif. à prévoir, changer le flotteur de coté..
Bonjour à tous les auteurs et lecteurs de ce site.
Impressionnant ce montage. Je l’avais déjà vu il y a quelques mois en me disant que ce serait bien pour l’adapter à une moto mais comme d’habitude j’ai laissé cette idée au fond de ma tête... Aujourd’hui j’ai mon voyant de passage en réserve qui est HS et je me repose la question.
Le réservoir de ma moto n’est que de 18L et surtout avec une forme particulière. L’affichage avec une jauge ronde n’est pas bien adaptée à la forme du tableau de bord et à la place ridiculeusement petite. Un affichage à leds rectangulaires comme un bargraph ou un affichage digital ( ?), le tout de forme rectangulaire passerait mieux.
J’ai régardé votre source en asm. Est-ce que vous l’auriez en langage de "haut niveau" comme le pascal ou le C ? Comme je vois qu’il est bien documenté, je crains que la réponse soit négative mais on ne sait jamais.
Merci pour vos réponse et à bientôt. Laurent
Bonjour et merci pour la réponse très rapide !!
Effectivement il est intéressant de descendre vers l’assembleur pour la précision mais cela devient plus complexe pour moi. J’ai commencé à regarder le listing mais il y a quand même beaucoup de code pour un débutant. J’apprécie que tu parles d’un "deal" alors que pour l’instant c’est toi qui donne tout.
Comme tu le sais certainement, sur une moto le réservoir est petit ce qui nous oblige à faire le plein souvent. Pour éviter de le faire trop souvent, on attend le dernier moment ce qui accentue encore le problème.
La partie affichage en USART ne semble pas m’intéresser (Je me trompe peut être). Ne pourrait-on pas récupérer les broches en sortie ainsi libérées pour y accrocher les leds supplémentaires ? En ayant plus de leds, on pourrait se passer de la fonction précision (Super bien vue dans le cas d’une auto avec réservoir de 50l) pour les 4l restants. Qu’en penses-tu ?
Laurent
PS : je devrais être sans Internet pendant 4 jours (Week-end prolongé). 4 jours mis à profit pour tenter de réparer cette jauge.
Bonjour Laurent,
si tu débutes, effectivement il faut reconnaitre que la courbe d’apprentissage serait un peu raide !
La raison du "deal" est simple : je suis content d’aider ceux qui se lancent...
Tu as parfaitement raison pour la partie USART, 100% dédiée à la mise au point, on peut virer tout le code et récupérer la patte 11, mais il reste encore de nombreuses pattes non utilisées, si on en avait besoin.
Ajouter une LED supplémentaire est simple à faire coté matériel mais plus compliqué coté logiciel, je dirais même plus, à oublier !
Donc je réitère ma proposition : tu construis la jauge pour la moto et quand ça fonctionne, je développe le complément de code pour gérer les 4 derniers litres avec les 4 diodes, clignotantes....
Bonjour Philippe,
J’ai passé mon week-end dernier à entre autres, réparer mon capteur de niveau bas de mon réservoir. C’est ok maintenant. J’en ai profité pour regarder la longueur de la jauge capacitive : 28 centimètres à peu près.
J’ai cherché 2 tubes de cuivre de 6 et 8. Le 8 est standard mais après avoir fait 4 magasins (bien connus), je n’ai pas encore trouvé le 6.
Est-ce qu’il serait possible d’obtenir le code simplifié pour regarder vraiment les parties "essentielles" ? Je ne pourrai pas consacrer beaucoup de temps à ce projet ce qui risque de trainer dans la durée mais je voudrais tout de même bien regarder.
Intéressante ton évolution avec les leds. Je préférais une visualisation classique (Décroissante par leds) mais finalement je commence à y adhérer.
A bientôt
Laurent
Laurent concernant les tubes le paramètre le plus importante est 1mm maxi d’espace entre les tubes dans la zone annulaire.
Je comprends ta demande de "code essentiel" malheureusement il serait malhonnête pour moi de te masquer la vérité : dans un logiciel en assembleur comme celui ci, on ne peut hélas pas y mettre un orteil, sans s’y plonger tout entier !
La moindre modification peut se répercuter sur l’ensemble donc hélas pas de Voie Royale, désolé.
Bonjour, le programme est il compatible avec un PIC16F84, je ai tenté de le programmer, j’ai eu des erreurs à la compilations, et le checksum n’etait pas valide... Avez vous une idée de l’origine du probleme ?
Si c’est impossible puis je vous acheté un PIC que vous auriez vous meme programmé ? Cordialement guillaume Grosbois
Bon, voilà c’est fait, le niveau s’affiche sur les 4 LED d’étalonnage en plus du cadran. Ce dernier peut ne pas être connecté. Dans ce cas la procédure d’étalonnage est simplifiée : on ignore le bouton BPP qui servait à faire monter l’aiguille du cadran. En fonction de l’intérêt généré par cette variante, je pourrais, pour le dernier quart de réservoir, utiliser l’affichage sur les 4 LED afin d’améliorer la précision.
Comme c’est un peu plus compliqué, j’attends de voir la motivation !!!