Electronique > Réalisations > Affichage / mesures > Indicateur niveau liquide 003

Dernière mise à jour : 22/05/2022

Présentation

Cet indicateur de niveau de liquide, étudié en 2009 (...) permet de visualiser le nombre de litres d'essence restants dans un réservoir de moto non équipée d'origine d'une jauge. 

   

indicateur_niv_liquide_003_pcb_3d_front  

   

Le principe repose sur le comptage d'impulsions délivrées par un débimètre, la quantité de liquide (réservoir plein) étant connue au départ. Le décompte de la valeur affichée (niveau du réservoir) s'effectue au fil des impulsions reçues.

Ce circuit a été conçu pour travailler avec un débimètre produisant 1800 impulsions par litre et pour un réservoir de capacité 30 litres. Les informations "1800 impulsions / litre" et "capacité 30 litres" sont figées dans le logiciel du microcontrôleur auquel a été confié le travail, mais ces valeurs peuvent au besoin être modifiées.

Une version actualisée et proposant des réglages à l'utilisateur est présentée à la page Indicateur de niveau liquide 003b.

   

Pourquoi concevoir ce genre d'outil...

... alors qu'on trouve dans le commerce des débimètres pour essence / diesel avec affichage intégré, à "bas prix" ? 

   

debimetre_blau-llw-25_001

    

Tout simplement parce qu'à la date à laquelle on m'a demandé d'étudier ce projet (c'était en 2009), on ne trouvait pas facilement d'appareil de ce type pour le grand public (tout du moins à un tarif raisonnable). Et aussi parce que certaines personnes trouvent plaisir à faire soi-même.

Remarque : le débimètre montré ci-devant doit être drôlement pratique à installer sur une moto dans le cas où on veut pouvoir consulter l'affichage pendant la conduite...

   

Schéma

Pour ce montage, un PIC 12F675 (un 12F629 convient également) est épaulé par deux registres à décalage CD4094. L'affichage du nombre de litres d'essence restants est assuré par deux afficheurs LED à 7 segments très visibles. 

   

indicateur_niv_liquide_003
   

La résolution d'affichage de 1 litre avec deux chiffres a été choisie pour deux raisons. D'une part pour une question de place, d'autre part parce qu'une précision au 1/10 de litre a été jugée luxueuse et inutile. Quand on voit sur l'afficheur qu'il reste 1 ou 2 litres, on sait quoi faire... 

La résolution pourrait toutefois être facilement portée à 0,1 litre, simplement en ajoutant un registre à décalage et un afficheur LED à 7 segments (et en allumant le point décimal du second afficheur).

.
Impulsions du débimètre

Le débimètre utilisé ici est une sorte de capteur doté d'une entrée et d'une sortie pour le liquide dont on souhaite mesurer le débit. Un contact électrique "sec" interne est établi avec une fréquence de récurence qui dépend de la quantité de liquide qui traverse le débimètre. Quand aucun liquide n'y circule, aucune impulsion n'est produite par le système, la sortie est un contact "sec" figé, ouvert ou fermé.

   
debimetre_001a
   

En comptant les impulsions, on en déduit la quantité de liquide qui passe à travers le capteur. Le modèle utilisé ici, par exemple, délivre 1800 impulsions par litre, avec une précision de l'ordre de 2%. Vu que l'affichage se limite d'une indication au litre près, cette précision de 2% est suffisante. 

Le principe de fonctionnement de l'indicateur de niveau est finalement simple et consiste :

Le principe est en effet très simple, mais il reste cependant un petit détail à régler : comment gérer (détecter) la mise hors tension (arrêt du véhicule) et savoir combien d'impulsions ont déjà été comptées lors de la remise sous tension (redémarrage du véhicule) ?

 
Petite anecdote...

Avant de passer à la réalisation pratique, j'ai effectué une simulation du fonctionnement de l'ensemble dans mon logiciel de CAO Proteus.

Le cahier des charges du demandeur indiquait que le débimètre qu'il avait choisi produisait 1800 impulsions par litre. Dans ma première simulation, je suis allé un peu vite et ai utilisé une source d'horloge configurée à 1800 Hz (1800 impulsion par seconde) pour simuler le débimètre. Dans la pratique, un tel cadencement aurait signifié une autonomie de route de la moto de 30 secondes ! J'avoue avoir mis un peu de temps pour me rendre compte que quelque chose clochait dans mon raisonnement...

