Automatische Überprüfung der Düsensauberkeit beim Qidi Q2: Lösung für das „schnoddrige Nase“-Problem
Besitzer von Qidi Q2 3D-Druckern stoßen häufig auf das „schnoddrige Nase“-Problem – einen Plastikklumpen an der Düse, der die Load Cell zu früh auslöst. Das führt zu einem Fehlschlag der Bettkalibrierung und zum Scheitern des ersten Drucks. Hier ist die Lösung: Ein Klipper-Makro, das die Düsensauberkeit automatisch prüft und bei Bedarf das Abwischen wiederholt.
Warum das standardmäßige Düsenauswischen beim Qidi Q2 nicht ausreicht
Der Qidi Q2-Drucker verfügt über eine Load Cell zur Erkennung des Bettkontakts. Während der Druckvorbereitung spült er die Düse aus, kühlt sie auf 140°C ab und bürstet sie sauber. Bei dieser niedrigen Temperatur kann jedoch ein fester Plastikklumpen an der Düse haften bleiben. Wenn dann die Bettnivellierung (G29) folgt, löst der Sensor zu früh aus und verschiebt das gesamte Bed Mesh nach oben. Die erste Schicht druckt dann in der Luft mit null Haftung.
Das standardmäßige PRINT_START-Makro ignoriert dieses Problem. Es wischt die Düse ab, passt dann den Z-Tilt an und führt G29 aus, aber eine schmutzige Düse verfälscht die Kalibrierungsdaten. Besonders schmerzhaft ist das beim Remote-Druck, wo man die Düse nicht mit dem Auge kontrollieren kann.
Wie das Makro eine „schnoddrige Nase“ erkennt
Die Lösung analysiert die Bed-Mesh-Daten. Nach G29 berechnet sie den durchschnittlichen Z-Wert über alle Mesh-Punkte. Überschreitet der Durchschnitt einen festgelegten Schwellwert (z. B. 0,07 mm), sitzt wahrscheinlich ein Plastikklumpen an der Düse. Eine saubere Düse liefert einen Z-Durchschnitt nahe null, da die Kalibrierung die Düse auf Betthöhe nullt.
So funktioniert es:
- Lädt das Mesh-Profil (Standard 'kamp').
- Berechnet den arithmetischen Mittelwert aller Z-Koordinaten.
- Bei Durchschnitt > Schwellwert: neu abwischen und neu kalibrieren.
- Bei wiederholtem Fehlschlag – Druck abbrechen.
Schwellwert über Sensorräuschen und thermischer Ausdehnung, aber unter Erste-Schicht-Höhe legen. Empfohlen: 0,07–0,1 mm.
Schritt-für-Schritt-Integration in Klipper
Fügen Sie das _CHECK_NOZZLE_DIRTY-Makro in Ihre gcode_macro.cfg-Datei ein:
[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 %}
Fügen Sie dann den Makro-Aufruf direkt nach G29 in PRINT_START ein:
G29 ; Bed mesh calibration
_CHECK_NOZZLE_DIRTY PROFILE=kamp HOTEND={hotendtemp}
Klipper-Protokolle zeigen den Düsenstatus. Beispiel:
Mesh Bed Leveling Complete
...
WARNING: Nozzle dirty (Z-avg: 0.136). Attempting wipe...
Wichtige Einrichtungshinweise
- Schwellwert: Mit 0,07 mm starten. An Drucker, Sensortoleranz und Filament anpassen.
- Bettkalibrierung: Makro braucht vorherige Bettkalibrierung. Überspringen und Z-Durchschnitt stimmt nicht.
- Wiederholungsgrenze: Ein Wiederholungsabwischen erlaubt. Zweiter Fehlschlag stoppt den Druck.
- Testen: Während Kalibrierung ein 0,1-mm-Fühlmaß unter die Düse schieben.
Dieses Makro spart Zeit – besonders im Remote-Betrieb – und steigert die Druck-Erfolgsrate.
— Editorial Team
Noch keine Kommentare.