# How to interpret the stepper motor voltage requirement?

I have a 8HS11-0204S stepper motor and need to match a driver to it. HERE it says that the recommended voltage for driving it is 12-24V. But if you open the (feeble) DATASHEET, it says that the rated voltage is 4.8V, which is confirmed by multiplying the operating current with phase resistance. If this is true, then as I understand any driver that requires higher minimum input voltage than 4.8V is unsuitable.

Which value should I look at when choosing a driver? Is looking at the rated voltage enough?

• I would trust the datasheet. But remember, rated voltage is just the voltage used to rate the specification, but not a maximum. Nov 11, 2015 at 16:08
• But anyway motors are driven by current, not voltage. A driver should supply as much voltage as needed to achieve the required current. Nov 11, 2015 at 16:16
• The first link (HTML) also says " Each phase draws 200 mA at 4.8 V, allowing for a holding torque of 1.6Ncm(2.3oz.in)." So the 4.8V seems to be just for that.
– Fizz
Nov 11, 2015 at 18:40
• Note that both answers below are correct. You need to pay attention to the current. More at geckodrive.com/support/step-motor-basics.html
– Fizz
Nov 11, 2015 at 18:47
– Fizz
Nov 11, 2015 at 18:55

There are 2 approaches to driving a stepper motor.

The simplest is just to connect DC to each winding in turn, via switches (FETs, driver ICs). And in that case, use 4.8V (5V - switch losses) as you confirmed from current and resistance. This is fine at low and medium speeds.

If you need maximum performance, you'll find the motor's inductance attenuates short pulses, so running the motor faster reduces its torque. You can overcome this with a more complex stepper driver, supplying pulses at the recommended 12-24V, to maintain current and torque at higher speeds.

Each pulse is maintained at a high voltage for long enough to build the rated current in the phase, then it should reduce in voltage to the safe level of 4.8V for the remainder of a slow pulse or steady state. This reduction in voltage can either be timed, or achieved by monitoring and limiting the drive current.

So both voltage ratings can be correct : 4.8V continuous, and 12-24V for an optional boost to high speed performance.

• For OP's benefit, the 2nd method is called a "chopper drive[r]", More details at ST or adafruit.
– Fizz
Nov 11, 2015 at 19:10
• I can imagine other ways of implementing it' but a chopper is certainly the usual one.
– user16324
Nov 11, 2015 at 20:24
• Much clearer now! However I have one question. Let's say the page does not provide a recommended voltage range but I know the phase voltage and I want to use a stepper motor at a certain RPM and torque with a chopper driver. How do I know what voltage to connect to my driver? Marko in the other answer proposed a method with inductance, do I simply calculate the minimum voltage for that speed from the coil inductance using the formulas in that page, and if I find the torque is insufficient - increase the voltage more? Nov 13, 2015 at 15:45
• Yes I would use the calculator as suggested by Marko. As for increasing voltage, I would watch the real power (I^2*R) dissipated in the motor winding resistance and not exceed the (0.2A) rating.
– user16324
Nov 13, 2015 at 16:52

The important data for stepper motor is rated current and voltage factor Kv [volts/krpm]. Now lets assume the motor winding is made of superconductor, this implies that at zero speed and current 0.2A (holding torque) the voltage is 0V. If the speed is 1000rpm and it has data Kv=35V/krpm, you can guess it generates 35V herfore you need more than 35V drviver voltage to feed it with 0.2A.
Now the real world scenario. The winding has 24ohms: at zero speed, current is 0.2A you need to supply 4.8V. When you spin it up to 1000rpms, there is no data about Kv, neither the nominal power power of the motor, the only data is inductance 8mH.
From this approximative calculator: http://www.daycounter.com/Calculators/Stepper-Motor-Calculator.phtml you will get 2200rpms at 24V and power 5W, if you trust this. Good luck.

• I'm really not sure about your answer. The Kv ratings belong to brushless DC motors, often used in RC vehicles. And the unit is not volts/krpm, it's rpm/volt. A 1250 Kv BLDC motor, when supplied with 12V and no load, will spin at 12*1250=15000 rpm. Those motors are three-phase motors and need special drivers called ESCs (electronic speed controllers) to operate. As far as I know, none of this stuff applies to stepper motors. The speed of a stepper depends on how fast the driver is stepping it. You can spin at 50 RPM regardless of the supply voltage. Nov 20, 2020 at 12:43
• However as the speed goes up (step duration becomes shorter), there is less time available to pump current into the coils. Coils have inductance, which means they resist fast changes in current. Raising the supply voltage allows to pump the current into the coils in shorter time. Once the coil is saturated, the driver "chops" the current to the rated value, so higher voltage doesn't lead to currents above the motor's rating, as would happen with a simple (non-chopper) driver. GeckoDrive has nice articles on stepper basics - geckodrive.com/support.html Nov 20, 2020 at 12:48
• The calculator you suggested seems reasonable. I wish it would provide rpms, not just revs per second. Although somehow when I plug in my NEMA 34 stepper's data, it tells me max rpm is ~350 at 48V, while the manufacturer's torque curve suggests the motor was successfully tested at up to 900 rpm at 48V. Nov 20, 2020 at 12:51

