klipper_faq:drucker_klippern:04_drucker_einrichten
Table of Contents
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.
- Infos zur Riemenspannung
https://www.3d-druckwelten.de/2017/12/14/riemen-richtig-spannen/ - 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
undsensor_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
- 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 derstep_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 / oderstep_pin
falsch
Kalibrierungen
Motor Strom berechnen
- Motorstrom sollte im Bereich 40-50% vom angegebenen Strom des Motors liegen
- Max. sollte man bei ca. 70% liegen.
- Links
stealthchop_threshold: 2000
setzen für weniger Krach
siehe https://www.klipper3d.org/TMC_Drivers.html
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 zwischenposition_min
undposition_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 alterotation_distance
und tragt sie im dritten Feld ein. - Dann auf Calculate
- Den berechneten Wert jetzt wieder in der
printer.cfg
unter[extruder]
beirotation_distance
eintragen. - Save & Restart und die Messung wiederholen. Passt es noch nicht genau mit 100mm, die Berechnung wiederholen
- Klipper Doku inkl. Formel : https://www.klipper3d.org/Rotation_Distance.html
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 derprinter.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 deaktivierenendstop_pin
beim Z Stepper aufprobe:z_virtual_endstop
setzen[safe_z_home]
auf Bettmitte setzenhome_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
- Einfahren
BLTOUCH_DEBUG COMMAND=pin_up
- Ausfahren
BLTOUCH_DEBUG COMMAND=pin_down
- Reset
BLTOUCH_DEBUG COMMAND=reset
- Sondermodelle / Clones siehe
https://www.klipper3d.org/BLTouch.html#bl-touch-clones
Bett Leveln
- Beim Bett Leveln kommt es auf den Drucker und die Anzahl der Z Motoren an, welche Variante ihr nutzen könnt.
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)
- Der Vorgang ist hier hinreichend beschrieben :
https://www.klipper3d.org/Manual_Level.html#adjusting-bed-leveling-screws-using-the-bed-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
oderQUAD_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