How to control a dc motor/ pump to rotate in both directions for transferring a liquid from one bottle to another?

I want to control a dc motor / pump to make it rotate in both directions such that I can transfer water in a certain bottle to another making the motor work as a pump and then re transfer the water back to the original container. ie basically a to and fro motion of water between two containers. 
Constraint is that only one motor can be used for the purpose. The main disadvantage with this is that I am not able to transfer water to and fro in both direction using the same water channel. 
I am planing to use an arduino micro controller for controlling the motor switching. 

sort by: active | newest | oldest
ManuE32 years ago

I would like to express my view as per my experience as a mechanical engineer, most motored pumps are centrifugal, so the inlet and outlet of the fluid is fixed as per the design.

Even if the motor rotates in reverse direction the fluid will not move in reverse direction as rotation throws the fluid to the periphery of the casing.

The only thing that can reverse the flow is to switch the pipes to which and from which the fluid goes and comes. By providing valves and operate them with help of servos.

example: I have two pipes A and B

A is inlet and B is out let connected to the centrifugal pump.

I need to reverse the flow.

I will close the valve connecting A to pump inlet and open A to outlet

and close the connection B to pump outlet and open B to inlet.

so four valves controlling can be applied by two servos to get the result.



Pumps are generally not reversable. Therefore one has to reverse flow by changing flow path. It's analogous to using a DPDT switch or DPDT relay to reverse DC electrical polarity. Use several solenoid valves (or manual valves) to accomplish the goal.

rickharris2 years ago

H bridge

There are IC's that do this but it can be done using relays as well - better if your motor may use higher voltages or more current.

The first diagram shows how to drive a relay from a micro output.

The second shows the H bridge config but using switches. just replace the switches with 2 single pole double throw relays the last shows the current path through the H bridge - in this case a transistor equivelent circuit.

Capture1.JPGswitched H bridge.jpgcurrent flow.jpg

I think this is what you meant Rick.


Ah yes - Draw in haste!!

iceng2 years ago

So you will use two pumps on a single shaft and single DC motor controlled by an H-bridge that is logic driven by a uP Arduino mixing adult beverages for a secret engineer's speak easy bar.

I take it there is some government rule that will not allow a simple bidirectional pump to do this for you. You could use 4 pipes and two czech valves to get around the same water channel..

The electronics of H-bridges is below but you can buy a shield for your arduino to run most DC Motors....


Normal and relatively cheap pumps like those designs simiar to washing machine pumps won't do it.

All normal pumps work bi-directional so it does not matter which way the motor turns.
You can get pumps that do both ways but they are costly.
The beat option IMHO is to use a few valves from wasching machines.
Similar to the H- Bridge posted 4 valves will do the trick.
You go from both pump connections to a T piece with valve.
Lets call the in an outlets "Left" and "Right".
Left is for bottle 1, right is for bottle 2.
Gives you two flow directions with the push of a button ;)

Changing direction of the motor is the easy part. Question is what pump are you using and will it operate in reverse?

If your pump cannot operate in reverse then you may want to look into controlling the water flow through valves. Allowing you to switch which channel is intake and which is exhaust. You can get solenoid valves for this and control them with the Arduino.