Phần mềm cho máy khắc laser: LaserGRBL, LightBurn, khắc ảnh, cắt theo nét và bảng thông số vật liệu

So sánh LaserGRBL và LightBurn, cách kết nối máy laser GRBL, khắc ảnh bằng dithering, cắt theo nét, tự tìm thông số bằng ma trận thử tạo bằng Python và bảng thông số khởi đầu.

Máy khắc laser chạy GRBL hay FluidNC chỉ hiểu G-code. Muốn khắc một tấm ảnh, một logo hay cắt một hộp gỗ thì cần phần mềm laser: chuyển ảnh thành các đường quét, chuyển nét vẽ thành đường cắt, đặt công suất và tốc độ, gửi lệnh tới máy và theo dõi máy chạy. Hai phần mềm phổ biến nhất cho máy laser diode là LaserGRBL (miễn phí) và LightBurn (trả phí).

Bài này so sánh hai phần mềm, cách kết nối máy, cách khắc ảnh bằng dithering, cách cắt theo nét, và cách tự tìm thông số cho từng vật liệu bằng một ma trận thử tạo bằng chương trình Python ngắn.

1. Phần mềm laser làm những gì

Chuỗi khối: ảnh và bản vẽ JPG PNG SVG DXF, phần mềm laser LaserGRBL LightBurn, đặt thông số công suất tốc độ số lượt, G-code gửi qua USB hoặc Wi-Fi, máy laser chạy GRBL FluidNC
Từ một tấm ảnh tới máy laser (hình tự vẽ).
  • Nhập file: ảnh (JPG, PNG) để khắc; nét vector (SVG, DXF) để cắt hoặc khắc nét.
  • Chuẩn bị: đổi kích thước, đặt vị trí, chuyển ảnh sang đen trắng, chọn khắc hay cắt cho từng phần.
  • Tạo G-code với công suất (S), tốc độ (F), số lượt.
  • Điều khiển máy: đưa đầu laser tới vị trí, chạy khung để xem vùng khắc, gửi G-code, tạm dừng, dừng.

2. LaserGRBL hay LightBurn

Bảng so sánh LaserGRBL miễn phí mã nguồn mở chạy trên Windows với LightBurn trả phí có bản dùng thử chạy trên Windows macOS Linux về máy hỗ trợ, khắc ảnh, vẽ sửa nét vector, nhiều lớp thông số, camera và đối tượng phù hợp
So sánh LaserGRBL và LightBurn (hình tự vẽ).
  • LaserGRBL: miễn phí, mã nguồn mở, chạy trên Windows, làm tốt việc khắc ảnh và khắc, cắt file SVG đơn giản. Hợp để bắt đầu.
  • LightBurn: trả phí bản quyền, có bản dùng thử miễn phí. Có công cụ vẽ, sửa nét, sắp xếp chi tiết, nhiều lớp thông số theo màu nét, xem trước đường chạy, hỗ trợ cả máy CO2. Hợp khi làm sản phẩm thường xuyên.
  • Chỉ tải phần mềm từ trang chính thức của nhà phát triển. Không dùng bản bẻ khóa hay "key miễn phí" lan truyền trên mạng: vừa vi phạm bản quyền vừa dễ chứa mã độc.

3. Kết nối máy

  1. Cắm cáp USB, cài driver cho chip USB của bo (CH340 hoặc CP2102) nếu máy tính chưa nhận.
  2. Trong phần mềm, chọn cổng COM của máy và tốc độ 115200; với LightBurn, thêm thiết bị kiểu GRBL.
  3. Đặt S max = 1000 cho khớp với $30 của GRBL (hoặc speed_map của FluidNC); hai bên lệch nhau thì công suất thật sai theo.
  4. Kiểm tra máy đang bật chế độ laser $32=1 (bài 12 của loạt): nếu không, laser vẫn sáng khi đầu laser chạy giữa các chi tiết và để lại vệt cháy.
  5. Chọn điểm bắt đầu: theo tọa độ tuyệt đối (máy có công tắc về gốc) hoặc theo vị trí hiện tại của đầu laser (máy không có công tắc).
  6. Dùng nút chạy khung (frame) để đầu laser chạy quanh vùng sẽ khắc mà không bật laser (hoặc bật rất yếu), kiểm tra vị trí trên vật liệu.

