การ Config GRBL 0.9 และ การติดต่อกับ GRBL Controller ตอนที่ 1

ภายหลังจากการ เขียน Firmware ลงบน Arduino Board แล้ว จะต้องมีการปรับแต่งค่า Parameter เหมาะสม กับ Minicnc เช่นเดียวกับการใช้ CNC Controller ตัวอื่น ๆ เช่น Mach3 , Kcam , หรือ LinuxCNC

การควบคุม GRBL เราสามารถควบคุม โดยผ่าน Serial PORT หรือ โดยมีชุดคำสั่ง ตามข้างล่างนี้ครับ 

ก่อนที่จะใช้ GRBL CNC Controller คุณควรจะมีโปรแกรม Serial Terminal ตาม Link นี้ หรือ จะใช้ Serial Monitor ใน GRBL ก็ได้ (หากใช้ การ ปรับแต่งผ่าน G Code Sender ต้องมีการระวัง เรื่อง Version ของ GRBL เนื่องจาก GRBL 0.8 กับ GRBL 0.9 ค่า Parameter ไม่เหมือนกัน (จะกล่าวใน โอกาสต่อไปครับ)


การติดต่อ ต้องระบุ Com port และ ความเร็วในการติดต่อให้ถูกต้อง


Serial Terminal    : http://realterm.sourceforge.net





ชุดคำสั่งควบคุม GRBL


$$ ขอดูค่า Grbl settings)

$# ขอดู  offsets machine coordinates)

[G54:4.000,0.000,0.000]
[G55:4.000,6.000,7.000]
[G56:0.000,0.000,0.000]
[G57:0.000,0.000,0.000]
[G58:0.000,0.000,0.000]
[G59:0.000,0.000,0.000]
[G28:1.000,2.000,0.000]
[G30:4.000,6.000,0.000]
[G92:0.000,0.000,0.000]
[TLO:0.000,0.000,0.000]

[PRB:0.000,0.000,0.000]

$G ขอดูสถานะ Controller Mode parser state)

คำสั่งนี้ GRBL จะพิมพ์คำสั่งทั้งหมดของโหมดการใช้งานใน GCode parser G-Code -ของ Grbl ในขณะนั้นออกมา ตามตัวอย่างนี้

[G0 G54 G17 G21 G90 G94 M0 M5 M9 T0 S0.0 F500.0]

$I (view build info)

$N (view startup blocks)

$x=value (save Grbl setting)

$Nx=line (save startup block)

$C (check gcode mode)

$X (kill alarm lock)

$H (run homing cycle)

~ (cycle start)

! (feed hold)

? (current status)

ctrl-x (reset Grbl)





Grbl Settings




$$  การขอดูค่า Grbl settings


เพื่อดูการตั้งค่าของ GRBL พิมพ์คำสั่ง $$ และ Enter ลงใน Terminal Program หลังจากที่เชื่อมต่อ Grbl Grbl ควรจะตอบสนองกับรายการของการตั้งค่าระบบปัจจุบันที่แสดงในตัวอย่างด้านล่าง การตั้งค่าทั้งหมดเหล่านี้เป็นถาวร และเก็บไว้ใน EEPROM ดังนั้นหากมีการ Restart ใหม่ของ GRBL ข้อมูลนี้ จะถูกโหลดกลับขึ้นในครั้งต่อไปใน Arduino GRBL นี้



$0=10 (step pulse, usec)

$1=25 (step idle delay, msec)

$2=0 (step port invert mask:00000000)

$3=6 (dir port invert mask:00000110)

$4=0 (step enable invert, bool)

$5=0 (limit pins invert, bool)

$6=0 (probe pin invert, bool)

$10=3 (status report mask:00000011)

$11=0.020 (junction deviation, mm)

$12=0.002 (arc tolerance, mm)

$13=0 (report inches, bool)

$20=0 (soft limits, bool)

$21=0 (hard limits, bool)

$22=0 (homing cycle, bool)

$23=1 (homing dir invert mask:00000001)

$24=50.000 (homing feed, mm/min)

$25=635.000 (homing seek, mm/min)

$26=250 (homing debounce, msec)

$27=1.000 (homing pull-off, mm)

$100=314.961 (x, step/mm)

$101=314.961 (y, step/mm)

$102=314.961 (z, step/mm)

$110=635.000 (x max rate, mm/min)

$111=635.000 (y max rate, mm/min)

$112=635.000 (z max rate, mm/min)

$120=50.000 (x accel, mm/sec^2)

$121=50.000 (y accel, mm/sec^2)

$122=50.000 (z accel, mm/sec^2)

$130=225.000 (x max travel, mm)

$131=125.000 (y max travel, mm)

$132=170.000 (z max travel, mm)




ความหมายของชุดคำสั่ง GRBL




$x=val - Save Grbl setting

การป้อนค่า $ x = เป็นการสั่ง บันทึกหรือเปลี่ยนแปลงการตั้งค่า Grbl ซึ่งสามารถทำได้ด้วยตนเองโดยการส่งคำสั่งนี้เมื่อเชื่อมต่อกับ Grbl ผ่านโปรแกรม Serial Terminal เช่น $0=10 (step pulse, usec)  $0 = 10  Enter หากทุกอย่างถูกต้อง Grbl จะตอบสนองกลับด้วยคำว่า 'OK' และการตั้งค่านี้จะถูกเก็บไว้ใน EEPROM และ จะยังคงอยู่ตลอดไปหรือจนกว่าจะมีการเปลี่ยนแปลงใหม่ คุณสามารถตรวจสอบ Grbl ได้รับการตั้งค่าและเก็บไว้อย่างถูกต้องโดยการพิมพ์ $$ เพื่อดูการตั้งค่าระบบอีกครั้ง


ข้างล่างนี้คือ ชุดคำสั่ง G Code ที่ GRBL รองรับ


Modal Group Meaning Member Words

Motion Mode G0, G1, G2, G3, G38.2, G38.3, G38.4, G38.5, G80

Coordinate System Select G54, G55, G56, G57, G58, G59

Plane Select G17, G18, G19

Distance Mode G90, G91

Arc IJK Distance Mode G91.1

Feed Rate Mode G93, G94

Units Mode G20, G21

Cutter Radius Compensation G40

Tool Length Offset G43.1, G49

Program Mode M0, M1, M2, M30

Spindle State M3, M4, M5

Coolant State M7, M8, M9


ยังมีต่อครับ

เพื่อความสะดวก เราจะเริ่มย้ายข้อมูลเรื่อง GRBL CNC Controller ไปใว้ที่ http://grblminicnc.blogspot.com