-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Counting of pulses from flowmeter seems unreliable #5
Comments
Beernary counting should be based on realtime-interrupt-counting like it was on our prototype with an Atmel µC. The pulse frequency of the counting device itselve is not really high - as far as I remember we have 171 pulses per liter. Even if you would leave the tap open for a minute and beer is floating constantly i guess you will only have about 10 liters. That means 1710 pulses/minute or 28,5 Hz - not very high ;-) |
As of the low frequency the effect of a missing pulse is roughly 6ml, only.
Serial communication should at least have two commands:
Having this installed we can still have the RPi-counting connected on parallel and compare the difference of counted pulses and try to improve the RPi-code |
As discussed on chat, the serial port of the RPi is planned for the serial RFID reader (see PR #6). So a regular serial (rs232 like) connection is not possible. I see following options:
|
During MCH2022 I installed a small Arduino to count the pulses in parallel to the RPi. It's connected to the RPi via USB (cable looped out to the external USB-ports) for power and serial-interface. |
During the last event I found that the same size kegs have very different total number of counts. This leads to an unusable prediction of the fill-level.
I assume, this is caused by the counting-code of the RPi-software. As far as I remember it's using "poll"-mode for the pulses. It's quite realistic that the pulse-frequency is to high or the gpio-lib to slow. Currently we are using https://pypi.org/project/RPi.GPIO/
Options to fix this:
The text was updated successfully, but these errors were encountered: