Self Adjusting Dosing System

I am planning a device to inject one of two additives into a variable flow of water achieving a relatively constant concentration.

My device will be used for wash down of a boat, engines and gear. It will be 12v battery powered, and used at boat ramps. Accuracy of dosing isn't critical +/-10% is no problem. However, water supply (L/min) at ramps varies by up to 50%, so a dynamic dosing system is required. I can't find a DC 12v metering pump that measures flow and adjusts dosing simultaneously. So I need to make one.

I've done my intitial research and I would appreciate some early feedback on the overall approach I have planned so far.

Basic hardware set up: -

Water proof enclosure
12V SLA battery
12V DC regulator
5V DC power supply
Arduino
Flow sensor 1 - 30L/min (Liquid Flow Meter - Plastic 1/2 NPS Threaded : ID 828 : $9.95 : Adafruit Industries, Unique & fun DIY electronics and kits)
2 x motor controllers
2 x stepper pumps (http://www.wmcpumps.com/stepper_motor.html)
Plumbing

Basic code plan: -

  • Start up
  • Code to read flow rate of water
  • Code to determine required additive rate (ml/min) based on flow rate and target concentration
  • Code to determine pump speed required to deliver additive rate
  • Code to drive pump at required speed
  • If selector switch is at 0 do nothing
  • If selector switch is at 1 run pump 1 at required speed
  • If selector switch is at 2 run pump 2 at required speed
  • Loop

Most of the code is available from manufacturers or here. I'm hoping I'll just need to ad a few lines to work out additive rate and pump speed etc (simple maths) and link the various bits together.

All feedback/advice welcome.

What are you using to administer the dose of additive? I think it's not the RATE that's important. It's just about volume. For example, if you had a device capable of administering one drip of additive. And you need one drip of additive per X amount of water, you simply have to find out how many pulses you get from that flow sensor for X amount of water.

Your sketch would then be simple, Just monitor the flow sensor and update a counter whenever a pulse is detected. Once counter reaches the critical point just send one drip of additive and reset counter.

pump 200 looks nice. peristaltic is the way to go, just like commercial soap dispensers

some form of mixing inside of the pipe

then just run for a minute until the control settles and then fill a 5 gallon bucket to test %

you are on the right track !

have you done the basic calculations for GPM from the hose at maximum and the pump to verify the pump selection ?

Thanks folks. I have now simplified this project.

The pump can come prefitted with a driver that accepts 0-5vDC as a control signal, and a seperate 12v dc power supply. On that basis I believe I can provide control direct from the Arudino (no motor shield) using a PWM output and power the pump seperately from a 12vDC regulator.

I've also decided to control selection of Additive 1 or 2 with a manual 3 way valve, rather than electronically. That way I only need one motor.

Ken, the additive is being adminsitered by a vairable speed, perstaltic pump.

I need to deliver a stream of water with a constant concentration of additive.

The water is flowing at a L/min. The addtive need to be continuousy injected at a constant 0.5mL/L.

Therefore I need to inject additive at a rate that is (volume*0.5mL)/time.

As an example i the wate flow is 7L/min, I need to add 3.5mL each minute.

So .... I think I need to count flow meter pulses every X seconds then change additive injection rate (via PWM output to pump) to suit the flow rate. Then repeat.

But I am John Snow on this.

KenF:
What are you using to administer the dose of additive? I think it's not the RATE that's important. It's just about volume. For example, if you had a device capable of administering one drip of additive. And you need one drip of additive per X amount of water, you simply have to find out how many pulses you get from that flow sensor for X amount of water.

Your sketch would then be simple, Just monitor the flow sensor and update a counter whenever a pulse is detected. Once counter reaches the critical point just send one drip of additive and reset counter.

Dave, I'm planning on having a mixing chamber. This will be a 400mm length of 80mm pvc pipe with sealed ends. The angles and positions of the input nozzles, the output nozzle; and internal fins will ensure thorough mixing.

The perstaltic pumps will output 30mL minute.
The required additive rate is 0.5mL/L.
Therefore, one pump will dose 60L/min of water.

I reality I only need 20L/min so I will regulate incoming water pressure to allow a maximum volume (given the hose diamter) of say 25L/min. The pump will then run at approximately 40% capacity.

The flow sensor is rated to 30L/min so it will run at about 80% capacity.

dave-in-nj:
pump 200 looks nice. peristaltic is the way to go, just like commercial soap dispensers

some form of mixing inside of the pipe

then just run for a minute until the control settles and then fill a 5 gallon bucket to test %

you are on the right track !

have you done the basic calculations for GPM from the hose at maximum and the pump to verify the pump selection ?

flow rate could be read every second, then averaged for the last 10 readings,
a running control with PID should be pretty easy.

What would be the advantage of the PID?

dave-in-nj:
flow rate could be read every second, then averaged for the last 10 readings,
a running control with PID should be pretty easy.