บทที่ 12

G-code สำหรับ 3D Printer มีอะไรบ้าง

G-code สำหรับ 3D Printer มีอะไรบ้าง

หัวข้อที่จะได้เรียนรู้

  • คำสั่ง G-code พื้นฐานที่ต้องรู้
  • คำสั่งควบคุมการเคลื่อนที่และความเร็ว
  • คำสั่งควบคุมอุณหภูมิและพัดลม
  • คำสั่งขั้นสูงสำหรับแก้ปัญหา
  • ตัวอย่าง Start G-code และ End G-code
  • เทคนิคการปรับแต่ง G-code เพื่อพิมพ์ได้ดีขึ้น

G-code คืออะไร?

G-code คือภาษาโปรแกรมที่ใช้สั่งงานเครื่องพิมพ์ 3D ให้ทำงานตามที่ต้องการ เช่น การเคลื่อนที่ การควบคุมอุณหภูมิ การอัดพลาสติก การหยุดชั่วคราว เป็นต้น การเข้าใจ G-code จะช่วยให้คุณสามารถแก้ไขปัญหา ปรับแต่งการพิมพ์ และควบคุมเครื่องได้อย่างมืออาชีพ

1. คำสั่ง G-code พื้นฐานที่ต้องรู้

คำสั่งความหมายตัวอย่างคำอธิบาย
G0เคลื่อนที่เร็ว (Rapid Move)G0 X100 Y50 Z10เคลื่อนที่ไปยังตำแหน่ง X100 Y50 Z10 อย่างรวดเร็ว ไม่อัดพลาสติก
G1เคลื่อนที่แบบพิมพ์ (Linear Move)G1 X50 Y30 E5.2 F1800เคลื่อนที่ไปที่ X50 Y30 พร้อมอัดพลาสติก 5.2mm ด้วยความเร็ว 1800mm/min
G28กลับจุดเริ่มต้น (Auto Home)G28 หรือ G28 X Yย้ายหัวพิมพ์กลับไปจุดเริ่มต้น (0,0,0) หรือเฉพาะแกน X Y
G29วัดระดับเตียง (Auto Bed Leveling)G29วัดความเอียงของเตียงพิมพ์และสร้าง mesh สำหรับปรับระดับอัตโนมัติ
G90โหมดตำแหน่งสัมบูรณ์ (Absolute Positioning)G90ใช้พิกัดแบบสัมบูรณ์จากจุดเริ่มต้น (0,0,0)
G91โหมดตำแหน่งสัมพันธ์ (Relative Positioning)G91ใช้พิกัดแบบสัมพันธ์จากตำแหน่งปัจจุบัน
G92ตั้งค่าตำแหน่งปัจจุบัน (Set Position)G92 E0รีเซ็ตค่า Extruder เป็น 0 (ใช้หลังดึงเส้นกลับ)

2. คำสั่งควบคุมการเคลื่อนที่และความเร็ว

คำสั่งความหมายตัวอย่างคำอธิบาย
G0เคลื่อนที่เร็ว (Rapid Move)G0 X100 Y50 Z10เคลื่อนที่ไปยังตำแหน่ง X100 Y50 Z10 อย่างรวดเร็ว ไม่อัดพลาสติก
G1เคลื่อนที่แบบพิมพ์ (Linear Move)G1 X50 Y30 E5.2 F1800เคลื่อนที่ไปที่ X50 Y30 พร้อมอัดพลาสติก 5.2mm ด้วยความเร็ว 1800mm/min
G28กลับจุดเริ่มต้น (Auto Home)G28 หรือ G28 X Yย้ายหัวพิมพ์กลับไปจุดเริ่มต้น (0,0,0) หรือเฉพาะแกน X Y
G29วัดระดับเตียง (Auto Bed Leveling)G29วัดความเอียงของเตียงพิมพ์และสร้าง mesh สำหรับปรับระดับอัตโนมัติ
G90โหมดตำแหน่งสัมบูรณ์ (Absolute Positioning)G90ใช้พิกัดแบบสัมบูรณ์จากจุดเริ่มต้น (0,0,0)
G91โหมดตำแหน่งสัมพันธ์ (Relative Positioning)G91ใช้พิกัดแบบสัมพันธ์จากตำแหน่งปัจจุบัน
G92ตั้งค่าตำแหน่งปัจจุบัน (Set Position)G92 E0รีเซ็ตค่า Extruder เป็น 0 (ใช้หลังดึงเส้นกลับ)

3. คำสั่งควบคุมอุณหภูมิและพัดลม

