Help with Controlling 3 Water Pumps (ZYW680) with ESP32 and MOSFETs - Issue with Multiple Pumps Running Simultaneously

Thread Starter

UNIC02

Joined Sep 26, 2024
5
Hi everyone,

I'm working on a project where I'm using 3x 12V water pumps (model ZYW680), which I'm trying to control via an ESP32. I'm sending PWM signals through MOSFETs to adjust the pump speeds. The setup works perfectly when I'm running one pump at a time. However, when I try to run all 3 pumps simultaneously, some of them don't turn on.

I'm using a bench power supply that can deliver up to 6A. Based on the specs of the pumps, I assumed this would be enough current, but I might be missing something.

Here's a quick summary of my setup:

  • Pumps: ZYW680 (12V)
  • Controller: ESP32, sending PWM signals
  • Switching: MOSFETs controlling the pumps
  • Power Supply: 12V, 6A bench power supply
I've attached a schematic of the hardware circuit I'm using to control the pumps. As mentioned, the problem only arises when I try to activate all 3 pumps at once. Individually, they work without any issues.

Questions:

  1. Could this be a power supply issue? Should I be using a higher current supply, or are there any other considerations I should take into account?
  2. Could it be a wiring issue or something with the MOSFETs not switching properly when handling multiple loads?
  3. Are there any good practices for dealing with controlling multiple motors/pumps with PWM that I might be overlooking?
Any advice would be greatly appreciated!

Thanks in advance!

1727363076055.png
 

dl324

Joined Mar 30, 2015
18,216
Welcome to AAC!
Could this be a power supply issue? Should I be using a higher current supply, or are there any other considerations I should take into account?
Most likely. You didn't provide information regarding how the ESP32 is being powered, the current draw from the motors, or what filtering/decoupling you have on the supplies.
 

crutschow

Joined Mar 14, 2008
38,314
The pumps are specified as 20W so would draw about 1.7A each, and the power supply should handle all three running.
But if you are starting the three pumps simultaneously then the typical large starting current of motors (often several times the running current) may be the problem.
If you can start them in sequence with a sufficient delay to allow each to reach full speed before power is applied to the next one, that would help.
Otherwise you may need a larger power supply.

What does the bench supply current read when you have the problem?
 

Thread Starter

UNIC02

Joined Sep 26, 2024
5
Welcome to AAC!
Most likely. You didn't provide information regarding how the ESP32 is being powered, the current draw from the motors, or what filtering/decoupling you have on the supplies.
Apologies, the pumps consume 1.5A each on their current set up if I run them at 100% duty cycle and the ESP32 is powered via the USB cable connected to the PC. I have however not connected any filtering/decoupling on the power supply output as I assumed the power supply would have it built in.

What could I do to try and fix this potential issue? Add a capacitor in parallel of the 12V supply?

Tanks again for the help.
Kind Regards
Nic
 

dl324

Joined Mar 30, 2015
18,216
I have however not connected any filtering/decoupling on the power supply output as I assumed the power supply would have it built in.
That's not a safe assumption.

You're likely having motor startup current issues. Where will power be coming from in your actual application?
 

Thread Starter

UNIC02

Joined Sep 26, 2024
5
The pumps are specified as 20W so would draw about 1.7A each, and the power supply should handle all three running.
But if you are starting the three pumps simultaneously then the typical large starting current of motors (often several times the running current) may be the problem.
If you can start them in sequence with a sufficient delay to allow each to reach full speed before power is applied to the next one, that would help.
Otherwise you may need a larger power supply.

What does the bench supply current read when you have the problem?
Ok thank you, I wil give that a try and share the results. As well as the soft start idea.
 

crutschow

Joined Mar 14, 2008
38,314
If you use a PWM soft-start, you may have to initially go to a higher speed to get the pumps to start, and then go back to a lower speed.
 

MisterBill2

Joined Jan 23, 2018
27,159
These pumps only draw 1.5 amps running. So the short tern start current will probably be at least 2 amps, unless they are under load by having some back pressure, in which case the starting current will possibly approach the stall current.
I am not aware of "soft start under load, especially a pump load. It has not been mentioned what sort of pumps these are, so we do not know if they are positive displacement pumps or not.Several pump types are positive displacement types, and the pump motor current is directly proportional to the load pressure. So it could be a power supply issue, or even a wiring issue.
 

MaxHeadRoom

Joined Jul 18, 2013
30,557
What kind of pumps are they, positive displacement or radial centrifugal etc?
If they are radial types, the much better method is throttling of the output/discharge line, No motor control required. also motor current decreases as output decreases.
e.g. Butterfly valve for e.g.
 

MisterBill2

Joined Jan 23, 2018
27,159
Hi everyone,

I'm working on a project where I'm using 3x 12V water pumps (model ZYW680), which I'm trying to control via an ESP32. I'm sending PWM signals through MOSFETs to adjust the pump speeds. The setup works perfectly when I'm running one pump at a time. However, when I try to run all 3 pumps simultaneously, some of them don't turn on.

I'm using a bench power supply that can deliver up to 6A. Based on the specs of the pumps, I assumed this would be enough current, but I might be missing something.

Here's a quick summary of my setup:

  • Pumps: ZYW680 (12V)
  • Controller: ESP32, sending PWM signals
  • Switching: MOSFETs controlling the pumps
  • Power Supply: 12V, 6A bench power supply
I've attached a schematic of the hardware circuit I'm using to control the pumps. As mentioned, the problem only arises when I try to activate all 3 pumps at once. Individually, they work without any issues.

Questions:

  1. Could this be a power supply issue? Should I be using a higher current supply, or are there any other considerations I should take into account?
  2. Could it be a wiring issue or something with the MOSFETs not switching properly when handling multiple loads?
  3. Are there any good practices for dealing with controlling multiple motors/pumps with PWM that I might be overlooking?
Any advice would be greatly appreciated!

Thanks in advance!

View attachment 332479
The very first step will be to monitor the power supply voltage. OR monitor the pump voltage, which will be even better. I suspect an excessive voltage drop, either from the supply or due to the wiring having an excessive resistance at one or more places. The one other possible cause would be if the three pump outputs are connected and the pressure from one pump running keeps the other ones stalled. THAT is a very real sort of problem that I have seen in hydraulic systems..
 

Thread Starter

UNIC02

Joined Sep 26, 2024
5
Hey everyone,

Apologies for the late reply. As a university student, I had some other tasks that needed my attention, but I’m happy to report that I’ve found a solution! Implementing a soft start worked perfectly, specifically letting them all climb slowly to 100% duty cycle and the dropping back to the desired duty cycle And now all three pumps can run at full speed together. According to the power supply, they consume a combined amperage of around 3A when running at full speed. And they each have their own control circuit as I want them to run at different speeds at the same time, this feature also works great.

Regarding the components, I'm limited to what my university has available in the lab, so I couldn’t choose MOSFETs that are ideal for this application, but I went with the best option I had. I also know that the DC motor driving the pump is brushless and requires a clean DC voltage. However, for the sake of experimentation, I wanted to see if this simple and inexpensive control circuit would work. To my surprise, the motors ran consistently, and I was able to control their speed effectively using different duty cycles.

I’ve attached a graph showing the flow rate versus duty cycle for one pump. I ran the test three different times with varying water levels in the holding tank to observe how pressure changes due to different water levels would affect the flow rate.

  • Run 1: The tank is filled to the brim. A duty cycle is applied to the control circuit for 10 seconds, then the pump is switched off. The amount of water transferred to another tank (on the same elevation) is measured, and the flow rate is calculated.
  • Run 2: The tank is filled halfway.
  • Run 3: The tank is just above a quarter full.
Regarding the pumps (which are centrifugal of type), although they’re labeled as "non-self-priming," they feature a small plastic impeller that doesn't block the inlet and outlet ports from each other. As long as the water source (a 10L tank in my case) has a water level higher than the pump’s output port, there’s no need to prime the pump after each refill. Also they have very little back pressure on their output (200mm head) which might explain the low power requirement with the current set up.

I haven’t yet tested whether the pump can move water when it’s placed above the water line and correctly primed, but my current setup doesn’t allow for that kind of test at the moment.

Thanks again to everyone for their help and suggestions!

Kind regards,
Nic

1727673441597.png
 

MisterBill2

Joined Jan 23, 2018
27,159
OK, a soft start can work because the pumps are not positive displacement types, with starting current depending on back pressure. The fact that they would not all start at once was indicative that there was a power supply limitation, either in the supply itself or in the connections wiring.
 
Top