4. Khắc ảnh

Ba ảnh quả cầu: ảnh xám gốc 256 mức, ảnh cắt ngưỡng chỉ còn mảng đen hình lưỡi liềm, ảnh dithering Floyd Steinberg dùng chấm đen dày thưa tạo cảm giác mức xám
Cùng một ảnh, chuyển sang đen trắng theo hai cách (hình tạo bằng chương trình).

Phần lớn máy laser diode khắc ảnh bằng cách bật tắt laser ở từng điểm. Ảnh xám phải được chuyển thành ảnh chỉ có đen và trắng:

  • Cắt ngưỡng (threshold): điểm tối hơn 50 % thì khắc, sáng hơn thì bỏ. Hợp với logo, chữ, hình hai màu; ảnh chân dung sẽ mất hết chi tiết.
  • Dithering (ví dụ Floyd–Steinberg, Jarvis, Stucki): rải chấm đen dày ở vùng tối, thưa ở vùng sáng. Nhìn từ xa, mắt thấy được các mức xám. Dùng cho ảnh chụp.
  • Khắc thang xám (grayscale): đổi công suất theo độ tối từng điểm. Có hiệu quả với một số vật liệu, nhưng khó đều màu trên gỗ hơn dithering.

Mẹo khắc ảnh lên gỗ:

  • Chọn ảnh rõ, tương phản tốt; tăng độ tương phản, làm sáng nền trước khi chuyển.
  • Khoảng cách dòng khoảng 0,1 mm (10 dòng mỗi mm) là điểm bắt đầu cho module laser diode thường gặp; điểm sáng to hơn thì tăng khoảng cách.
  • Gỗ màu sáng, vân mịn (gỗ phong, ván ép bạch dương) cho ảnh đẹp hơn gỗ vân to.
  • Dùng chế độ M4 (công suất động) để hai đầu mỗi dòng không bị đậm hơn giữa dòng.

5. Cắt và khắc theo nét

Đầu laser của máy cắt đang cắt hoa văn bông tuyết trên tấm gỗ MDF, điểm sáng chói tại chỗ cắt, các đường cắt màu nâu sẫm
Máy laser đang cắt hoa văn trên tấm MDF. Ảnh: Andy Dingley, Wikimedia Commons, CC BY-SA 3.0 (đã cắt bớt).
  • Vẽ hoặc nhập nét vector (SVG, DXF). Mỗi màu nét một lớp: ví dụ đỏ là cắt, xanh là khắc nét, đen là khắc tô.
  • Thứ tự: khắc trước, cắt sau; trong các đường cắt, cắt lỗ bên trong trước, viền ngoài sau cùng, để chi tiết không rơi lệch trước khi xong.
  • Nhiều lượt: laser diode cắt vật liệu dày bằng nhiều lượt với tốc độ vừa phải tốt hơn một lượt thật chậm (ít cháy xém mép hơn). Có thể hạ tiêu điểm vào trong vật liệu ở các lượt sau.
  • Thổi khí khi cắt: đường cắt sạch, ít lửa.
  • Độ rộng đường cắt khoảng 0,1–0,3 mm: chi tiết lắp ghép (hộp mộng, khớp gài) cần bù phần này trong bản vẽ hoặc trong phần mềm.
  • Đặt tấm kê (lưới tổ ong, thanh kim loại) để tia đi xuyên qua không làm cháy mặt bàn và khói thoát được.

6. Tự tìm thông số bằng ma trận thử

