A stepper motor is a brushless synchronous electric motor that divides a complete rotation into steps of equal length. The motor position can be controlled precisely without any feedback mechanism, as long as the motor is designed as per the requirement and application. Based on the number of steps per rotation, different types of stepper motors are available. They are usually found in 3D-printers, desktop printers, CNC milling machines, and any other application that requires accurate positioning control.
It converts a chain of input pulses into a precisely defined increment in the mechanical shaft position, where each pulse moves the shaft by a fixed angle, which makes the shaft rotate in series of discrete angular steps.
Step Angle = 360/(Stator Phases * Rotor Teeth) degrees
Types of stepper motors:
variable Reluctance Stepper Motor
Permanent Magnet Stepper Motor
Hybrid Stepper Motor
Hardware Requirements:
1. Breadboard:
A #breadboard is a flat piece of wood that is provided with holes that allow users to build a circuit including the components and connections without the need for soldering due to which it is reusable and finds its best usage for the students who are new to build circuits. The holes in any horizontal line will be in series whereas the vertical holes remain at an equipotential state. There are different sizes of breadboards available in the market which include "full size", "half-size" and, "mini size" breadboards.
You can purchase breadboard here.
2 .ULN2003A- Driver Board:
ULN2003A is a 16 pin integrated circuit. It has seven Darlington transistors installed which would aid to control 7-loads at a time. The voltage and current limits for any load are 50V and 500mA. ULN2003 is provided with internal safety protection from back EMF. The Driver Circuit consists of 7-input and 7-output pins and 1-common and 1-ground pin.
You can purchase breadboard here.
3. Arduino UNO: The Arduino is a Programmable #microcontroller, it's an open-source electronics proto-type platform. It interacts with the user by receiving input with the aid of sensors and provides the output employing LED, buzzer, etc.,
NOTE: To know more about Arduino UNO, go through this article.
You can purchase Arduino UNO here.
4.28BYJ48 Stepper Motor: The 28BYJ48 is a 5-wire unipolar stepper motor that runs on 5 volts. The motor can be positioned accurately, each high pulse given as an input, energize the coil and attracts the nearest teeth of the cogged wheel, and drives the motor one step ahead. The Stepper motor is connected to a driver which converts the command pulses into actual motor driving steps. The stepper motor consists of 5-leads in which 4-unipolar coil leads and one supply lead (5V).
You can purchase a Stepper motor here.
5. Jumping wires: Jumper wires are used to establish connections between different components in the circuit.
You can purchase Jumping wires here.
6. Joystick Sensor Module: Joystick Sensor has two individual potentiometers one for each x and y axes to read the user's input. It is equipped with a freewheeling holder, that allows changing the knob of the potentiometer which changes resistance and inturn the analog output.
The potentiometers are connected between Vcc and Ground. It is used to control the pointer movement in two dimensions and is sometimes also called a Control Stick.
You can purchase the Joystick sensor here.
Circuit Connection and its Working:
Circuit connection involves the following steps:
First, we connect the Stepper Motor to Arduino through the driver board.
The pins IN1 to IN4 of the driver board are connected to 5-8 PWM pins of Arduino.
The X-axis pin of the Joystick is connected to Ao pin of the Arduino.
We provide a power supply to the Joystick by connecting 5V to the Vcc and ground to the ground pin.
Similarly, with the driver, we connect the positive terminal to 5V and the negative terminal to ground of the Arduino.
Complete Code:
Note: Please change the file format to .ino(Arduino IDE) format before you upload the code.
Check the Project Working video here - Controlling stepper motor with Joystick Sensor and Arduino UNO
Video By - Aishwarya Balaji
See also:
Order Electronics Projects
Want us to guide you through your project or make the project for you? Click on the button below or reach out to us via Call/WhatsApp at (+91) - 7600948607
You can -
Order Basic Electronics Projects
Order Embedded Systems Projects
Order IoT Projects
Order FPGA Projects
Order VLSI Projects
Order Image Processing Projects
Order Matlab Projects
Order TinkerCAD Projects
Order Proteus Projects
Click on the button below to fill out the project inquiry form -
Create Various Projects
Check out our Free Arduino Projects Playlist - Arduino Projects
Check out our Free Raspberry Pi Projects Playlist - Raspberry Pi Projects
Check out our Free TinkerCAD Projects Playlist - TinkerCAD Projects
Check out our Free IoT Projects Playlist - IoT Projects
Check out our Free Home Automation Projects Playlist - Home Automation Projects
Check out our Free NodeMCu Projects Playlist - NodeMCu Projects
Follow us -
Please do follow us i.e. #learnelectronicsindia to get daily updates about new blogs, videos, courses, products, offers, competitions, quizzes, and Internship Opportunities.
LearnElectronics India's explanation is spot-on. Great work!
I'm truly impressed by the quality of this blog. Learn Electronics India has a talent for breaking down complex concepts into digestible pieces. I had no prior experience with stepper motors or joystick sensors, but now I feel confident in my understanding, all thanks to this well-crafted article. Keep up the excellent work.