วิธีใช้มอเตอร์สเต็ป 28BYJ-48 กับคนขับ ULN2003 และ Arduino

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

มอเตอร์สเต็ป 28BYJ-48 เป็นมอเตอร์สเต็ปเปอร์ที่ได้รับความนิยมและราคาไม่แพงมักใช้ในโครงการอิเล็กทรอนิกส์ DIY จับคู่กับบอร์ดไดรเวอร์ ULN2003 เป็นตัวเลือกที่ยอดเยี่ยมสำหรับแอพพลิเคชั่นที่ต้องการการเคลื่อนไหวที่แม่นยำเช่นหุ่นยนต์ตัวเลื่อนกล้องและระบบอัตโนมัติในบ้าน บทช่วยสอนนี้จะแนะนำคุณผ่านการตั้งค่าและควบคุมมอเตอร์สเต็ป 28BYJ-48 ด้วย Arduino

สิ่งที่คุณต้องการ

  1. 28BYJ-48 Stepper Motor
  2. บอร์ดไดรเวอร์ ULN2003
  3. คณะกรรมการ Arduino (เช่น Uno, Mega, Nano)
  4. สายจัมเปอร์
  5. กระดานข่าว (ไม่บังคับ)
  6. คอมพิวเตอร์ที่ติดตั้ง Arduino IDE

ขั้นตอนที่ 1: ทำความเข้าใจกับส่วนประกอบ

28BYJ-48 Stepper Motor

  • 28BYJ-48 เป็นมอเตอร์สเต็ปเปอร์ 4 เฟส 5 สายพร้อมอัตราส่วนการลดเกียร์ประมาณ 1:64 ทำให้แม่นยำและเชื่อถือได้

บอร์ดไดรเวอร์ ULN2003

  • ULN2003 เป็นบอร์ดไดรเวอร์ที่ออกแบบมาโดยเฉพาะสำหรับมอเตอร์ 28BYJ-48 มีไฟ LED เพื่อระบุเฟสที่ใช้งานของมอเตอร์และทำให้การเชื่อมต่อกับ Arduino ง่ายขึ้น

ขั้นตอนที่ 2: เดินสาย ULN2003 ไปยัง Arduino

  1. เชื่อมต่อมอเตอร์ 28BYJ-48 เข้ากับบอร์ดไดรเวอร์ ULN2003 ตัวเชื่อมต่อของมอเตอร์พอดีกับส่วนหัวที่มีป้ายกำกับ "ใน" บนกระดานโดยตรง

  2. ใช้สายจัมเปอร์เพื่อเชื่อมต่อบอร์ดไดรเวอร์ ULN2003 กับ Arduino ดังนี้:

ULN2003 พิน พิน Arduino
ใน 1 พิน 8
ใน 2 พิน 9
ใน 3 พิน 10
ใน 4 พิน 11
VCC 5V
gnd gnd

ขั้นตอนที่ 3: ติดตั้งไลบรารี Stepper

Arduino IDE มีห้องสมุดในตัวสำหรับการควบคุมมอเตอร์สเต็ปเปอร์

  1. เปิด Arduino IDE
  2. ไป ร่าง > รวมห้องสมุด > สเตปเปอร์.

ขั้นตอนที่ 4: อัปโหลดรหัส

นี่คือรหัสตัวอย่างพื้นฐานในการควบคุมมอเตอร์ Stepper:

#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. เชื่อมต่อ Arduino กับคอมพิวเตอร์ของคุณผ่าน USB
  2. เปิด Arduino IDE และเลือกที่ถูกต้อง กระดาน และ ท่าเรือ ภายใต้ เครื่องมือ เมนู.
  3. อัปโหลดรหัสไปยัง Arduino โดยคลิก อัพโหลด.
  4. เมื่ออัปโหลดรหัสแล้วมอเตอร์ Stepper ควรหมุนการปฏิวัติเต็มรูปแบบหนึ่งครั้งไปข้างหน้าแล้วย้อนกลับซ้ำ ๆ

การควบคุมขั้นสูงด้วยการเร่งความเร็ว

เพื่อการควบคุมที่ราบรื่นและแม่นยำยิ่งขึ้นคุณสามารถใช้ไฟล์ accelstepper ห้องสมุดแทนห้องสมุด Stepper ในตัว นี่คือตัวอย่าง:

#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. กลไกเครื่องพิมพ์ 3 มิติ

บทสรุป

คุณติดตั้งและควบคุมมอเตอร์สเต็ปเปอร์ 28BYJ-48 ได้สำเร็จด้วยไดรเวอร์ ULN2003 และ Arduino มอเตอร์ราคาไม่แพงและเชื่อถือได้นี้เหมาะสำหรับโครงการ 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.