Nội dung khóa học
Bambu Studio

Chương này cung cấp cái nhìn chuyên sâu về G-code (Geometric Code), ngôn ngữ câu lệnh cơ bản được sử dụng để điều khiển máy in 3D. Bắt nguồn từ thế giới gia công CNC, G-code đã trở thành một phần không thể thiếu của công nghệ in 3D FDM (Fused Deposition Modeling). Mặc dù việc điều chỉnh các thiết lập in thông qua giao diện đồ họa rất tiện lợi, nhưng việc hiểu được logic cốt lõi của G-code sẽ cho phép bạn kiểm soát quá trình in một cách chính xác hơn.

Mặc dù G-code có vẻ khó hiểu và khó đọc lúc ban đầu, nhưng một khi bạn đã quen với cú pháp của nó, việc giải mã sẽ trở nên rất đơn giản. G-code giao tiếp với máy in thông qua các dòng lệnh văn bản nối tiếp nhau.

Sau khi cắt lớp mô hình bằng các phần mềm như Bambu Studio, chương trình sẽ tạo ra một tệp in.

Thông thường, định dạng tệp được xuất ra là .gcode.3mf, thay vì một tệp .gcode thuần túy.

Định dạng tệp hỗn hợp này bao gồm nhiều thứ hơn là chỉ các chỉ dẫn G-code—nó còn tích hợp cả hình ảnh xem trước (thumbnail) của mô hình. Điều này cho phép bạn xem trước mô hình trực tiếp trên màn hình máy in, giúp việc nhận diện và quản lý các tác vụ in trở nên dễ dàng hơn nhiều. 

Tính năng này đặc biệt hữu ích khi in nhiều chi tiết cùng lúc. Nếu một chi tiết cụ thể gặp lỗi trong quá trình in, hình ảnh xem trước giúp bạn nhanh chóng xác định vị trí và bỏ qua (skip) chi tiết đó, giúp giảm thiểu lãng phí vật liệu và tiết kiệm thời gian.

Nếu bạn nhận thấy máy in không hiển thị hình ảnh xem trước khi in, điều đó có nghĩa là bạn đang sử dụng tệp G-code thuần (plain G-code). Mặc dù loại tệp này nhẹ và đơn giản hơn, nhưng nó thiếu hỗ trợ cho các tính năng nâng cao—chẳng hạn như bỏ qua các chi tiết riêng lẻ trong các bản in nhiều bộ phận—đây có thể là một hạn chế trong các dự án phức tạp. Tuy nhiên, bạn vẫn có thể xuất tệp G-code thuần từ Bambu Studio bằng cách nhấp vào menu “File” ở góc trên bên phải và chọn “Export G-code”.

Lưu ý: Việc chỉnh sửa G-code thủ công tiềm ẩn rủi ro rất lớn. Các câu lệnh sai có thể dẫn đến va chạm cơ khí hoặc các lỗi phần cứng khác. Mục đích của hướng dẫn này là giúp bạn hiểu cách G-code vận hành—chứ không khuyến khích người dùng chưa qua đào tạo trực tiếp sửa đổi G-code. Trừ khi bạn là người có kinh nghiệm và hiểu đầy đủ các hệ quả, chúng tôi khuyên bạn nên tránh thực hiện các thay đổi thủ công.

Các nhóm lệnh G-code 

Các chỉ dẫn G-code được chia thành hai nhóm chính:

  • Lệnh G (Geometric): Các lệnh điều khiển chuyển động—quản lý cách các trục của máy in di chuyển trong không gian 3D.
  • Lệnh M (Miscellaneous): Các lệnh điều khiển trạng thái máy in và các chức năng phụ trợ như nhiệt độ, tốc độ quạt hoặc tạm dừng.

Các lệnh chuyển động hình học (G-codes)

Lệnh chuyển động hình học là cốt lõi của G-code. Chúng xác định cách đầu in di chuyển dọc theo các trục X, Y và Z. Trong hầu hết các tệp G-code, phần lớn các dòng lệnh đều là lệnh G.

G0 (Chuyển động tuyến tính nhanh) 

Lệnh này được sử dụng cho các chuyển động không đùn nhựa (travel moves)—chẳng hạn như di chuyển đầu in nhanh chóng giữa các vùng in khác nhau. Nó di chuyển ở tốc độ tối đa của máy in và không đẩy nhựa ra ngoài.

  • Ví dụ: G0 X100 Y100 Z5 F5000 – Lệnh này di chuyển đầu in nhanh chóng đến tọa độ X=100, Y=100, Z=5 với tốc độ 5000 mm/phút.

G1 (Nội suy tuyến tính có kiểm soát) 

