User Tools

Site Tools


klipper_faq:drucker_klippern:04_drucker_einrichten

Drucker einrichten

Hardware

Prüft im Vorfeld eure Hardware. Sprich alles sollte solide verschraubt sein, nichts wackelt, klappert und der Rahmen ist fest / steif.

Rahmen / Gantry

Rahmen & Gantry (sofern vorhanden) sollten korrekt verschraubt sein. Es sollte auch nichts verzogen sein - also lieber 2x mehr mit dem Winkel alles kontrollieren.

Zudem sollte alles was sich bewegen kann auch relativ leicht beweglich sein. Ausgeschaltete Stepper haben zwar einen gewissen Grundwiderstand bei manueller Bewegung, aber trotzdem muss alles mit wenig Kraft beweglich sein.

Merke
Grundsätzlich kann man wohl sagen, dass ein schlecht aufgebauter Rahmen (und / oder Gantry) kaum vernünftig kalibriert werden kann. Also lieber vorher 2x nachmessen! :!:

Riemen Spannung

  • Nicht den Rahmen verziehen beim Spannen!
  • Riemen sollten auch nicht zu locker sein
  • drauf achten das der Riemen auf mit Antrieb seine Form behält
  • ganz grobe Faustregel .. Auf ca. 25cm Riemen sollte der Riemen ohne größere Kraft ca. 5-10mm eindrückbar sein.
  • Belt Tensionmeter können helfen
  • Beim Zupfen sollte eher ein dumpfer Ton von 80-110Hz entstehen

Vorab Checks

Temperaturen

  • prüfen ob die Temperaturn in der Oberfläche korrekt angezeigt werden
  • prüfen das die Temperaturen der Düse und des Heizbetts (falls vorhanden) angezeigt werden und nicht ansteigen
  • :!: Wenn ein Anstieg erkennbar ist, sofort den Drucker abschalten. In dem Fall ist der Ausgang aktiv und muss in der Konfiguration umgedreht werden!
  • Falls die angezeigten Temperaturen nicht korrekt sind, überprüfe die Einstellungen für sensor_type und sensor_pin der Düse und/oder des Heizbetts

Notstop M112

  • Notstop mit M112 testen
  • Restart der Firmware durch FIRMWARE_RESTART
  • Temperaturen müssen jetzt wieder sauber ausgelesen werden. Wenn nicht → siehe vorheriger Schritt

Heizelemente

  • Extruder Heizelement prüfen indem wir 50 Grad vorgeben
  • Wenn der Extruder aufheizt kann man mit Cooldown (oder 0 Eingabe) den Heizvorgang wieder abbrechen
  • Wenn die Temperatur nicht ansteigt, die Einstellung heater_pin in der Konfigurationsdatei überprüfen
  • Wenn der Drucker über ein beheiztes Bett verfügt, die vorherigen Schritte mir dem Druckbett durchführen
  • Prüfen ob die Lüfter richtig sind (Bauteil, Hotend)

Schrittmotor Enable Pins

  • Prüfen das die Motoren sich frei bewegen lassen
  • Sollte das nicht der Fall sein M84 in der Konsole eingeben
  • Sollten sich die Motoren dann immer noch nicht frei bewegen lassen muss der enable_pin in der Konfiguration des entsprechenden Schrittmotors mit einem ! versehen werden.
  • Bei den meisten handelsüblichen Schrittmotortreibern ist der enable_pin als “active low” konfiguriert. Daher sollte dem Pin ein “!” vorangestellt sein (zum Beispiel: “enable_pin: !PA1”).

Endstops

  • Alle Achsen so bewegen das kein Endstop gedrückt ist
  • QUERY_ENDSTOPS in der Konsole absetzen
    Beispiel: 
    x:TRIGGERED y:open z:TRIGGERED
  • Die Endstops sollten den Status “open” (offen) melden
  • Die Endstops der reihe nach drücken und schauen ob sich der Status ändert - “TRIGGERED” (ausgelöst)
  • Meldet ein Endstop TRIGGERED obwohl er nicht gedrückt ist, muss der Pin endstop_pin invertiert werden. Das passiert mit einem ! vor dem Pin (oder das ! wegnehmen wenn eins da ist)
  • Meldet der Endstop gar keine Änderung bei QUERY_ENDSTOPS muss zunächst der Pin geprüft werden in der Konfig. Ist der Pin richtig, kann es mitunter helfen den Pullup zu aktivieren. Das erfolgt mit einem ^ vor dem Pinnamen

