โปรเจกต์ CNC plotter
เครื่อง Drawing Plotter ที่ควบคุมโดย Gcode ด้วย Arduino
เครื่อง Drawing Plotter ที่ควบคุมโดย Gcode ด้วย Arduino
▶ กดเพื่อดูวิดีโอสาธิตโปรเจกต์
Drawing Plotter
Arduino Plotter
Pen Plotter
CNC Plotter
DIY Plotter
Homemade Plotter
GRBL Plotter
Gcode plotter
ผมต้องการสร้าง Pen Plotter ขึ้นมาสักเครื่อง ซึ่งระบบ Plotter นั้นมีอยู่หลายแบบ แต่ที่ผมเลือกทำคือระบบที่ใช้สายพาน (Belt)
ภาพรวมหลักการทำงานของเครื่อง CNC และ GRBL ด้วย Arduino
อุปกรณ์หลักที่ผมใช้สำหรับโปรเจกต์นี้คือ Arduino UNO R3, CNC Shield และ A4988 Step Motor Driver









1 x Arduino UNO R3
1 x สาย USB Printer ยาว 3 เมตร
1 x CNC Shield
3 x A4988 Stepper Motor Driver
2 x NEMA 17 Stepper Motor (สำหรับแกน XY)
1 x 28BYJ-48 5volt Stepper Motor (สำหรับยกตัวจับปากกา ขึ้น/ลง)
1 x บอร์ดขับมอเตอร์ 28BYJ-48 ชิปเซ็ต ULN2003
1 x LED สีขาวความสว่างสูง และตัวต้านทาน 100 Ohm สำหรับไฟส่องสว่างตัวจับปากกาขณะวาดลงบนกระดาษ A4
1 x สายไฟสำหรับ Arduino และบอร์ดต่างๆ
4 หรือ 6 x Limit Switch สำหรับการตั้งค่า Homing