Lệnh này được sử dụng cho các chuyển động đùn nhựa—điều khiển đầu phun di chuyển theo đường thẳng trong khi đùn nhựa một cách chính xác. Đây là lệnh được sử dụng phổ biến nhất trong quá trình in thực tế.

  • Ví dụ: G1 X119.25 Y126 Z0.2 E0.65181 – Di chuyển đầu in đến X=119.25, Y=126, Z=0.2 trong khi đùn ra 0.65181 mm³ nhựa.

G2 / G3: Các lệnh chuyển động cung tròn 

Các lệnh này được sử dụng để tạo ra các chuyển động cung tròn (vòng cung), đặc biệt hữu ích khi in các đường dẫn cong hoặc các chi tiết tròn.

  • G2 – Cung tròn theo chiều kim đồng hồ: Di chuyển đầu in theo một cung tròn theo chiều kim đồng hồ.
  • G3 – Cung tròn ngược chiều kim đồng hồ: Di chuyển đầu in theo một cung tròn ngược chiều kim đồng hồ.

Thông số I và J: Cách xác định tâm của một cung tròn 

Khi máy in 3D vẽ một cung tròn, nó cần biết chính xác vị trí và kích thước của cung đó. Cần có hai thông tin quan trọng:

  1. Điểm kết thúc của cung tròn (tọa độ X và Y).
  2. Điểm tâm của cung tròn.

Thay vì đưa ra tọa độ tuyệt đối của tâm, máy in sử dụng các giá trị IJ, cho biết tâm cách điểm bắt đầu của cung tròn bao xa:

  • I: Khoảng cách dịch chuyển sang trái hoặc phải (dọc theo trục X) từ điểm bắt đầu để tìm tâm.
  • J: Khoảng cách dịch chuyển lên hoặc xuống (dọc theo trục Y) từ điểm bắt đầu để tìm tâm.

Vì vậy, nếu bạn bắt đầu tại điểm (Start X, Start Y), tâm của cung tròn sẽ ở vị trí: 

Tâm = (Start X + I, Start Y + J)

Bằng cách này, máy sẽ biết chính xác vị trí cần vẽ đường cong. 

Ví dụ: G3 X3 Y5 I-1 J-1 

Giả sử vị trí hiện tại của đầu in là [5, 5] 

Điểm kết thúc của cung tròn là [3, 5]

I = -1, nên độ lệch X đến tâm cung là -1 → 5 + (-1) = 4 

J = -1, nên độ lệch Y đến tâm cung là -1 → 5 + (-1) = 4 

Do đó, tâm của cung tròn nằm ở vị trí [4, 4].

Lệnh này yêu cầu máy in vẽ một cung tròn ngược chiều kim đồng hồ từ vị trí hiện tại [5, 5] đến [3, 5], lấy [4, 4] làm tâm.

G28: Lệnh về vị trí gốc (Homing)

Lệnh G28 được sử dụng để di chuyển đầu in và bàn in về các vị trí gốc đã được định nghĩa trước—thường được gọi là “Homing”. Đây là quy trình tiêu chuẩn khi bắt đầu hầu hết các tác vụ in để đảm bảo máy in biết chính xác vị trí của nó trong không gian 3D.

  • G28: Đưa tất cả các trục (X, Y và Z) về vị trí gốc.
  • G28 X0 Y0: Chỉ đưa trục X và Y về gốc.

Lệnh G28 X0 di chuyển đầu in sang hết phía bên phải của máy in để tìm gốc trục X. Sau đó, G28 Y0 di chuyển đầu in về phía góc trước bên phải để tìm gốc trục Y. Cuối cùng, trục Z được đưa về gốc bằng cách hạ thấp đầu phun cho đến khi nó chạm vào bàn in hoặc kích hoạt cảm biến Z.

G29.1: Điều chỉnh độ lệch trục Z (Z-Axis Offset) 

Lệnh G29.1 cho phép bạn tinh chỉnh độ lệch điểm 0 của trục Z, điều này cực kỳ quan trọng để đạt được lớp in đầu tiên chất lượng cao. Khoảng cách giữa đầu phun và bàn in trong lớp đầu tiên ảnh hưởng trực tiếp đến độ bám dính, chất lượng bề mặt và sự thành công chung của bản in.

  • Mục đích: Bù đắp cho những điểm không bằng phẳng nhỏ hoặc kết cấu bề mặt trên bàn in; Khắc phục các vấn đề của lớp đầu tiên như quá khít (quá gần) hoặc quá lỏng (quá xa).
  • Ví dụ: G29.1 Z-0.02 – Lệnh này làm lệch trục Z đi -0.02 mm, nghĩa là đầu phun sẽ di chuyển gần bàn in hơn một chút trong lớp đầu tiên.

Điều này hữu ích khi sử dụng bàn in nhám (textured plate), giúp đảm bảo lớp đầu tiên bám dính tốt hơn.

Các lệnh điều khiển phụ trợ (M-codes)

