GRBLHAL : เวอร์ชันปรับปรุงของ GRBL

GRBLHAL เป็นเวอร์ชันที่ปรับปรุง และ ขยายความสามารถของ GRBL ซึ่งเป็นเฟิร์มแวร์ โอเพ่นซอร์สสำหรับควบคุมเครื่อง CNC โดย GRBLHAL ได้รับการพัฒนาเพื่อให้มีความยืดหยุ่นมากขึ้นในการรองรับฮาร์ดแวร์ที่หลากหลาย และ เพิ่มฟีเจอร์ใหม่ ๆ เพื่อตอบสนองความต้องการของผู้ใช้งานระดับสูง

คำสั่งพื้นฐานของ GRBLHAL

คำสั่งใน GRBLHAL ส่วนใหญ่จะคล้ายกับ GRBL แต่มีการเพิ่มเติมและปรับปรุงบางคำสั่งเพื่อรองรับฟีเจอร์ใหม่ ๆ ต่อไปนี้คือรายละเอียดของคำสั่งหลัก:

1. คำสั่งควบคุมการทำงาน (Real-time Commands)

  • ! : หยุดชั่วคราว (Feed Hold)
    หยุดการเคลื่อนที่ของเครื่องทันที แต่ยังคงเก็บตำแหน่งปัจจุบันไว้ เมื่อกดเริ่มใหม่ เครื่องจะกลับมาทำงานต่อจากตำแหน่งเดิม
  • ~ : เริ่มต่อ (Resume)
    ใช้เมื่อเครื่องอยู่ในสถานะ Feed Hold เพื่อเริ่มการทำงานต่อ
  • ? : สอบถามสถานะ (Status Report)
    แสดงข้อมูลสถานะปัจจุบัน เช่น ตำแหน่ง, สถานะเครื่อง, และโหมดการทำงาน
  • ^X : ยกเลิกงาน (Reset)
    ยกเลิกการทำงานทั้งหมดและรีเซ็ตระบบ

2. คำสั่ง G-code

  • G0/G1 : การเคลื่อนที่
    G0: เคลื่อนที่ด้วยความเร็วสูงสุด (Rapid Move)
    G1: เคลื่อนที่ด้วยความเร็วที่กำหนด (Linear Interpolation)
  • G2/G3 : การเคลื่อนที่โค้ง
    G2: เคลื่อนที่ตามแนวโค้งแบบตามเข็มนาฬิกา (Clockwise Arc)
    G3: เคลื่อนที่ตามแนวโค้งแบบทวนเข็มนาฬิกา (Counter-Clockwise Arc)
  • G4 : หน่วงเวลา (Dwell)
    ตัวอย่าง: G4 P1.5 (หน่วงเวลา 1.5 วินาที)

3. คำสั่ง M-code

  • M3/M4/M5 : การควบคุม Spindle
    M3: เปิด Spindle หมุนตามเข็มนาฬิกา
    M4: เปิด Spindle หมุนทวนเข็มนาฬิกา
    M5: ปิด Spindle
  • M7/M8/M9 : การควบคุม Coolant
    M7: เปิด Mist Coolant
    M8: เปิด Flood Coolant
    M9: ปิด Coolant

คำสั่งเฉพาะของ GRBLHAL

GRBLHAL เพิ่มคำสั่งใหม่ ๆ เพื่อรองรับฟีเจอร์ที่ขยายออกไป:

  • $# : แสดงตำแหน่งงานและออฟเซ็ต

    • แสดงค่าพิกัดปัจจุบันและออฟเซ็ตของ Work Coordinate Systems
  • $$ : แสดงการตั้งค่าปัจจุบัน

    • แสดงค่าพารามิเตอร์ทั้งหมด เช่น ความเร็วสูงสุด, Acceleration, Step/mm เป็นต้น
  • $x=val : แก้ไขการตั้งค่า

    • ตัวอย่าง: $110=3000 (ตั้งค่าความเร็วสูงสุดของแกน X เป็น 3000 mm/min)
  • $H : Homing Cycle

    • เริ่มกระบวนการหา Home Position
  • $I : แสดงข้อมูลระบบ

    • แสดงข้อมูลเกี่ยวกับเวอร์ชันและคุณสมบัติของ GRBLHAL
  • $N : แสดง/จัดการ Startup Blocks

    • ใช้สำหรับตั้งค่าคำสั่งที่จะรันทุกครั้งเมื่อเปิดเครื่อง
  • $C : เช็ค Connection

    • ตรวจสอบการเชื่อมต่อกับเครื่อง
  • $X : ปลดล็อกเครื่อง

    • ใช้เมื่อเครื่องถูก Lock จาก Alarm State

สรุป

GRBLHAL เป็นเวอร์ชันที่ปรับปรุงจาก GRBL โดยเพิ่มความสามารถในการรองรับฮาร์ดแวร์ที่หลากหลาย และเพิ่มคำสั่งใหม่ ๆ เพื่อตอบสนองความต้องการของผู้ใช้งานระดับสูง คำสั่งพื้นฐานยังคงเหมือน GRBL แต่มีการเพิ่มเติมคำสั่งเฉพาะและฟีเจอร์ใหม่ เช่น การจัดการ Startup Blocks, การตั้งค่าพารามิเตอร์ที่ละเอียดขึ้น และการรองรับฟังก์ชันเสริมอื่น ๆ

หากต้องการศึกษาเพิ่มเติม แนะนำให้ดูเอกสารประกอบของ GRBLHAL หรือทดลองใช้งานผ่านซอฟต์แวร์ควบคุม CNC เช่น Universal G-code Sender (UGS) หรือ CNCjs
หมายเหตุ: การใช้งาน GRBLHAL ควรศึกษาคู่มือและทดสอบการทำงานบนเครื่องจริงอย่างระมัดระวังเพื่อป้องกันความเสียหายต่อเครื่องหรือชิ้นงาน