Comprobación automática de la limpieza de la boquilla en Qidi Q2: Solucionando el problema de la «nariz mocosa»
Los propietarios de impresoras 3D Qidi Q2 a menudo se topan con el problema de la «nariz mocosa»—un pegote de plástico en la boquilla que hace que la célula de carga se active prematuramente. Esto provoca el fallo en la calibración de la cama y que la primera impresión falle. Aquí va una solución: una macro de Klipper que comprueba automáticamente la limpieza de la boquilla y repite la pasada de limpieza si es necesario.
Por qué la limpieza estándar de la boquilla de Qidi Q2 deja que desear
La impresora Qidi Q2 incorpora una célula de carga para detectar el contacto con la cama. Durante la preparación de la impresión, purga la boquilla, la enfría hasta 140°C y la cepilla para limpiarla. Sin embargo, a esa temperatura tan baja, un pegote sólido de plástico podría quedarse pegado a la boquilla. Cuando se ejecuta el nivelado de la cama (G29), el sensor se dispara demasiado pronto, desplazando toda la malla de la cama hacia arriba. La primera capa acaba imprimiéndose en el aire, sin ninguna adherencia.
La macro estándar PRINT_START pasa por alto este problema. Limpia la boquilla, ajusta la inclinación en Z y ejecuta G29, pero una boquilla sucia corrompe los datos de calibración. Esto pega más fuerte en impresiones remotas, donde no puedes inspeccionar la boquilla a simple vista.
Cómo detecta la macro una «nariz mocosa»
La solución analiza los datos de la malla de la cama. Tras G29, calcula el valor medio de Z en todos los puntos de la malla. Si el promedio supera un umbral establecido (por ejemplo, 0.07 mm), es probable que haya un pegote de plástico en la boquilla. Una boquilla limpia da un promedio de Z cercano a cero, ya que la calibración anula la boquilla al nivel de la cama.
Cómo funciona:
- Carga el perfil de malla (predeterminado 'kamp').
- Calcula la media aritmética de todas las coordenadas Z.
- Si promedio > umbral, repite la limpieza y recalibra.
- En fallo repetido—detiene la impresión.
Establece el umbral por encima del ruido del sensor y la expansión térmica, pero por debajo de la altura de la primera capa. Recomendado: 0.07–0.1 mm.
Integración paso a paso en Klipper
Añade la macro _CHECK_NOZZLE_DIRTY a tu archivo 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 %}
Luego, añade la llamada a la macro en PRINT_START justo después de G29:
G29 ; Bed mesh calibration
_CHECK_NOZZLE_DIRTY PROFILE=kamp HOTEND={hotendtemp}
Los registros de Klipper mostrarán el estado de la boquilla. Ejemplo:
Mesh Bed Leveling Complete
...
WARNING: Nozzle dirty (Z-avg: 0.136). Attempting wipe...
Notas clave de configuración
- Valor del umbral: Comienza en 0.07 mm. Ajusta según tu impresora, tolerancia del sensor y filamento.
- Calibración de la cama: La macro necesita calibración previa de la cama. Si la saltas, el promedio de Z estará desfasado.
- Límite de reintentos: Se permite un reintento de limpieza. El segundo fallo detiene la impresión.
- Pruebas: Introduce una galga de 0.1 mm debajo de la boquilla durante la calibración para probar.
Esta macro ahorra tiempo—especialmente en operación remota—y mejora las tasas de éxito de las impresiones.
— Editorial Team
Aún no hay comentarios.