Schrittmotoren

  • Die TMC Treiber kann man prüfen indem man DUMP_TMC STEPPER=<stepper> absetzt
    Bsp:
  • alle Schrittmotoren mit STEPPER_BUZZ testen
    Beispiel für Stepper X : STEPPER_BUZZ STEPPER=stepper_x
  • Der Schrittmotor bewegt sich nur 1mm vor und zurück!
  • Wenn sich der Schrittmotor nicht bewegt ist ggf. der enable_pin und / oder der step_pin nicht korrekt.

Extruder Motor

  • Extruder auf passende Filament Temperatur manuell vorheizen
  • In MainSail dann mit der Extruder Ansicht versuchen Filament zu extrudieren
  • Wenn die Drehrichtung falsch ist muss der dir_pin in der Konfig angepasst werden.
  • Sollte sich gar nichts bewegen ist ggf. der enable_pin und / oder step_pin falsch

Kalibrierungen

Motor Strom berechnen

Bett Abmessungen / Endstops

  • Die Normalkonfiguration für einen Drucker besagt das Position 0,0 vorne links ist!
  • Stellt die richtige kinematics ein! Wenn das falsch ist, könnt ihr nicht mehr logisch nachvollziehen was der Drucker da “treibt” :-)
  • für jeden Endstop muss folgendes definiert werden
    position_min: 0                     # Minimum limit
    position_endstop: 300               # Position des Endstop
    position_max: 300                   # Maximum mechanical limit 
  • Bei einem z_zirtual_endstop (ihr verwendet also eine Probe …) entfällt position_endstop
  • position_endstop muss zwischen position_min und position_max liegen!
  • Fährt der Drucker beim Homen in die falsche Richtung, muss der dir_pin mit einem ! negiert werden.
  • Für CoreXY und CoreXZ gibt es ganz gute Schaubilder vom Voron:
    https://docs.vorondesign.com/build/startup/

Extruder

  • Am Extruder Eingang 120mm am Filament markieren
  • Jetzt 100mm in MainSail extrudieren lassen
    • Man muss dafür die min_extrude_temp: 10 runter setzen auf z.B. 10°C weil sonst kein Extrudieren möglich ist im kalten Zustand.
    • Im heißen Zustand mit Hotend muss man eh vorheizen!
  • Dann messen wie groß der Abstand noch ist zwischen Markierung und Extruder Eingang
  • Das Ergebnis im Rechner eintragen
    • https://docs.zerog.one/universal/klippercalculator (Calibrating rotation_distance on extruders)
    • 120mm sind vorgegeben
    • zweiter Eintrag ist das Messergebnis
    • und aus der printer.cfg auf dem [extruder] Teil holt ihr euch die alte rotation_distance und tragt sie im dritten Feld ein.
    • Dann auf Calculate
  • Den berechneten Wert jetzt wieder in der printer.cfg unter [extruder] bei rotation_distance eintragen.
  • Save & Restart und die Messung wiederholen. Passt es noch nicht genau mit 100mm, die Berechnung wiederholen

PID Tuning Hotend

  • Auf richtige Sensoren achten in der Konfig !
  • PID_CALIBRATE HEATER=extruder TARGET=230
  • Ergebnis (Beispiel)
    PID parameters: pid_Kp=27.393 pid_Ki=1.081 pid_Kd=173.603
    The SAVE_CONFIG command will update the printer config file
    with these parameters and restart the printer.
  • SAVE_CONFIG

PID Tuning Bett

  • Auf richtige Sensoren achten in der Konfig !
  • PID_CALIBRATE HEATER=heater_bed TARGET=60
  • Ergebnis (Beispiel)
    PID parameters: pid_Kp=70.799 pid_Ki=0.940 pid_Kd=1332.784
    The SAVE_CONFIG command will update the printer config file
    with these parameters and restart the printer.
  • SAVE_CONFIG

