The 28BYJ-48 is a unipolar stepper motor manufactured by xxxxxxx with the part ID 28BYJ-48 driver. This motor is widely used in robotics, automation, and DIY electronics projects due to its affordability, reliability, and precise control capabilities. It features a 5-phase design, enabling accurate rotation and positioning. The motor is typically paired with a ULN2003 driver board, which simplifies interfacing with microcontrollers such as Arduino.
Below are the key technical details of the 28BYJ-48 stepper motor:
Parameter | Value |
---|---|
Operating Voltage | 5V DC |
Step Angle | 5.625° (64 steps per revolution) |
Gear Ratio | 1:64 |
Phases | 4 |
Drive Type | Unipolar |
Rated Current | 240 mA |
Coil Resistance | ~50 Ω |
Holding Torque | ~300 gf.cm |
Dimensions | 28 mm diameter, 20 mm height |
Shaft Diameter | 5 mm |
The 28BYJ-48 is commonly used with the ULN2003 driver board. Below is the pin configuration for the driver board:
Pin Name | Description |
---|---|
IN1 | Input for Coil A |
IN2 | Input for Coil B |
IN3 | Input for Coil C |
IN4 | Input for Coil D |
VCC | Power supply (5V) |
GND | Ground |
Motor Pins | Connects to the 28BYJ-48 motor (4 pins) |
To use the 28BYJ-48 stepper motor with an Arduino UNO, follow these steps:
Below is an example code to control the 28BYJ-48 stepper motor using the Arduino Stepper library:
#include <Stepper.h>
// Define the number of steps per revolution for the motor
#define STEPS_PER_REV 2048 // 64 steps * 64 gear ratio
// Initialize the Stepper library with the motor's pin connections
Stepper stepper(STEPS_PER_REV, 8, 10, 9, 11);
void setup() {
stepper.setSpeed(10); // Set motor speed to 10 RPM
Serial.begin(9600); // Initialize serial communication
Serial.println("28BYJ-48 Stepper Motor Test");
}
void loop() {
Serial.println("Rotating clockwise...");
stepper.step(STEPS_PER_REV); // Rotate one full revolution clockwise
delay(1000); // Wait for 1 second
Serial.println("Rotating counterclockwise...");
stepper.step(-STEPS_PER_REV); // Rotate one full revolution counterclockwise
delay(1000); // Wait for 1 second
}
Motor Not Rotating
Motor Vibrates but Does Not Rotate
Motor Overheating
Inconsistent Movement
Q: Can I power the motor directly from the Arduino?
A: It is not recommended, as the Arduino's 5V pin may not provide enough current. Use an external 5V power supply.
Q: What is the maximum speed of the 28BYJ-48?
A: The motor can achieve a maximum speed of approximately 15 RPM, depending on the load and power supply.
Q: Can I use the 28BYJ-48 with other microcontrollers?
A: Yes, the motor can be used with other microcontrollers like Raspberry Pi, ESP32, or STM32, provided you use a compatible driver board.
This concludes the documentation for the 28BYJ-48 stepper motor.