Ne riez pas trop fort, SVP.

      

Sauvegarde des informations sur coupure alimentation

En usage permanent et avec une alimentation secteur, la question ne se poserait pas, puisqu'il suffirait d'une petite pile ou d'un accumulateur pour sauvegarder les données en absence d'énergie EDF. Mais si l'indicateur est monté sur une voiture ou sur une moto, l'alimentation se fait sur batterie et uniquement quand le contact est mis, car il est hors de question de laisser en permanence l'indicateur sous tension. Comment donc conserver (sauvegarder) pendant une longue durée une information temporaire (nombre de litres restants et impulsions du débimètre déjà comptabilisées) jusqu'au prochain démarrage du véhicule ? La réponse, aussi simple qu'élégante, réside dans l'utilisation d'une mémoire non volatile EEPROM incluse dans le PIC. 

Mais à quel moment effectuer la sauvegarde des données dans cette EEPROM ?

Chacune de ses solutions présente malheureusement au moins un défaut :

Bref, il nous faut une solution automatique que l'on oublie, qui soit fiable et activée seulement quand nécessaire. Cette solution existe, elle s'appelle "réservoir d'énergie et détection automatique de coupure d'alimentation", dont le principe peut être résumé en quelques mots :

Bien sûr, il faut que la durée de fonctionnement de l'alimentation secourue soit plus longue que celle demandée pour la procédure de détection et de sauvegarde. Il suffit pour cela de disposer d'un réservoir d'énergie suffisant, tel qu'un condensateur de forte capacité. 

Pour bénéficier d'une bonne précision sur l'indication de quantité de carburant restant, deux informations sont sauvées en mémoire : le nombre de litres restants et le nombres d'impulsions reçues depuis le dernier décompte des litres.

   

Comptage des impulsions et affichage des litres restants

Le comptage des impulsions est une tâche simple à réaliser. Il faut juste penser aux éventuels rebonds mécaniques produits par les contacts électriques du débimètres, afin de ne pas afficher un décompte de litres plus rapide que la normale. Ces rebonds sont absorbés, le cas échéant, par la cellule R15/C2 placée en série sur l'entrée principale (la valeur de ces deux composants permet un filtrage correct sans trop arrondir les flancs des impulsions). Dans le logiciel du PIC, une variable appelée PulsesCount permet de stocker le nombre d'impulsions reçues. Quand cette variable atteint la valeur de 1800, elle est remise à zéro et le nombre affiché de litres restants est décrémenté de 1.

Le nombre de litres restants est quant à lui stocké dans une variable appelée TankRemain, dont la valeur peut à tout instant être réinitialisée à sa valeur maximale, juste après avoir fait le plein (actuellement, cette valeur maximale est égale à 30). Vu le nombre de broches que comporte le microcontrôleur PIC utilisé, il n'est guère envisageable d'y raccorder directement deux afficheurs à sept segments (même en les multiplexant, il faudrait 9 broches de commande). C'est la raison pour laquelle les chiffres à visualiser sont transmis sous forme sérielle par le PIC (ligne Data), puis convertis en parallèle par les registres à décalage CD4094. Petit inconvénient de cette méthode : la consommation globale est légèrement augmentée.

   

Choix des composants et réalisation pratique

Le montage étant destiné à être installé sur une moto, l'environnement de fonctionnement peut être sévère (température et humidité). Pour cette raison, le choix des composants est important, tout autant que l'est la réalisation pratique.

    

Logiciel du PIC

Fichier binaire compilé (.hex) disponible en libre service dans l'archive zip suivante.
Indicateur niveau liquide 003 - PIC 12F675 - (22/05/2022)

Si vous souhaitez recevoir par la poste un PIC préprogrammé et prêt à utiliser, merci de consulter la page PIC - Sources.

   

Circuit imprimé (PCB)

Réalisé en double face. Tous les composants prennent place sur la même face de la platine.

   
indicateur_niv_liquide_003_pcb_components_top
   

Dessin PCB au format PDF - 22/05/2022

   

Historique

22/05/2022
- Première mise à disposition.