Bonjour à tous,
Comme exposé un peu dans ma présentation, j'aimerais réaliser un mini calculateur de consommation de carburant sur un véhicule à injection.
J'avais déjà réalisé il y a quelques années ce montage qui fonctionnait avec des circuits : deux CD4060 (compteur, diviseur, oscillateur), un CD4011 (4 portes NAND), et un NE555 (générateur de créneau) et un transistor en sortie.
(Le premier CD4060 est en oscillateur à 4Mhz et divise par /16, ensuite avec les impulsions d'injection sur 3 NAND pour envoyer au dernier cd4060 qui divise par /4036 et envoie au NE555 qui génère une impulsion assez longue pour le compteur)
Pour la partie affichage, totalisation partielle et totale, sauvegarde, j'utilisais un compteur de vélo !
Il m'affichait non pas des KM/H mais des L/H, ce qui me permettait de savoir précisément ma consommation et surtout ce qui me restait. Il faut dire que sur une moto ce n'est pas si souvent indiqué (option éventuelle) et que les témoins de réserve ne sont pas toujours fiables ou s'allume trop tôt ce qui n'est pas mieux.
Donc mon circuit électronique comptait les temps d'injection cumulés (injection : durée variable et fréquence variable) et envoyait une impulsion tous les X ms d'injection au compteur (de vélo) qui traitait le reste.
Avantage du compteur de vélo, il est autonome (pile); étanche, bouton de remise à 0 du partiel étanche aussi, pas bien grand et facilement installable au guidon ou autre endroit, son affichage est bien visible, on peut affiner le réglage en modifiant facilement la constante "tour de roue en mm" qui ici correspond à des ml consommés, il donne l'heure et il est peu cher.
Donc avec Arduino (Attiny ensuite) j'ai cru que j'avais trouvé la solution simple avec
duree = pulseIn(impulsion, HIGH);
Mais j'ai vite vu qu'il ne mesurait qu'une impulsion pas plusieurs cumulées... Enfin c'est ce que j'ai compris en visualisant avec un oscilloscope.
Depuis je cherche comment faire et je ne trouve pas la bonne manière, si possible simple.
J'ai pensé mettre une sorte de compteur (comment ?) qui ne se mette en route que lorsque l'entrée impulsion injection est à 1, et lorsque la variable temps d'injection serait égale à une valeur définie (si = X ms), envoyer une autre impulsion calibrée (pas trop brève) au compteur totalisateur (de vélo) et remettre le compteur interne à 0 pour refaire une mesure...
La même chose en fait que mon premier circuit mais c'est peut-être une mauvaise manière de voir la solution.
Je ne sais pas si c'est bien clair, je pensais y arriver seul mais je ne trouve pas d'autant que je ne maitrise pas la structure de la programmation et ses possibilités.
Merci
Michel