กลับไปหน้ารวมไฟล์
mini-arduino-cnc-798da6.md


โปรเจกต์นี้พี่จะพาน้องไปสร้าง CNC ราคาถูกและง่ายๆ แต่ตัวเล็กจิ๋วด้วย Arduino UNO กัน CNC แบบขายในตลาดราคาหลักหมื่นนะตัวนี้ แต่เจ้า **Mini Arduino CNC** ที่เราจะสร้างจากไดรฟ์ DVD เสียเนี่ย เป็นประตูสู่โลกของคณิตศาสตร์ G-Code และกลไกการเคลื่อนที่ (Kinematics) เลยทีเดียว มันสามารถวาดรูปหรือกัดเจียระไนวัสดุอ่อนๆ ได้ด้วยโครงสร้างที่ควบคุมด้วยคอมพิวเตอร์แม่นยำสุดๆ

ขั้นตอนที่ 1: อุปกรณ์ที่ต้องจัด (จัดไปวัยรุ่น)

สำหรับโปรเจกต์นี้ น้องต้องมี:

ไดรฟ์ CD/DVD-ROM เก่า x 3 ตัว

เพาเวอร์ซัพพลายจากคอม x 1 ตัว

บอร์ดขับสเต็ปเปอร์มอเตอร์ Easydriver x 3 ตัว

Arduino Uno x 1 ตัว

ไม้แผ่น x 2 แผ่น

หัวแร้งบัดกรี x 1 ตัว

ตะกั่วบัดกรี x 1 ม้วน

ล่าและเก็บของจากขยะอิเล็กทรอนิกส์ (Scavenging)

น้องต้องไปล่าอุปกรณ์หลักๆ เหล่านี้มาให้ได้:

  • Arduino Uno (ต้องโหลดเฟิร์มแวร์ GRBL ลงไปแล้วนะ).
  • โมดูลขับสเต็ปเปอร์มอเตอร์ (x3) - เช่น A4988 หรือ Easydriver ตามที่บอกในลิสต์อุปกรณ์
  • สเต็ปเปอร์มอเตอร์แบบไบโพลาร์จิ๋ว (Micro Bipolar Stepper motors) เอามาจากกลไกเลื่อนหัวอ่านในไดรฟ์ DVD/CD-ROM เก่า (x3)
  • แหล่งจ่ายไฟ 12V 2A ที่น่าเชื่อถือ เช่น เอาเพาเวอร์ซัพพลายคอมเก่ามาใช้

**วิดีโอสอนขั้นตอนการประกอบ (Part 2)**

Arduino Mini CNC video

แล้วจะใช้โปรแกรม Inkscape ยังไงล่ะ?

มีวิดีโอสอนใช้โปรแกรมนี้และสร้าง G-Code เต็มไปหมดในยูทูปเลยน้อง อยากได้แนวทางเร็วๆ ก็ลองเสิร์ชหาดูได้ มีคนสอนละเอียดมาก

How to use Inkscape

ขั้นตอนที่ 2: ใช้ไดรฟ์ DVD CD-ROM คว้า Stepper Motors มาให้ได้

พี่แกะไดรฟ์ DVD เสียๆ ออกมา 3 ตัว เพราะเราต้องการมอเตอร์สเตปเปอร์ (แกน XYZ) ตัวนี้แหละ กลไกเลื่อนของไดรฟ์ DVD แต่ละตัวใช้มอเตอร์สเตปเปอร์แบบไบโพลาร์ (Bipolar Stepper Motor) ขนาดจิ๋วอยู่ข้างใน

ขั้นตอนที่ 3: ประกอบโครงสร้างให้แน่นหนา

ขั้นตอนนี้ต้องการแค่ฐานกับเสาสองต้น พี่ทำฐานจากไม้ ส่วนเสาเป็นอลูมิเนียม ง่ายๆ แค่ยึดฐานไม้เข้ากับเสาตามที่เห็นในรูปแรกเลย ใช้สกรูยิงเข้าไปจัดไปวัยรุ่น

วางแกน X ขวางระหว่างเสา แล้ววางแกน Y บนฐานไม้ตามในรูป พี่ใช้กาวยึดแกนทั้งหมดเลย แค่ต้องมั่นใจว่าแกนทุกอันตั้งฉากกันเป๊ะๆ นะ ต้องเป็นมุมฉาก 90 องศาเท่านั้น ห้ามเอียงเด็ดขาด!

ขั้นตอนที่ 4: บัดกรีและเดินสายไฟ

ขั้นตอนนี้ก็ไม่ได้ยากซับซ้อนอะไร แค่บัดกรีสายไฟเข้ากับขาของมอเตอร์สเตปเปอร์ให้เรียบร้อย ระวังตอนบัดกรีนะน้อง อย่าใช้หัวแร้งวัตต์สูงไป เดี๋ยวสายมอเตอร์ไหม้ ของพี่ใช้ 30W ก็โอเคแล้ว หลังจากนั้นก็บัดกรีขั้วต่อทั้งหมดเข้ากับบอร์ด EasyDriver แล้วเดินสายไฟตามในรูปให้ถูกต้อง งานนี้ห้ามช็อตนะตัวนี้!

ขั้นตอนที่ 5: ฝั่งซอฟต์แวร์

สภาพแวดล้อมเฟิร์มแวร์ GRBL

น้องจะไม่ต้องมานั่งเขียนโค้ดแบบ `digitalWrite()` ให้เครื่อง CNC นะตัวนี้ คณิตศาสตร์เรขาคณิตที่ต้องใช้เพื่อวาดวงกลมสมบูรณ์แบบบนแกนเชิงเส้นสองแกนพร้อมกันเนี่ย มันซับซ้อนโคตรๆ

  1. The Flash (การเฟลช): น้องจะลบทุกอย่างใน Arduino Uno ของน้องให้เกลี้ยง แล้วอัปโหลด เฟิร์มแวร์ GRBL ผ่าน IDE ลงไป ตอนนี้ Uno ของน้องก็กลายเป็นตัวแปลภาษา G-Code แบบอุตสาหกรรมเต็มตัวแล้วล่ะ
  2. The Hardware Hub (ศูนย์รวมฮาร์ดแวร์): ในโปรเจกต์นี้เราใช้บอร์ด EasyDriver แยกกัน แต่ตัวเลือกยอดฮิตอีกแบบคือการปัก CNC Shield V3 ลงไปบนหัว Uno เลย บอร์ดนี้จัดช่องเสียบให้เป็นระเบียบเพื่อรองรับกระแสไฟมหาศาลที่มอเตอร์ต้องการ

การควบคุมไดรเวอร์สเต็ปเปอร์ A4988

กลไกสไลด์ดีวีดีแต่ละตัวใช้มอเตอร์สเต็ปเปอร์แบบไบโพลาร์ตัวจิ๋ว

  • น้องจะติดตั้ง ไดรเวอร์มอเตอร์สเต็ปเปอร์ (เช่น A4988 หรือ EasyDriver) ลงบนบอร์ด 3 ตัว (แทนแกน X, Y และ Z)
  • ซอฟต์แวร์บนพีซี: น้องใช้โปรแกรมอย่าง Universal G-Code Sender (UGS) หรือ Grbl Controller บนพีซี เพื่อโหลดไฟล์เวกเตอร์ (เช่น ภาพ SVG รูปดาว)
  • พีซีจะส่งพิกัดดิบๆ อย่าง `G01 X50.5 Y25.2` ผ่านสาย USB
  • เฟิร์มแวร์ GRBL บน Arduino จับสตริงนั้นไว้ แล้วส่งพัลส์ไปยังไดรเวอร์มอเตอร์ทั้งสามนับพันครั้งต่อวินาที เพื่อดันปากกาให้เคลื่อนที่ไปบนกระดาษได้เป๊ะๆ `50.5mm` ไปทางขวา! สุดยอดไปเลยมั้ยล่ะ

1. ดาวน์โหลดและติดตั้ง ซอฟต์แวร์ Arduino, ไลบรารี grbl และ Grbl controller ให้เรียบร้อย

2. หลังจาก ดาวน์โหลดไลบรารี Grbl มาแล้ว น้องต้องไปที่ Sketch --> Import Library --> Add Library ในซอฟต์แวร์ Arduino แล้วเลือกไฟล์ zip ที่เพิ่งดาวน์โหลดมา

3. อัปโหลดไลบรารีลง Arduino ของน้องซะ

4. หลังจากติดตั้ง Grbl บน Arduino แล้ว ให้เปิด Grbl controller ขึ้นมาแล้วเลือกพอร์ตที่ต่อกับ Arduino ของน้องอยู่ กดปุ่ม Open

