If you are interested in robotics, electronics or you like DIY projects, you have probably come across the 28BYJ-48 stepper motor. This motor is a widely used option due to its low cost and ease of integration into different types of projects. In this article we are going to offer you all the information you need about the 28BYJ-48, its features, how it works and how to control it, all explained in a clear and simple way.
Aside from being an affordable component, the 28BYJ-48 is ideal for projects that require precision in movement, as it has an integrated gearbox that allows it to provide a higher level of control despite not having a high torque. This motor is perfect for controlling positions, creating small robotic prototypes or systems that require slow and controlled movements.
What is 28BYJ-48 stepper motor?
The 28BYJ-48 is a unipolar stepper motor It stands out mainly for its low price and for having a reduction gearbox. Although its electrical characteristics are not impressive, the integrated reduction gear makes it a very functional option in projects where precision is required in small movements.
One of the main advantages of this engine is that it can be found in versions of 5V y 12V. Both models are physically the same, but the motor label will tell us what its nominal voltage is. The most common models are those of 5V, which are usually used directly with boards such as Arduino.
Technical characteristics of the 28BYJ-48
El 28BYJ-48 It has a number of features that make it ideal for electronics hobbyist projects:
- Shaft pitch angle: 0.087º/step in half-step mode.
- Integrated reducer 1/64, which means that 4096 steps are required to complete one full revolution of the shaft (in half-step mode).
- Nominal voltage: 5V o 12V, according to the model.
- Coil resistance: 50 Ohms for 5V model.
- The maximum torque, after passing through the reducer, is 0.3 Kgf•cm.
- Maximum operating frequency: 100Hz, which is equivalent to approximately 1.5 revolutions per minute.
Operation of 28BYJ-48 stepper motor
This stepper motor has four phases and is controlled by a controller circuit that activates each of the coils in sequence. ULN2003 This is the most common controller used with the 28BYJ-48. This controller is responsible for generating the current needed to excite the motor coils, since the outputs of microcontrollers such as Arduino cannot directly handle the necessary currents.
The key to this engine working properly is in the coil activation sequence. Depending on the sequence followed, more or less precision can be achieved in the movement. There are three main ways of activating the motor coils, each with its advantages and disadvantages:
- 1-phase sequence (Wave Drive): Only one coil is excited at a time, which generates minimal torque but saves energy. In this mode, it takes 2048 steps to complete one revolution.
- 2-phase sequence (Full Step): Two coils are excited at the same time, increasing the torque but also the energy consumption. Like the single-phase sequence, it requires 2048 steps for a complete revolution.
- Half Step Sequence: In this mode, one or two coils are alternately excited simultaneously, achieving greater precision, with 4096 steps to complete a revolution.
Connection diagram
To use the 28BYJ-48 with a Arduino or any other microcontroller, you need to connect it to the power supply first. ULN2003 controller board. This board has pins that easily connect to the motor, avoiding errors in the connection of the phases.
The motor can be powered directly from the output of 5V from Arduino, in case you are using the 5V version of the motor. Also, you need to connect the pins IN1, IN2, IN3 e IN4 from the controller to the digital pins on your Arduino.
Code to control the 28BYJ-48
The code to control the 28BYJ-48 is quite simple thanks to the library Stepper.h available in the Arduino development environment. This library facilitates the creation of programs where you can control the direction and number of steps you want the motor to take.
Here is a basic example:
#include // Define the number of steps per rotation: const int stepsPerRevolution = 2048; // Connections: // Pin 8 to IN1 on the ULN2003 driver // Pin 9 to IN2 on the ULN2003 driver // Pin 10 to IN3 on the ULN2003 driver // Pin 11 to IN4 on the ULN2003 driver // Create a Stepper object called 'myStepper', note the pin order: Stepper myStepper = Stepper(stepsPerRevolution, 8, 10, 9, 11); void setup() { myStepper. setSpeed(5); // Set the speed to 5 rpm Serial. begin(9600); // Start communication for debugging } void loop() { // Rotate 1 revolution in one direction: Serial. println("clockwise"); myStepper. step(stepsPerRevolution); delay(500); // Rotate 1 revolution in the opposite direction: Serial.println("counterclockwise"); myStepper.step(-stepsPerRevolution); delay(500); }
Applications of the 28BYJ-48 engine
El 28BYJ-48 It is used in numerous applications due to its versatility and low cost. Some of the most common applications include:
- Printers and scanners: where precise motion control is required, especially in the movement of print or scan heads.
- Robotic arms: in which an arm needs to move precisely to get into specific positions.
- Home automation projects: such as automatic blinds or smart locks that are controlled electronically.
- Positioning systems: like solar panels that follow the path of the sun.
Advantages and disadvantages
The 28BYJ-48 has several advantages that make it especially useful in amateur electronics projects:
- Low cost: Its price is very affordable.
- Precision: Thanks to its reducer, it achieves a precision of 0.087º per step (in half-step mode).
- Easy to handle: It can be easily controlled with a microcontroller and the ULN2003 driver.
However, it also has certain drawbacks:
- limited speed: The gearbox limits the speed of the motor, which can be a problem in applications requiring rapid movements.
- Limited torque: Although the reducer improves torque, it is still a fairly weak motor compared to other larger models.
In conclusion, if you are looking for a stepper motor for your electronics projects, the 28BYJ-48 is a highly recommended option. Its low price and ease of use make it one of the best options to get started in the world of stepper motors. In addition, although it is not very powerful, its precision is sufficient for most home robotics projects, positioning or applications where motion control matters more than speed and torque.