Không có bảng thông số nào đúng cho mọi máy: công suất thật của module, độ nét, loại gỗ, độ ẩm đều khác nhau. Cách nhanh nhất là khắc một ma trận thử trên mẩu vật liệu thừa: mỗi hàng một mức công suất, mỗi cột một tốc độ, rồi chọn ô đẹp nhất. LightBurn có sẵn công cụ này; với LaserGRBL hoặc khi muốn hiểu G-code, có thể tự tạo bằng chương trình Python dưới đây.

# PYWORLD.VN - Sinh G-code ma trận thử công suất × tốc độ cho máy khắc laser chạy GRBL (chế độ laser $32=1)
# 5 mức công suất (hàng) × 5 tốc độ (cột), mỗi ô 8 × 8 mm tô kín bằng các đường ngang cách nhau 0,25 mm.
# Chạy: python ma_tran_thu.py > ma_tran_thu.nc   Đặt gốc phôi ở góc trái dưới vùng khắc và lấy nét trước khi chạy.

CONG_SUAT = [200, 400, 600, 800, 1000]   # giá trị S; với S max ($30) = 1000 là 20 %, 40 %, … 100 %
TOC_DO = [500, 1000, 1500, 2000, 3000]   # giá trị F (mm/phút)
CANH = 8.0          # cạnh mỗi ô (mm)
KHE = 3.0           # khoảng trống giữa hai ô (mm)
BUOC_DONG = 0.25    # khoảng cách giữa hai đường tô (mm)


def so(v):
    """Số gọn: 8.0 -> 8, 0.250 -> 0.25"""
    return f"{v:.3f}".rstrip("0").rstrip(".")


def o_vuong(x0, y0, s, f):
    """Tô kín một ô bằng đường zigzag; đoạn nối giữa hai đường chạy với S0 (laser tắt) mà không phải dừng máy."""
    dong = [f"(o cong suat S{s}, toc do F{f})", f"G0 X{so(x0)} Y{so(y0)}"]
    so_duong = int(round(CANH / BUOC_DONG)) + 1
    for i in range(so_duong):
        y = y0 + i * BUOC_DONG
        x_cuoi = x0 + CANH if i % 2 == 0 else x0
        if i > 0:
            dong.append(f"G1 Y{so(y)} S0 F{f}")          # bước lên đường kế tiếp, laser tắt
        dong.append(f"G1 X{so(x_cuoi)} S{s} F{f}")        # đường tô, laser bật
    return dong


def chuong_trinh():
    dong = ["(PYWORLD.VN - ma tran thu cong suat x toc do)",
            "G21 G90",
            "M4 S0              (laser dong: cong suat tu giam khi may cham lai)"]
    for hang, s in enumerate(CONG_SUAT):
        for cot, f in enumerate(TOC_DO):
            dong += o_vuong(cot * (CANH + KHE), hang * (CANH + KHE), s, f)
    dong += ["M5", "G0 X0 Y0", "M2"]
    return "\n".join(dong)


if __name__ == "__main__":
    print(chuong_trinh())

Chạy python ma_tran_thu.py > ma_tran_thu.nc, mở file ma_tran_thu.nc trong phần mềm laser, kiểm tra khung rồi chạy. 30 dòng đầu của file:

