Bonjour à tous,
J'essaye de comprendre comment utiliser la fonction "COUNT". Je ne comprends pas très bien comment adapter et/ou utiliser la "période".
COUNT pin, period, wordvariable
Je tente de fabriquer un compteur d'eau. J'ai acheté ce débitmètre au début de l'été et il s'avère loin d'être linéaire. Alors il doit être calibrer pour un débit quelconque. Comme ma pompe à un débit fixe, une fois calibré j'espère que le compteur sera précis.
J'ai écrit un premier programme qui semblait fonctionner. Mais hélas...
Dans un premier temps, j'utilisais un litre d'eau et je comptais les impulsions avec cette commande.
J'obtenais environ 255 impulsions pour un litre d'eau. Je répétais 4 fois et je faisais la moyenne. Les essais variaient de 252 à 259. Ensuite je stockais cette valeur dans une variable appelé "etalon". Avec la valeur "etalon", je pouvais alors compter l'eau qui passait dans le débitmètre. La précision était très bonne, du moins entièrement satisfaisante pour mon projet.
Dans un deuxième temps, j'ai voulu faire une sous routine de calibrage mais curieusement, les résultats diffères et pourtant j'utilise le même code. Lorsque j'active le circuit, je vérifie pour voir si la variable "etalon" = 0. Si oui je saute dans la sous-routine calib qui demande d'ajouter 1 litre d'eau.
Mais voilà le problème. L'ajout d'un litre d'eau ne donne pas ± 255 impulsion mais plutôt autour de 115 qui est stoké dans la mémoire EEPROM. Lorsque le programme redémarre, le litre d'eau est compté comme plus de 2 litres.
Je ne comprends pas pourquoi une aussi grande différence mais je suspect que ça à voir avec la définition de la période de COUNT.
Indice : w13 semble toujours être entre 12 et 13. "today" et "etalon" devrait justement avoir la même sommes mais c'est pas le cas... ?
Bon ceci dit, si quelqu'un pouvais m'expliquer comment utiliser COUNT et sa période, je serai très reconnaissant...
Merci,
Yex
J'essaye de comprendre comment utiliser la fonction "COUNT". Je ne comprends pas très bien comment adapter et/ou utiliser la "période".
COUNT pin, period, wordvariable
Je tente de fabriquer un compteur d'eau. J'ai acheté ce débitmètre au début de l'été et il s'avère loin d'être linéaire. Alors il doit être calibrer pour un débit quelconque. Comme ma pompe à un débit fixe, une fois calibré j'espère que le compteur sera précis.
J'ai écrit un premier programme qui semblait fonctionner. Mais hélas...
Dans un premier temps, j'utilisais un litre d'eau et je comptais les impulsions avec cette commande.
Code:
Count valid, 2000, w13 ; comptage des impulsions pendant 2 s
today =w13 + today ; Additionne les impulsions dans today
Dans un deuxième temps, j'ai voulu faire une sous routine de calibrage mais curieusement, les résultats diffères et pourtant j'utilise le même code. Lorsque j'active le circuit, je vérifie pour voir si la variable "etalon" = 0. Si oui je saute dans la sous-routine calib qui demande d'ajouter 1 litre d'eau.
Code:
Count valid, 2000, w13 ; Compte les impulsions et stock ds w13
etalon =w13 + etalon ; Additionne les impulsions et stock dans etalon
Je ne comprends pas pourquoi une aussi grande différence mais je suspect que ça à voir avec la définition de la période de COUNT.
Indice : w13 semble toujours être entre 12 et 13. "today" et "etalon" devrait justement avoir la même sommes mais c'est pas le cas... ?
Bon ceci dit, si quelqu'un pouvais m'expliquer comment utiliser COUNT et sa période, je serai très reconnaissant...
Merci,
Yex