สเต็ปเปอร์มอเตอร์เป็นมอเตอร์กระแสตรงชนิดหนึ่งที่ทำงานในขั้นตอนที่ไม่ต่อเนื่องและใช้ได้ทุกที่ตั้งแต่กล้องวงจรปิดไปจนถึงหุ่นยนต์และเครื่องจักรที่มีความซับซ้อน สเต็ปเปอร์มอเตอร์ให้การควบคุมที่แม่นยำและสามารถสร้างความแตกต่างได้โดยอาศัยแรงบิดขั้นตอนต่อรอบและแรงดันไฟฟ้าขาเข้า ในโครงการก่อนหน้านี้เราควบคุมมอเตอร์สเต็ปเปอร์ 28-BYJ48 โดยใช้ Arduino 28-BYJ48 มีแรงบิดค่อนข้างต่ำกว่าสเต็ปเปอร์มอเตอร์อื่น ๆ เช่น NEMA 14, NEMA17
ในการกวดวิชานี้เราจะไปควบคุมมอเตอร์ stepper NEMA17 ใช้ Arduino Uno และโมดูลไดรเวอร์ มอเตอร์สเต็ป Nema17 มีแรงบิดสูงกว่าและแรงดันไฟฟ้าที่ใช้งานได้สูงกว่า 28-BYJ48 ที่นี่จะติดโพเทนชิออมิเตอร์เพื่อควบคุมทิศทางของสเต็ปเปอร์มอเตอร์ด้วย
ส่วนประกอบที่จำเป็น
- Arduino UNO
- NEMA17 Stepper Motor
- A4988 โมดูลไดร์เวอร์ Stepper
- 47 µ ของ Capacitor
- โพเทนชิออมิเตอร์
NEMA17 Stepper Motor
การทำงานของ Nema17 นั้นคล้ายกับ Stepper Motors ทั่วไป มอเตอร์สเต็ป NEMA 17 มีแผ่นปิดหน้าขนาด 1.7 x 1.7 นิ้วและมักจะมีแรงบิดมากกว่ารุ่นเล็ก ๆ เช่น NEMA 14 มอเตอร์นี้มีสายตะกั่วหกเส้นและแรงดันไฟฟ้าที่กำหนดคือ 12 โวลต์ สามารถทำงานได้ที่แรงดันไฟฟ้าต่ำกว่า แต่แรงบิดจะลดลง stepper มอเตอร์ไม่หมุนพวกเขาก้าวและ NEMA17 มอเตอร์มีมุมขั้นตอน 1.8 องศาหมายความว่าครอบคลุม 1.8 องศาในทุกขั้นตอน แผนภาพการเดินสายสำหรับ NEMA17 แสดงไว้ด้านล่าง
ในขณะที่คุณสามารถเห็นได้ว่าเครื่องนี้มีการจัดเรียงหกสาย Unipolar ลวดเหล่านี้เชื่อมต่อกันในขดลวดแยกสองเส้น สายสีดำสีเหลืองสีเขียวเป็นส่วนหนึ่งของการม้วนครั้งแรกโดยที่สีดำคือการแตะตรงกลางและสีเหลืองและสีเขียวเป็นปลายขดลวดในขณะที่สีแดงสีขาวและสีน้ำเงินเป็นส่วนหนึ่งของขดลวดที่สองซึ่งสีขาวคือก๊อกตรงกลางและสีแดงและสีน้ำเงินเป็นขดลวด ปลายสาย โดยปกติแล้วสายไฟตรงกลางจะถูกตัดการเชื่อมต่อ
ขั้นตอนต่อการปฏิวัติสำหรับ NEMA17
ขั้นตอนต่อการปฏิวัติสำหรับสเต็ปเปอร์มอเตอร์โดยเฉพาะจะคำนวณโดยใช้มุมสเต็ปของมอเตอร์สเต็ปนั้น ดังนั้นในกรณีนี้มุมขั้นตอน NEMA 17 คือ 1.8 องศา
ขั้นตอนต่อการปฏิวัติ = 360 / มุมขั้นตอน 360 / 1.8 = 200 ก้าวต่อการปฏิวัติ
ข้อมูลจำเพาะของ NEMA17
- แรงดันไฟฟ้า: 12V DC
- มุมองศา: 1.8 องศา
- จำนวนเฟส: 4
- ความยาวมอเตอร์: 1.54 นิ้ว
- ตะกั่ว 4 เส้น 8 นิ้ว
- 200 ก้าวต่อรอบ 1.8 องศา
- อุณหภูมิในการทำงาน: -10 ถึง 40 ° C
- Unipolar Holding Torque: 22.2 ออนซ์
ตรวจสอบโครงการต่างๆที่เกี่ยวข้องกับสเต็ปเปอร์มอเตอร์ได้ที่นี่ซึ่งไม่เพียง แต่รวมการเชื่อมต่อพื้นฐานกับไมโครคอนโทรลเลอร์ต่างๆเท่านั้น แต่ยังมีโครงการหุ่นยนต์ที่เกี่ยวข้องกับมอเตอร์สเต็ป
A4988 โมดูลไดร์เวอร์ Stepper
โมดูลไดรเวอร์สเต็ปเปอร์ควบคุมการทำงานของสเต็ปเปอร์มอเตอร์ ไดรเวอร์ Stepper ส่งกระแสไปยังสเต็ปเปอร์มอเตอร์ผ่านเฟสต่างๆ
A4988 Nema ไดรเวอร์ 17 stepperเป็นโมดูลไดรเวอร์ microstepping ที่ใช้ในการควบคุมมอเตอร์ stepper สองขั้ว โมดูลไดรเวอร์นี้มีตัวแปลในตัวซึ่งหมายความว่าเราสามารถควบคุมมอเตอร์สเต็ปเปอร์โดยใช้พินจากคอนโทรลเลอร์ของเราเพียงไม่กี่ตัว
การใช้โมดูลไดรเวอร์มอเตอร์ Nema 17นี้เราสามารถควบคุมสเต็ปเปอร์มอเตอร์ได้โดยใช้หมุดสองตัวเท่านั้นคือ STEP และ DIRECTION STEP pin ใช้เพื่อควบคุมขั้นตอนในขณะที่ DIRECTION pin ใช้เพื่อควบคุมทิศทางของมอเตอร์ โมดูลไดรเวอร์ A4988 ให้ห้ามติขั้นตอนที่แตกต่างกัน: ขั้นตอนเต็มครึ่งขั้นตอนไตรมาสขั้นตอนแปดขั้นตอนและขั้นตอนที่สิบหก คุณสามารถเลือกความละเอียดขั้นตอนต่างๆได้โดยใช้พินตัวเลือกความละเอียด ((MS1, MS2 และ MS3) ตารางความจริงสำหรับพินเหล่านี้แสดงอยู่ด้านล่าง:
MS1 | MS2 | MS3 | ความละเอียดระดับไมโคร |
ต่ำ | ต่ำ | ต่ำ | เต็มขั้นตอน |
สูง | ต่ำ | ต่ำ | ½ก้าว (ครึ่งก้าว) |
ต่ำ | สูง | ต่ำ | ¼ขั้นตอน (ขั้นตอนไตรมาส) |
สูง | สูง | ต่ำ | 1/8 ขั้น (ขั้นที่แปด) |
สูง | สูง | สูง | ขั้นตอนที่ 1/16 (ขั้นตอนที่สิบหก) |
ข้อมูลจำเพาะของ A4988
สูงสุด แรงดันไฟฟ้า: 35V
นาที. แรงดันไฟฟ้า: 8V
สูงสุด กระแสต่อเฟส: 2A
ความละเอียดระดับไมโครสเต็ปเต็มขั้น, ขั้น¼ขั้น 1/8 และ 1/16
การป้องกันแรงดันไฟฟ้าย้อนกลับ: ไม่
ขนาด: 15.5 × 20.5 มม. (0.6″ × 0.8″)
แผนภูมิวงจรรวม
แผนภาพวงจรเพื่อควบคุม มอเตอร์ Nema 17 ด้วย Arduino แสดง ไว้ในภาพด้านบน เนื่องจากโมดูล A4988 มีตัวแปลในตัวซึ่งหมายความว่าเราจำเป็นต้องเชื่อมต่อพินขั้นตอนและทิศทางกับ Arduinoเท่านั้น หมุดขั้นตอนใช้สำหรับควบคุมขั้นตอนในขณะที่ใช้หมุดทิศทางเพื่อควบคุมทิศทาง Stepper motor ขับเคลื่อนโดยใช้แหล่งจ่ายไฟ 12V และโมดูล A4988 ใช้พลังงานจาก Arduino โพเทนชิออมิเตอร์ใช้สำหรับควบคุมทิศทางของมอเตอร์
หากคุณหมุนโพเทนชิออมิเตอร์ตามเข็มนาฬิกาสเต็ปเปอร์จะหมุนตามเข็มนาฬิกาและหากคุณหมุนโพเทนชิออมิเตอร์ทวนเข็มนาฬิกาก็จะหมุนทวนเข็มนาฬิกา ตัวเก็บประจุ 47 µf ใช้เพื่อป้องกันบอร์ดจากแรงดันไฟฟ้าที่พุ่งสูงขึ้น MS1, MS2 และ MS3 ขาซ้ายตัดการเชื่อมต่อที่หมายถึงการขับรถจะทำงานในโหมดขั้นตอนแบบเต็มรูปแบบ
การเชื่อมต่อที่สมบูรณ์สำหรับ Arduino Nema 17 A4988 ตามตารางด้านล่าง
ส. อบจ. |
A4988 พิน |
การเชื่อมต่อ |
1 |
VMOT |
+ ของแบตเตอรี่ |
2 |
GND |
-ve ของแบตเตอรี่ |
3 |
VDD |
5V ของ Arduino |
4 |
GND |
GND ของ Arduino |
5 |
STP |
Pin 3 ของ Arduino |
6 |
DIR |
Pin 2 ของ Arduino |
7 |
1A, 1B, 2A, 2B |
สเต็ปเปอร์มอเตอร์ |
คำอธิบายรหัส
รหัสที่สมบูรณ์พร้อมการควบคุมวิดีโอการทำงาน Nema 17 พร้อม Arduinoจะได้รับในตอนท้ายของบทช่วยสอนนี้เรากำลังอธิบายโปรแกรมทั้งหมดเพื่อทำความเข้าใจการทำงานของโครงการ
ก่อนอื่นให้เพิ่มไลบรารีมอเตอร์สเต็ปเปอร์ลงใน Arduino IDE ของคุณ คุณสามารถดาวน์โหลดสเต็ปเปอร์มอเตอร์ไลบรารีได้จากที่นี่
หลังจากนั้นกำหนดจำนวนขั้นตอนสำหรับ NEMA 17. ตามที่เราคำนวณไว้เลขที่ จำนวนก้าวต่อการปฏิวัติสำหรับ NEMA 17 คือ 200
# รวม
หลังจากนั้นระบุพินที่โมดูลไดรเวอร์เชื่อมต่อและกำหนดประเภทอินเทอร์เฟซของมอเตอร์เป็น Type1 เนื่องจากมอเตอร์เชื่อมต่อผ่านโมดูลไดรเวอร์
สเต็ปเปอร์สเต็ป (STEPS, 2, 3); #define motor อินเทอร์เฟซประเภท 1
ถัดไปตั้งค่าความเร็วของมอเตอร์สเต็ปเปอร์โดยใช้ฟังก์ชัน stepper.setSpeed ความเร็วมอเตอร์สูงสุดสำหรับ NEMA 17 คือ 4688 RPM แต่ถ้าเราวิ่งเร็วกว่า 1,000 RPM แรงบิดจะตกลงอย่างรวดเร็ว
การตั้งค่าเป็นโมฆะ () { stepper.setSpeed (1000);
ตอนนี้ในลูป หลัก เราจะอ่านค่าโพเทนชิออมิเตอร์จากพิน A0 ในวงนี้มีสองฟังก์ชั่นหนึ่งที่ potVal และอื่น ๆ ที่เป็นPVal ถ้าค่าปัจจุบันคือ potVal สูงกว่าค่าก่อนหน้านั่นคือ Pval กว่าจะเคลื่อนที่ไปสิบก้าวในทิศทางตามเข็มนาฬิกาและถ้าค่าปัจจุบันน้อยกว่าค่าก่อนหน้าจะเคลื่อนที่สิบขั้นในทิศทางทวนเข็มนาฬิกา.
potVal = แผนที่ (analogRead (A0), 0,1024,0,500); ถ้า (potVal> Pval) stepper.step (10); ถ้า (potVal
ตอนนี้เชื่อมต่อ Arduino กับแล็ปท็อปของคุณและอัปโหลดรหัสลงในบอร์ด Arduino UNO ของคุณโดยใช้ Arduino IDE เลือกบอร์ดและหมายเลขพอร์ตจากนั้นคลิกที่ปุ่มอัปโหลด
ตอนนี้คุณสามารถควบคุมทิศทางของมอเตอร์สเต็ป Nema17โดยใช้โพเทนชิออมิเตอร์ การทำงานที่สมบูรณ์ของโครงการแสดงอยู่ในวิดีโอด้านล่าง หากคุณมีข้อสงสัยเกี่ยวกับโครงการนี้โพสต์ไว้ในส่วนความคิดเห็นด้านล่าง