Qidi Q2 自动喷嘴清洁度检查:解决“鼻涕嘴”问题
Qidi Q2 3D 打印机用户经常遇到“鼻涕嘴”问题——喷嘴上残留一团塑料,导致负载传感器过早触发。这会造成床面校准失败,第一层打印也失败。下面是一个解决方案:一个 Klipper 宏,能自动检查喷嘴清洁度,并在需要时重复擦拭。
标准 Qidi Q2 喷嘴擦拭为何不足
Qidi Q2 打印机配备负载传感器来检测床面接触。在打印准备过程中,它会挤出喷嘴、冷却至 140°C 并刷洗清洁。然而,在这么低的温度下,喷嘴上可能仍残留固化的塑料团。随后进行的床面调平(G29)时,传感器过早触发,整个床面网格向上偏移。第一层就会悬空打印,完全无法粘附。
标准的 PRINT_START 宏忽略了这个问题。它擦拭喷嘴,然后调整 Z 倾斜并运行 G29,但脏喷嘴会破坏校准数据。这在远程打印时影响最大,因为你无法近距离观察喷嘴。
宏如何检测“鼻涕嘴”
这个修复方案分析床面网格数据。G29 完成后,它计算所有网格点的 Z 值平均值。如果平均值超过设定阈值(例如 0.07 mm),则喷嘴上很可能有塑料团。清洁喷嘴的平均 Z 值接近零,因为校准会将喷嘴归零到床面高度。
工作原理:
- 加载网格配置文件(默认 'kamp')。
- 计算所有 Z 坐标的算术平均值。
- 如果平均值 > 阈值,则重新擦拭并重新校准。
- 重复失败时——停止打印。
阈值要设定在传感器噪声和热膨胀之上,但低于第一层高度。推荐:0.07–0.1 mm。
逐步集成到 Klipper
将 _CHECK_NOZZLE_DIRTY 宏添加到你的 gcode_macro.cfg 文件中:
[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 塞尺进行测试。
这个宏能节省时间——尤其适合远程操作——并提高打印成功率。
— Editorial Team
暂无评论。