Stufin
Home Quick Cart Profile

28BYJ-48 12V Valve DC Gear Stepper Motor

Buy Now on Stufin

Name

28BYJ-48 12V Valve DC Gear Stepper Motor

Description

The 28BYJ-48 12V Valve DC Gear Stepper Motor is a miniature, high-torque stepper motor designed for precision control and reliability in various applications, including IoT projects, robotics, and automation systems.

Functionality

The 28BYJ-48 motor is a type of gear stepper motor that converts electrical pulses into precise mechanical movements. It utilizes a unique valve-like design, allowing for smooth, quiet operation and increased torque output. This motor is suitable for applications requiring precise positioning, speed control, and reliable operation.

Key Features

### Electrical Characteristics

Voltage

12V DC

Current

0.35A ( Peak ), 0.2A ( Holding )

Power

4.2W

Resistance

34 Ohms ( per phase )

### Mechanical Characteristics

Step Angle

5.625 ( 48 steps per revolution )

Holding Torque

25 N.cm ( 3.53 oz.in )

Rotor Inertia

150 g.cm

Shaft Diameter

5mm ( 0.2 inches )

### Gear Ratio and Speed

Gear Ratio

148

Step Frequency

Up to 600 pulses per second

Rotation Speed

Up to 15 RPM

### Physical Characteristics

Body Size

28mm ( 1.1 inches ) diameter, 48mm ( 1.9 inches ) length

Shaft Length

20mm ( 0.8 inches )

Weight

Approximately 120g ( 4.3 oz )

### Operating Conditions

Operating Temperature

-20C to 60C (-4F to 140F)

Storage Temperature

-30C to 80C (-22F to 176F)

### Interface and Control

Control Mode

Four-wire control ( A+, A-, B+, B- )

Driver

Requires an external stepper motor driver (e.g., ULN2003 or L298N)

Applications

The 28BYJ-48 12V Valve DC Gear Stepper Motor is suitable for various applications, including

IoT projects (e.g., smart home, robotics, automation)

Precision control systems

Medical devices

Industrial automation

CNC machines

3D printers

Important Notes

The motor requires an external stepper motor driver to operate.

Proper heat dissipation and cooling are essential for reliable operation.

The motor's performance may vary depending on the specific application, load, and operating conditions.

By understanding the features and specifications of the 28BYJ-48 12V Valve DC Gear Stepper Motor, developers and engineers can effectively integrate this component into their projects, ensuring precise control, reliability, and high performance.

Pin Configuration

  • 28BYJ-48 12V Valve DC Gear Stepper Motor Pinout and Connection Guide
  • The 28BYJ-48 12V Valve DC Gear Stepper Motor is a popular and widely used stepper motor in various IoT and robotics projects. It has a total of 5 pins, which are used to control the motor's rotation and direction. Here's a detailed explanation of each pin and how to connect them:
  • Pin 1: IN1 (Red Wire)
  • Function: Input 1 (direction control)
  • Description: This pin is used to control the direction of the motor's rotation. A high logic level (Vcc) on this pin will make the motor rotate in one direction, while a low logic level (GND) will make it rotate in the opposite direction.
  • Pin 2: IN2 (Orange Wire)
  • Function: Input 2 (direction control)
  • Description: This pin is also used to control the direction of the motor's rotation, working in conjunction with IN1. The combination of high and low logic levels on IN1 and IN2 determines the motor's rotation direction.
  • Pin 3: VCC (Yellow Wire)
  • Function: Power Supply (Positive)
  • Description: This pin is connected to the positive terminal of the power supply (12V in this case). It provides power to the motor driver and the motor itself.
  • Pin 4: GND (Blue Wire)
  • Function: Power Supply (Negative)
  • Description: This pin is connected to the negative terminal of the power supply (GND) and provides a return path for the power supply.
  • Pin 5: GND (Green Wire)
  • Function: Motor Ground
  • Description: This pin is connected to the motor's ground terminal and provides a secondary ground connection for the motor.
  • Connection Structure:
  • To connect the 28BYJ-48 stepper motor, follow these steps:
  • 1. Connect the VCC (yellow wire) to a 12V power supply positive terminal.
  • 2. Connect the GND (blue wire) to a 12V power supply negative terminal (GND).
  • 3. Connect the IN1 (red wire) to a digital output pin on your microcontroller or driver (e.g., Arduino, Raspberry Pi, or a dedicated stepper motor driver).
  • 4. Connect the IN2 (orange wire) to another digital output pin on your microcontroller or driver.
  • 5. Connect the GND (green wire) to the motor ground terminal.
  • Important Notes:
  • Make sure to use a suitable power supply that can provide sufficient current to the motor.
  • Use a suitable stepper motor driver or microcontroller to control the motor's rotation and direction.
  • Ensure that the motor is properly connected and the wires are securely attached to avoid damage or electrical shock.
  • Always follow proper safety precautions when working with electrical components and motors.
  • By following this guide, you should be able to properly connect and control the 28BYJ-48 12V Valve DC Gear Stepper Motor for your IoT or robotics projects.

