Any other thoughts?
Reading the FT330 should be no problem.
It outputs flow as a frequency, which is inconvenient, but just do setWatch() on the pin to get the times of the pulses, and then do a bit of math to convert that to a flow rate. Make the code the runs in the watch short n' fast. Only problem I could see is if it it bogs down the Espruino at high flow rates (I doubut it will, and if it's a problem now, it probably won't be once we get a few more improvements to compiled js so you can use that).
Awesome thanks for the quick reply. There's also this liquid flow meter which is less expensive, but more accurate. http://www.adafruit.com/product/828
It sounds like the same thing. The description seems like it will help with the math.
The sensor comes with three wires: red (5-24VDC power), black (ground) and yellow (Hall effect pulse output). By counting the pulses from the output of the sensor, you can easily track fluid movement: each pulse is approximately 2.25 milliliters. Note this isn't a precision sensor, and the pulse rate does vary a bit depending on the flow rate, fluid pressure and sensor orientation. It will need careful calibration if better than 10% precision is required. However, its great for basic measurement tasks!
How is it more accurate? The FT330 datasheet spec's +/-2%, while Adafruit says +/-10%.
Either should work for interfacing with the Espruino - the interface is nearly identical, though as I alluded to above, if the input frequency gets too high, the Espruino won't be able to keep up.
By 'too high' though we mean over 1kHz (or 3ish with some carefully written code). Id be really surprised if something like that got anywhere close though - it'd have to be spinning near 180,000 rpm!
I hope you will get accurate flow meters here also https://www.nriparts.com/instrumentation/flow-meters/ .
Looking at the datasheet, you are just fine... The frequency is in the range of 30..350 Hz The datasheet also provides you with what you need for your math for non-linearity.
As @DrAzzy mentions, the code in the callback handling a pulse should be as short as possible.
Since with every event you also get the time stamp of the event, you can just grab the information and stick it into a buffer (array), and on a differently paced event schedule - on an interval - you trigger the calculation. If your processing takes longer, Espruino is queuing the interrupts and you get them when done...
Side question: do you a) drive the flow?... and - b) Is the flow always within the limits of the meter's specs?
Are you attempting to use an Espruino as a Flow analyzer or Flow calculator?
Most liquid flow turbine meters that I have been familiar with use a magnetic pick up coil to generate an analogue pulse output to connect to a separate electronic flow analyzer. Flow meter comes with pre-calibrated internals with usually a 10 or 12 point calibration certificate (Calibrated with water or swept volume) and given a K factor number. This information is entered into the flow computer or analyser. These are either remote mount or directly mounted, bearing in mind shielded cables to drown out any interference or noise etc. I tried to find a datasheet on the pickup coils, and will keep looking. Some good info here:
As promised, I found an old similar datasheet for the type of pickup coils.
Don't worry about formatting, just type in the text and we'll take care of making sense of it. We will auto-convert links, and if you put asterisks around words we will make them bold.
For a full reference visit the Markdown syntax.
© Espruino, powered by microcosm.
Report a problem