Home > Blog >

What is a CNC stepper motor?


What is a stepper motor?

First of all, a stepper motor is a motor. This means, that it converts electrical power into mechanical power. The main difference between them and all the other motors, is the way they revolve. Unlike other motors, stepper motors does not continuously rotate.

The power supply of such an engine is discrete, that is, it is carried out by pulses. These pulses also rotate the shaft by a certain angle, each such rotation is called a step (from which they got the name).

Often, stepper motors work in tandem with a gearbox to improve installation accuracy and torque on the shaft, and with an encoder to track the shaft position at the current moment. These elements are necessary for transmitting and converting the angle of rotation.


As all motors, the stepper motors consists of a stator an a rotor. The stator is the fixed part, the rotor is the rotating part. The very basic design of a stepper motor would be as follows:

One of the defining parameters of a stepper motor is the rotor pitch, that is, the angle of rotation of the rotor corresponding to one pulse. A stepper motor takes one step per unit of time at the moment the control pulses change. The size of the step depends on the design of the engine: the number of windings, poles and teeth. Depending on the design of the engine, the step size can vary in the range from 90 to 0.75 degrees. With the help of the control system, it is still possible to reduce the step in half using the appropriate control method.

Driving modes

There are several different ways to apply current to the windings.

Wave drive or Single-Coil Excitation

This is called Single-Coil Excitation, and means that only one coil is energized each time. This method is rarely used, generally when power saving is necessary. It provides less than half of the nominal torque of the motor, therefore the motor load cannot be high.
Full step drive

The second and most often used method, is the Full step drive. According to this method, the coils are energized in pairs. According to the connection of the coils (series or parallel) the motor will require double the voltage or double the current to operate that needs when driving with Single-Coil Excitation. Yet, it produces 100% the nominal torque of the motor.
Half stepping

This is a very interesting way to achieve double the accuracy of a positioning system, without changing anything from the hardware! According to this method, all coil pairs can be energized simultaneously, causing the rotor to rotate half the way as a normal step. This method can be single-coil or two-coil excitation as well. The following animations make this clear:

Single-Coil excitation

Two-Coil excitation


Microstepping is the most common method to control stepper motors nowadays. The idea of microstepping, is to power the coils of the motor NOT with pulses, but with a waveform similar to a sin waveform. This way, the positioning from one step to the other is smoother, making the stepper motor suitable to be used for high accuracy applications such as CNC positioning systems. Also, the stress of the parts connected on the motor, as well as the stress on the motor itself is significantly decreased. With microstepping, a stepper motor can rotate almost continuous, like simple DC motors.
The microstepping method is actually a power supply method, rather than coil driving method. Therefore, the microstepping can be applied with single-coil excitation and full step drive.

Stepper motor types

Permanent Magnet Stepper Motor (PM)

The first and most basic type of stepper motors is the Permanent Magnet (PM). The rotor of the PM motor carries a permanent magnet with 2 or more poles, in a shape of disk. The operation is exactly the one described above. The stator coils will attract or repulse the permanent magnet on the rotor and will generate the torque. Here is a sketch of a PM motor:

Variable Reluctance Stepper Motor (VR)

The VR motor does not have a permanent magnet on the rotor. Instead, the rotor is made of soft iron, and performs a teethed disk like a gear. The stator has more than 4 coils. The coils are energized in opposite pairs, and will attract the rotor. The lack of a permanent magnet has a negative affect on the torque that is significantly decreased. But it has a great advantage. These motors have no detent torque. The detent torque, is the torque generated by the rotor permanent magnets that are magnetized to the stator's armature, when no current flows within the coils. You can easily understand what this torque is, if you try to rotate an unconnected stepper motor by hand (NOT a VR stepper). You will feel the distinctive "clicks" of each step of the motor. Actually, what you feel is the detent torque that pulls the magnets against the armature of the stator. Here is an animation of a VR stepper motor in operation:

Hybrid Stepper Motor

The hybrid stepper motors are named so, because they combine the characteristics from both VR and PM stepper motors. They have excellent hold and dynamic torque, and very small step angles, from 0.9o to 5o, giving them A+ in accuracy. Their mechanical parts can rotate at high speeds relatively to the other stepper motor types. This is the type of motor used for high end CNC and robots. The major disadvantage is the cost.

A typical 200 steps per revolution motor, will have 50 North and 50 South poles, with 8 coils (4 pairs). Because such a magnet cannot be manufactured, an elegant solution has been given. There are actually 2 separate disks, each one with 50 teeth. A permanent cylindrical magnet is also used. The disks are welded one on the North and one on the South pole of the permanent magnet. Thus, one disk has North pole on its teeth and the other South. The trick, is that the disks are placed in a way that if you look them from above, you will see one disk with 100 teeth! The hills of the first disk, are aligned with the valleys of the other disk.

The following animation shows a hybrid stepper motor with 75 steps per cycle (5o per step). Worth to notice that the 6 coils are in pairs of two, each one with its opposite coil. Although someone would expect to find these pairs with angle difference of 60o, it is not so. If we suppose that the first pair is the most top and most bottom coil, then the second pair is with angle difference of 60+5o from the first, and the third 60+5o from the second. This angle difference is the reason why the motor moves! Full and half stepping can be applied, as well as single-coil excitation for power saving. In this animation i use full step drive. With half step drive, the steps are increased to 150!