Pulse width question on DRV8824 [SOLVED]

The datasheet for the DRV8824 indicates that the minimum pusle width for the step input is 1.9 usec high and 1.9 usec low. This matches fairly closely the stated max frequency of 250 kHz.

To simply the programing of my motor control algorithm, I was simply raising the step pin then lowering it about 5 usec later (above the needed 1.9us high time). Since I am driving the motor somewhat slowly, the low time would be several hundred usec later. This is all well within the limits of the motor and controller. With this setup, the motor was turning appropriately.

But if I change the software slightly to provide a square wave rather than a series of short pulses at the SAME frequency, I get a different behaviour. Specificaly the motor ‘sings’ differently. By singing I mean the sound that stepper motors make as they move. Other parameters (torque, speed, …) seem to be the same.

Could someone explain this phenomena? I was unable to find anything in the datasheet that would indicate that a series of short pulses rather than a square wave was better or worst than the other. But obviously there is some difference or the motor should sound the same.


I don’t think that changing the duty cycle of your step signal should change the sound the stepper motor makes. Can you post a video so that we can hear what you are hearing?

Can you also tell me more about your setup? What are you using to generate your step signals? What frequency are you stepping at? What kind of stepper motor are you using, and how are you supplying it with power?


So it has taken me a while to get back to this problem. As you suspected, as long as you meet the minimum pulse width to the controller, the duty cycle makes no difference. My experiments were flawed in that I believed the frequency was not changing. But a slight flaw in my code did in fact change the frequency as well as the duty cycle. I have since converted to timer controlled pulses and the problem has gone away.


Thank you for letting us know that was the problem and that you got it working.


Is there a way to mark a thread as “solved”? Can’t seem to find the button that other websites have.

You can edit the title of your first post and add [SOLVED] at the end. There is no button for that purpose.