Cấu hình GRBL: các thông số $, steps/mm, tốc độ, gia tốc, homing và chế độ laser
Giải thích các thông số $ của GRBL 1.1: steps/mm, tốc độ, gia tốc, đảo chiều bằng mặt nạ trục, về gốc homing, giới hạn mềm, giới hạn cứng, chế độ laser $32 với M3, M4 và các mã ALARM.
Sau khi nạp GRBL, máy chưa chạy đúng ngay: GRBL không biết mỗi milimét cần bao nhiêu bước, trục được phép chạy nhanh tới đâu, có công tắc hành trình hay không, đang điều khiển spindle hay laser. Tất cả những điều đó nằm trong khoảng 30 thông số cấu hình có dạng $số=giá trị, lưu trong bộ nhớ EEPROM của Arduino nên không mất khi tắt điện.
Bài này giải thích từng thông số, cách đặt steps/mm, tốc độ, gia tốc, chiều quay, về gốc (homing), giới hạn mềm, giới hạn cứng, chế độ laser và ý nghĩa các mã ALARM.
1. Xem và đổi thông số
- Mở cửa sổ gửi lệnh của phần mềm gửi G-code, hoặc Serial Monitor 115200 baud.
- Gõ
$$: GRBL in ra toàn bộ thông số, mỗi dòng một giá trị. - Đổi một thông số: gõ ví dụ
$100=80rồi Enter; GRBL trả vềok. Giá trị được lưu ngay. - Chép lại toàn bộ kết quả
$$ra một file văn bản sau khi cấu hình xong, để khôi phục khi cần nạp lại GRBL. $RST=$đưa mọi thông số về mặc định (cẩn thận: mất cấu hình đã đặt).

2. Bốn nhóm thông số chuyển động
$100,$101,$102– steps/mm của X, Y, Z. Tính theo cơ cấu truyền động và vi bước (bài 8): dây đai GT2 puly 20 răng, vi bước 1/16 là 80; vít me T8 bước tiến 8 mm, vi bước 1/16 là 400. Mặc định 250 gần như chắc chắn sai với máy của bạn.$110–$112– tốc độ tối đa (mm/phút). Đây cũng là tốc độ của lệnh G0. Đặt thấp trước (ví dụ 1000), tăng dần tới khi động cơ bắt đầu mất bước rồi lùi lại khoảng 20 %.$120–$122– gia tốc (mm/s²). Gia tốc cao làm máy chạy nhanh qua các đoạn ngắn nhưng dễ mất bước và rung. Máy laser dây đai thường để vài trăm; máy phay vít me thấp hơn nhiều.$130–$132– hành trình tối đa (mm), dùng cho giới hạn mềm.
Sau khi đặt steps/mm, kiểm tra bằng cách cho trục đi một đoạn dài (100–200 mm) và đo thật bằng thước. Cách hiệu chỉnh chính xác ở bài 19 của loạt.
3. Chiều quay và mặt nạ trục

- Một số thông số áp dụng riêng cho từng trục bằng mặt nạ bit: X = 1, Y = 2, Z = 4, cộng lại để chọn nhiều trục.
$3– đảo chiều quay. GửiG91 G0 X10: trục X phải đi về phía phải (dương). Trục nào đi ngược thì thêm bit của trục đó vào$3. Ví dụ Y và Z ngược:$3=6.- Quy ước: X dương sang phải, Y dương ra xa người đứng trước máy, Z dương đi lên.
$1– giữ động cơ: mặc định 25 ms rồi tắt driver. Trục Z nặng dễ trôi xuống khi tắt: đặt$1=255để động cơ luôn được giữ.
4. Về gốc (homing), giới hạn mềm và giới hạn cứng

- Lắp công tắc hành trình ở phía dương của mỗi trục (cuối X bên phải, cuối Y phía sau, đỉnh Z). Nối đúng chân D9, D10, D12 (bài 10, 11).
- Bật về gốc:
$22=1. Từ giờ mỗi lần bật máy, GRBL ở trạng thái ALARM cho tới khi chạy$H. - Gửi
$H: trục Z về trước, rồi X và Y cùng lúc. Trục nào chạy ra xa công tắc thì sửa bit của trục đó trong$23(hướng về gốc), không sửa$3. - Điều chỉnh tốc độ tìm
$25, tốc độ dò$24, quãng lùi$27nếu cần. - Bật giới hạn mềm
$20=1: GRBL từ chối lệnh nào đi ra ngoài$130–$132. Cần homing chạy đúng trước. - Bật giới hạn cứng
$21=1: chạm công tắc khi đang chạy thì dừng ngay. Nếu bị nhiễu làm báo sai, xử lý dây trước (bài 10).
Mặc định GRBL về gốc ở phía dương của trục và đặt gốc máy tại đó; vùng làm việc vì vậy có tọa độ máy âm. Chương trình G-code vẫn dùng gốc phôi (G54) do người dùng đặt, nên con số âm này không ảnh hưởng tới file.
5. Chế độ laser $32

$32=1bật chế độ laser. GRBL chạy liền mạch qua các đoạn có công suất khác nhau, không dừng chờ như với spindle, và tắt laser khi chạy G0.- M3 giữ công suất cố định: ở các góc, máy chạy chậm lại mà công suất không đổi nên vết khắc đậm hơn. Ở chế độ M3, laser vẫn sáng cả khi máy đứng yên nếu S lớn hơn 0.
- M4 (công suất động) tự giảm công suất theo tốc độ thực tế, vết khắc đều hơn và laser tắt khi máy dừng. Nên dùng M4 cho máy khắc laser diode.
$30là giá trị S tương ứng 100 % PWM. Phần mềm khắc laser thường đặt S max là 1000; hai bên phải giống nhau.- Máy có spindle thì giữ
$32=0; để$32=1với spindle sẽ làm spindle không có thời gian tăng tốc.
6. Ví dụ: cấu hình máy laser 400 × 300 mm

Các con số trên chỉ là điểm bắt đầu cho một máy dây đai GT2, puly 20 răng, vi bước 1/16. Đặt xong, chạy thử một hình vuông 100 × 100 mm bằng nét khắc, đo và chỉnh lại steps/mm, rồi tăng dần tốc độ, gia tốc tới khi máy chạy êm mà không mất bước.
7. Các mã ALARM

Khi ALARM, GRBL khóa mọi lệnh chuyển động để tránh máy chạy sai vị trí. Đọc mã lỗi, sửa nguyên nhân, rồi về gốc bằng $H. Chỉ dùng $X (mở khóa không về gốc) khi chắc chắn vị trí máy vẫn đúng hoặc máy không có công tắc hành trình.
Ngoài ALARM còn có các dòng error: khi một dòng G-code sai, ví dụ error:22 là thiếu tốc độ F, error:9 là gửi G-code khi máy đang ALARM.
8. Xem thêm
- Bài trước trong loạt: GRBL là gì, nạp GRBL cho Arduino. Bài sau: ESP32 điều khiển máy CNC, máy laser với FluidNC.
- Bài 8 của loạt: cách tính steps/mm; bài 19: hiệu chỉnh độ chính xác.
- Bắt đầu với Arduino Nano CH340 và Arduino Nano tại PYWORLD.
Xem thêm