Klipper A-Z phần 4: Hiệu chỉnh cơ bản - PID, E-steps và Bed leveling

Bài này mình sẽ hướng dẫn bạn chi tiết ba quy trình hiệu chỉnh quan trọng: PID tuning cho nhiệt độ ổn định, calibration rotation distance (tương đương E-steps) cho lượng dùn filament chính xác, và bed leveling để có lớp in đầu hoàn hảo.

Klipper A-Z phần 4: Hiệu chỉnh cơ bản - PID, E-steps và Bed leveling
Photo by Yasin Hasan / Unsplash

Danh sách bài viết:

  1. Giới thiệu Klipper
  2. Chuẩn bị phần cứng và cài đặt Klipper
  3. Flash firmware và tạo file printer.cfg
  4. Hiệu chỉnh cơ bản
  5. Input Shaper và Pressure Advance
  6. Tạo macro Klipper cơ bản
  7. Khắc phục sự cố và bảo trì hệ thống

PID Tuning - Điều khiển nhiệt độ chính xác

Tại sao cần PID Tuning?

PID (Proportional-Integral-Derivative) là thuật toán điều khiển nhiệt độ tinh vi giúp hotend và bàn nhiệt duy trì nhiệt độ ổn định. Không giống như phương pháp bật tắt đơn giản, PID điều chỉnh công suất đầu ra một cách mượt mà để tránh dao động nhiệt độ.

Dấu hiệu cần PID tuning:

  • Nhiệt độ vượt quá hoặc thấp hơn target 5-10°C khi đun nóng
  • Dao động nhiệt độ liên tục trong quá trình in
  • Thời gian đun nóng quá lâu hoặc không ổn định
  • Chất lượng in bị ảnh hưởng do nhiệt độ không đều

Chuẩn bị trước khi PID Tuning

Đối với hotend:

  1. Đảm bảo hotend và bed ở nhiệt độ phòng
  2. Lắp đặt silicone sock (phần silicone bọc hotend) nếu có (để cách nhiệt tốt hơn)
  3. Home máy in và đặt nozzle ở giữa bàn in, cách bed khoảng 5cm
  4. Bật quạt part cooling 100% nếu thường xuyên sử dụng: M106 S255

Đối với bàn in:

  1. Đảm bảo bed ở nhiệt độ phòng
  2. Lắp đặt kính hoặc tấm PEI như khi in thực tế
  3. Home máy in và đặt nozzle ở giữa bàn
  4. Bật quạt part cooling 100%: M106 S255

Thực hiện PID Tuning cho Hotend

Bước 1: Mở giao diện Klipper (Mainsail/Fluidd) và truy cập console

Bước 2: Chạy lệnh tự động điều chỉnh PID cho hotend:

PID_CALIBRATE HEATER=extruder TARGET=215

Lưu ý: Thay đổi TARGET phù hợp với filament bạn sử dụng nhiều nhất:

  • PLA: 210-215°C
  • PETG: 235-240°C
  • ABS: 240-250°C
  • ASA: 250-260°C

Bước 3: Quan sát quá trình calibration trong tab Temperature

Bước 4: Khi hoàn tất, console sẽ hiển thị kết quả tương tự:

// PID parameters: pid_Kp=22.857 pid_Ki=1.714 pid_Kd=76.307
// To use these parameters, update the printer config file with:
//   control = pid
//   pid_Kp = 22.857
//   pid_Ki = 1.714  
//   pid_Kd = 76.307

Bước 5: Lưu cấu hình:

SAVE_CONFIG

Thực hiện PID Tuning cho bàn nhiệt

Bước 1: Chạy lệnh PID calibration cho bed:

PID_CALIBRATE HEATER=heater_bed TARGET=60

Lưu ý: Điều chỉnh TARGET theo nhu cầu:

  • PLA: 60-65°C
  • PETG: 70-80°C
  • ABS: 80-90°C

Bước 2: Quá trình tương tự như hotend nhưng mất nhiều thời gian hơn do bàn nhiệt to hơn

Bước 3: Lưu kết quả:

SAVE_CONFIG

Cập nhật PID thủ công (nếu cần)

