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?