Pumps not working

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


Post Content:

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 (IRL 520) 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.

Any advice would be greatly appreciated!

Thanks in advance!

"Specs" are minimal...
Try with two pumps. If that works, quite surely you have underpowered supply.

Poor choice of transistor. A logic level MOSFET, like this one would be better

I see several issues:

  1. Incomplete Schematic: Your schematic is not complete. R2 is in the wrong position—it’s forming a voltage divider and starving the gate of voltage. It should be placed on the PORT pin.
  2. MOSFET Enhancement: At 3.3V, the MOSFET is only partially enhanced, which may cause it to run warm depending on the individual MOSFET's Rds(on).
  3. Motor Definition: The motor specifications are missing crucial details like wattage or current requirements. I’ll make an assumption (SWAG) that it needs around 1.5A.
  4. Undersized Power Supply: Based on this assumption, your power supply is undersized. Brushless motors can draw 3 to 5 times their rated current at startup. The fact that only two out of three motors are working, and any two seem to function, confirms this issue.

IRL520 is logic level, or I misunderstand datasheet?

The IRL520 has poor performance at Vgs = 3V.

Capture

I admit that the one I linked is not a great deal better, but the curves are only "typical", and individual device variations can play havoc in situations where the device is limiting the current. 5V drive would certainly be better.

That is just the WRONG pump to use for this project. As the various web sites tell you, it is a brushless motor, so only pure DC will make it run, as it has it's own electronics to power the motor. Also the motor is not self priming, so you MUST have a continuous supply of water at the input side of the pump.

Ok. Thanks.
I don't see it one of the worst choices.
We really should make a small list of commonly available mosfets and modules that have reasonable performance at 3.3V. There is confusion here almost every day about this.

I think the advice you got here is good:

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, as suggested on the All About Circuits forum, worked perfectly, 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.

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 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, 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.

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

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.