Famous for their ability to accurately control speed and position, while commutating under open loop conditions, the stepper motor simply is unequalled when it comes to the simplicity of the electronics drive. It also has an inherent ability to maintain a commanded position when compared to similar servo drives, consisting of either brushed DC motors or three-phase brushless DC motors.

However, stepper motors suffer from a series of maladies. The most problematic is resonance. The nature of stepper motors is such that when a step is commanded, as the rotor moves into position, some oscillation occurs. This is caused by the fact that more than needed current must be used, if open loop operation is to be achieved. If just the right amount of current is used, each step may land on the right position without any oscillation.

Unfortunately, this also implies that as torque varies, however slightly, it could bring the inclusion of missing steps, or vibration. As such, both speed and position accuracy could be highly compromised. Using more current than actually needed is a common practice because this allows the open loop nature of stepper driving to be maintained.

So, how to remove this unwanted vibration? If we analyze the root cause of this behavior, the problem lies in the angular traverse distance. Because the rotor needs to move so much, it continues to move, even when we try to stop it. By making each step distance smaller and smaller the effects of these vibrations can be minimized.

By design, a stepper is manufactured with a number of steps per revolution, which in essence is hardwired to its mechanics. If a stepper has 200 steps per revolution, it will always move a 200th of a revolution (1.8 degrees) when a step is commanded. To make this arc motion smaller, there are two choices: 1) either build a motor with more steps per revolution; or 2) modulate the current. Once we choose a particular motor, modulating the current is our only alternative.

Modulating the winding current magnitude changes the magnitude of the magnetic field that originates at the stepper motor’s stator, which then pushes and pulls on the rotor. If we make the strength of these magnetic fields a fraction of the largest possible magnetic field (the one utilized for full-step commutation), the resulting series of electro-motive forces are a fraction of the full force. Therefore, the stepper motor only moves a fraction of a full step, or a microstep.

Now it is easy to compute the level of microstepping for our motor. When dividing the full step current magnitude into eight smaller current magnitudes, the motor windings are then subjected to eight degrees of microstepping. In other words, we divided our 1.8 degrees by eight – so each microstep is now 0.225 degrees. Figure 1 shows how a full step is divided into eight microsteps by generating multiple current levels between zero and maximum current settings, following the typical wave shape of a sine wave. 

Figure 1. A full step can be divided into multiple microsteps by regulating current between zero and maximum currents. A sine wave shape is typically used.

While somewhat increased position accuracy is one of the benefits of implementing microstepping, ultimately, the goal is to eliminate the problem imposed by the inherent vibration of each full step. This aspect of microstepping is where designers benefit the most. The more degrees of microstepping employed on the motion control driver, the softer the motion to be obtained. This effect is most valuable at slow speeds.

So how do we get microstepping smoothly embedded into our applications? You could take out your digital signaling processor (DSP) or fancy microcontroller unit (MCU), code your digital-to-analog converters (DACs) to generate a pair of sine/cosine waveforms, code a few interrupt subroutines to properly time the phase generation, and use this firmware to control two full H-bridges to power both bipolar stepper motor’s windings. However, this can be quite complicated.

Stepper Motor Controllers to the Rescue
Stepper motor controllers such as the DRV8824 and DRV8825 are available to support applications with up to 32 degrees of microstepping without any coding required. As part of the device’s logic, an internal indexer generates all the waveforms needed to properly commutate the stepper motor in both directions. A simple square wave at the STEP input commands subsequent steps, with the DIR input specifying the direction of rotation. Figure 2 shows how the intricate implementation has been condensed into a single-chip solution. 

Figure 2. A processing unit with a dual power stage used to control a bipolar stepper motor can be integrated into a single-chip solution.

Both of these devices are 100 percent pin-to-pin compatible and service the stepper with a programmable maximum current. An analog input, VREF, and the selection of an external SENSE resistor are used to program the desired sine wave peak current by following the equation:


DRV8824 is capable of supplying up to 1.6 A per phase, whereas the DRV8825 is capable of handling up to 2.5 A per phase, as long as proper thermal heat sinking through the PCB is provided. Why pay for high current when low current is sufficient?

If more than 32 degrees of microstepping is needed or if the application is required to be true 100 percent jitter free, the only means for a stepper to offer these conditions is by the high resolution 256 degrees of microstepping.

In this case, a device without an internal indexer where you can manipulate the reference voltages in real time, allows the sine/cosine waveforms to be applied directly to the power stage. In other words, you must go back to the processor and dual power stage implementation shown in Figure 2.

Acquiring better microstepping resolution is one of the main reasons to move away from the integrated and single-chip solution. However, there is another flexibility point added to this kind of implementation, which is improved thermal impedance and the ability to supply more current, or drive stronger loads.

