How Does Stepper Motor Works – Part 2

BY: SC Lim, RH2T Mag, Volume 3, Dec 09

Part 1 covered the characteristic, ratings and specifications, fundamentals of operation, and different types of stepper motor. This time, we’ll cover the drive methods.

Topic Review

Stepper motor is a rotational positioning actuator designed to produce motion in “steps” (basically 200 mechanical positions of 1.8 degree per turn). Stepper motor can be controlled in open-loop scheme without any feedback device.


2.0 How Are They Controlled?

Rotation speed and direction of a stepper motor are determined by appropriate configurations of digital control devices. Major types of digital control devices are: Stepper Motor Driver, Indexer, and Controller. These devices are employed as shown in figure below. The controller (eg: computer, PLC-Programmable Logic Controller or microcontroller) sends commands to the indexer. The indexer generates step pulses and direction signals for the driver. The driver converts the indexer command signals into the necessary power to energize the motor windings. There are numerous types of drivers, with different current/amperage ratings and construction technology. Not all drivers are suitable to run all motors, so in designing a stepper motor system the driver selection process is critical.


Stepper Controlling

Figure: Typical stepper motor system

This is one example of stepper motor systems. You can have a system where the indexer and driver are designed in one single module or any other combinations. That depends on your application and the stepper motor driver you are using.

Stepper Motor Drive Methods

A stepper motor is a polyphase AC synchronous motor, and it is ideally driven by sinusoidal current. A full step waveform is a gross approximation of a sinusoid, and is the reason why the motor exhibits so much vibration. Various drive techniques have been developed to better approximate a sinusoidal drive waveform: they are half stepping and microstepping. Please refer to the figure below for the following discussions.


Stepper Uni Bi

Figure: Unipolar and bipolar wound stepper motors


Wave drive (1 phase on)


In Wave Drive only one winding is energized at any given time. The stator is energized according to the sequence X ® Y ® !X ® !Y and the rotor steps from position 8 ® 2 ® 4 ® 6. For unipolar and bipolar wound motors with the same winding parameters, this excitation mode would result in the same mechanical position. The disadvantage of this drive mode is that in the unipolar wound motor you are only using 25% and in the bipolar motor only 50% of the total motor winding at any given time. This means that you are not getting the maximum torque output from the motor.

Full step drive (2 phases on)

In Full Step Drive you are energizing two phases at any given time. The stator is energized according to the sequence XY ® !XY ® !X!Y ® X!Y and the rotor steps from position 1 ® 3 ® 5 ® 7. Full step mode results in the same angular movement as 1 phase on drive but the mechanical position is offset by one half of a full step. The torque output of the unipolar wound motor is lower than the bipolar motor (for motors with the same winding parameters) since the unipolar motor uses only 50% of the available winding while the bipolar motor uses the entire winding.

Half stepping (1 & 2 phases on)

When half stepping, the drive alternates between two phases on and single phase on. This increases the angular resolution, but the motor also has less torque at the half step position (when only single phase is on). This may be mitigated by increasing the current in the active winding to compensate. The advantage of half stepping is that the drive electronics need not change to support it. The stator is energized according to the sequence XY ® Y ® !XY ® !X ® !X!Y ® !Y ® X!Y ® X and the rotor steps from position 1 ® 2 ® 3 ® 4 ® 5 ® 6 ® 7 ® 8. 

Table below describes 3 types of stepping sequences and their relative merits. The sequence pattern is represented with 4 bits, where a ‘1’ indicates an energized winding. After the last step in each sequence the sequence repeats. Stepping backwards through the sequence reverses the direction of the motor.

Stepper Driving

Table: Excitation sequences for different drive modes


Microstepping (Continuously varying motor currents)

What is commonly referred to as microstepping is actual “sine cosine microstepping” in which the winding current approximates a sinusoidal AC waveform. Sine cosine microstepping is the most common form, but other waveforms are used. Regardless of the waveform used, as the microsteps become smaller, motor operation becomes smoother. However, the purpose of microstepping is not usually to achieve smoothness of motion, but to achieve higher position resolution. A microstep driver may split a full step into as many as 256 microsteps. A typical motor may have 200 steps per revolution. Using such a motor with a 256 microstep controller (also referred to as a “divide by 256” controller) results in an angular resolution of 360°/(200×256) = 0.00703125° or 51200 discrete positions per revolution. However, it should be noted that such fine resolution is rarely achievable in practice, regardless of the controller, due to mechanical stiction (portmanteau: static friction) and other sources of error between the specified and actual positions.

By now you should understand that each stepper motor will have a defined step angle associated with it (typically 1.8 degree). In figure below, we assume that this stepper motor has a step angle of 90 degrees. You can see that the different drive method yields different stepping resolution and speed. At full step, stepper motor gives the biggest step size, hence fastest rotation speed but lowest resolution. Higher resolution but slower speed (smaller step size) is the result of microstepping drive method. Hence the greater the microstepping divisor, the smaller is the step size.

Microstepping is typically used in applications that require accurate positioning and a fine resolution over a wide range of speeds.

Stepper Steps

Figure: Graphical representation of different stepper motor drive methods


Finding the proper wiring sequence

There is no way to know the correct pattern of the wiring sequence from stepper motor to the driver if the datasheet or user’s manual of a stepper motor doesn’t mentioned the relation of the coils and the wires according to their colors.

If you are using a bipolar stepper motor with 4 wires, connect the 4 coil wires to the controller in any pattern. If it doesn’t work at first, you only need to try these 2 swaps. You assign any of the four coil-end wires as 1, 2, 3 and 4.

Stepper Quick Table: Quick steps to find the proper wiring sequence

It is done when the motor rotates smoothly in either direction. If the motor rotates in the opposite direction from desired, reverse the wires so that ABCD would become DCBA.

If you are using unipolar stepper motor with 6 wires, you need to determine the four coil-end wires and the two common wires. Actually these steps have been discussed in previous issue.

Excerpt from Robot.Head to Toe magazine 2nd Issue, Stepper Motor (Part 1):

For the experimenter, one way to distinguish common wire from a coil-end wire is by measuring the resistance. Resistance between common wire and coil-end wire is always half of what it is between coil-end and coil-end wires. This is due to the fact that there is actually twice the length of coil between the ends and only half from center (common wire) to the end.

After that, you may apply the same steps as for bipolar stepper motor to find the correct wiring. The only difference is unipolar stepper motor has extra two common wires. If you have inquiry, please do discuss in our technical forum as we seldom check the comments under tutorials. RH2T


Information taken from:


, , , ,

Related Post


Simple steps to control Stepper Motor using 2Amp Motor Driver Shield and CIKU


How to choose a suitable motor?


SD02B Stepper Driver Features UART Interface


How does Stepper Motor Works – Part 1

3 thoughts on “How Does Stepper Motor Works – Part 2

Leave a Reply

Your email address will not be published. Required fields are marked *