Regulating a 12V water pump

I have a circuit that involves an Uno, a relay, 12V power supply and a water pump.

The 12V supply poweres both the arduino (via "vin") and the pump. I have 0.5 A fuses on the arduino to prevent any damage, and 5A fuses to the pump.

The pump is controlled via a relay, which i turn on/off using arduino.

My pump is a basic universal 12V washer pump like this:

I have measured that it uses around 1A when it's turned on.

Since it's a washer pump for cars, the it pumps alot of water in a short period of time. Since I want to use the pump to water my wife's plants, I do not need such a high water pressure.

Q: Is there a way I can regulate the voltage to the pump? Since it's a DC motor, it can operate from 0-12V without breaking, but my current circuit prevents me from regulating the voltages (since I'm using a relay).

The best option would be something that allows me to control the voltages from Arduino.

I'm not too familiar with the electronics world, so any help would be much appreciated.

Here's my current working project:

If you don't need a variable flow rate, just install a bypass line so that a proportion of the liquid from the outlet is returned to the inlet thus reducing the efficiency.

Not just any motor can be regulated. A water pump sometimes needs a certain rpm.
If you would use a tiny water pump, and it takes an hour instead of 5 seconds to water the plants, that might work as well.

The water pump can be turned on and off with a mosfet or a transistor or a relay. You use a relay at the moment ? and the water is flowing to fast ?

mikb55: That was a good idea! Will most likely revert to that, if I cannot find a suitable electronic answer.

Koepel: Yes, I use a relay at the moment. You mean that I should swap out the relay with a mosfet and use PMW to vary the voltages? How "secure" is a mosfet/transistor instead of a relay? Is there extra heat? Any loss of current? Any risks to the arduino itself, by short-circuits?

No, sorry, I mean that not any motor can be regulated with PWM. Some motors have capacitors inside or filters or electronic components. Next problem is that some water pumps need a certain rpm (rotation speed) to pump water at all. Trying to regulate the water pump might not work.
Therefor my suggestion is to use a smaller pump and let it pump for a longer time.

Mosfets and transistors are just as secure (or more secure) if it is done right. For example the returning ground current from the pump may not influence the Arduino.

Is the water flowing too fast ? (keep the relay, try a smaller pump).

As you know, the relay is strictly Full-On and Full-Off type of device.

Yes, you can regulate the 12 volts going to the motor using PWM with either:
a) a pre-made H-Bridge Shield or
b) design your own single mosfet circuit, with a protection diode

Something like this Arduino Mortor Shield ...
Motor Shield

Many examples / tutorials on the web

Get a cheap brushless pump, this one is brushed and will eventually fail as well as being
over-powered for the task. brushless pumps of many different ratings are available on eBay.
However you have to be a bit careful about lower power pumps being able to self-prime,
its worth looking at experience people have had with similar projects.

Keep the pump you have, and tell your wife to get more pot plants. :smiley: