กลับไปหน้ารวมไฟล์
arduino-uno-stepper-motor-basic-15c1ff.md

การวางตำแหน่งแบบไม่จำกัด: พื้นฐาน Stepper Motor กับ Arduino

Servo จะเล็งไปยังมุมที่กำหนดได้อย่างแม่นยำและหยุด ส่วน DC motor จะหมุนอย่างรวดเร็วแต่ไม่มีความแม่นยำเลย Stepper Motor คือหัวใจสำคัญของ 3D printer และเครื่อง CNC ทั้งหมด เพราะมันให้การหมุนแบบต่อเนื่องไม่มีที่สิ้นสุด พร้อมการเคลื่อนที่ทีละขั้นที่เล็กมากและแม่นยำตามหลักคณิตศาสตร์ โปรเจกต์พื้นฐานนี้จะสำรวจวิธีการใช้งาน 28BYJ-48 ที่พบเห็นได้ทั่วไป

smart_dustbin_internal_servo_1772704583966.png

การจัดเฟสของแม่เหล็กไฟฟ้า (ULN2003 Driver)

28BYJ-48 Stepper Motor มีสายไฟห้าเส้น คุณไม่สามารถต่อมันเข้ากับแบตเตอรี่ได้โดยตรง

  1. ภายในของ motor มีขดลวดแม่เหล็กไฟฟ้าหลายขดแยกกัน จัดเรียงเป็นวงกลม
  2. Rotor เป็นแม่เหล็กถาวร ในการทำให้ motor หมุนไปทีละขั้นเล็ก ๆ คุณต้องจ่ายพลังงานให้ Coil A จากนั้นปิด แล้วจ่ายพลังงานให้ Coil B ปิด แล้วจ่ายพลังงานให้ Coil C...
  3. การสลับลำดับที่ซับซ้อนนี้ต้องใช้ ULN2003 Driver Board คุณเชื่อมต่อ Arduino Pins 8, 9, 10 และ 11 เข้ากับ IN1 - IN4 ของ driver

ตรรกะของโค้ด Stepper.h

การเขียนลำดับการสลับ High/Low ด้วยตนเองเป็นเรื่องที่ยุ่งยาก

  • คุณรวมไลบรารี <Stepper.h> ที่มาพร้อมกับระบบ
  • คุณเริ่มต้น object: Stepper myStepper(2048, 8, 10, 9, 11); (โปรดทราบว่า Pins 9 และ 10 มักจะสลับกันในการทำงานของซอฟต์แวร์ เนื่องจากวิธีการเดินสายของขดลวดภายใน!)
  • คำสั่งการทำงาน: คุณไม่ได้บอกมันเป็นมุม คุณบอกมันเป็นจำนวน step ที่แน่นอน
  • myStepper.setSpeed(10); (10 RPM)
  • myStepper.step(1024);
  • Arduino จะเริ่มส่ง pulse ผ่านสายไฟทั้งสี่เส้นทันที ขดลวดแม่เหล็กไฟฟ้าจะดึง rotor ผ่านการคลิกแม่เหล็กเล็ก ๆ 1,024 ครั้งอย่างแม่นยำ เนื่องจาก motor มี 2,048 steps ต่อหนึ่งรอบ... คุณเพิ่งสั่งให้มันหมุน 180 องศาได้อย่างไร้ที่ติและแม่นยำ!

ฮาร์ดแวร์ Stepper พื้นฐาน

  • Arduino Uno/Nano
  • 28BYJ-48 5V Stepper Motor + ULN2003 Driver Board (ชุด Stepper มาตรฐานทองคำสำหรับผู้เริ่มต้น)
  • A 5V Breadboard Power Supply Module (ห้ามจ่ายไฟให้ stepper โดยตรงจาก 5V pin ของ Arduino เด็ดขาด! มันจะดึงกระแสไฟที่พุ่งขึ้นสูงอย่างรวดเร็วเกิน 500mA ซึ่งจะทำให้ Uno รีเซ็ตหรือหยุดทำงานแบบสุ่ม!)

ข้อมูล Frontmatter ดั้งเดิม

title: "Arduino uno stepper motor basic"
description: "Precision rotation! Ditch the erratic, sweeping servos and master the micro-stepping architecture of the 28BYJ-48 motor to command theoretically infinite, millimeter-accurate continuous rotation."
category: "Motors & Robotics"
difficulty: "Easy"