如何使用ULN2003驱动程序和Arduino使用28ByJ-48步进电机

How to Use the 28BYJ-48 Stepper Motor with ULN2003 Driver and Arduino

28ByJ-48步进电机是经常用于DIY电子项目中的流行,负担得起的步进电机。与ULN2003驾驶员板配对,它是需要精确运动的应用,例如机器人,摄像头滑块和家庭自动化的绝佳选择。本教程将指导您使用Arduino设置和控制28ByJ-48步进电机。

你需要什么

  1. 28ByJ-48步进电机
  2. ULN2003驾驶员板
  3. Arduino董事会(例如Uno,Mega,Nano)
  4. 跳线
  5. 面包板(可选)
  6. 安装了带有Arduino IDE的计算机

步骤1:了解组件

28ByJ-48步进电机

  • 28BYJ-48是4相,5线步进电动机,齿轮降低比约为1:64,使其精确且可靠。

ULN2003驾驶员板

  • ULN2003是专为28ByJ-48电动机设计的驾驶员板。它包括指示电动机的活动阶段的LED,并简化了与Arduino的连接。

步骤2:将ULN2003接线到Arduino

  1. 将28BYJ-48电动机连接到ULN2003驾驶员板。电动机的连接器直接拟合到标记为“在”板上的标题。

  2. 使用跳线将ULN2003驾驶员板连接到Arduino,如下所示:

ULN2003针 Arduino Pin
在1 引脚8
in2 引脚9
in3 引脚10
in4 引脚11
VCC 5V
gnd gnd

步骤3:安装步进库

Arduino IDE包括一个用于步进电机控制的内置库。

  1. 打开Arduino IDE。
  2. 草图 > 包括库 > 步进.

步骤4:上传代码

这是控制步进电机的基本示例代码:

#include <Stepper.h>

// Define the number of steps per revolution for the 28BYJ-48 motor
#define STEPS_PER_REV 2048

// Initialize the Stepper library on pins 8, 9, 10, and 11
Stepper stepper(STEPS_PER_REV, 8, 10, 9, 11);

void setup() {
  stepper.setSpeed(15); // Set motor speed (in RPM)
  Serial.begin(9600);
  Serial.println("28BYJ-48 Stepper Motor Test");
}

void loop() {
  Serial.println("Moving Forward");
  stepper.step(STEPS_PER_REV); // Move one full revolution forward
  delay(1000);

  Serial.println("Moving Backward");
  stepper.step(-STEPS_PER_REV); // Move one full revolution backward
  delay(1000);
}

步骤5:测试设置

  1. 通过USB将Arduino连接到您的计算机。
  2. 打开Arduino IDE并选择正确的 木板港口工具 菜单。
  3. 单击将代码上传到Arduino 上传.
  4. 一旦上传代码,步进电机应将一场完整的革命向前旋转,然后反复向后旋转。

加速控制高级控制

对于更顺畅,更精确的控制,您可以使用 加速器 图书馆而不是内置的步进库。这是一个例子:

#include <AccelStepper.h>

// Define the motor interface type
#define HALFSTEP 8

// Initialize the AccelStepper library
AccelStepper stepper(HALFSTEP, 8, 10, 9, 11);

void setup() {
  stepper.setMaxSpeed(1000); // Set maximum speed
  stepper.setAcceleration(500); // Set acceleration
  stepper.setSpeed(200); // Set initial speed
}

void loop() {
  stepper.runSpeed(); // Continuous rotation
}

故障排除

  • 电动机不移动: 检查所有连接,并确保在代码中定义正确的引脚。
  • 不稳定的运动: 验证电动机的电源足够,并且代码与您的设置相匹配。
  • 低扭矩: 28ByJ-48不是高音电机。确保它不会超负荷。

28ByJ-48步进电机的应用

  1. 相机滑块
  2. 机器人的武器
  3. 自动化的百叶窗
  4. 3D打印机机制

结论

您已经成功设置并控制了使用ULN2003驱动程序和Arduino的28ByJ-48步进电机。这款负担得起且可靠的电动机非常适合各种DIY项目。尝试不同的速度,步骤和控制方法,以使您的项目更加动态!

发表评论

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.