Qidi Q2 자동 노즐 청결 확인: "코딱지" 문제 해결
Qidi Q2 3D 프린터 사용자들은 종종 "코딱지" 문제를 겪습니다—노즐에 플라스틱 덩어리가 붙어 로드셀이 조기 트리거되는 현상입니다. 이로 인해 베드 캘리브레이션이 실패하고 첫 번째 프린트가 실패합니다. 해결책은 다음과 같습니다: 노즐 청결도를 자동으로 확인하고 필요 시 와이프를 반복하는 Klipper 매크로입니다.
표준 Qidi Q2 노즐 와이프의 한계
Qidi Q2 프린터는 베드 접촉을 감지하기 위해 로드셀을 사용합니다. 프린트 준비 중에 노즐을 퍼지(purge)한 후 140°C로 식히고 브러시로 청소합니다. 하지만 이 낮은 온도에서 고체 플라스틱 덩어리가 노즐에 남아 있을 수 있습니다. 베드 레벨링(G29)이 진행될 때 센서가 너무 일찍 작동해 전체 베드 메쉬가 위로 이동합니다. 그러면 첫 번째 레이어가 공중에 떠서 접착력이 전혀 없습니다.
표준 PRINT_START 매크로는 이 문제를 무시합니다. 노즐을 와이프한 후 Z 틸트를 조정하고 G29를 실행하지만, 더러운 노즐이 캘리브레이션 데이터를 망칩니다. 특히 원격 프린팅에서 문제가 심각합니다. 노즐 상태를 육안으로 확인할 수 없기 때문입니다.
매크로가 "코딱지"를 어떻게 감지하는가
이 해결책은 베드 메쉬 데이터를 분석합니다. G29 후 모든 메쉬 포인트의 평균 Z 값을 계산합니다. 평균이 설정된 임계값(예: 0.07 mm)을 초과하면 노즐에 플라스틱 덩어리가 있을 가능성이 큽니다. 깨끗한 노즐은 캘리브레이션이 베드 레벨에 노즐을 0으로 맞추기 때문에 평균 Z가 0에 가깝습니다.
작동 원리:
- 메쉬 프로필(기본 'kamp')을 로드합니다.
- 모든 Z 좌표의 산술 평균을 계산합니다.
- 평균 > 임계값이면 다시 와이프하고 재캘리브레이션합니다.
- 반복 실패 시—프린트를 중단합니다.
임계값은 센서 노이즈와 열팽창 위, 첫 번째 레이어 높이 아래로 설정하세요. 권장: 0.07–0.1 mm.
Klipper에 단계별 통합
gcode_macro.cfg 파일에 _CHECK_NOZZLE_DIRTY 매크로를 추가하세요:
[gcode_macro _CHECK_NOZZLE_DIRTY]
description: Detects dirty nozzle and auto-retries wipe
variable_retry_count: 0
gcode:
{% set profile = params.PROFILE|default('kamp') %}
{% set hotendtemp = params.HOTEND|default(250)|int %}
{% if profile in printer.bed_mesh.profiles %}
{% set mesh = printer.bed_mesh.profiles[profile].points %}
{% set total_z = namespace(val=0) %}
{% set count = namespace(val=0) %}
{% for row in mesh %}
{% for z in row %}
{% set total_z.val = total_z.val + z %}
{% set count.val = count.val + 1 %}
{% endfor %}
{% endfor %}
{% if count.val > 0 %}
{% set avg_z = total_z.val / count.val %}
{% endif %}
{% if avg_z > 0.07 %}
{% if retry_count < 1 %}
{ action_respond_info("WARNING: Nozzle dirty (Z-avg: %.3f). Attempting wipe..." % avg_z) }
SET_GCODE_VARIABLE MACRO=_CHECK_NOZZLE_DIRTY VARIABLE=retry_count VALUE=1
CLEAR_NOZZLE HOTEND={hotendtemp}
G28 Z
G29
{% else %}
SET_GCODE_VARIABLE MACRO=_CHECK_NOZZLE_DIRTY VARIABLE=retry_count VALUE=0
{ action_raise_error("ERROR: Retry wipe failed (Z-avg: %.3f). Aborting." % avg_z) }
{% endif %}
{% else %}
{ action_respond_info("CHECK: Nozzle clean (Z-avg: %.3f). Printing OK." % avg_z) }
SET_GCODE_VARIABLE MACRO=_CHECK_NOZZLE_DIRTY VARIABLE=retry_count VALUE=0
{% endif %}
{% else %}
{ action_respond_info("CHECK: Mesh profile %s not found." % profile) }
{% endif %}
그 후 PRINT_START에서 G29 직후에 매크로 호출을 추가하세요:
G29 ; Bed mesh calibration
_CHECK_NOZZLE_DIRTY PROFILE=kamp HOTEND={hotendtemp}
Klipper 로그에서 노즐 상태를 확인할 수 있습니다. 예시:
Mesh Bed Leveling Complete
...
WARNING: Nozzle dirty (Z-avg: 0.136). Attempting wipe...
주요 설정 노트
- 임계값: 0.07 mm부터 시작하세요. 프린터, 센서 허용오차, 필라멘트에 맞게 조정하세요.
- 베드 캘리브레이션: 매크로는 먼저 베드 캘리브레이션이 필요합니다. 생략하면 평균 Z가 틀립니다.
- 재시도 제한: 한 번의 재와이프만 허용합니다. 두 번째 실패 시 프린트를 중단합니다.
- 테스트: 캘리브레이션 중 노즐 아래에 0.1 mm 두께 게이지를 넣어 테스트하세요.
이 매크로는 시간을 절약해줍니다—특히 원격 작업에서—and 프린트 성공률을 높여줍니다.
— Editorial Team
아직 댓글이 없습니다.