Novice here. I am using a microcontroller running an Arduino sketch to power this gear motor (Pololu - 1000:1 Micro Metal Gearmotor HPCB 6V) connected to this motor driver (Pololu - DRV8838 Single Brushed DC Motor Driver Carrier)
I need to slow down the motor for my project but keep the torque the same or higher. When I tried to do so by adding a line of code in the sketch that varies speed from 0 - 255, ie int motorSpeed=128; the motor slows down but so does the voltage.
Can I add a code in the sketch to slow it down in anyway without lowering the voltage?
Could you post more details about your application and explain what you are trying to do?
Speed and torque are proportional to the input voltage. You cannot adjust one separately from the other just by adjusting the voltage. To get a slower speed with more torque, you could gear the output down even further. However, please note that the recommended upper limit for instantaneous torque on the output shaft of the gearbox is 2.5 kg-cm and we strongly recommend keeping applied loads well under this limit.
So in my application I am using the gear motor to move a 1cm lever attached to the shaft of the gear motor. The lever pushes a load and then returns to home position. Unfortunately I do not have the space to gear down the output.
Besides gearing down the output, is there any other way to decrease the speed while keeping the voltage constant or higher?
If running it at your full operating voltage is too fast, then you should be able to reduce the duty cycle to slow it down. At some point, if the duty cycle is not high enough to overcome the load on the motor, it will not be practical to control the motor at that low of a speed. For example, you might not be able to reliably run the motor at a steady speed all the way down to 0 RPM.
You might be able to get better control at low speeds by using encoder feedback to do closed-loop speed control of the motor (i.e. a system that will dynamically adjust the voltage to get a certain speed even while under a varying load). Alternatively, you could try using something like a potentiometer for closed-loop position control.
Ultimately, it sounds like you probably need to use a more appropriate motor or rethink your mechanical setup.
Ok. Thanks for the information. My alternative is this servo, Pololu - FEETECH Mini Servo FT1117M. Can you give me an idea of what the upper limit for the instantaneous torque is for this servo. All I see in the specs is the torque at stall.
Unfortunately, the manufacturer of those servos does not specify the maximum instantaneous torque and we have not characterized it ourselves for those FEETECH servos. The information we have for them can be found in their manufacturer’s datasheet, which you can find under the “Resources” tab of the servo’s product page.