คำสั่งความหมายตัวอย่างคำอธิบาย
M104ตั้งอุณหภูมิหัวพิมพ์ (Set Hotend Temp)M104 S210ตั้งอุณหภูมิหัวพิมพ์ที่ 210°C (ไม่รอให้ถึงอุณหภูมิ)
M109ตั้งและรออุณหภูมิหัวพิมพ์ (Wait for Hotend)M109 S250ตั้งอุณหภูมิหัวพิมพ์ 250°C และรอจนกว่าจะถึงอุณหภูมิ
M140ตั้งอุณหภูมิเตียง (Set Bed Temp)M140 S60ตั้งอุณหภูมิเตียงพิมพ์ที่ 60°C (ไม่รอให้ถึงอุณหภูมิ)
M190ตั้งและรออุณหภูมิเตียง (Wait for Bed)M190 S80ตั้งอุณหภูมิเตียง 80°C และรอจนกว่าจะถึงอุณหภูมิ
M105อ่านอุณหภูมิ (Report Temperature)M105แสดงอุณหภูมิปัจจุบันของหัวพิมพ์และเตียง
M106เปิดพัดลม (Turn Fan On)M106 S255เปิดพัดลมเต็มสูบ (S0-255, 255=100%)
M107ปิดพัดลม (Turn Fan Off)M107ปิดพัดลมระบายความร้อนชิ้นงาน

4. คำสั่งขั้นสูงสำหรับแก้ปัญหา

คำสั่งความหมายตัวอย่างคำอธิบาย
G10ดึงเส้นกลับ (Retract)G10ดึงเส้นพลาสติกกลับตามค่าที่ตั้งไว้ในเครื่อง (ป้องกันหยด)
G11ปล่อยเส้นกลับ (Unretract)G11ผลักเส้นพลาสติกกลับออกมาหลังจากดึงกลับ
M203ตั้งความเร็วสูงสุด (Max Feedrate)M203 X300 Y300 Z12กำหนดความเร็วสูงสุดของแต่ละแกน (mm/s)
M204ตั้งความเร่ง (Acceleration)M204 P2000 T1000ตั้งความเร่งเวลาพิมพ์ (P) และเวลาเดินทาง (T) mm/s²
M205ตั้ง Jerk (ความกระชาก)M205 X10 Y10 Z0.4กำหนดความกระชากของแต่ละแกน (mm/s)
M220ปรับความเร็วการพิมพ์ (Print Speed)M220 S80ชะลอหรือเร่งความเร็วพิมพ์เป็น 80%
M420เปิด/ปิด Bed LevelingM420 S1เปิดใช้งาน Auto Bed Leveling (S1=เปิด, S0=ปิด)
M500บันทึกการตั้งค่า (Save Settings)M500บันทึกค่าที่ปรับแต่งลงใน EEPROM ของเครื่อง
M501โหลดการตั้งค่า (Load Settings)M501โหลดค่าที่บันทึกไว้จาก EEPROM
M502รีเซ็ตเป็นค่าเริ่มต้น (Factory Reset)M502คืนค่าเป็น default ของเครื่อง (ต้องทำ M500 ถ้าต้องการบันทึก)
M503แสดงการตั้งค่าปัจจุบัน (Report Settings)M503แสดงค่าต่าง ๆ ที่ตั้งไว้ในเครื่อง

เคล็ดลับการใช้ G-code ที่ควรรู้

🎯 Start G-code ที่แนะนำ:

G28 ; Home all axesG29 ; Auto bed levelingM140 S60 ; Set bed tempM104 S210 ; Set hotend tempM190 S60 ; Wait for bedM109 S210 ; Wait for hotendG92 E0 ; Reset extruderG1 Z2.0 F3000 ; Move Z upG1 X10 Y20 Z0.3 F5000 ; Move to startG1 X110 E15 F1500 ; Draw purge lineG92 E0 ; Reset extruder again

🏁 End G-code ที่แนะนำ:

G91 ; Relative positioningG1 E-2 F2700 ; Retract filamentG1 Z10 ; Lift nozzleG90 ; Absolute positioningG1 X0 Y200 ; Present printM106 S0 ; Turn off fanM104 S0 ; Turn off hotendM140 S0 ; Turn off bedM84 ; Disable motors

⚡ ข้อควรระวัง:

  • คำสั่งที่เป็น สีชมพูตัวหนา เป็นคำสั่งสำคัญที่ต้องเข้าใจและใช้บ่อย
  • ใช้ M500 หลังปรับค่าต่างๆ เพื่อบันทึกการตั้งค่า
  • ระวังการใช้ M502 เพราะจะรีเซ็ตทุกอย่างเป็นค่าเริ่มต้น
  • ใช้ G28 ก่อนเริ่มพิมพ์เสมอเพื่อให้เครื่องรู้จุดเริ่มต้น
  • G29 ควรทำหลัง G28 และก่อนเริ่มพิมพ์
  • M109 และ M190 จะรอให้ถึงอุณหภูมิ ใช้เวลานานกว่า M104/M140

5. เทคนิคการปรับแต่ง G-code เพื่อพิมพ์ได้ดีขึ้น

คำสั่งความหมายตัวอย่างคำอธิบาย
M220ปรับความเร็วการพิมพ์ (Print Speed)M220 S80ชะลอหรือเร่งความเร็วพิมพ์เป็น 80%
M221ปรับอัตราการอัด (Flow Rate)M221 S95ปรับการอัดพลาสติกเป็น 95% (ลดการอัด 5%)
M420เปิด/ปิด Bed LevelingM420 S1เปิดใช้งาน Auto Bed Leveling (S1=เปิด, S0=ปิด)