Pololu Robotics & Electronics
My account Comments or questions? About Pololu Contact Ordering information Distributors

Pololu Forum

Am I missing something obvious regarding low duty cycles with this setup?

I am using a VNH5019 driver (https://www.pololu.com/product/2507) powered at 12V and a 25D 12V HP motor (https://www.pololu.com/product/4846). The whole thing is controlled by an Arduino Due.

Mostly, it is working really well, except one scenario. If I set the duty cycle to less than 25%, the motor stops completely. I get similar results when using the Arduino default PWM frequency, and when running it at 20kHz as I can with the Due (I can go slightly lower at 20kHz and still get movement).

I wonder if this is expected in this setup? I was really hoping to have a dynamic range in speed of more than a factor of 4. The motor is under a very low load (Just friction bearings) and checking the input voltage I am not seeing a drop in voltage that would indicate that the driver and motor are trying to draw more current than can be delivered, something I assume would happen if it was a friction problem.


I would expect that motor to keep running at lower duty cycles than that. Does the duty cycle it stops at change if you slow it down gradually from a higher speed versus starting with the motor stopped? How much current does the setup draw when running at full duty cycle? If you have an oscilloscope, could you look at the PWM pin to make sure the duty cycle is really what you expect? Could you also post your code and pictures of your setup that show how everything is connected?


Thanks. Then I know that this is not expected. I weill do a full debug next time I pass by the electronics workshop where I have a full range of equipment.

So now I did a proper test and I am getting a dynamic range of about 12 which seems much more reasonable. Not sure what I did wrong, but now it seems to work. Thanks!