Bonsoir,
Je lit ce topic sans oser intervenir vu mes connaissances limitées.
@MGU vient d'arriver à la conclusion que je pensais depuis pas mal de temps : simplement compter les impulsions pour connaître la consommation.
Je me pose plusieurs questions :
- Il me semble qu'il manque une horloge en temps réel pour déterminer la conso journalière : elle pourrait faire le reset des variables journalières
C'est dans les plans à venir. Il faut que le compteur fonctionne en premier. Ensuite je m'attaque au reset etc.
Le débitmètre utilisé n'est pas linéaire. Sa fréquence augmente avec le débit. Voir la doc.- Comme MGU, un enregistrement hard (Eeprom) ne serait pas inutiles vu que si le picaxe viendrait à redémarrer, tout serait perdu ... permettrait également un historique.
- A quoi sert la lecture des impulsions durant un temps déterminé de quelques secondes ?
Dans un premier temps j'avais besoin de connaître le débit approximatif afin de faire des tests qui me donnaient un résultat relativement précis. 1L/15 sec = 4L/min (240L/H), donc une fréquence de ± 32.5 Hz selon la doc.
Dans un deuxième temps je voulais ajouter une fonction de calibration afin d'ajuster le compteur en fonction des conditions précises retrouvées dans chacune des situations. J'ose espéré me rapprocher d'une précision de ± 1%.
Constatation concernant le débitmètre :
A) Leur fréquence varient beaucoup par rapport à la doc. Jusqu'à 10% selon le manufacturier. Celui que j'ai varie de 12% plus bas. 28.7 Hz au lieu de 32.5 Hz. De là l'importance d'avoir une calibration au départ pour ce débitmètre et la pompe qui sera utilisée.
B) Par contre ils sont précis. Une fois calibré, la précision est étonnante. J'ai laissé couler des dizaines de litres et obtenais toujours des résultats suffisamment précis pour mes besoins.
C) ils ne sont pas cher. J'ai payé le mien autour de 4 Euro.
J'utilise un LCD 2004 i2CTout cela pourrait se faire avec l'I2C présent ?
Il me semble que cela ne compte que les 1
Le code suivant proposé par MGU ne fonctionne pas. Il donne environ 27 impulsions pour un litre alors qu'on devrait en lire entre 400 et 450. Je crois qu'il n'y a pas assez de temps entre chaque état pour que le pic soit capable de lire tous les fronts. Je vais plutôt y aller avec ma nouvelle solution de réarmer l’interruption seulement lorsque l'état est à 0.
Code:
do
do loop while pinC.3=1
inc pulses ;compte les pulses
do loop while pinC.3=0
loop