M104: Đặt nhiệt độ đầu phun (Không đợi – Non-blocking) 

Lệnh M104 thiết lập nhiệt độ mục tiêu của đầu phun (hotend) nhưng không tạm dừng quá trình in để đợi nhiệt độ đạt mức mục tiêu. Thay vào đó, máy in tiếp tục thực hiện các lệnh tiếp theo trong khi việc gia nhiệt được tiến hành ở chế độ chạy nền.

  • Ví dụ: M104 S240 – Đặt nhiệt độ đầu phun thành 240°C, nhưng máy in ngay lập tức chuyển sang chỉ dẫn tiếp theo mà không đợi. 

Điều này hữu ích để làm nóng trước đầu phun trước khi bắt đầu đùn nhựa, giúp tiết kiệm thời gian.

Ứng dụng thực tế trong Bambu Studio:

Trong Bambu Studio , bạn có thể nhấp chuột phải vào thanh xem trước dòng thời gian và chèn mã G tùy chỉnh như: G-code M104 S240.

Sau khi cắt lát, bạn sẽ thấy rằng khi đầu in đạt đến điểm đó trên dòng thời gian, nhiệt độ vòi phun sẽ tăng dần từ, ví dụ, 220°C lên 240°C , mà không làm gián đoạn các hoạt động khác.

Mẹo: Bạn có thể sử dụng phương pháp này để tạo tháp nhiệt độ , cho phép mô hình của bạn được in ở các nhiệt độ khác nhau ở các độ cao khác nhau. Điều này giúp bạn xác định nhiệt độ in tối ưu cho vật liệu cụ thể của mình. Tuy nhiên, hãy lưu ý rằng việc sử dụng tháp nhiệt độ không đúng cách—chẳng hạn như với các cài đặt không phù hợp—có thể dẫn đến các vấn đề khi in, đặc biệt là đối với các mô hình lớn. 

M109: Đợi nhiệt độ đầu phun 

M109 thiết lập nhiệt độ đầu phun mục tiêu và tạm dừng chương trình cho đến khi đầu phun đạt và ổn định ở nhiệt độ đó.

  • Ví dụ: M109 S240 – Sẽ đợi cho đến khi đầu phun đạt 240°C trước khi thực hiện lệnh tiếp theo.

M106: Điều khiển quạt 

M106 điều khiển các quạt của máy in. Thông thường, tham số P chỉ định số hiệu quạt và tham số S thiết lập tốc độ quạt (0–255, tương ứng với 0–100%). 

M106 thường được dùng để điều khiển quạt làm mát vật thể (part cooling fan).

Tương tự, khi bạn thêm lệnh M106 S255 , bạn sẽ thấy tốc độ quạt điều chỉnh lên 100% tại điểm được chỉ định trong quá trình in. 

  • Ví dụ: M106 S255 (tốc độ tối đa); M106 S0 (tắt quạt).
  • M106 P2 S0: Tắt quạt làm mát phụ (auxiliary cooling fan) nếu có (ID quạt là 2).
  • M106 P3 S0: Tắt quạt buồng máy (chamber fan) nếu có (ID quạt là 3).

M140 / M190: Điều khiển nhiệt độ bàn in

  • M140: Đặt nhiệt độ mục tiêu cho bàn in mà không đợi.
  • M190: Đặt nhiệt độ mục tiêu và tạm dừng in cho đến khi bàn in đạt nhiệt độ thiết lập.

M400: Lệnh tạm dừng in 

M400 U1: Nếu bạn thêm lệnh tạm dừng thông qua chuột phải trong phần mềm cắt lớp, bản in sẽ tạm dừng tại thời điểm đã định và đợi người dùng nhấp vào “Resume Print” (Tiếp tục in) để tiếp tục.

Như hình ảnh bên dưới cho thấy, để tiếp tục in, bạn cần nhấp vào nút “Tiếp tục in”.

Trên đây là một số lệnh G-code phổ biến mà chúng tôi hy vọng sẽ giúp bạn hiểu rõ hơn về in 3D. Để biết thêm thông tin về G-code, bạn có thể truy cập trang web chính thức của Marlin.

Thông báo quan trọng: Việc chỉnh sửa G-code thủ công tiềm ẩn rủi ro đáng kể. Các sai sót trong câu lệnh có thể gây ra va chạm hoặc các trục trặc khác. Hướng dẫn này nhằm giúp bạn hiểu các nguyên lý của G-code và không khuyến nghị việc tự sửa đổi các tệp G-code để in. Đối với việc sử dụng hàng ngày, các tệp G-code được tạo ra bởi phần mềm cắt lớp đã bao gồm tất cả các lệnh cần thiết và các biện pháp an toàn, đây là cách in được khuyến nghị.

AI
Thường trả lời trong vài phút