To demonstrate this let’s start with the low-current version of the integrated microstepping driver we have been discussing. There is only so much current to drive with a single chip device, and the main reason for this phenomenon is increased FET RDSon. While the H-bridge is supplying current to the motor, the power losses inside of the device are equal to I^2 * R, where:

I is the RMS or average winding current,
R is the FET resistance under saturation, or RDSon

According to the datasheet, the DRV8824’s FET RDSon can be as high as 0.9 Ohms. Assuming we want to microstep a motor with 1.6 A peak current, the maximum power losses per H-bridge during conduction are computed to be:

P = I^2 * R = (1.6A * .707)^2 * 1.8 Ohms = 2.30W

Notice we had to multiply the 1.6 A peak by the 0.707 factor [or 1/SQRT(2)] since the waveform generated would be a sine wave, and the current the winding detects is the RMS of 1.6 A peak. We also used twice the RDSon per FET because there are two FETs in series with the stepper winding. The last step missing is to multiply our obtained power loss by two as inside the device there are two H-bridges, both consuming 2.30 W while the motor moves. Hence, the total power loss due to conduction is 4.61 W.

If the motor stops and one of the phases is at maximum current, that phase will be regulating current at 1.6A. Hence, the power equation now becomes:

P = I^2 * R = 1.6A^2 * 1.8 Ohms = 4.61W

This represents the total power loss during conduction since the other H-bridge is not regulating current. Due to the nature of microstepping with a sine/cosine wave shape pair, while one H-bridge is regulating current at maximum magnitude, the opposing H-bridge must be regulating at zero current, or disabled.

This power loss inside the device has massive implications to the system’s operation. The 4.61 W represents a temperature rise on the die and, if this increase in temperature is substantial, the thermal shutdown (TSD) protection most likely will kick in. Hence, it is imperative for a carefully designed system to take into consideration the release of this heat into the ambient, in order to maintain the die as cool as possible.

It is easy to remove the heat referred to as thermal impedance, or Theta JA (thermal resistance of junction to ambient). The lower the thermal impedance, the easier it is for the heat to be removed. Theta JA has units of C/W. By multiplying the system’s Theta JA by the power consumption, the actual temperature rise can be obtained.

The devices we are looking at are built with a Power Pad, or heat slug at the bottom of the package, which is soldered into the PCB assembly. The PCB assembly then becomes the device’s heat sink and heat removal pathway. If properly designed, this path should be sufficient to remove the die’s heat and preserve a decent temperature below the thermal shut down trip point. A properly designed PCB should have a four-layer board with a dedicated ground plane. As a rule of thumb, however, the more copper there is the better the thermal impedance will be.

The DRV8824 datasheet offers a typical Theta JA of 28 C/W with a board as described above. Now we can determine how hot the die will be running under the previous maximum current conditions:

Temperature increase = Theta JA (C/W) * Power (W) = 28 C/W * 4.61W = 129.08C

The temperature rise then must be added to the ambient temperature. In an ambient of 25°C, the die temperature should be around 154.08°C. The datasheet says the TSD threshold should be around 160°C, but a minimum could be 150°C. This is why this device really cannot do anything more than its rated 1.6 A. The designer would need to decrease thermal impedance, which can be done by adding external heat sinking or air flow, which may then not be cost effective.

Using larger power stages, however, RDSon can be made smaller. This is the principle behind the DRV8825. With a maximum RDSon from high side to low side of 0.64 Ohms, more current can be supplied while maintaining the die cooler. If even larger power stages are used, with increasingly small RDSon parameters, larger currents capabilities are to be expected. Table 1 shows different current capabilities depending on which device is utilized. 

Table 1: Different power stages with their maximum rated currents versus obtained power dissipation. *These devices are a single H-bridge, so two are needed to control a stepper.

New motion control and power stage ICs can make the different in your system design. The DRV8x includes a series of single H-bridges and dual H-bridges optimized to drive a brushed DC or bipolar stepper motor, with a plethora of interface styles, current handling capabilities and truth table configurations.

In order to drive a small DC or stepper motor controller, design the motor-based applications with robust, easy-to-use and flexible devices. Different current capabilities ensure you get what you need, not what is available. Top notch protection ensures your application is safe to itself and the end customer. Different interface styles allow you to choose the right part.

To learn more about motor control, visit:
Download the MSP430F1612 application note, SLVA416, Texas Instruments, September 2010.

About the Author
Jose Quinones is an applications engineer for the analog motor control group at Texas Instruments. He received his master’s and undergraduate degrees from the University of Puerto Rico, Mayaguez Campus, Puerto Rico. Jose can be reached at