Nếu SAVE_CONFIG không hoạt động, bạn có thể cập nhật thủ công trong printer.cfg:

[extruder]
control = pid
pid_Kp = 22.857
pid_Ki = 1.714
pid_Kd = 76.307

[heater_bed]
control = pid
pid_Kp = 54.027
pid_Ki = 0.770
pid_Kd = 948.182

Calibration Rotation Distance (E-steps)

Hiểu về Rotation Distance

Trong Klipper, rotation_distance thay thế khái niệm E-steps của Marlin. Đây là khoảng cách (tính bằng mm) mà trục di chuyển khi stepper motor quay một vòng đầy đủ.

Công thức chuyển đổi từ E-steps:

rotation_distance = (full_steps_per_rotation × microsteps) / steps_per_mm

Ví dụ với BMG Extruder (E-steps = 415):

rotation_distance = (200 × 16) / 415 = 7.711

Cách làm

Bước 1: Chuẩn bị

  • Đảm bảo extruder có filament và hotend đã được làm nóng
  • Để min_extrude_temp = 0 nếu test ở nhiệt độ phòng:
[extruder]
min_extrude_temp: 0

Bước 2: Đánh dấu filament

  • Dùng bút lông đánh dấu trên filament cách đầu vào extruder khoảng 70mm
  • Dùng thước cặp đo chính xác khoảng cách từ extruder body đến vạch: <initial_mark_distance>

Bước 3: Thực hiện đùn nhựa bằng dòng lệnh

G91                    ; Relative positioning
G1 E50 F60            ; Extrude 50mm tốc độ chậm

Quan trọng: Dùng tốc độ chậm (F60) để tránh áp suất cao làm sai lệch kết quả

Bước 4: Đo kết quả

  • Đo lại khoảng cách từ extruder body đến vạch: <subsequent_mark_distance>
  • Tính khoảng cách thực tế:
actual_extrude_distance = initial_mark_distance - subsequent_mark_distance

Bước 5: Tính rotation_distance mới

new_rotation_distance = current_rotation_distance × actual_extrude_distance / 50
Bạn có thể sử dụng công cụ ở đây để tính cho nhanh: https://www.service-uplink.de/esteps_cal/calculator.php

Bước 6: Cập nhật cấu hình

  • Mở printer.cfg và cập nhật giá trị rotation_distance trong section [extruder]
  • Chạy SAVE_CONFIG để áp dụng
  • Lặp lại test để kiểm tra độ chính xác

Sử dụng lệnh tạm thời

Để test nhanh mà không cần restart:

SET_EXTRUDER_ROTATION_DISTANCE EXTRUDER=extruder DISTANCE=7.711

Bed Leveling - Cân bằng bàn in

Paper Test - Phương pháp cơ bản

Bed Leveling - Paper test

Chuẩn bị:

  • Cắt một mảnh giấy nhỏ cỡ tấm thẻ ATM
  • Đảm bảo nozzle và bed sạch, không có nhựa dư
  • Bed và nozzle ở nhiệt độ phòng

Quy trình:

  1. Home máy in: G28
  2. Tắt stepper motors: M84
  3. Di chuyển nozzle thủ công đến các góc bed
  4. Điều chỉnh vít bed sao cho giấy có cảm giác "cào" nhẹ khi kéo

Auto Bed Leveling với BLTouch/CR Touch

Cài đặt và kết nối BLTouch

Kết nối phần cứng:

[bltouch]
sensor_pin: ^PC14      ; Z endstop pin với pullup
control_pin: PA1       ; Servo control pin
x_offset: -44          ; Khoảng cách từ nozzle đến probe (trục X)
y_offset: -6           ; Khoảng cách từ nozzle đến probe (trục Y)  
z_offset: 2.0          ; Khoảng cách kích hoạt probe (sẽ hiệu chỉnh)
speed: 2
samples: 3
sample_retract_dist: 5.0

Sử dụng probe làm Z endstop:

[stepper_z]
endstop_pin: probe:z_virtual_endstop
position_min: -2       ; Cho phép di chuyển âm khi calibrate

Kiểm tra và test BLTouch

Test cơ bản:

BLTOUCH_DEBUG COMMAND=pin_down    ; Hạ probe pin
BLTOUCH_DEBUG COMMAND=pin_up      ; Nâng probe pin
QUERY_PROBE                       ; Kiểm tra trạng thái

Test với ngón tay:

  1. Đặt toolhead xa bed
  2. Chạy G28 hoặc PROBE
  3. Khi nozzle bắt đầu hạ xuống, dùng ngón tay chạm nhẹ vào probe pin
  4. Máy in phải dừng ngay lập tức

Hiệu chỉnh Z Offset

Nhập lệnh sau vào console:

PROBE_CALIBRATE

Klipper sẽ:

  1. Probe tại vị trí hiện tại
  2. Di chuyển đầu in đến vị trí vừa đo
  3. Bắt đầu probe, màn hình mainsail sẽ hiện lên hướng dẫn để bạn điều chỉnh
  4. Sử dụng phương pháp paper test để điều chỉnh
  5. ACCEPT để lưu giá trị
  6. SAVE_CONFIG để lưu vào file cấu hình

Tạo và sử dụng Bed Mesh

Cấu hình bed mesh:

[bed_mesh]
speed: 120
horizontal_move_z: 5
mesh_min: 35, 6        ; Điểm góc mesh (nên cách mép bàn in một khoảng nhỏ an toàn, tránh để 0, 0)
mesh_max: 240, 198     ; Điểm góc đối diện
probe_count: 5, 3      ; Số điểm probe (X, Y)

Tạo mesh:

G28                    ; Home trước
BED_MESH_CALIBRATE     ; Tạo mesh mới

Sử dụng mesh:

BED_MESH_PROFILE LOAD=default    ; Load mesh đã lưu

Kiểm tra chất lượng mesh:

PROBE_ACCURACY         ; Test độ lặp lại của probe

Kết quả tốt: standard deviation < 0.005mm


Test Print và điều chỉnh

Hiệu chỉnh lớp đầu tiên

Sau khi hoàn tất các hiệu chỉnh trên, thực hiện test print:

File test đơn giản: In một hình vuông 100x100mm, layer height 0.2mm, speed chậm (30-40 mm/s)

Dấu hiệu cần điều chỉnh:

  • Under-extrusion: Các đường in không dính nhau, có khoảng trống, cần canh lại e-step hoặc tăng flow
  • Over-extrusion: Nhựa bị thừa, tràn ra ngoài, cần canh lại e-step hoặc giảm flow
  • Đầu in quá cao: Nhựa không dính bed, bị cuộn tròn, hạ đầu in xuống từ từ, mỗi lần khoảng 0.025 cho đến khi lớp đều
  • Đầu in quá sát bàn: Nozzle cào vào bed, layer bị mỏng, nâng đầu in lên từ từ, mỗi lần khoảng 0.025 cho đến khi lớp đều

Kết luận

Việc hiệu chỉnh PID, rotation distance và bed leveling là nền tảng cho chất lượng in 3D tốt. Dành thời gian thực hiện cẩn thận các bước này sẽ giúp bạn có những bản in chất lượng cao và ổn định. Ở bài tiếp theo, chúng ta sẽ tìm hiểu các tính năng nâng cao của Klipper như Input Shaper và Pressure Advance để khai thác tối đa sức mạnh của firmware này.


Bài tiếp theo: Input Shaper và Pressure Advance

Read more

Mua máy in 3D hãng hay tự lắp ráp (DIY): Lựa chọn nào phù hợp cho người mới bắt đầu?

Mua máy in 3D hãng hay tự lắp ráp (DIY): Lựa chọn nào phù hợp cho người mới bắt đầu?

Máy in 3D đang ngày càng phổ biến tại Việt Nam, từ những người đam mê công nghệ đến học sinh, sinh viên và các doanh nghiệp nhỏ. Tuy nhiên, câu hỏi đặt ra cho người mới bắt đầu là: nên mua máy in 3D có sẵn từ hãng hay tự lắp ráp để tiết kiệm chi phí? Chúng ta cùng phân tích nhé!

By Hải Nguyễn