(PYWORLD.VN - ma tran thu cong suat x toc do)
G21 G90
M4 S0              (laser dong: cong suat tu giam khi may cham lai)
(o cong suat S200, toc do F500)
G0 X0 Y0
G1 X8 S200 F500
G1 Y0.25 S0 F500
G1 X0 S200 F500
G1 Y0.5 S0 F500
G1 X8 S200 F500
G1 Y0.75 S0 F500
G1 X0 S200 F500
G1 Y1 S0 F500
G1 X8 S200 F500
G1 Y1.25 S0 F500
G1 X0 S200 F500
G1 Y1.5 S0 F500
G1 X8 S200 F500
G1 Y1.75 S0 F500
G1 X0 S200 F500
G1 Y2 S0 F500
G1 X8 S200 F500
G1 Y2.25 S0 F500
G1 X0 S200 F500
G1 Y2.5 S0 F500
G1 X8 S200 F500
G1 Y2.75 S0 F500
G1 X0 S200 F500
G1 Y3 S0 F500
G1 X8 S200 F500
Ma trận 5 hàng công suất S200 tới S1000 và 5 cột tốc độ F500 tới F3000, ô càng chậm càng mạnh càng đậm; hình phóng to ô S200 F500 với 33 đường tô ngang cách nhau 0,25 mm; file G-code 1681 dòng, vùng 52 x 52 mm
Bố trí ma trận thử và đường tô của một ô, vẽ từ đúng G-code của chương trình; độ đậm là mô phỏng (hình vẽ từ G-code).
  • Đường tô đi zigzag; đoạn bước lên dòng kế tiếp chạy với S0 nên laser tắt mà máy không phải dừng.
  • Chương trình dùng M4 (công suất động); máy cần $32=1.
  • Đọc kết quả: ô khắc đủ đậm mà mặt vẫn mịn, không cháy đen, không lõm sâu là thông số khắc tốt. Muốn tìm thông số cắt, đổi chương trình để vẽ các đường thẳng ngắn với tốc độ chậm hơn và số lượt khác nhau.
  • Sửa các danh sách CONG_SUAT, TOC_DO để thử dải khác, ví dụ tập trung quanh ô đẹp nhất của lần đầu.

7. Thông số khởi đầu theo vật liệu

Bảng thông số khởi đầu cho laser diode khoảng 5 W và 10 W: khắc gỗ thông, khắc ảnh lên gỗ, khắc da, khắc nhôm anod, cắt giấy bìa 1 mm, cắt ván ép 3 mm, cắt mica đen 2 mm với tốc độ, phần trăm công suất và số lượt
Thông số khởi đầu để chạy ma trận thử (hình tự vẽ).

Các con số trong bảng là điểm bắt đầu cho máy laser diode có lấy nét đúng và có thổi khí khi cắt. Hãy chạy ma trận thử quanh các giá trị này rồi ghi lại thông số tốt nhất của từng vật liệu cho máy của mình.

8. Lỗi thường gặp

Hiện tượngNguyên nhân hay gặpCách xử lý
Không kết nối được máysai cổng COM, chưa có driver USB, Serial Monitor đang mởđóng chương trình khác dùng cổng, cài driver
Có vệt cháy nối giữa các chữchưa bật $32=1bật chế độ laser
Hình bị lật gương, khắc ngượcsai vị trí gốc máy trong phần mềmchọn đúng góc gốc (thường là trái trước)
Hai đầu dòng khắc đậm hơndùng M3, gia tốc thấpdùng M4, thêm vùng chạy đà (overscan)
Ảnh khắc bị sọc, lệch từng dòngdây đai lỏng, khe hở, tốc độ quá caocăng đai, giảm tốc độ khắc ảnh
Cắt không đứtlệch tiêu điểm, thấu kính bẩn, quá nhanhlấy nét lại, lau thấu kính, thêm lượt
Công suất thật thấp hơn đặtS max của phần mềm khác $30đặt hai bên cùng 1000

9. Xem thêm

  • Bài trước trong loạt: ESP32 điều khiển máy CNC, máy laser với FluidNC. Bài sau: Phần mềm cho máy CNC.
  • Bài 2 (các loại laser và vật liệu), bài 3 (an toàn), bài 12 (cấu hình GRBL, chế độ laser) của loạt.
  • ESP32 DevKit V1 và Arduino Nano tại PYWORLD làm bo điều khiển máy laser.

Tin tức liên quan

