Video Of Day

การปรับแต่งค่า G CODE สำหรับ GRBL CNC

การใช้ GRBL CNC controller มักจะประสพปัญหาการใช้งานการ ส่งข้อมูลผิดพลาด (G code) โดยที่ไม่ทราบหลักการที่แท้จริง ทำให้เกิดปัญหาการทำงานได้ หรือ การควบคุม CNC ได้ไม่สมบุรณ์ เช่น การควบคุมหัวกัด หรือ Function อื่น ๆ ที่ Grbl มีให้ใช้

ดังนั้นบทความนี้จะขอแนะนำ และ ทำความเข้าใจหลักการของ G code และ ชุดคำสั่ง ที่จะนำไปใช้กับ GRBL และ CNC ได้อย่างมีประสิทธิภาพสูงสุด


ก่อนอื่นจะต้องทราบว่าชุด GRBL สามารถรองรับคำสั่ง G code อะไรบ้าง ตามรายการข้างล่างนี้ครับ


ขอแนะนำให้ใช้ GRBL Firmware รุ่นล่าสุด V0.9xx ไม่แนะนำ รุ่น 0.8xx


GRBL G code Support


Probing G38.2,G38.3, G38.4, G38.5


Cutter Radius Compensation Modes G40 


Path Control Modes G61 


Arc I J K Distance Modes G91.1 


Dynamic Tool Length Offsets G43.1, G49 


Linear Motions G0 , G1 


Arc and Helical Motions G2, G3


Dwell G4 


Set Work Coordinate Offsets G10 L2, G10 L20 


Plane Selection G17, G18, G19 


Units G20, G21 


Go to Pre-Defined Position G28, G30 


Set Pre-Defined Position G28.1, G30.1 


Move in Absolute Coordinates G53 


Work Coordinate Systems G54, G55, G56, G57, G58, G59


Motion Mode Cancel G80 


Distance Modes G90, G9 


Coordinate Offset G92 


Clear Coordinate System Offsets G92.1


Feedrate Modes G93, G94


Program Pause and End M0, M2, M30

Spindle Control M3, M4, M5 


Coolant Control M8, M9

ดังนั้นหากมีคำสั่งอื่น ๆ ที่นอกเหนือจากนี้ GRBL ก็ไม่สามารถ รับไปทำการประมวลผลได้ ดังนั้นการสร้าง G code ต้องมีไม่มากกว่าที่ GRBL รับได้ แต่ในปัจจุบันการสร้าง G code ถูกสร้างด้วยโปรแกรม CAM ต่าง ๆ ซึ่งสามารถกำหนดการออก ระหัส G ได้ จึงต้องมีการปรับแต่ง G code ให้เหมาะสมกับการใช้งาน 


ตัวอย่างข้างล่างนี้เป็นการ ปรับแต่ง Post processor ของ โปรแกรม ArtcamPro 


post processor จะอยู่ที่ Folderinstall/postp (ยกตัวอย่าง ใน windows xp artcampro9 จะอยู่ใน folder c:/Programfiles/artcampro9/postp file extension เป็น .con เรานำ file ตัวอย่าง mach2_mm1.con มาทำการแก้ใขด้วย โปรแกรม Notepad


จากเดิม


_____________________________________________________________

;
; Fanuc G - Code 4-Axis rotary post processor
;
; Linear Y Axis is wrapped onto A rotary axis
;
; History
;
; Who When     What
; === ======== ========================================
; TM  04/07/95 Written
; BEM 06/08/96 Modified for Rotary Axis support
; BEM 19/06/00 Fixed 
; BEM 03/02/00 Added description
; JVG 27/10/03 Modified for Mach2 controller, Wolverine3 or Elite6 machines
; JVG 12/12/03 Modified for Mach2 3axis machining
; JVG Feb 23 05 Small modifications with Bill P

DESCRIPTION = "Mach2 mm(*.cnc)"

;
FILE_EXTENSION = "cnc"
;
UNITS = MM
;
;
; Cariage return - line feed at end of each line
;
END_OF_LINE = "[13][10]"
;
; Block numbering 
;
LINE_NUM_START     = 0
LINE_NUM_INCREMENT = 1
LINE_NUM_MAXIMUM   = 999999
;
; Set up default formating for variables
;
; Line numbering
FORMAT = [N|@|N|1.0]
; Spindle Speed
FORMAT = [S|@|S|1.0]
; Feed Rate
FORMAT = [F|#|F|1.0]
; Tool moves in x,y and z
FORMAT = [X|#|X|1.3]
FORMAT = [Y|#|Y|1.3]
FORMAT = [Z|#|Z|1.3]
; Home tool positions 
FORMAT = [XH|@|X|1.3]
FORMAT = [YH|@|Y|1.3]
FORMAT = [ZH|@|Z|1.3]
;
; Set up program header
;
START = "%"
START = "G90"
;START = "G21"
; G20 = Use MM as unit value
START = "G49"
;START = "M6 T1"
; M6T1 = tool change via macros (commented out)
START = "M3 [S]"
;START = "M7"
; M7 = turn misting coolant on (commented out)
;
; Program moves
;
FIRST_RAPID_RATE_MOVE  = "G0 [X] [Y] [Z]"
FIRST_FEED_RATE_MOVE   = "G1 [X] [Y] [Z] [F]"
FEED_RATE_MOVE         = "[X] [Y] [Z]"
;
; End of file
;
END = "G0[ZH]"
END = "[XH][YH]"
END = "M05"
END = "M02"
END = "%"
_______________________________________________________________________________

 แก้ปรับปรุง


--------------------------------------------------------------------------------------------

;
; Fanuc G - Code 4-Axis rotary post processor
;
; Linear Y Axis is wrapped onto A rotary axis
;
; History
;
; Who When     What
; === ======== ========================================
; TM  04/07/95 Written
; BEM 06/08/96 Modified for Rotary Axis support
; BEM 19/06/00 Fixed 
; BEM 03/02/00 Added description
; JVG 27/10/03 Modified for Mach2 controller, Wolverine3 or Elite6 machines
; JVG 12/12/03 Modified for Mach2 3axis machining
; JVG Feb 23 05 Small modifications with Bill P

DESCRIPTION = "grbl(*.nc)"

;
FILE_EXTENSION = "nc";เปลียน File extension ไห้ Grbl Control รู้จัก
;
UNITS = MM
;
;
; Cariage return - line feed at end of each line
;
END_OF_LINE = "[13][10]"
;
; Block numbering 
;
LINE_NUM_START     = 0
LINE_NUM_INCREMENT = 1
LINE_NUM_MAXIMUM   = 999999
;
; Set up default formating for variables
;
; Line numbering
FORMAT = [N|@|N|1.0]
; Spindle Speed
FORMAT = [S|@|S|1.0]
; Feed Rate
FORMAT = [F|#|F|1.0]
; Tool moves in x,y and z
FORMAT = [X|#|X|1.3]
FORMAT = [Y|#|Y|1.3]
FORMAT = [Z|#|Z|1.3]
; Home tool positions 
FORMAT = [XH|@|X|1.3]
FORMAT = [YH|@|Y|1.3]
FORMAT = [ZH|@|Z|1.3]
;
; Set up program header
;
;START = "%" ;เอาออก GRBL ไม่รับ
START = "G90"
;START = "G21"
; G20 = Use MM as unit value
START = "G49"
;START = "M6 T1"
; M6T1 = tool change via macros (commented out)
START = "M4 [S]";เปิดหัวกัด ขา 13 GRBL Active High
;START = "M7"
; M7 = turn misting coolant on (commented out)
;
; Program moves
;
FIRST_RAPID_RATE_MOVE  = "G0 [X] [Y] [Z]"
FIRST_FEED_RATE_MOVE   = "G1 [X] [Y] [Z] [F]"
FEED_RATE_MOVE         = "[X] [Y] [Z]"
;
; End of file
;
END = "G0[ZH]"
END = "[XH][YH]"
END = "M3" ;ปิดหัวกัด สำหรับ GRBL 0.9xx ปิดหัวกัด ขา 13 GRBL Active Low
END = "M02"

;END = "%"
_________________________________________________________________________________

Save as เป็น grbl.con

ภายหลังการแก้ใขให้ copy ลงใน Folder เดิม และ Save Machine Output ใหม่ นำมาใช้กับ GRBL ได้ต่อไป

เรียนผู้ค้า Minicnc ที่เข้ามาทำการ Copy Content เพื่อธุรกิจทุกท่าน


บทความต่าง ๆ ใน Blog นี้ เป็นการเขียนเพื่อแชร์ความรู้และประสพการณ์ รวมถึง ความรับผิดชอบต่อสังคมในการประกอบธุรกิจ หากท่านใดสนใจเผยแพร่ควร Copy Link ไปใช้งาน ไม่ควรทำการ COPY เนื้อหาไปใช้งาน หากการกระทำข้างต้นจะเอาผิดทางกฏหมายมันคงยาก เพราะเสียเวลา เราเพียงตักเตือนทางสังคมเท่านั้น หากผู้ที่ทำการคัดลอกเนื้อหานำไปใช้ในทางธุรกิจ ควรสร้างสรรค์ผลงานด้วยตัวเองจะดีกว่า เนื่องจาก การบันทึกข้อมูลมันก็อ้างได้แล้วว่าใครเป็นผู้สร้างสรรค์ผลงานคนแรก ท้ายที่สุดผู้ที่ได้ หรือ เสียประโยชน์ คือผู้บริโภค หากสังคมมีแต่การรับ แต่ให้ใครไม่เป็น และทุกคนจะเป็นผู้รับเพียงอย่างเดียว ทำให้ผู้ให้เกิดการเบื่อหน่ายของผู้ที่อยากกระทำดีต้องหายไปจากสังคม ลูกหลานเราจะอยู่กันอย่างลำบากมากขึ้นอย่างแน่นอน 
การปรับแต่งค่า G CODE สำหรับ GRBL CNC การปรับแต่งค่า G CODE สำหรับ GRBL CNC Reviewed by star sun on 01:31 Rating: 5

Comments