28BYJ-48: A 5-Wire, 5V Unipolar Stepper Motor

Posted by

Introduction to the 28BYJ-48 Unipolar Stepper Motor

The 28BYJ-48 is a popular and widely used 5-wire, 5V unipolar stepper motor. This compact and affordable motor is commonly found in various DIY projects, robotics applications, and small-scale automation systems. Its reliability, ease of use, and compatibility with numerous control boards, such as Arduino and Raspberry Pi, make it an excellent choice for beginners and experienced makers alike.

In this comprehensive article, we will delve into the details of the 28BYJ-48 unipolar stepper motor, exploring its characteristics, working principles, and practical applications. We will also provide insights on how to control this motor using popular microcontrollers and discuss some common challenges and solutions associated with its use.

Key Features of the 28BYJ-48 Unipolar Stepper Motor

  • 5-wire, 5V unipolar design
  • Step angle: 5.625°/64
  • Rated voltage: 5V DC
  • Rated current: 300-400mA
  • Holding torque: 3-3.5N.cm
  • Speed: 8-12 RPM (at no load)
  • Compact size: 28 x 19 x 18mm
  • Lightweight: 30g

Understanding Unipolar Stepper Motors

What is a Unipolar Stepper Motor?

A unipolar stepper motor is a type of brushless DC motor that divides a full rotation into a number of equal steps. It has two windings per phase, with a center tap for each winding. The center taps are typically connected to the positive supply, while the ends of the windings are alternately grounded to reverse the current direction and create the stepping motion.

Advantages of Unipolar Stepper Motors

  1. Simpler control: Unipolar stepper motors are easier to control compared to bipolar stepper motors, as they require only simple switching of the windings.
  2. Compatibility: Most microcontrollers and driver boards are designed to work with unipolar stepper motors out of the box.
  3. Lower cost: Due to their simpler design and control requirements, unipolar stepper motors are generally more affordable than their bipolar counterparts.

Disadvantages of Unipolar Stepper Motors

  1. Lower torque: Unipolar stepper motors typically have lower torque compared to bipolar stepper motors of the same size.
  2. Reduced efficiency: The center tap design of unipolar stepper motors results in reduced efficiency compared to bipolar motors.

The 28BYJ-48 Motor: A Closer Look

Motor Specifications

Parameter Value
Motor Type Unipolar Stepper
Rated Voltage 5V DC
Rated Current 300-400mA
Step Angle 5.625°/64
Holding Torque 3-3.5N.cm
Speed (No Load) 8-12 RPM
Dimensions 28 x 19 x 18mm
Weight 30g

Internal Structure and Wiring

The 28BYJ-48 unipolar stepper motor consists of a stator with eight poles and a rotor with permanent magnets. The motor has four phases, each with two windings and a common center tap. The five wires coming out of the motor are typically color-coded as follows:

  • Red: Common center tap (5V)
  • Blue: Phase 1
  • Pink: Phase 2
  • Yellow: Phase 3
  • Orange: Phase 4

Gear Reduction

One of the unique features of the 28BYJ-48 motor is its built-in gear reduction system. The motor comes with a plastic gearbox that provides a 64:1 reduction ratio. This gearbox significantly increases the motor’s torque while reducing its speed, making it suitable for applications that require precise positioning and higher holding torque.

Controlling the 28BYJ-48 Motor

Driver Boards: ULN2003A

To control the 28BYJ-48 unipolar stepper motor, a driver board is typically used. The most common driver board for this motor is the ULN2003A, which is a Darlington transistor array. The ULN2003A board simplifies the connection between the motor and the microcontroller, providing the necessary current amplification and protection.

Microcontrollers: Arduino and Raspberry Pi

The 28BYJ-48 motor can be easily controlled using popular microcontrollers such as Arduino and Raspberry Pi. These microcontrollers offer a wide range of libraries and example codes that make it easy to get started with the motor.

Arduino Example Code

Here’s a simple Arduino sketch that demonstrates how to control the 28BYJ-48 motor using the ULN2003A driver board:

#include <Stepper.h>

const int stepsPerRevolution = 2048;
Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);

void setup() {
  myStepper.setSpeed(5);
}

void loop() {
  myStepper.step(stepsPerRevolution);
  delay(500);
  myStepper.step(-stepsPerRevolution);
  delay(500);
}

