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.
Mô tả
;tldr - Bắt đầu nhanh:
- 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.
- Chỉ cần load file vào PrusaSlicer và slice model
- 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.

- 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:
- Xác nhận bạn đang dùng PrusaSlicer 2.6.0 hoặc mới hơn.
- Trong Print Settings → Output options → G-code substitutions → bỏ chọn ô “Regula expressions” ở substitution đầu tiên:
- 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:
- 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)
- Bạn đã dùng model nào? (ví dụ 0.3mm_LayerHeight_Bowden_PressureAdvanceTower_v5)
- Ả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 — NoDerivativesCC-BY-NC-ND
File mô hình
Chưa có bản in nào được khoe. Hãy là người đầu tiên!
Chưa có bình luận nào. Hãy là người đầu tiên!