Pages: [1]   Go Down
Author Topic: How to decrease the motor Speed without losing the maximum Torque  (Read 1162 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
Logged

0
Offline Offline
Shannon Member
****
Karma: 199
Posts: 11639
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

What max current are you seeing?  What is the motor's DC resistance?
Logged

[ I won't respond to messages, use the forum please ]

0
Offline Offline
Tesla Member
***
Karma: 141
Posts: 9470
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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".
Logged

Consider the daffodil. And while you're doing that, I'll be over here, looking through your stuff.   smiley-cool

Australia Mate!
Offline Offline
Sr. Member
****
Karma: 3
Posts: 284
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Correcto Moondo  smiley-cool
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

0
Offline Offline
Sr. Member
****
Karma: 17
Posts: 378
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Pages: [1]   Go Up
Jump to: