Stepper motors are brushless, synchronous DC motors where the entire rotation of the engine is divided into intermediate steps. Unlike general DC motors, Steppers have relatively complex circuitry, and as the complexity increases, it also becomes difficult to control a Bipolar DC stepper motor.
It can be operated using a microcontroller, an Arduino board and with some Arduino codes.
The fundamental working principle of a Stepper Motor
Stepper motors are controlled by a set of electromagnetic windings located inside them. The shaft present in the middle consists of many magnets on top of it, and the coils that surround this magnetic shaft is either connected to a switching power supply or made to be ground. Due to this, a current and subsequently a magnetic field is generated that alternatively attracts or repulses those magnets mounted on the shaft. This produces a torque motion which in turn rotates the motor.
This design lets the user control the motor up to a degree of precision. By giving the required pulse frequency; we can set the increment in the angle very accurately (e.g., three-degree increase, four and a half degree increment, etc.).
Controlling a Unipolar Stepper Motor
- Generally, a Darlington circuit is used to control a Unipolar Stepper Motor.
- A 4 coil array is used for maintaining the polarity while the other two coils are connected with the power supply.
Controlling a Bipolar Stepper Motor
- In Bipolar Stepper Motor also, we take the similar approach with the Darlington Array but rather than using four coils, here we are going to use both of the poles of two coils. Alternatively, we will change the direction of the current to reverse polarize the electromagnet.
- A couple of H Bridges (also called as Hybrid Bridges) are required in Bipolar Motors. Commonly the L293D IC used has two H-bridges inside the chip.
Controlling a stepper motor using Arduino
- Stepper Motors are such uniquely designed that they do not require any feedback circuit; thus they operate in open loop configurations.
- To control it via Arduino, the components required are:
1) Arduino Kit 2) A 10K Potentiometer 3) A stepper motor 4) A Darlington Array 5) L293D IC 6) Breadboard kit and 7) Switching Power Supply.
(Bipolar Stepper Motor circuit diagram using Arduino)
(Unipolar Stepper Motor circuit diagram using Arduino.)
- The degree of rotation per pulse is present from the time of manufacturing of the motor and all information regarding it is given in the specification sheet for that motor. It can range from outstanding adjustments like 0.20 degrees to even larger ones like 52.5 degrees.
- Bipolar Stepper motors draw a lot of power to work properly, so it is advisable to use a different power supply. If not, it can bring energy from the Arduino board itself, which might affect its sensitive electrical components.
In conclusion, this article gives a basic idea about the different components of the two stepper motors along with the principles that they work on.