Raspberry Pi Example Code

Similarly, here’s a Python script that shows how to control the 28BYJ-48 motor using a Raspberry Pi:

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)

StepPins = [17, 18, 27, 22]

for pin in StepPins:
  GPIO.setup(pin, GPIO.OUT)
  GPIO.output(pin, False)

Seq = [[1,0,0,1],
       [1,0,0,0],
       [1,1,0,0],
       [0,1,0,0],
       [0,1,1,0],
       [0,0,1,0],
       [0,0,1,1],
       [0,0,0,1]]

try:
  while True:
    for step in range(len(Seq)):
      for pin in range(4):
        GPIO.output(StepPins[pin], Seq[step][pin])
      time.sleep(0.001)

except KeyboardInterrupt:
  GPIO.cleanup()

Applications of the 28BYJ-48 Unipolar Stepper Motor

The 28BYJ-48 motor finds use in various applications, ranging from simple hobby projects to more complex automation systems. Some common applications include:

  1. Robotics: The motor is often used in small-scale robotic projects, such as robotic arms, grippers, and pan-tilt mechanisms.
  2. 3D printing: The 28BYJ-48 motor can be used in DIY 3D printers for bed leveling or extruder control.
  3. Automation: The motor is suitable for small-scale automation projects, such as automated window blinds, door locks, and camera sliders.
  4. Educational purposes: Due to its low cost and ease of use, the 28BYJ-48 motor is an excellent choice for teaching students about stepper motors, microcontrollers, and basic robotics.

Challenges and Solutions

While the 28BYJ-48 motor is relatively easy to use, there are some common challenges that users may face:

  1. Limited torque: The motor’s torque may not be sufficient for some applications. This can be addressed by using a higher gear reduction ratio or opting for a more powerful stepper motor.
  2. Overheating: Running the motor at high speeds or for extended periods can cause overheating. To mitigate this, ensure proper ventilation and consider adding heat sinks to the driver board.
  3. Missed steps: In some cases, the motor may miss steps due to excessive load or insufficient current. This can be resolved by adjusting the motor’s speed, increasing the current supply, or using a more powerful driver board.

Frequently Asked Questions (FAQ)

  1. Q: Can I use the 28BYJ-48 motor without a driver board?
    A: While it is possible to control the motor directly from a microcontroller, using a driver board like the ULN2003A is highly recommended. The driver board provides the necessary current amplification and protection, making it easier and safer to control the motor.

  2. Q: How do I increase the torque of the 28BYJ-48 motor?
    A: You can increase the motor’s torque by using a higher gear reduction ratio. The 28BYJ-48 motor comes with a 64:1 gearbox, but you can add additional gears to further increase the torque. However, keep in mind that this will also reduce the motor’s speed.

  3. Q: Can I use the 28BYJ-48 motor with a 12V power supply?
    A: No, the 28BYJ-48 motor is designed to operate at 5V. Using a higher voltage may damage the motor or the driver board. Always ensure that you are using the correct voltage as specified in the motor’s datasheet.

  4. Q: How precise is the 28BYJ-48 motor?
    A: The 28BYJ-48 motor has a step angle of 5.625°/64, which means it takes 64 steps to complete one full rotation. With the built-in 64:1 gearbox, the motor effectively has 4096 steps per revolution, resulting in a resolution of approximately 0.088° per step.

  5. Q: Can I use the 28BYJ-48 motor for continuous rotation applications?
    A: While the 28BYJ-48 is designed for stepped rotation, it can be modified for continuous rotation by removing the gear reduction system and making some mechanical adjustments. However, for most continuous rotation applications, it is recommended to use a dedicated continuous rotation servo or DC motor.

Conclusion

The 28BYJ-48 unipolar stepper motor is a versatile, affordable, and easy-to-use motor that finds applications in various DIY projects and small-scale automation systems. Its compatibility with popular microcontrollers like Arduino and Raspberry Pi, along with the readily available driver boards, makes it an excellent choice for beginners and experienced makers alike.

By understanding the motor’s characteristics, working principles, and control methods, users can effectively incorporate the 28BYJ-48 motor into their projects and overcome common challenges. As the maker community continues to grow and share knowledge, we can expect to see even more innovative applications of this ubiquitous unipolar stepper motor.

Leave a Reply

Your email address will not be published. Required fields are marked *