I'm planning on running two identical stepper motors controlled by arduino. The specs are:

Bipolar RMS current - 3A

Bipolar RMS voltage - 3V

I plan on running them at very low (<60) RPM (the speed for max torque, according to the phone rep I spoke to from the manufacturer) and cannot sacrifice power, but can compromise speed.

The problem I'm having is that I can't find both a stepper motor driver and a power supply that operate at that Amp rating and also have a low enough voltage rating. After foraging around on here I stumbled across this helpful(ish) post:

Stepper driver 3.3V 3A

Unless I'm interpreting some of these comments incorrectly, it sounds like operating just below the voltage range of the driver isn't horrible. But other places I've read have said that using a motor below the driver specs can cause damage. Once I select the drivers I'm not too worried about finding a fitting power supply, but that's a bridge I'll have to cross after I decide the drivers I'll be using.

I'm obviously VERY new to the world of electronics and would really appreciate a push in the right direction

link to the motors: http://www.anaheimautomation.com/products/stepper/stepper-linear-actuator-item.php?sID=797&pt=i&tID=80&cID=52


2 Answers 2


It's rare these days to see stepper motors (apart from really small ones) driven by a simple H-Bridge. You need to look at your detailed spec sheet and find the winding inductance, which in your case it appears is 1.5 mH.

From there it takes a bit of math to figure out what you exactly get out of the motor, but you can use a quick online calculator to get approximations.

For your stepper this was the result: enter image description here

This shows you can get to about 96 rpm.

Note that there is no microstepping achievable for this type of configuration, so you can only get 200 steps per rev.
There will be losses (voltage) in your H-bridge so you don't want a 3 V supply, depending on whether the H-bridge has transistors or FETs you could need up to 5+ V. I'd suggest that one solution would be use higher voltage and drive with a constant current driver above the H-bridge.
Or you could put a series resistor in series with each winding to limit the current.
There will be greater power dissipation but I assume that may be ok for you.

One H-bridge able to drive your motor would appear to be the TLE 5206 from Infineon. This can handle 5 A, but needs a supply of 6 V or above to work.
you could add a 1 Ohms resistor in series with each winding (Your motors are 4 wire so this will work).

The state of your H-bridge drive is as follows:

enter image description here

In these diagrams the 0 and 1 in the table indicate +3 A and -3 A current through winding 1a-1b. 0 and 1 under 2a-2b represent the current for the second winding. Providing the RL time constant of your motor is short compared to state time, then this method (values of drive) holds true.

Note: The 1a-1b signals can be produced by 2 ports on your Arduino, or you could use one port and an inverter. In the latter case this means you cannot brake the motor by having 0 current/short across the motor. You can try this out for yourself by leaving the motor winding unconnected and then manually spinning the shaft. Little effort is required and you only feel the magnetic detent positions. If you then short the 1a-1b, 2a-2b windings, the effort to turn the motor is large. This is a brake condition.

If you drive the motor at a speed where the RL time constant is a large part of the state time (>50%) then the drive needs to become a bit more complicated (and you then need to consider RMS and Peak currents). The complication is that the current waveform becomes what's known as sinusoidal and in it's most primitive form (Full step) would look like this:

enter image description here

Note: now that there is actually a new state in the drive steps from the Arduino .... 0 Amps. This means you can't use the invertor drive method and must drive the 1a-1b, 2a-2b using individual ports for the H-bridge halves.

For your application I doubt you will need to consider the complications of sinusoidal drive, though it's possible you could include brake to give you a lower power state with good hold characteristics.

  • \$\begingroup\$ So if I need to use sqrt(L)*32 and 2/3(sum(A)) to determine my power supply needs that gives me 4A 40V power supply. This will be connected to 2 seperate TLE 5206 drivers (does the type/package really matter for my purposes other than physical size?) each connected to the 4 lead wires of a motor with additional 1ohm resistors at each connection. Does that configuration sound about right or have I oversimplified / missed something? \$\endgroup\$
    – E. Downs
    Feb 7, 2017 at 7:48
  • \$\begingroup\$ I'd suggest you don't need to consider RMS and peak current. Your aim is to hit a DC value equal to the RMS. Added more to answer \$\endgroup\$ Feb 7, 2017 at 17:08

The question you linked to actually has the answer: use a chopper driver, which most stepper motor drivers are. These can run at a voltage well above the rated voltage of the motor.

A motor winding is basically an inductor. A chopper driver works by applying the supply voltage across the winding, which causes current to slowly build through the winding, at a rate determined by the inductance. Before the current gets above the rated current of the motor, the driver turns off ("chops"), letting the current decay until it falls below another threshold, at which point it turns back on.

This works because the rated voltage of a stepper motor is not a hard limit, but rather the voltage that will cause the rated current to flow (and the rated current is a real, thermal limit).

There are plenty of stepper motor drivers out there capable of 3A at perhaps 12V or 24V, and power supplies are also easy to find at those voltages.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.