Tháp Calibration – Pressure Advance (M572) hoặc Linear Advance (M900)

Model tháp calibration tái tạo bài test Pressure/Linear Advance kiểu Orca Slicer nhưng chạy trên PrusaSlicer bằng macro G-code. Giá trị M572/M900 tăng theo từng layer để bạn chọn seam đẹp nhất và tính ra thông số tối ưu.

👁️
4.7K
Lượt Xem
❤️
70
Lượt Thích
📥
673
Lượt Tải
Cập Nhật Apr 20, 2026
Chi tiết
Tải xuống
Bình Luận
Khoe bản in
Remix

Mô tả

;tldr - Bắt đầu nhanh:

  1. Chọn model (! Dùng PrusaSlicer 2.6.0 trở lên ! ) – “Direct Drive” cho MK4 hoặc “Bowden” cho Mini+. Ngoài ra bạn có thể chọn layer height để test.
  2. Chỉ cần load file vào PrusaSlicer và slice model
  3. Kiểm tra xem lệnh M572 hoặc M900 mong muốn có thật sự xuất hiện trong G-code viewer giữa các lần đổi layer theo 3 bước sau: Không thấy custom command? Kéo xuống phần “Debug Mode” ở cuối bài này.
  4. Bắt đầu in, rồi kéo xuống phần “Interpreting the Results” bên dưới.

Giới thiệu:

Model này tái tạo bài calibration Linear Advance (M900) từ Orca Slicer, nhưng làm bằng PrusaSlicer và một custom G-Code macro để calibrate giá trị pressure advance M572.

Giá trị linear / pressure advance sẽ tăng sau mỗi layer, bắt đầu từ 0 và kết thúc ở 1.0. Vậy là mọi tổ hợp có thể đều được test.

Model được in với 2 perimeters, không có top/bottom layers, và infill 0%.

Yêu cầu:

PrusaSlicer 2.6.0 hoặc mới hơn (có hỗ trợ Macro Language)

https://github.com/prusa3d/PrusaSlicer/wiki/PrusaSlicer-Macro-Language

Tại thời điểm viết bài này, custom G-code không hoạt động trên Bambu hoặc Orca Slicers.

Tôi có cần calibrate Pressure Advance hay Linear Advance không?

Cái này tùy firmware máy bạn đang chạy. Với firmware Prusa Input Shaper mới nhất 5.0.0-alpha1 (May 2023), Prusa đã chuyển sang dùng Pressure Advance (M572) cho Mini+ và MK4.

https://forum.prusa3d.com/forum/input-shaping/firmware-5-0-0-alpha1/

Với các firmware khác, bạn xem danh sách RepRap:

Nguồn: https://reprap.org/wiki/G-code

Diễn giải kết quả (Interpreting the Results):

Các đường layer line là một phần của model, nên bạn không cần dùng thước kẹp (calipers) nữa để đo vị trí của đường “đẹp” nhất.

Có vài artifact bạn cần đánh giá: layer ticks và seams.

Layer Ticks:

Layer ticks nhô ra 0.2 mm so với model, nên lý tưởng là chỉ vừa đủ nhìn thấy.

Seams:

Bạn sẽ thấy giá trị quá nhỏ sẽ làm seam bị over-extruded, còn giá trị quá lớn sẽ tạo under-extrusions. Nhiệm vụ ở đây là chọn seam đẹp nhất, dù có thể không hoàn hảo.

Sao seam của tôi nhìn tệ dữ vậy?

Bình thường pressure / linear advance chỉ được set một lần lúc bắt đầu in. Còn với model này, nó được set giữa mỗi layer.

Theo quan sát của mình, mỗi lần đổi giá trị thì máy in sẽ khựng lại một chút để lưu giá trị. Việc này làm seam xấu hơn mong đợi. Model này mang tính đánh giá chủ quan hoàn toàn – bạn chọn seam nào “ổn” nhất.

Tính giá trị pressure / linear advance mới của bạn:

Model Bowden:

Model quét từ 0.0 đến 1.0. Với 200 layers, step size theo layer là 0.005

Ví dụ layer đẹp nhất là layer #61 → 61 x 0.005 = 0.305

Model Direct drive

Model quét từ 0.0 đến 0.3. Với 200 layers, step size theo layer là 0.0015

Ví dụ layer đẹp nhất là layer #61 → 61 x 0.0015 = 0.0915

Chỉnh custom G-code:

Giả sử bạn muốn tối ưu kỹ hơn và quét trong khoảng nhỏ hơn, ví dụ từ 0.5 đến 0.8 để fine-tune. Chỉ có 2 biến bạn cần đổi:

Settings → Printers → Custom G-code → Before layer change:

{local SJB_calibration_start_value = 0.5}
{local SJB_calibration_end_value = 0.8}

SJB_calibration_start_value = giá trị bắt đầu quét (layer 2)

SJB_calibration_end_value \= giá trị kết thúc quét (layer 200)

Muốn test ở một tốc độ in cụ thể?

Thường thì perimeters được in khá chậm. Ở các phiên bản PrusaSlicer mới, bạn có thể xem tốc độ in thực tế:

Để đạt tốc độ nhanh hơn, bạn cần chỉnh các tham số sau:

Settings → Print Settings → Speed for Print moves → Perimiters, Small perimieters, and External perimeters

→ Set cả ba giá trị này đúng tốc độ bạn muốn test (ví dụ 100 mm/s)

Các setting sau có thể làm bạn không đạt được tốc độ perimeter mong muốn:

Settings → Filaments → Cooling → Slow down if layer print time is below:

→ Set giá trị này về 0 để tránh bị giới hạn tốc độ

Settings → Filaments → Advanced → May volumetric speed:

→ Tăng giá trị này nếu tốc độ của bạn đang bị “throttle”.

Debug Mode:

Không thấy custom commands trong G-code cuối cùng? Thử các bước sau:

  1. Xác nhận bạn đang dùng PrusaSlicer 2.6.0 hoặc mới hơn.
  2. Trong Print Settings → Output options → G-code substitutions → bỏ chọn ô “Regula expressions” ở substitution đầu tiên:
  3. Slice lại model. Lúc này toàn bộ các phép tính để tạo custom command sẽ hiện ra để bạn debug.
Lỗi có thể gặp:

; Calculated step size: 0 nếu step size bằng 0 thì rất có thể input values bị lỗi. Hãy chắc chắn bạn nhập dạng số thập phân; nếu không slicer sẽ hiểu là text chứ không phải số:

Sai: dùng số nguyên

{local SJB_calibration_start_value = 0}
{local SJB_calibration_end_value = 1}

Đúng: dùng số dạng float “0.0” và “1.0”

{local SJB_calibration_start_value = 0.0}
{local SJB_calibration_end_value = 1.0}

Vẫn chưa được? Bạn đăng một ảnh chụp màn hình tương tự như ở trên trong phần bình luận, kèm các thông tin sau:

  1. Bạn đang dùng PrusaSlicer version nào, và hệ điều hành nào (ví dụ Version 2.8.0+MacOS-x64)
  2. Bạn đã dùng model nào? (ví dụ 0.3mm_LayerHeight_Bowden_PressureAdvanceTower_v5)
  3. Ảnh chụp màn hình phần variables ở trên.

Chúc bạn in vui vẻ!

Giấy phép

Tác phẩm này được cấp phép theo

Creative Commons — Attribution — Noncommercial — NoDerivatives

CC-BY-NC-ND

Yêu cầu ghi công
Remix & phái sinh Không được phép
Sử dụng thương mại Không được phép

File mô hình

TẤT CẢ FILE MÔ HÌNH (11 Tập tin)
Đang tải files, vui lòng chờ...
Vui lòng đăng nhập để bình luận.

Chưa có bình luận nào. Hãy là người đầu tiên!

Vui lòng đăng nhập để khoe bản in của bạn.

Chưa có bản in nào được khoe. Hãy là người đầu tiên!

Remix (0)