Step Motor

A stepper motor is a type of DC motor that rotates in steps. When an electric current is applied, the motor rotates gradually and the speed of rotation depends on the "speed" at which you apply the electric current to its coils. The direction of rotation depends on the activation sequence of the motor coils. The angle of a step depends on how many windings the motor has.

Step Motor Types

Generally speaking, there are two types of stepper motor, unipolar and bipolar.

Bipolar motors have 4 wires connected to the two separate coils inside the motor - one pair for each coil.

There are also two types of unipolar motor - those with 5 wires and those with 6 wires.

6-wire motors can also be referred to as hybrid motors. They are similar to 4-wire bipolar motors and just have an extra wire connected to the center of each of the coils. If you want to use a 6-wire motor in bipolar mode, just ignore the wires connected to the centers of the coils.

5-wire motors cannot be driven by a driver designed for a bipolar motor. An example of a 5-wire motor, which we develop next, is the small 28BYJ-48 motor that can be seen in many Arduino projects and usually uses a ULN2003 chip as a driver.

The stepper motor consists of a stator (coils) and a rotor (permanent magnets), see BIPOLAR diagram. The bipolar stepper motor contains independent coils (without being connected to each other by a medium tap), while in the unipolar stepper motor the coils have a medium tap. Usually the two middle taps are connected together and connected to the positive pole of the source. So the bipolar motor has four wires while the unipolar has five.

 

Bipolar Step Motor
Bipolar Step Motor

 

Bipolar Step Motor
Bipolar Step Motor

  

Στον διπολικό κινητήρα για να αναστρέψουμε το μαγνητικό πεδίο του πηνίου πρέπει να αναστρέψουμε την πολικότητα της τάσης στα άκρα του.

 

Unipolar Step Motor
Unipolar Step Motor

In the unipolar motor if the positive pole of the voltage is applied to the middle tap of the coil, then to reverse the magnetic field of the coil it is sufficient to select the other end of the coil connection for grounding. The circuit is much simpler, but the power of the motor is half, since each step operates half the coil.

Step motor specifications

Data sheets usually list coil current, coil resistance, rated voltage and holding torque, and steps per revolution. For example, for a motor these values are current 1 Amp, resistance 2.7 Ohms, voltage 2.7 Volts, torque 1.4 Kg-cm and 200 steps per revolution.

The nominal voltage is irrelevant for practical purposes. The important element is the rated current.

Rated current is normally the current per coil, and when stepper motor currents are quoted for driver boards, this is usually a value per coil.

Holding torque is the torque available to resist rotation while the motor is stationary. Available torque will decrease as speed increases.

Some manufacturers provide graphs showing how torque varies with speed.

Operating voltage

Stepper motors are very different from regular DC motors.

In a DC motor you control the current to control the speed of the motor. The usual way to control the current is to vary the voltage - perhaps using the Arduino analogWrite() function to control a pulse width modulated current supply to the motor.

Stepper motors almost draw their full current all the time, even when stationary - so they resist moving from their current position. This means they are very inefficient.

For practical purposes, the rated voltage of a stepper motor is irrelevant. It is the voltage that will drive the rated current through the coil when the motor is stationary based on Ohm's law e.g. 2.7v = 1A * 2.7 Ohms. However, once the motor starts moving, the combination of the inductance of the coils and the back-emf created by the motion will prevent the rated voltage from producing the rated current.

For this reason stepper motors usually run at a much higher voltage. This, in turn, means that a specialized stepper motor driver board is needed that can limit the current to what the motor can take. If the current is not limited, the high voltage will quickly destroy the motor.

Related articles on driving various types of stepper motors

https://www.makerguides.com/a4988-stepper-motor-driver-arduino-tutorial/