28BYJ-48 12V Valve DC Gear Stepper Motor
28BYJ-48 12V Valve DC Gear Stepper Motor
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.
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.
### Electrical Characteristics
12V DC
0.35A ( Peak ), 0.2A ( Holding )
4.2W
34 Ohms ( per phase )
### Mechanical Characteristics
5.625 ( 48 steps per revolution )
25 N.cm ( 3.53 oz.in )
150 g.cm
5mm ( 0.2 inches )
### Gear Ratio and Speed
| 1 | 48 |
Up to 600 pulses per second
Up to 15 RPM
### Physical Characteristics
28mm ( 1.1 inches ) diameter, 48mm ( 1.9 inches ) length
20mm ( 0.8 inches )
Approximately 120g ( 4.3 oz )
### Operating Conditions
-20C to 60C (-4F to 140F)
-30C to 80C (-22F to 176F)
### Interface and Control
Four-wire control ( A+, A-, B+, B- )
Requires an external stepper motor driver (e.g., ULN2003 or L298N)
| 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
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.
28BYJ-48 12V Valve DC Gear Stepper Motor DocumentationOverviewThe 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.PinoutThe 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 SpecificationsVoltage: 12V DC
Current: 0.4A per phase
Step Angle: 5.625
Holding Torque: 34oz-in (240mNm)
Rotor Inertia: 12gcm
Operating Temperature: -20C to 50CMicrocontroller CompatibilityThe 28BYJ-48 motor is compatible with most microcontrollers, including Arduino, Raspberry Pi, and ESP32.Example Code### Example 1: Arduino Uno - Stepper Motor ControlThis 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-11void 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 ControlThis example demonstrates how to control the 28BYJ-48 motor using a Raspberry Pi and Python.```python
import RPi.GPIO as GPIO
import timeGPIO.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 ControlThis 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 NotesWhen 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.