Wednesday, May 19, 2010

Eureka, maybe? The ultimate flow sensor?



Lily and I've been kicking around different ways to digitally sense flow for the last week, including making our own little propeller/turbine sensor.  Today as we cranked on finishing a proposal we're working on with NCED and Winona State, I glanced at a little propeller I keep on my desk and thought "the Em2's pump has a propeller in it."

Yes, people, all that junk is to inspire things like this.  Really.

And of course the rotational rate of that little propeller (technically an impeller), when driven by a pulse-width-modulated (PWM) output, is closely related to the pump's volumetric output of water.

So after the proposal was done (hardest part was the budget, is it always like that?) we ran into the shop and simply hooked a PWM unit and voltmeter up to a pump.  Measuring flow volumetrically (stopwatch and graduated cylinder) we produced this beautiful curve.  It's even straight!

Happy.

PWM units output a square wave, which in this case has a 12 volt max.  The tops of the "plateaus" are varied in width; the volt meter reads this as an average voltage (the frequency is quite high).

A little Arduino board can output the PWM with both transistors tied behind its back, and also monitor the voltage, and provide a visual readout.

And we have completely eliminated our flow sensor!  Another part gone, actually several, because those need a fine filter.  The pump already has one, and isn't much affected by small particles anyway.

Of course the pump's output is going to be sensitive to how much media is on its intake filter, and any changes in the tubing system, but if we keep those things steady, the relationship should be reliable.  And the Arduino is smart--if the calibration changes, variables in the unit can be adjusted.

Looks very promising.  And very open-source adaptable because no sensor is required, and the electronics, both hardware and theory, are pretty simple.

7 comments:

Dr. Jerque said...

Very cool. Nice innovation.

Steve Gough said...

We'll see, these things often evaporate in the harsh sunlight of mass-production reality.

Ger said...

Did you check with the manufacturer of your pump? They may have a pump curve available that would show flow versus RPM.

Head conditions would also affect flow rate so the height of your water column would impact the output of your pump a bit.

pascal said...

Nice. As a physics/geology professor, I whole-heartedly approve of your use of graphic data to quantify another variable. I wonder why the y-intercept is negative: will that have any impact on the minimum achievable flow rate from this pump setup?

Steve Gough said...

@Ger, yes, you're correct! And our challenge will be establishing and maintaining stable head/hydraulic roughness in the circuit so calibration isn't squirrely. @pascal; we noticed that right off; I'm sure there's a minimum energy at which the pump won't turn; electric motors interacting with loads are hideously complex. We did verify we can run plenty slow for what we need, though, and I left the analysis there!

gwen said...

so how did this work out for you?.. I am thinking of trying the same trick with some power mosfets and a 1284P processor in a sanguino breakout board driving 500GPH cartridge bilge pumps(johnson) , the pump impeller you show looks exactlyt like the johson/westmarine/??? cartridge pumps..


gwen

Steve Gough said...

Gwen, it's more complex than you might think--the pump powers up to overcome initial head, say 30", and in the low flow range is super sensitive to changes in PWM and the hydraulics of your tubing, etc. Probably best to use a constricted section (a water "resistor") to fix this, but that limits your max output of course. I really like the little Whale 500 gph pumps; they use about a third the current of any other pump. Pmail me and I'm happy to help.