5. จะมีรายการตัวเลือกโผล่มาในหน้าจอคำสั่ง น้องต้องเปลี่ยนค่าตัวเลือกบางตัว โดยพิมพ์หมายเลขตัวเลือก (ตัวเลขที่มี $ อยู่ข้างหน้า) = และค่าที่ต้องการ (เช่น $130=35.000) ถ้ามอเตอร์เคลื่อนที่ผิดทิศ ให้ไปที่ Tools --> Options --> Axis แล้วคลิกที่แกนที่ต้องการจะกลับทิศ

6.น้องสามารถใช้ซอฟต์แวร์ Gcode Generator ตัวไหนก็ได้เพื่อสร้าง Gcode ตัวอย่างเช่น DeskEngrave ซึ่งก็เป็นตัวสร้าง Gcode เช่นกัน

อัปเดต:

ไปดูวิดีโอใหม่ Mini Arduino CNC Part 2 ของเจ้าเครื่องพล็อตเตอร์ CNC ตัวจิ๋วนี้กันได้เลย พี่เพิ่มอัตราการป้อน (feed rate) สำหรับการวาดขึ้นแล้ว ตอนแรกพี่ใช้ Deskengrave และซอฟต์แวร์อื่นๆ อีกหลายตัวเพื่อทดสอบการทำงานของเครื่อง ผลลัพธ์ไม่ค่อยน่าพอใจเพราะ Gcode บางตัวที่สร้างขึ้นมา ไลบรารี GRBL ไม่รองรับ หลังจากค้นหาในเน็ตพี่ก็เจอซอฟต์แวร์ Inkscape Inkscape เป็นโปรแกรมแก้ไขกราฟิกแบบเวกเตอร์ฟรีและโอเพ่นซอร์ส มันสามารถสร้างหรือแก้ไขกราฟิกแบบเวกเตอร์ได้ เช่น ภาพประกอบ แผนภาพ งานศิลปะเส้น กราฟโลโก้ และแม้แต่ภาพวาดที่ซับซ้อน โดยใช้ซอฟต์แวร์นี้พี่สามารถนำเข้าไฟล์ Dxf, Dwg, JPG, SVG ฯลฯ และแปลงเป็น GCODE ได้ น้องสามารถดาวน์โหลด Inkscape ได้ตามลิงก์ด้านล่างดาวน์โหลด Inkscape

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

apps:
  - "1x Universal G-Code Sender"
  - "1x GRBL"
  - "1x Inkscape"
author: "me_zain"
category: "Motors & Robotics"
components:
  - "3x stepper motor"
  - "1x Arduino UNO"
  - "1x Big Easy Driver"
  - "1x 12V Power supply"
  - "1x Jumper Wires"
description: "โปรเจคนี้จะพาน้องๆ มาสร้าง CNC Plotter ขนาดจิ๋ว ราคาเบาๆ แต่เทคนิคตึงๆ ด้วย Arduino UNO เรียนรู้การควบคุมสเต็ปมอเตอร์และเซนเซอร์ งานช่างมันส์ๆ แบบวัยรุ่นสายฮาร์ดแวร์ จัดไป!"
difficulty: "Intermediate"
documentationLinks: []
downloadableFiles:
  - "https://github.com/grbl/grbl"
encryptedPayload: "U2FsdGVkX1/S9WxoT8I9KVJXELhonWLnnafp1eRYFyWYOXYzkmfmYqknKqKWadaaXpX9SV8B9STEyTLC2TojOltg4DLmHSVpAwfH/qWKM7SU9s60ht5aDXy/rTuci8gJXqDm/JyTqX1UbKksukmLUQ=="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/mini-arduino-cnc-798da6_cover.jpg"
lang: "en"
likes: 73
passwordHash: "4858f82180bde5889d4313aa8e93e7d7f2a5193fd8ba7cacdae456131dac7965"
price: 2450
seoDescription: "Build a cheap and easy Mini Arduino CNC Plotter using Arduino UNO. A step-by-step guide for a compact and affordable DIY project."
tags:
  - "cnc"
  - "robot"
  - "art"
  - "robotics"
  - "cnc hack"
title: "งานง่ายแต่หล่อ! สร้าง Mini CNC Plotter ด้วย Arduino UNO"
tools: []
videoLinks:
  - "https://www.youtube.com/embed/EZZg1QBYzJA"
  - "https://www.youtube.com/embed/t_3yQZxXm-Q"
views: 141112