Code Examples

28BYJ-48 12V Valve DC Gear Stepper Motor Documentation
Overview
The 28BYJ-48 12V Valve DC Gear Stepper Motor is a unipolar, 5-wire stepper motor designed for valve control applications. It features a compact size, high torque, and low power consumption, making it suitable for automation and IoT projects.
Pinout
The motor has a 5-pin connector with the following pinout:
Pin 1: Blue - Coil 1A
 Pin 2: Pink - Coil 1B
 Pin 3: Yellow - Coil 2A
 Pin 4: Orange - Coil 2B
 Pin 5: Red - VCC (12V)
Technical Specifications
Voltage: 12V DC
 Current: 0.4A per phase
 Step Angle: 5.625
 Holding Torque: 34oz-in (240mNm)
 Rotor Inertia: 12gcm
 Operating Temperature: -20C to 50C
Microcontroller Compatibility
The 28BYJ-48 motor is compatible with most microcontrollers, including Arduino, Raspberry Pi, and ESP32.
Example Code
### Example 1: Arduino Uno - Stepper Motor Control
This example demonstrates how to control the 28BYJ-48 motor using an Arduino Uno board.
```c++
#include <Stepper.h>
#define MOTOR_STEPS 2048 // 28BYJ-48 has 2048 steps per revolution
#define RPM 10 // RPM value (adjust to your needs)
Stepper motor(MOTOR_STEPS, 8, 9, 10, 11); // Assign motor pins to Arduino digital pins 8-11
void setup() {
  motor.setSpeed(RPM); // Set motor speed
}
void loop() {
  motor.step(1); // Take one step clockwise
  delay(50); // Wait 50ms
  motor.step(-1); // Take one step counter-clockwise
  delay(50); // Wait 50ms
}
```
### Example 2: Raspberry Pi - Python Script for Stepper Motor Control
This example demonstrates how to control the 28BYJ-48 motor using a Raspberry Pi and Python.
```python
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
# Define motor pins on Raspberry Pi
coil_A_1_pin = 17
coil_A_2_pin = 23
coil_B_1_pin = 24
coil_B_2_pin = 25
# Set up motor pins as outputs
GPIO.setup(coil_A_1_pin, GPIO.OUT)
GPIO.setup(coil_A_2_pin, GPIO.OUT)
GPIO.setup(coil_B_1_pin, GPIO.OUT)
GPIO.setup(coil_B_2_pin, GPIO.OUT)
# Function to set motor step
def set_step(w1, w2, w3, w4):
    GPIO.output(coil_A_1_pin, w1)
    GPIO.output(coil_A_2_pin, w2)
    GPIO.output(coil_B_1_pin, w3)
    GPIO.output(coil_B_2_pin, w4)
# Stepper motor sequence
step_sequence = [
    [1, 0, 1, 0],
    [1, 0, 0, 1],
    [0, 1, 0, 1],
    [0, 1, 1, 0]
]
while True:
    for i in range(4):
        set_step(step_sequence[i][0], step_sequence[i][1], step_sequence[i][2], step_sequence[i][3])
        time.sleep(0.01)
```
### Example 3: ESP32 - MicroPython Script for Stepper Motor Control
This example demonstrates how to control the 28BYJ-48 motor using an ESP32 board and MicroPython.
```python
import machine
import utime
# Define motor pins on ESP32
coil_A_1_pin = machine.Pin(17, machine.Pin.OUT)
coil_A_2_pin = machine.Pin(23, machine.Pin.OUT)
coil_B_1_pin = machine.Pin(24, machine.Pin.OUT)
coil_B_2_pin = machine.Pin(25, machine.Pin.OUT)
# Stepper motor sequence
step_sequence = [
    [1, 0, 1, 0],
    [1, 0, 0, 1],
    [0, 1, 0, 1],
    [0, 1, 1, 0]
]
while True:
    for i in range(4):
        coil_A_1_pin.value(step_sequence[i][0])
        coil_A_2_pin.value(step_sequence[i][1])
        coil_B_1_pin.value(step_sequence[i][2])
        coil_B_2_pin.value(step_sequence[i][3])
        utime.sleep_ms(10)
```
Important Notes
When using the 28BYJ-48 motor, ensure that the motor driver or controller is capable of handling the motor's requirements (voltage, current, and step resolution).
 Proper decoupling and noise filtering may be necessary to ensure reliable motor operation.
 Always consult the datasheet and manufacturer's documentation for specific usage guidelines and recommendations.