DC Motor control help

Thread Starter

gibsonassembly

Joined Jun 9, 2024
2
Hi everyone,

I'm looking for some guidance (I'm coming from a life science field, hence the lack of expertise). I want to control the speed of a DC motor driven peristaltic pump as accurately as possible.
My current setup:
5W 12V DC brushed motor driving the peristaltic pump: https://www.kamoer.com/us/product/params.html?id=8004
Connected to a Mosfet: https://jlcpcb.com/partdetail/DiodesIncorporated-DMC2038LVT7/C151020
Controlled by a RPi Pico W.

Problem: I can drive the motor at variable speeds, however, <50% duty cycle does not deliver enough force to actuate the peristaltic pump. Meaning the range of modulation I get is approx. 50-100% of full speed.

I've disassembled an old bioreactor that has very similar peristaltic pumps, which can be controlled from what seems 0 to 100% speed.
This bioreactor uses these 24V motors: Bühler 24V/30 29014095
And this IC which I think is used to modulate the speed: TS4142

How can I achieve similar performance to the bioreactor? Is my choice of "cheap" components at fault?

I'd be grateful for anyone to share some expertise, and I'm happy to follow up with more details if required.
 

MisterBill2

Joined Jan 23, 2018
19,474
The 5 watt 12 volt motor does not seem to produce enough torque at the low speed settings. That is reasonable since torque is closely related to input power.
One possible fix with the present motor would be to try a higher voltage supply. Instead of 12 volts, try 15 volts, another standard voltage. It may also be useful to investigate what can be done to reduce friction in the present pump system.
Of course that is assuming that the present PWM package is actually providing the full voltage during the ON time.
 

LowQCab

Joined Nov 6, 2012
4,314
I would say, in addition to a higher Power-Supply-Voltage,
a very-low PWM-Frequency should be programmed-in,
and a Optical-Tach-Output attached to the shaft of the Motor.

The very-low-PWM-Frequency will give the Motor excellent "Start-Up-Torque", or "grunt",
allowing very accurate RPM-Control with your Micro-Controller,
easily down into double-digit RPMs, if that suits your purpose.

If simple over-dosing is your problem,
You may want to consider contacting the manufacturer for
a smaller-capacity Pumping-Tube replacement.
.
.
.
 

MaxHeadRoom

Joined Jul 18, 2013
28,831
Last edited:

Thread Starter

gibsonassembly

Joined Jun 9, 2024
2
Thank you all for the quick answers. I currently have the PWM frequency set to 1000. According to your answers, this seems not to be optimal. I'll test with frequency 8 (minimum possible with RPi Pico), and hope this allows better RPM control. If not, I'll try with a 15V power supply.
 

MisterBill2

Joined Jan 23, 2018
19,474
I had not considered the PWM frequency, but certainly that could have an effect of limiting the power. And still I recommend measuring the motor voltage at the motor at maximum drive width. This check is to see if there is a voltage drop somewhere that is causing the problem. Things do sometimes happen.
 

MaxHeadRoom

Joined Jul 18, 2013
28,831
Thank you all for the quick answers. I currently have the PWM frequency set to 1000. According to your answers, this seems not to be optimal. I'll test with frequency 8 (minimum possible with RPi Pico), and hope this allows better RPM control. If not, I'll try with a 15V power supply.
Many of my DC motor PWM control circuits start at a PWM freq of 5k-6khz.
Never had an issue yet that I remember.
 

strantor

Joined Oct 3, 2010
6,841
@gibsonassembly in case it is not clear what these guys mean by feedback, optical sensors, magnetic sensors, etc. I will explain.

When you send a fixed voltage (or a fixed duty cycle of PWM) that is like holding the gas pedal of your car down to a specific distance from the floor. It is not a very effective way to dial in a precise speed. Think about if you did that in your car, it would slow way down when going uphill and speed way up when going downhill. So that's exactly how your cruise control does NOT operate. You cruise control uses a sensor to measure the car's speed and increases or decreases throttle as necessary to maintain the desired speed.

If that's how you want the pump to work, then you need something (a sensor) to "close the loop" and you need your microcontroller to do more than just output a specific duty cycle.

I haven't watched this video so I'm not sure if it's the best reference but it seems to be on topic, and geared toward the RPi Pico that you're using.

 

MisterBill2

Joined Jan 23, 2018
19,474
@gibsonassembly in case it is not clear what these guys mean by feedback, optical sensors, magnetic sensors, etc. I will explain.

When you send a fixed voltage (or a fixed duty cycle of PWM) that is like holding the gas pedal of your car down to a specific distance from the floor. It is not a very effective way to dial in a precise speed. Think about if you did that in your car, it would slow way down when going uphill and speed way up when going downhill. So that's exactly how your cruise control does NOT operate. You cruise control uses a sensor to measure the car's speed and increases or decreases throttle as necessary to maintain the desired speed.

If that's how you want the pump to work, then you need something (a sensor) to "close the loop" and you need your microcontroller to do more than just output a specific duty cycle.

I haven't watched this video so I'm not sure if it's the best reference but it seems to be on topic, and geared toward the RPi Pico that you're using.

My suggestion to use maximum pulse width WAS ONLY FOR MEASURING THE MOTOR VOLTAGE, because most meters will not provide the actual voltage measurement on a lower duty cycle PWM. I have designed and set up a whole lot of feedback systems, and took all three of the courses in feedback systems long ago.
My concern in this particular instance is that there may be an unintended voltage drop someplace causing the problem. We, on these threads, have seen that a few times before.
 
Top