Giải mã hiện tượng lạ với lệnh M2 trong GRBL: Tại sao phải bấm M2 thì laser mới bật được?
Vấn đề bạn gặp phải
Bạn đang dùng máy laser (chạy GRBL), khi thử các lệnh điều khiển:
- Gõ
M3 S1000→ laser KHÔNG sáng - Nhưng khi bấm M2 trước (hoặc gõ
M2trong G-code), rồi gõ lạiM3 S1000→ laser MỚI sáng - Thêm nữa, bấm lại
M2lần nữa thì laser tắt
Đây là hành vi khác thường, vì trong chuẩn G-code:
M3là lệnh bật spindle (hoặc laser)M5là tắt spindleM2dùng để kết thúc chương trình, không có tác dụng điều khiển bật/tắt thiết bị
Nguyên nhân thực sự là gì?
1. GRBL không bật PWM (laser) nếu chưa kết thúc chương trình trước đó
- Trong một số firmware GRBL (nhất là các phiên bản tùy chỉnh hoặc chạy laser), khi bạn upload một đoạn G-code có
M2ở cuối, thì máy sẽ chuyển sang trạng thái “chờ chạy chương trình mới” - Nếu bạn không gõ
M2, GRBL có thể không reset trạng thái, khiếnM3không hoạt động như mong muốn.
2. Một số phần mềm (LightBurn, LaserGRBL) gán thêm ý nghĩa cho M2
- Có thể cấu hình phần mềm hoặc firmware bạn đang dùng đã gán
M2là nút “chốt lệnh” hoặc “reset trạng thái”, giống như nút công tắc laser bật/tắt. - Điều này lý giải tại sao: chỉ khi bấm
M2, hệ thống mới sẵn sàng bật laser bằngM3 Sxxxx
3. Có thể M2 đang bị map sai như nút cơ học hoặc shortcut trong board/firmware
- Trường hợp cực đoan: có thể firmware bị chỉnh sửa hoặc phần cứng kết nối nhầm, khiến
M2tác động trực tiếp đến chân tín hiệu laser, như một nút bật tắt thủ công.
Cách khắc phục / kiểm tra
- Thử gõ
$Xtrước khiM3
→$Xsẽ thoát khỏi chế độ ALARM hoặc LOCK, giúpM3hoạt động bình thường. - Kiểm tra phần cuối G-code
→ Đảm bảo đoạn trước đó đã kết thúc bằngM2hoặcM30để reset trạng thái trước khi thử lệnh mới. - Kiểm tra cấu hình phần mềm điều khiển (LightBurn, LaserGRBL)
→ Xem mục “Run G-code after job” hoặc “Tool On/Off override” có gán M2 không. - Nếu có thể, kiểm tra firmware source
→ Đôi khi lệnhM2được ánh xạ thủ công để điều khiển GPIO (trong các bản custom).
Tóm lại
Lệnh M2 vốn chỉ có vai trò kết thúc chương trình, nhưng trong một số hệ thống, nó có thể vô tình (hoặc cố ý) bị gán như nút “khởi động/reset trạng thái laser”. Vì vậy:
- Không nên dùng
M2để bật/tắt laser - Nên dùng đúng chuẩn:
M3 Sxxxđể bật vàM5để tắt - Nếu cần reset lại trạng thái: dùng
$X, hoặc bấm lại nút Start từ phần mềm
