มอเตอร์สเต็ป 28BYJ-48 เป็นมอเตอร์สเต็ปเปอร์ที่ได้รับความนิยมและราคาไม่แพงมักใช้ในโครงการอิเล็กทรอนิกส์ DIY จับคู่กับบอร์ดไดรเวอร์ ULN2003 เป็นตัวเลือกที่ยอดเยี่ยมสำหรับแอพพลิเคชั่นที่ต้องการการเคลื่อนไหวที่แม่นยำเช่นหุ่นยนต์ตัวเลื่อนกล้องและระบบอัตโนมัติในบ้าน บทช่วยสอนนี้จะแนะนำคุณผ่านการตั้งค่าและควบคุมมอเตอร์สเต็ป 28BYJ-48 ด้วย Arduino
สิ่งที่คุณต้องการ
- 28BYJ-48 Stepper Motor
- บอร์ดไดรเวอร์ ULN2003
- คณะกรรมการ Arduino (เช่น Uno, Mega, Nano)
- สายจัมเปอร์
- กระดานข่าว (ไม่บังคับ)
- คอมพิวเตอร์ที่ติดตั้ง Arduino IDE
ขั้นตอนที่ 1: ทำความเข้าใจกับส่วนประกอบ
28BYJ-48 Stepper Motor
- 28BYJ-48 เป็นมอเตอร์สเต็ปเปอร์ 4 เฟส 5 สายพร้อมอัตราส่วนการลดเกียร์ประมาณ 1:64 ทำให้แม่นยำและเชื่อถือได้
บอร์ดไดรเวอร์ ULN2003
- ULN2003 เป็นบอร์ดไดรเวอร์ที่ออกแบบมาโดยเฉพาะสำหรับมอเตอร์ 28BYJ-48 มีไฟ LED เพื่อระบุเฟสที่ใช้งานของมอเตอร์และทำให้การเชื่อมต่อกับ Arduino ง่ายขึ้น
ขั้นตอนที่ 2: เดินสาย ULN2003 ไปยัง Arduino
-
เชื่อมต่อมอเตอร์ 28BYJ-48 เข้ากับบอร์ดไดรเวอร์ ULN2003 ตัวเชื่อมต่อของมอเตอร์พอดีกับส่วนหัวที่มีป้ายกำกับ "ใน" บนกระดานโดยตรง
-
ใช้สายจัมเปอร์เพื่อเชื่อมต่อบอร์ดไดรเวอร์ ULN2003 กับ Arduino ดังนี้:
ULN2003 พิน | พิน Arduino |
---|---|
ใน 1 | พิน 8 |
ใน 2 | พิน 9 |
ใน 3 | พิน 10 |
ใน 4 | พิน 11 |
VCC | 5V |
gnd | gnd |
ขั้นตอนที่ 3: ติดตั้งไลบรารี Stepper
Arduino IDE มีห้องสมุดในตัวสำหรับการควบคุมมอเตอร์สเต็ปเปอร์
- เปิด Arduino IDE
- ไป ร่าง > รวมห้องสมุด > สเตปเปอร์.
ขั้นตอนที่ 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: ทดสอบการตั้งค่า
- เชื่อมต่อ Arduino กับคอมพิวเตอร์ของคุณผ่าน USB
- เปิด Arduino IDE และเลือกที่ถูกต้อง กระดาน และ ท่าเรือ ภายใต้ เครื่องมือ เมนู.
- อัปโหลดรหัสไปยัง Arduino โดยคลิก อัพโหลด.
- เมื่ออัปโหลดรหัสแล้วมอเตอร์ 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
- ตัวเลื่อนกล้อง
- แขนหุ่นยนต์
- มู่ลี่อัตโนมัติ
- กลไกเครื่องพิมพ์ 3 มิติ
บทสรุป
คุณติดตั้งและควบคุมมอเตอร์สเต็ปเปอร์ 28BYJ-48 ได้สำเร็จด้วยไดรเวอร์ ULN2003 และ Arduino มอเตอร์ราคาไม่แพงและเชื่อถือได้นี้เหมาะสำหรับโครงการ DIY ต่างๆ ทดลองด้วยความเร็วขั้นตอนและวิธีการควบคุมที่แตกต่างกันเพื่อให้โครงการของคุณมีพลังมากขึ้น!