Electronic – Two parallel motor under PWM now have slightly different speeds

dc motorpwm

I have a couple of peristaltic pumps to wash my cells with different conditions for live imaging with a fluorescence microscope.
I now have the two pumps with a PWM pre-assembled module. It has a timer and 3 mostfets and a poti obviously.

I need to put media from a tube to the plate with a pump AND take the media from the plate to a waste container with the other pump.

However when I was using the peristaltic pumps prior to the PWM the liquid flow was exactly the same with both pumps. (the level of water in 50ml tubes was constant in both tubes when crossing the in and out from the pumps).
However, now with the PWM signals there is a bit of a difference and one of the test tubes goes empty while the other gains volume.

I still don't know if it is mechanical or an electrical thing. I changed the peristaltic heads between motors and the same happens.

Could it be the stall start or the back EMF doing this?
The pumps are connected in parallel.

Any way to solve this? Diode to reduce the EMF or a capacitor to equalize the start of the pump?

This was my previous setup in which the liquid pump rate was exactly the same (with the same motors and peristaltic heads)

Drop the current of a couple of peristaltic pumps for a microscope use

Thanks for any help!

Best Answer

You cannot expect two open-loop motors to have the same performance - even if matched initially they may age differently. I'd especially expect that with brushed DC motors where brush wear can be a part of aging, or any system with sleeve-type bearings.

You can used closed loop control monitoring a rotary encoder to slave both motors to a desired rotation rate, or one to the other other, or switch to stepper motors, however electronics may not be the best solution.

Instead, Lab-grade peristaltic pumps typically allow stacking multiple pump heads on a single motor, which will get you identical rotation rates and with the same size tubing fairly close flow rates.

If that is not close enough (some fluid property making pumping different? one line pulling air?), you can either go back to closed loop and have a manual differential trim control to run one faster, or you can build a closed loop controller that watches some liquid level sensor, or perhaps a scale under the experiment.