Cảm biến áp suất: cấu tạo, nguyên lý áp trở, điện dung, áp điện và cách chế tạo
Cảm biến áp suất: cấu tạo, nguyên lý áp trở, điện dung, áp điện và cách chế tạo

Cảm biến áp suất hoạt động thế nào: áp suất tuyệt đối và tương đối, màng và ống Bourdon, áp trở silic, điện dung, áp điện, quy trình chế tạo MEMS và cách đọc loại 0,5–4,5 V bằng ESP32.

GRBL là gì: nạp GRBL cho Arduino, CNC shield, sơ đồ chân và nối động cơ
GRBL là gì: nạp GRBL cho Arduino, CNC shield, sơ đồ chân và nối động cơ

GRBL là firmware biến Arduino Uno, Nano thành bộ điều khiển máy CNC, laser: sơ đồ chân GRBL 1.1, CNC shield V3, năm bước nạp GRBL bằng Arduino IDE, kiểm tra và lỗi thường gặp.

Cách đọc giấy chứng nhận hiệu chuẩn: sai số, độ không đảm bảo, số hiệu chính và điểm cần kiểm tra
Cách đọc giấy chứng nhận hiệu chuẩn: sai số, độ không đảm bảo, số hiệu chính và điểm cần kiểm tra

Cách đọc giấy chứng nhận hiệu chuẩn: các phần bắt buộc theo ISO/IEC 17025, bảng sai số chiều tăng giảm, độ không đảm bảo và hệ số phủ k, áp dụng số hiệu chính và lỗi hay gặp.

Quy định bay flycam tại Việt Nam 2026: đăng ký, giấy phép điều khiển, flycam dưới 250 g, phép bay
Quy định bay flycam tại Việt Nam 2026: đăng ký, giấy phép điều khiển, flycam dưới 250 g, phép bay

Tóm tắt quy định bay flycam theo Luật Phòng không nhân dân 2024 và Nghị định 288/2025: 5 loại theo trọng lượng, đăng ký, giấy phép điều khiển, khi nào flycam dưới 250 g được miễn phép bay.

HX711 với load cell và LCD 1602 bằng MicroPython
HX711 với load cell và LCD 1602 bằng MicroPython

Hướng dẫn ESP32 đọc load cell qua HX711 và hiển thị LCD 1602 bằng MicroPython, gồm đấu dây, hiệu chuẩn và xử lý lỗi.

Diode zener, Schottky và cầu chỉnh lưu: ổn áp đơn giản, nguồn từ biến áp
Diode zener, Schottky và cầu chỉnh lưu: ổn áp đơn giản, nguồn từ biến áp

Diode zener hoạt động thế nào, cách tính mạch ổn áp zener, khi nào chọn diode Schottky, nguyên lý cầu chỉnh lưu, điện áp ra và độ gợn khi có tụ lọc trong nguồn dùng biến áp.

Cảm biến độ ẩm: điện dung, điện trở, ẩm kế khô ướt – cấu tạo, nguyên lý, chế tạo và điểm sương
Cảm biến độ ẩm: điện dung, điện trở, ẩm kế khô ướt – cấu tạo, nguyên lý, chế tạo và điểm sương

Cảm biến độ ẩm hoạt động thế nào: độ ẩm tương đối, tuyệt đối, điểm sương; cảm biến điện dung polyme, điện trở, ẩm kế tóc, khô ướt, gương lạnh; chế tạo và đọc SHT31 bằng ESP32.

Biến trở, quang trở và nhiệt điện trở NTC: cách dùng và đọc bằng ESP32
Biến trở, quang trở và nhiệt điện trở NTC: cách dùng và đọc bằng ESP32

Cấu tạo và cách mắc biến trở, biến trở B10K và A10K, quang trở LDR, nhiệt điện trở NTC, PTC, phương trình B, thí nghiệm đọc biến trở, LDR, NTC bằng ADC của ESP32 và chỉnh độ sáng LED.


Bình luận
Đã thêm vào giỏ hàng