Old thread, I know. But I felt the answers were not that good.

The RATED voltage of a stepper motor, is at it's rated amperage. The amperage running trough a conductor (wire/coil/inductor) is what proportionally generates the magnetic field and heat.. In a conductor, you cannot change it's resistance if you discount heat changing it. So for all intents and purposes, the resistance (OHM) in your stepper phases, is 24Ω. The manufacturers have rated the phase amperage (the thing that creates heat and could melt a conductor/destroy it), at 0.2A (200mA). So let's apply Ohm's law. Voltage = Amperage * Resistance.

0.2A, times 24Ω, is 4.8V.

This is why your stepper is rated at 4.8 volts. You need to understand that the 200mA rating, is for the HOLDING/PERSISTANT current running trough the coil (RMS current), but not the peak ratings. "Technically" the peak current could be anything, but the higher it is, the shorter time it can "be" that value before heating a part of the coil to breaking point.

You can't "change voltage, without changing amperage". That's just not possible. So let's say your supply voltage is 24 volts. The resistance is the same, so this would mean that the amperage would be: 24V, divided by 24Ω, equals 1A. If you notice, the PEAK amperage isn't specified on the motor, but on the driver. If you supply 24V to the driver, the peak amperage would be 1A for this motor. The driver just can't deliver more than that.

So how the hell does the driver "limit the current"? Well that's the whole task of the driver. If we could supply the stepper with a constant voltage, it wouldn't need an driver module, but just a few transistors. The driver is rated with a max voltage before it breaks, and uses switches (DIP-switches usually) to set what current it should output as a maximum. So when the motor is in a "hold", the driver WILL output 4.8V, and not 24V that is coming in to it. (If you set it to 200mA that is)..

The driver needs to be set to LESS or equal to the rated amperage, otherwise the motor coils gets "too much" current trough them. But the drivers task is to limit the current by reducing the voltage, not to do "both", because that's not possible.

But why do drivers have such higher voltage than the rated voltage on a motor? Because higher voltage will induce the current WAY faster. If you apply 4.8V to this motor, it will "react", but will be very very slow. It takes more time to reach the rated current (to the factor of tens of milliseconds) for ONE step.. And since the current is what gives torque to the motor, it will not be able to spin fast at all with this voltage. (One rotation is 200 steps. If ONE step takes 12-13ms, that's over 2 seconds to just perform one rotation with full torque). So we absolutely need to decrease the time to achieve rated current. And with higher voltage, we can achieve that.

But there's a tradeoff. Of course there is.... (read up on inductance, cause what I write now isn't completely correct) In that tiny moment where you apply 24V to the coil, "1 amp will run trough the wire", and that's way more than what it's rated for. There's a lot of heat created. But the current builds trough the coil faster, and thus we can reduce the voltage way faster to keep the rated amperage. So in practice we get two problems; there is more heat generated in general, and at a point it will break the motor. Second is that the motor will JUMP to it's next step WAY faster, instead of "slowly moving to it", and this will induce vibration into the whole engine. This vibration is as fast as each driver-pulse, and at for example 200 pulses each second, the vibration is at 200 times each second (200hz). This is what makes the motor sound. And the stronger "jumps" it makes, the stronger the sound (search youtube for "stepper music" and you'll see how nicely we can tune this sound frequency). The motor might even get so fast "jump" that it overjumps into the next "step". Thus missing a step.

TL:DR; The stepper voltage rating is derived from Ohm's law. It directly relates to it's rated amperage. A 68V driver will deliver 4.8V if it is set to 200mA. And a motor has no problem with any peak voltage/amperage just as long as it's not for TOO long to destroy it.

I suspect the 12 volts references the input voltage to a PWM stepper controller. For such a controller, it's useful to run at a higher voltage than the motor nominal, and current control is used. So, as long as the controller is set to no more than 0.2 amps the motor will be happy.