https://www.arduino.cc/en/software
Extension Unicorn Gcode ที่จะเพิ่มเข้าไปในโปรแกรมนี้อาจไม่ทำงานกับเวอร์ชั่นอื่น
https://drive.google.com/file/d/19wAqT7PvQHqOCwqY0Y7rVaPwY0A-_m9n/view?usp=sharing
https://drive.google.com/file/d/1GPVPpPgu_PqUD68FIgePHZjIyv25gM_C/view?usp=sharing
https://drive.google.com/file/d/1CRGqC2_Wr8jutVs3PoYfhCv_vBu9CdYT/view?usp=sharing
https://drive.google.com/drive/folders/1uzh3ksM_C0E9t1N8-gRItg9_TQjh7tax?usp=sharing
https://drive.google.com/file/d/1G8Ah6yQfL1ctdGbAaFoGPm-H_kCqMpWD/view?usp=sharing
https://drive.google.com/file/d/1twiVfCslwQwtTkepJSuqnKDilgBJyURQ/view?usp=sharing
https://drive.google.com/drive/folders/1UKoFoUT-LKznErzsG6A22-VrTCVCb2sn?usp=sharing
https://www.instructables.com/Pen-Plotter/
ผมไม่ได้ระบุรายละเอียดการต่อ Plotter และผังวงจรไว้เป็นพิเศษ
เนื่องจากมี CNC Shield ติดตั้งอยู่บนบอร์ด Arduino และมีตัวควบคุมมอเตอร์ A4988 จำนวน 3 ตัว
ผมได้ติดตั้งบอร์ดขับ Stepper Motor ขนาดเล็ก 28BYJ-48 เข้ากับช่อง Output ของมอเตอร์ตัวจับปากกา เนื่องจาก CNC Shield ถูกควบคุมด้วยแรงดัน 12 โวลต์ ซึ่ง Driver A4988 ของแกน Z อาจทำให้มอเตอร์ขนาดเล็กบางตัวร้อนเกินไป การใช้บอร์ดขับมอเตอร์ 28BYJ-48 แยกต่างหากมี 2 เหตุผล: ข้อแรกคือ 28BYJ-48 เป็น Stepper Motor ขนาดเล็กที่ทำงานด้วยไฟ 5 โวลต์
เหตุผลที่สองคือเพื่อไม่ให้ต้องตัดสายที่หัว Socket ของ Stepper Motor
ผมได้ทดลองใช้ตัวจับปากกา 3 รูปแบบที่แตกต่างกัน
เมื่อใช้งานกับ Stepper Motor ขนาดเล็กมากเกินไป
มันจะร้อนจัด
และจำเป็นต้องใช้ร่วมกับ Limit Switch
นั่นคือสาเหตุที่ผมยกเลิกการใช้แบบนี้
ผมใช้ปากกาแบบมีสปริง
แต่ระบบนี้ก็ปรับแต่งได้ยาก
และในบางโปรเจกต์ที่ต้องการความเร็ว ระบบนี้อาจจะทำงานช้าเกินไป
คุณสามารถปรับ Step และความเร็วของ Stepper Motor ได้ตามต้องการ
และมันทำงานได้อย่างมีประสิทธิภาพมาก
เนื่องจากผมใช้บอร์ดขับ Stepper Motor 5 โวลต์ 28BYJ48
มันจึงไม่ร้อนและทำงานได้อย่างมีประสิทธิภาพ
มี Homing Switch ทั้งหมด 4 ตัว คุณสามารถเลือกไม่ใช้งาน หรือปรับแต่งผ่านการตั้งค่าก็ได้
ตำแหน่งช่องเสียบสำหรับ Homing Switch บน CNC Shield นั้นชัดเจน และผมได้แสดงไว้ในรูปภาพแล้ว
ผมใช้ Output แรงดัน 3.3 โวลต์บน CNC Shield สำหรับไฟ LED ส่องสว่างหน้ากระดาษวาดรูป
และใช้ Output 5 โวลต์บน CNC Shield สำหรับบอร์ดขับ Stepper Motor ขนาดเล็ก 28BYJ-48
1. ติดตั้งซอฟต์แวร์ Arduino ลงในคอมพิวเตอร์ของคุณ
2. เปิดไฟล์ซอฟต์แวร์ GRBL v1.1h และอัปโหลดไปยังฮาร์ดแวร์ Arduino
3. หลังจากเตรียมไฟล์ GRBL แล้ว ให้ติดตั้งลงบนบอร์ด Arduino Uno
ในส่วนของซอฟต์แวร์ Arduino เป็นอันเสร็จสิ้น
4. คราวนี้ ให้เชื่อมต่อ Plotter ที่คุณประกอบเสร็จแล้วเข้ากับคอมพิวเตอร์ผ่านสายเคเบิล
5. ติดตั้งโปรแกรม InkScape ลงในคอมพิวเตอร์ของคุณ
6. คัดลอก Inkscape unicorn gcode extension ไปยังโฟลเดอร์ extensions ของโปรแกรม Inkscape แล้ว
เปิดโปรแกรมขึ้นมา
7. สร้างพื้นที่รูปสี่เหลี่ยมจัตุรัสขนาด 4 ซม. x 4 ซม. แล้วนำเข้ารูปภาพหรือวาดรูปลงไป
บันทึกไฟล์ที่คุณสร้างจากส่วน Save a copy ในรูปแบบ MakerBot Unicorn G-code (.gcode)
8. เปิดโปรแกรม Gcode Universal Sender และเชื่อมต่อกับบอร์ด Arduino UNO ของคุณ
9. หากจำเป็น คุณสามารถดูวิธีช่วยเหลือเรื่องการ Calibration ตามประเภทมอเตอร์ที่ใช้ได้จากลิงก์นี้
https://www.xixxeaon.com/tools/cnc-axis-setup-calibration
จำนวน Motor Step, อัตราทด Step, เส้นผ่านศูนย์กลางเฟือง และจำนวนฟันเฟือง มีความสำคัญมากในเครื่องพิมพ์หลายประเภท
10. หากการเชื่อมต่อเรียบร้อย คุณสามารถสั่งเลื่อนมอเตอร์ของ Plotter ในแนวแกน X-Y ได้ด้วยปุ่มลูกศร
11. หากทุกอย่างเรียบร้อย ให้ดึงไฟล์ Gcode ของคุณมาจากส่วน Browse ของโปรแกรม Gcode Universal Sender
ผมจะแนบไฟล์ Gcode ตัวอย่างไว้ให้ 1 ไฟล์
12. จัดหัว Plotter ให้อยู่กึ่งกลางจุดเริ่มต้นตามขนาดของรูปภาพ และ Reset แกน X-Y-Z ทั้งหมดให้เป็นศูนย์
13. ตอนนี้คุณสามารถกด Send ไฟล์เพื่อเริ่มพิมพ์ได้เลย...
คุณได้ทำรายละเอียดต่างๆ มามากมายจนถึงจุดนี้ หาก Plotter ทำงานได้ แสดงว่าคุณทำสำเร็จแล้ว!
คุณสุดยอดมากจริงๆ!
คุณสามารถดูรูปภาพรายละเอียดเกี่ยวกับโปรเจกต์นี้ได้จากลิงก์ด้านล่าง!
ผมพยายามเขียนรายละเอียดทั้งหมดแล้ว แต่หากยังมีส่วนไหนตกหล่น คุณสามารถเขียนข้อความมาหาผมได้
ผมจะพยายามช่วยเหลือเท่าที่มีเวลาครับ
Bahadir Ozgen 2021
สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้