We have 23 guests and no members online

Stepper motors are motors that allow you to execute movements with high precision. They are mainly found in printers, CNCs (computer numerical control) and other devices that require good precision. The main disadvantage of these motors stems from their speed, in fact, the more their precision is increased and their speed decreases.

Check out my Youtube video : Les moteurs pas-à-pas : Partie 1
Check out my Youtube video : Les moteurs pas-à-pas : Partie 2

Stepper motors are listed in two main families: bipolar motors and single-pole motors. It will be necessary to choose one of these two families when starting a project in order to opt for the good characteristics of current, torque or other. Each family has its advantages and disadvantages. On the other hand, both types of motors offer good accuracy.

Unlike standard DC motors, stepper motors have several windings inside. This is why the engine can only be rotated one step at a time. In the case of two-pole motors with two windings, these will be controlled by two H-bridges. Unipolar motors have four windings, which must be controlled separately by four transistors.

The main characteristics of stepper motors are essentially the supply voltage, the current of one phase and the number of steps per revolution. Obviously, if you also manage the mechanical part of the project, you will have to choose the format of the engine (NEMA 17, NEMA 23 ...) and take into account other technical characteristics such as engine torque.

Voltage is an important element since it will determine which motor controller you will have to choose. Some controllers can only power 12 V motors while others can power all motors operating in the range of 8 to 35 V. Speed ​​is also a function of the voltage applied to the stepping motor. The higher the operating voltage of the motor, the faster the motor can run. Current is another important element since it will determine the type of controller to be retained. The current is usually given for each phase since they must be checked separately. Thus, the higher the current, which is verified when the resistance of the inductor is smaller, and the more the motor will have a high torque. Finally, the number of steps per turn will determine the accuracy of your engine and will be an indication of the relative speed of the engine. To illustrate this, understand that an engine performing 200 steps per revolution will go twice as fast as a motor that performs 400 steps per revolution.

To run this type of motor, it is necessary to use a sequential supply of the different windings. A direct supply of the windings would not be enough to run a stepper motor unlike the standard DC motor. Whether it is bipolar or single-pole motors, they can be controlled in "full step" mode, "half step" mode, or in "multi-step" mode. By using the "not complete" mode, the motor will have the same number of steps per revolution as the specifications of its manufacture allow. For example, a motor of 100 steps per revolution controlled in "complete step" will necessarily take 100 steps to do a 360 degree turn. Each pitch will therefore move the rotor at an angle of 3.6 °. When controlling a motor in "half-step" or "multi-step" mode, the precision of the same motor is increased without changing its mechanics. Thus, the same engine which makes 100 steps per turn controlled in "half-step" will have to make 200 half-steps to make a complete turn of 360 degrees. Each half-step will therefore correspond to a rotation of the rotor of 1.8 ° of angle. Some controllers can even, since each motor has a fixed number of steps fixed by the specification, cut each step into 32 parts, creating 32 mini-steps on which they can act. This means that the same engine with a mechanical configuration to realize 100 steps per turn but activated by a controller that gives access to 1/32 of the actual pitch will allow us to reach 3200 mini-steps per revolution. The rotor is thus controlled with a mini-step of an accuracy of 6 minutes and 45 seconds of degree of angle, thus, overall, one tenth of times smaller than the degree of angle hence the precision of these motors Step by step controlled by such types of controllers.

To make multi steps ("microstepping"), it is absolutely necessary a controller like the A4988 or the DRV8825. DC controllers control the current, unlike the H-bridges, in each winding to limit it and not damage the motor. Without these controllers, it would take far too many elements (DAC, comparator, PWM etc.) to run a motor not. Moreover, they allow to modify the precision of each step simply by putting combinations on three of the inputs of the module. In the case of these two controllers, it takes three pins to determine accuracy, but for others it will take only two. For the A4988 model, the controller can have a full step accuracy of up to 16 microphones, while the DRV8825 can take up to 32 microphones. The advantage of having microphones is that the motor runs more smoothly when it is running and is quieter due to less sudden changes in engine positions.

These controllers are very easy to use since they allow to manage the direction with a single spindle. Finally, to make steps, it is enough to send clock strokes (up and down sequentially) on the pin "STEP". Thus, the rotor can be rotated one step at a time with a customizable precision.

These two models of controllers support between one and two amperes per winding when the thermal energy is dissipated. On the other hand, other types of controllers allow to support motors which consume more by windings and to control motors with a sinus which allows to have a better yield.

It is interesting to note that these controllers operate under a standard power supply of 3V to 5V and that the power supply of the motor must be separated because it is different. Indeed, most of the time, one can supply the motors with a voltage that can go from 8V to 35V. But what do the motors that are specified from a working at 2.7V? One can still use these controllers since these are controlled by the current and not the voltage. It is possible to power the 2.7V motor with a voltage of 12V, but regulating the current with a potentiometer placed for this purpose. Thus, the current is limited according to the technical documentation of the engine instead of limiting the voltage.

First H-bridge project with a PIC16F688 and transistors:

Without subscription Subscriber and VIP Subscriber
 <--- Schematic  <--- Complete Schematic
<--- Hexadecimal <--- Source code in C

Second project with a stepper motor controller to do "microstepping":

Without subscription
Subscriber and VIP Subscriber
 <--- Schematic  <--- Complete Schematic
<--- Hexadecimal <--- Source code in C

Les moteurs pas-à-pas : Partie 1

Les moteurs pas-à-pas : Partie 2