DRV8825: 12V or 24V?


Im using DRV8825 a couple of years in a few projects and I like it. Lately I decided to re-built one device with a new stepper motors and new mechanics. And the new motors works with 0.4A current, but can be powered with 12V or 24V. DRV8825 can use both. Ive tried with different voltage level - it works properly, looks like no problem. I just have to use different capacitors (470mF instead of 47mF) and adjust current regulator on DRV8825.

The main use case in current project: very slow rotation with maximum torque in 1/32 micro step mode with as high precision as possible.

The question is: what`s the more preferable voltage, 12V or 24V? And what are the arguments?

Thank you very much!


What is the rated voltage of your stepper motor? In general, the coils of stepper motors have some inductance, so when the driver provides a voltage, it takes some small period of time for the current ramp up. Using a higher voltage power supply allows the current to ramp up to the point where current limiting takes effect quicker, which can be useful for quick step rates. The trade-off of using a higher voltage supply is that it might be more difficult for the driver to maintain a precise, low level of current like that required by microstepping, since the driver might need to maintain a very low switching duty cycle to step a high voltage supply down to the voltage required to produce a very low current through the coil.


Hello Nathan!

Thank you for your answer!

Thats a really good question! I completely forgot that Im using unipolar stepper in bipolar mode. So I do not use middle leads.
The stepper specification (17HM19-0406S):

  • Rated current/Phase: 0.4A
  • Phase resistance: 30 ohms
  • Voltage current/Phase: 12.0V
  • Phase Inductance 38.0
  • unipolar, 6 leads

This means that with bipolar wiring It has resistance 60 ohms/phase. And to reach 0.4A current I have to use 24V voltage in any case. Isn’t it?
But it works with 12V supply also.
So, the question is: what is the disadvantages of 12V in this case?

I understand that high voltage helps on high step rates now, thanks. And Ive got practically that the high current makes some troubles in microstepping mode. Unfortunately, Im not sure that your last sentence is completely clear for me. So, does it mean that with higher supply voltage stepper can skips microsteps with higher probability? And the regulation of current on driver could be more difficult?

I looked up a datasheet for your motor, and though it is not entirely clear, it specifies that there are 4 phases, so I suspect that you are correct and the specifications it is providing are for the unipolar configuration (with 4 phases) and that as a bipolar motor (with 2 unipolar phases in series on each bipolar phase) the voltage rating and the resistance will be doubled. You could check this by measuring the resistance across the coil with a multimeter.

The DRV8825 limits current to the motor by switching the power from the supply to the motor on and off very quickly, so it can only decrease the input voltage (by limiting the amount of time it switches power on). If the resistance through your bipolar phases is 60ohms, a 12v supply will only result in 0.2A of current through the coil, which will means the motor will produce about half the torque that it would if it were running at 0.4A/phase.

If you do run the motor at 12V, you should set the current limit lower (0.2A in your case) as well. If you look at Table 2 of the datasheet for the DRV8825, you can see that some microsteps need the full current (set by the current limit), so if the current limit is not adjusted down to match the actual maximum current draw it will only be able to achieve 50% of the current limit and it will not step smoothly.

To clarify my first post a little bit, if the current required for a microstepping position is small but the input voltage is high, getting the low current will require the driver to only apply the supply voltage for a very short time. When the current is low enough and the voltage is too high it is not possible for the driver to create a short enough pulse and the current overshoots. This leads to erratic step behavior.


Hello Nathan!

Yes, I`m sure that this motor is unipolar 4 phase with 6 leads. I measured the resistance between extreme left and extreme right leads and its almost 60 ohms.

Thank you very much, I understand now how regulation works on DRV8825. The case when current is not enough to reach the normal current draw is clear - stepper misses some microsteps and goes unsmoothly.

And the case when voltage so high that drive can`t make so short current pulse to provide necessary current is clear.

OK, thank you again, I`ll make some experiments. Actually, theory does not correspond to my experience, so I think my realization is not full.
For instance: I have a normal bipolar (2 phase, 4 leads) stepper, 12V, 0.4A, 30 ohms/phase. I use DRV8825 and 12V/2A power supply. 1/32 microspets mode. It looks like in this case its not possible to give too much current to the stepper. The regulator on DRV8825 should be in some extreme position and pass all current to drive. If I adjust regulator down stepper should miss some mircosteps. But I thinks the was a position of regulator when the current was too high - some noise from stepper, stepper extra heating…

I`ll make some extra tests and be back :slight_smile:

Thank you again!

Hello Nathan!

It tooks some time, but finally I found time for deep testing of the discussed motors with DRV8825 powered by 12V and 24V. As result I can confirm, that you was right about current limiting.And it seems to me I understand why now.

On 24V and 0.4A current (0.2V limit on regulator) I have a good torque (I do not have the measurement tool, but at least I can`t stop the rotor by fingers) and smooth rotation (1/32 mode). Exactly what I need. Motor is heating, but not too much, up to acceptable value.

If I decrease limiting voltage to 0.1V on regulator (0.2A), rotation still smooth, but I lost torque, I can stop rotor by fingers now. This is clear. But if I increase limiting level up to 0.3V (0.6A) stepper begin to lose microsteps and start to overheat slightly .

If now I change supply to 12V, change regulator position to get 0.2V (0.4A) I have the same situation as on 24V and regulator position on 0.3V - motor loses microsteps and moves unsmoothly. But if turn limiting regulator to position 0.1V (0.2A) - it works smoothly. But the torque will be sufficiently less then with 24V and 0.4A. This is critical for me, so I choose 24V supply.

I think I understand how it works completely. To archive smooth rotation I need to scale current curve in the way the maximum current point coincide to to the maximum possible current. Below this point I lose some torque, above this point I lose some microsteps.
Am I right?

I am glad to hear you found a combination of settings that seem to work for your application. Your results seem reasonable and, in general, setting a current limit higher than the supply voltage is able to drive through the coils will cause microstepping to be distorted.