Retour à l'accueil

Solution au « nez morveux » sur Qidi Q2 | Macro Klipper

L'article décrit la solution au problème de « nez morveux » sur l'imprimante 3D Qidi Q2. Une macro Klipper est présentée qui vérifie automatiquement la propreté de la buse avant l'étalonnage du lit. L'intégration de la macro améliore la fiabilité d'impression et fait gagner du temps.

Comment réparer le « nez morveux » sur Qidi Q2 : vérification automatique de la buse
Advertisement 728x90

# Vérification automatique de la propreté de la buse sur Qidi Q2 : Résolution du problème du « nez morveux »

Les propriétaires d'imprimantes 3D Qidi Q2 rencontrent souvent le problème du « nez morveux » — un blob de plastique sur la buse qui fait déclencher prématurément la cellule de charge. Cela entraîne un échec de la calibration du plateau et l'échec de la première impression. Voici une solution : une macro Klipper qui vérifie automatiquement la propreté de la buse et répète le nettoyage si nécessaire.

Pourquoi le nettoyage standard de la buse Qidi Q2 est insuffisant

L'imprimante Qidi Q2 dispose d'une cellule de charge pour détecter le contact avec le plateau. Lors de la préparation de l'impression, elle purge la buse, la refroidit à 140 °C et la brosse pour la nettoyer. Cependant, à cette basse température, un blob de plastique solide peut persister sur la buse. Lorsque le nivellement du plateau (G29) suit, le capteur se déclenche trop tôt, décalant tout le maillage du plateau vers le haut. La première couche s'imprime alors en plein air sans aucune adhésion.

La macro PRINT_START standard ignore ce problème. Elle nettoie la buse, ajuste ensuite l'inclinaison Z et lance G29, mais une buse sale corrompt les données de calibration. Cela affecte le plus l'impression à distance, où vous ne pouvez pas inspecter visuellement la buse.

Google AdInline article slot

Comment la macro détecte un « nez morveux »

La solution analyse les données du maillage du plateau. Après G29, elle calcule la valeur moyenne Z sur tous les points du maillage. Si la moyenne dépasse un seuil défini (par exemple, 0,07 mm), il y a probablement un blob de plastique sur la buse. Une buse propre donne une moyenne Z proche de zéro, car la calibration ramène la buse au niveau zéro du plateau.

Voici comment ça marche :

  • Charge le profil de maillage (par défaut 'kamp').
  • Calcule la moyenne arithmétique de toutes les coordonnées Z.
  • Si moyenne > seuil, elle nettoie à nouveau et recalibre.
  • En cas d'échec répété — arrête l'impression.

Réglez le seuil au-dessus du bruit du capteur et de la dilatation thermique, mais en dessous de la hauteur de la première couche. Recommandé : 0,07–0,1 mm.

Google AdInline article slot

Intégration étape par étape dans Klipper

Ajoutez la macro _CHECK_NOZZLE_DIRTY à votre fichier 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 %}

Ensuite, ajoutez l'appel de la macro à PRINT_START juste après G29 :

G29 ; Bed mesh calibration
_CHECK_NOZZLE_DIRTY PROFILE=kamp HOTEND={hotendtemp}

Les logs Klipper afficheront l'état de la buse. Exemple :

Google AdInline article slot
Mesh Bed Leveling Complete
...
WARNING: Nozzle dirty (Z-avg: 0.136). Attempting wipe...

Notes importantes pour la configuration

  • Valeur du seuil : Commencez à 0,07 mm. Ajustez pour votre imprimante, tolérance du capteur et filament.
  • Calibration du plateau : La macro nécessite une calibration du plateau au préalable. Si vous la sautez, la moyenne Z sera fausse.
  • Limite de réessai : Un seul nettoyage de réessai autorisé. Un second échec arrête l'impression.
  • Test : Glissez une jauge de 0,1 mm sous la buse pendant la calibration pour tester.

Cette macro fait gagner du temps — surtout pour l'utilisation à distance — et améliore les taux de réussite des impressions.

— Editorial Team

Advertisement 728x90

Lire ensuite