Besoin d'aide pour comprendre le calcul de débit d'eau
Matériel :
DIGITEN G2" 2 inch Water Flow Hall Sensor Switch Meter Flowmeter Control 10-200L/min
https://www.amazon.com/DIGITEN-Sensor-F ... B00VKAT30C
Configuration :
Alimenté en 5V puis passage via le Level shifter pour entrer en direct en 3,3v sur le GPIO du raspberry.
J’avais fait des tests de calibration avec un volume donné (bidon de 5L) et un petit script qui calculait le nombre d’impulsion et en milliseconde le temps pour passer 5L,
Mon calcule me semblait cohérent mais une fois en place sur la piscine, j’ai l’impression que ce que me donne le script me paraît faible.
Formule inscrite sur le débitmètre
Water Flow Sensor
Model : FL-1608
Working Range : 10-200L/min
Water Pressure : <1,75MPa
F=0.2*Q(L/min)
Mon tableau de mesure
Puls | Start ms | End ms | Diff ms | Secondes | Pulse Time ms
1431 1534254731361 1534254762721 31360 31,36 21,9147449336129
1431 1534254842391 1534254873782 31391 31,391 21,9364081062194
1431 1534255116038 1534255147390 31352 31,352 21,9091544374563
1431 1534255757127 1534255788270 31143 31,143 21,7631027253669
1431 1534255837212 1534255868379 31167 31,167 21,7798742138365
1431 1534255920048 1534255951146 31098 31,098 21,7316561844864
1431 1534255993926 1534256025110 31184 31,184 21,7917540181691
1431 1534256068351 1534256099496 31145 31,145 21,764500349406
Mon script (inspiré de ce que j’ai trouvé sur internet)
Code : Tout sélectionner
#!/usr/bin/python
#flowsensor.py
import RPi.GPIO as GPIO
import time, sys
# Importation de la librairie Python-Requests (pour envoi des requetes JSON)
import requests
FLOW_SENSOR = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(FLOW_SENSOR, GPIO.IN, pull_up_down = GPIO.PUD_UP)
global count
count = 0
def countPulse(channel):
global count
if start_counter == 1:
count = count+1
# print count
# flow = count / (60 * 7.5)
# print(flow)
GPIO.add_event_detect(FLOW_SENSOR, GPIO.FALLING, callback=countPulse)
while True:
try:
start_counter = 1
time.sleep(1)
start_counter = 0
# flow = (count * 60 * 2.25 / 1000)
flow = (count * 60 * 2.25 / 1000)
print (count)
print "The flow is: %.3f Liter/min" % (flow)
count = 0
# Envoi de la requete de mise a jour du capteur virtuel Custom
requests.get ('http://192.168.x.x30:8080/json.htm?type=command¶m=udevice&idx=15&nvalue=0&svalue='+str(flow))
time.sleep(15)
except KeyboardInterrupt:
print '\ncaught keyboard interrupt!, bye'
GPIO.cleanup()
sys.exit()
Si j’utilise
flow = (count * 60 * 2,25 / 1000)
Je trouve au alentour des 6L/minute
Si j’utilise
flow = (count * 60 * 7.5 / 1000)
je suis au alentour des 20L/minute
Je précise que tout fonctionne parfaitement, j’ai seulement un problème de formule pour calculer le vrai volume ou d’exploitation de l’information réoccupé ou les deux, 6L/Minute me paraît peu pour une pompe qui peu délivrer 13 m3/h
13 m3/h donne en théorie 216 l/min donc ce qui me fait dire que 6 l/minute ce n’est pas possible.
Et si je fais varier les vanne de filtration, mon débit varie dans mon script, ce qui me fait dire vraiment que je ne sais pas interpréter la mesure relevé et la traiter correctement en rapport a la formule a appliquer suivant le débimetre.
Je n’ai jamais été bon dans l’exercice de la baignoire a l’école.
Donc si quelqu’une a une façons plus didactique a me donner pour comprendre les formules qui se trouvent sur les débitmètres, car j’en ai deux autres a mettre sur le remplissage automatique et je suis dans le même cas
Model : FS300A G3/4"
Flow Range : 1 - 60 L/Min
Formule de conversion: débit (en l/min) = fréquence (en Hz) / 5,5
Model : FS200A G1/2"
Flow Range : 0.5 - 30 L/m
Formule de conversion: débit (en l/min) = fréquence (en Hz) / 7,5