Endstop Phase

  • :!: Endstop Phase funktioniert nur wenn ihr Trinamic (TMC) Treiber habt und diese zur Laufzeit einstellen könnt (also mit UART oder SPI Anbindung!)
  • Mit “Endstop phase” wird verhindert das Endschalter mal einen hach zu früh oder zu spät auslösen. Die Konfiguration sorgt dafür das die Endstops immer möglichst gleich auslösen.
  • [endstop_phase] in der printer.cfg eintragen und den Drucker neu starten
  • Achsen homen
    G28
  • Kalibrierung durchführen
    ENDSTOP_PHASE_CALIBRATE
    Das Ergebnis im Log ist dann z.B.
    09:19 stepper_z: trigger_phase=79/128 (range 79 to 79)
    09:19 stepper_y: trigger_phase=5/64 (range 5 to 5)
    09:19 stepper_x: trigger_phase=1/64 (range 1 to 1)
    09:19 ENDSTOP_PHASE_CALIBRATE
  • Jetzt 4-5x den Kopf an unterschiedliche Positionen fahren und danach jeweils ein Homing durchführen
    G0 X10 Y10 Z10
    G28
    G0 X200 Y230 Z60
    G28
    G0 X50 Y100 Z80
    G28
    G0 X100 Y150 Z200
    G28
    G0 X200 Y10 Z120
    G28
  • Jetzt wieder ein ENDSTOP_PHASE_CALIBRATE
    09:25 stepper_z: trigger_phase=76/128 (range 73 to 79)
    09:25 stepper_y: trigger_phase=5/64 (range 4 to 5)
    09:25 stepper_x: trigger_phase=1/64 (range 1 to 1)
  • Die Werte sollten sehr ähnlich zum ersten Test sein.
  • Zum Speichern muss man die Achsen einzeln auswählen. Bei Cartesian, CoreXY typischerweise für stepper_z und bei Deltas für stepper_a, stepper_b und stepper_c.
    • ENDSTOP_PHASE_CALIBRATE STEPPER=stepper_z
  • Danach Speichert man das Ergebnis mit SAVE_CONFIG. Die Endstop Kalibrierungen wird dann automatisch geladen beim Druckerstart.

Z Offset

  • Der Z Offset dient als Einstellung für den “first Layer” Abstand
  • Endstops definieren die Grenzen vom Drucker
  • eine Probe dient zum Bett “abtasten”
  • Ein Drucker mit Gantry (CoreXY z.B.) macht ohne Probe keinen Sinn → Das Gantry würde nie gerade
  • Ohne Probe ist kein Autolevel möglich (Z Tilt, Quad Gentry Leveling)
  • Ohne Probe ist kein Bed Mesh möglich
  • Es kann beim Kalibrieren notwenig sein, den Z position_min (Stepper Z) auf einen negativen Wert zu setzen (position_min: -5).
  • Die Probe muss so eingestellt sein das sie das Bett erkennt bevor die Nozzle das Bett berührt! Und die Probe muss natürlich immer höher angebracht sein als die Nozzle.

Z Offset ohne Probe

  • Z Offset wird definiert über Z Endstop
  • alle Achsen Homen
    G28
  • Kopf in die Mitte fahren
    G0 X115 Y115 Z5
  • Manuelle Kalibrierung starten
    Z_ENDSTOP_CALIBRATE
  • Ein Blatt Papier (80g) auf das Druckbett legen
    Weitere Hinweise zum Papertest : https://www.klipper3d.org/Bed_Level.html#the-paper-test
  • Jetzt den Kopf langsam runter bewegen bis das Papier beim Verschieben “kratzt”
    In MainSail und auf KlipperScreen sieht man dazu einen passenden Dialog!
  • Z Offset übernehmen mit ACCEPT
  • stepper_z: position_endstop: 0.100
    The SAVE_CONFIG command will update the printer config file
    with the above and restart the printer.

    Z Offset speichern mit SAVE_CONFIG

  • Das Ergebnis steht in der printer.cfg am Ende
    #*# [stepper_z]
    #*# position_endstop = 0.100

