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!

  • \$\begingroup\$ If the impedances are different to the motors, you could get different run speeds under load. You need to make sure they can draw as much current as they want if you're trying to voltage-control the speed. In general, this is not a great way to control speed though (that I've seen) \$\endgroup\$ – Daniel Nov 12 '15 at 4:03
  • \$\begingroup\$ Oh, and looking at your other question, see if your slower motor doesn't have a slightly higher resistance value in front of it... \$\endgroup\$ – Daniel Nov 12 '15 at 4:03
  • \$\begingroup\$ I worried about this after reading your original question. Would it be possible to arrange the plumbing so you only need the input pump, with the output side simply overflowing by gravity to a tank below the sample chamber? If you must use two pumps, could you drive them from the same motor - this should keep thing in sync (although small differences between the pump heads may still cause overflow/vacuum problems over time. \$\endgroup\$ – Peter Bennett Nov 12 '15 at 4:06
  • \$\begingroup\$ My previous answer suggested a small trimmer resistor in series with each motor, for exactly this reason. \$\endgroup\$ – Brian Drummond Nov 12 '15 at 11:49
  • \$\begingroup\$ Brian Drummond, Once I setup the same speed with a rheo, won't it be problem when I change the speed (PWM pulses to a higher frequency?) \$\endgroup\$ – João Mamede Nov 12 '15 at 18:34

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.

  • \$\begingroup\$ +1 for the stacked heads. If you need to pump the same volume at the same time. OP might want to pump in 50ml and then later pump out EXACTLY 50ml and this will need pumps with digital (or accurate) dosing options that use rotation angle to determine volume and not a timer. \$\endgroup\$ – KalleMP Nov 12 '15 at 9:04
  • \$\begingroup\$ That was actually my first try. I tried to run two tubes through the peristaltic pump but the tubes "pinch" zone out of the peristaltic section wasn't exactly the same so the flow was also different. I will re-try this solution if I can pinch them the same way. Actually this was my preferred solution because..well it saves one pump to another circuit/microscope. \$\endgroup\$ – João Mamede Nov 12 '15 at 18:31
  • \$\begingroup\$ The way that is intended to work is with either two distunct pump heads stacked, or one head with placement grooves for multiple tubes or the fluid equivalent of "ribbon cable" \$\endgroup\$ – Chris Stratton Nov 12 '15 at 18:39

The 2 motors in general wont lock which is what Chris Stratton said and Charles Cowie is probably right about the rheostats.If you make a simple electronic Variable resistor possibly with a mosfet with say 1 ohm fixed resistance across the drain and the source.Use say a 10K pot on a 12V supply to manualy get the motors to track .The mosfet will be easier to find than the rheostat .Once you have manual tracking you are half way there.Now measure the motor current on an oscilliscope and you should see a waveform that sorresponds to the commutator segments going around.I tested a 12V Automotive windscreen wiper motor on a 12V lab supply and got a recognisable waveform.I filtered out some sparking transients with simple RC filtering .You will have to filter some PWM junk also.Your motor is probably higher quality than the ones I tested and if your PWM is worth its salt it should be much faster than the commutator grind that we are looking for .Once you get a reasonable waveform then just square it up to make a 5V logic signal.You now have motor speed without an expensive shaft encoder ,The rest is easy just use a micro to lock up the speeds by driving the mosfet gates with filtered PWM or analog outputs.


If you want to verify that a small difference between the motors is the problem, swap the motors and see if the flow discrepancy reverses. The simple way to equalize the speed would be to put a rheostat in series with the faster one. Something like one ohm is probably what you want. That won't work as well as the more sophisticated methods, but it might be good enough for your purposes.

Brian Drummond, Once I setup the same speed with a rheo, won't it be problem when I change the speed (PWM pulses to a higher frequency?) – João Mamede

That could be a problem. Differences between the motors would likely have less effect at higher speeds, but the adjustment will really only be exactly right for one speed and temperature. Using a rheostat is simple, but won't provide the best performance possible.


What are the cable lengths (are they the same?), does the PWM have a low pass filter, like choke and capacitor at the output? It can be that you have a power loss in the cable and motor due to switching HF. If your pumps worked before with series resistors at the same speed, then the only explanation is the presence of switching frequency at the output. Install a filter.

  • \$\begingroup\$ The lenght varies in 3-4 cm I do have a capacitor somewhere in the circuit. But the pumps are connected in parallel to the output. \$\endgroup\$ – João Mamede Nov 12 '15 at 18:33
  • \$\begingroup\$ Post some schematics about PWM module, switching frequency, and perhaps a topology of the connected motors with cable lengths. Replace the PWM with resistor and make sure they run at the same with PWM module removed. \$\endgroup\$ – Marko Buršič Nov 12 '15 at 23:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.