Go Down

Topic: How to decrease the motor Speed without losing the maximum Torque (Read 1 time) previous topic - next topic

Hi there,

I am using MDS40A motor driver(http://www.cytron.com.my/viewProduct.php?pcode=MDS40A&name=SmartDrive40) to drive a power window motor (12V, brushed motor) similar to the one at (http://www.cytron.com.my/viewProduct.php?pcode=MO-PW-R&name=Power%20Window%20Motor%20%28Wira%29%20-%20Right). I am using PWM generated by Arduino to control the speed of the motor. As I use lower value of PWM to get slower speed (the current gets reduced as well), the torque of the motor is drastically reduced. I am using Arduino Uno.

What I have understood is that with PWM, the voltage and current are not affected by the duty cycle. Torque depends on available current, while RPM depends on available current or amount of time it is ON. When the motor is ON, it resists load (accelerates) and when it's OFF it does not resist load (gets slowed by load/decelerates), hence RPM can be controlled by amount of time motor is ON, while torque stays at max due to max current at ON period.

I want to decrease the motor speed without losing the maximum torque. Can anyone help me on this? Can it be done with code?

MarkT

What max current are you seeing?  What is the motor's DC resistance?
[ I won't respond to messages, use the forum please ]

zoomkat

Quote
I want to decrease the motor speed without losing the maximum torque.


I think a motor develops "maximum torque" at 0 rpm with maximum current applied. Anything different and the motor will probably not be developing "maximum torque".
Google forum search: Use Google Advanced Search and use Http://forum.arduino.cc/index in the "site or domain:" box.


aj88keys

If the motor is fairly large, it would have a fairly high inductance, meaning that a high PWM frequency may just be turned into heat by the coils. You could try reducing the PWM frequency so that the coils have more time to saturate during each cycle, just be aware that you may get more audible noise and more jerkiness if you do that. http://playground.arduino.cc/Code/PwmFrequency explains how to change the PWM frequency of the arduino.
Another potential option would be to simply gear down the motor if space permits. This method will actually increase the torque of the motor.

kas

You need a PID loop for RPM control
Look here http://forum.arduino.cc/index.php?topic=8652.msg70286#msg70286

Quote
When mechanicaly loaded, the system will increase PWM in an attempt to maintain "actual speed" at "target speed" level.
This is the only way to run at low speed (20 RPM) while maintaining a high torque
Rubik's cube Robot solver                 forum.arduino.cc/index.php?topic=271827.0
Android Bluetooth joystick               forum.arduino.cc/index.php?topic=173246.0
Balancing robot for dummies           forum.arduino.cc/index.php/topic,8871.0

Go Up