Z Offset mit Probe

  • Z Offset wird definiert über Probe Z Offset
  • Gibt denn Abstand an wie weit es noch von Nozzle Spitze bis Druckbett ist wenn die Probe ausgelöst hat
  • Probe dient in der Regel als Virtual Z Endstop
  • Als Probe kann dienen: Klicky, BLTouch, Cartographer / Eddy Sensoren, induktive / kapazitive Sensoren, …
  • Klipper braucht eine [probe], [bltouch], [scanner] Konfiguration!
  • X und Y Offsets für die Probe bestimmen und in der printer.cfg eintragen
    Siehe https://www.klipper3d.org/Probe_Calibrate.html#calibrating-probe-x-and-y-offsets
    • Grundsätzlich kann man sagen …
      Probe ist links → X Offset ist negativ
      Probe ist rechts → X Offset ist positiv
      Probe steht weiter nach vorne als die Nozzle → Y Offset ist negativ
      Probe steht weiter nach hinten als die Nozzle → Y Offset ist positiv
  • position_endstop beim Z Stepper deaktivieren
  • endstop_pin beim Z Stepper auf probe:z_virtual_endstop setzen
  • [safe_z_home] auf Bettmitte setzen home_xy_position : 115,115
  • Test mittels
    G28
    PROBE
    :!: Hand immer auf Notaus oder Hauptschalter :-)
  • Alle Achsen homen
    G28
  • Z Offset kalibrieren
    PROBE_CALIBRATE
  • Er erfolgt ein Probing und danach macht man wieder den Papier Test
  • Wenn das Papier wieder an der Nozzle kratzt mit ACCEPT übernehmen
  • Mit SAVE_CONFIG speichern
  • Im Anschluss kann man noch die Genauigkeit ermitteln mit
    PROBE_ACCURACY
    Interessant ist am Ende die standard deviation, also die Abweichung im mm Zwischen den Messungen.

BLTouch Notes

Bett Leveln

mit Schrauben (Ohne Probe)

  • :!: Kein automatisches Leveln möglich!
  • In der printer.cfg folgendes einfügen
    [bed_screws]
    screw1                   : 30, 30
    screw2                   : 200, 30
    screw3                   : 200, 200
    screw4                   : 30, 200

    Die Positionen und die Anzahl entsprechen den Bettschrauben.

  • Kalibrierung aufrufen
    BED_SCREWS_ADJUST
  • Mit dem Papiertest die jeweilige Schraube so einstellen dass das Papier wirder leicht kratzt.
  • ADJUSTED auswählen wenn man Anpassungen gemacht hat an der Schraube, ACCEPT wenn die Schraube so passt ohne Anpassung.
  • Wenn alle Schrauben auf ACCEPT sind schließt sich der Dialog.

mit Schrauben (mit Probe)

mit Z Tilt (mehrere Z Motoren)

mit Quad Gantry Level (4 Z Motoren mit Gantry)

Bed Mesh

  • Bett Mesh kann keine Wunder bewirken. Ein verzogenes Bett / Rahmen wird nie perfekte Drucke liefern!
  • Z-Offset der Probe muss kalibriert sein.
  • Beispiel Konfig
    [bed_mesh]
    speed                    : 50              # Calibration speed
    horizontal_move_z        : 5               # Z-axis lift height before moving to the next probe point
    mesh_min                 : 20,20           # Minimum calibration point coordinates (X, Y)
    mesh_max                 : 210,210         # Maximum calibration point coordinates (X, Y)
    probe_count              : 7,7             # Number of sample points (7x7 = 49 points)
    mesh_pps                 : 2,2             # Additional sample points per segment
    algorithm                : bicubic         # Algorithm model
    bicubic_tension          : 0.2             # Bicubic interpolation tension, do not modify
  • Leveln und Kalibrieren
    • Achsen homen
      G28
    • ggf. Bett Leveln mit Z_TILT_ADJUST oder QUAD_GANTRY_LEVEL
      generell sollte das Bett so gut wie möglich gelevelt / gerade sein.
    • aktuelles Mesh löschen
      BED_MESH_CLEAR
    • Bett Mesh Kalibrierung durchführen
      BED_MESH_CALIBRATE
  • Kalibrierung für alle Filament Typen (PLA, PETG, ABS, …) und dort das Heizbett immer auf die passende Temperatur setzen (PLA 50°C, PETG 70°C, ABS 100°C, …).
  • Gespeichert wird das dann mittels
    • BED_MESH_PROFILE SAVE=Mesh_PLA
    • BED_MESH_PROFILE SAVE=Mesh_PETG
    • BED_MESH_PROFILE SAVE=Mesh_ABS
  • Nach jedem BED_MESH_PROFILE SAVE dann
    • SAVE_CONFIG

Input Shaper

Filament

Extrusion Multiplier (EM) ermitteln

temp - flow - pa

“Fingernageltest”

Preasure Advanced

Advanced

Determining Maximum Speeds and Accelerations

LED

klipper_faq/drucker_klippern/04_drucker_einrichten.txt · Last modified: 2025/03/02 07:59 by dominik

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki