Drucker
Welchen Drucker hast du und wie viele Extruder?
Hotend
Filament, Düse und Extruder-Kalibrierung.
Filament
Nur bei Dual: Filament-Typ und Temperaturen für den Düsenversatz-Test.
Anschlüsse
Serielle Verbindung zum Board und Z-Endstop.
DMS – Dehnungsmesstreifen (optional)
Notfall-Pause, Flow-Kompensation und Live-Kurve. Du kannst diese Seite überspringen.
Ergebnis
Prüfe die Dateien, lade sie herunter und lege sie auf den Pi nach ~/printer_data/config/.
- Z-Offset und Bed Mesh (
bed_calibrate) - PID für Düsen und Bett (
PID_Tuning_…) - Input Shaper
DMS (Dehnungsmesstreifen) einstellen und bedienen
Der DMS (Dehnungsmesstreifen) misst, wie stark die Düse gegen das Bett oder gegen das Filament drückt. Daraus entstehen drei Funktionen (dazu optional die Heißmessung des Z-Offsets): Sense Offset (Z-Korrektur in der ersten Schicht), Notfall-Pause und Flow-Kompensation. Die beiden letzten sind optional (Schritt „DMS“).
1. Einbau in Kürze
- Datei
rf1000_pressure_guard.pynach~/klipper/klippy/extras/auf dem Raspberry Pi kopieren (liegt im Klipper-ForkDennis02121978/klipper). - Im Schritt „DMS“ die Funktion aktivieren und die neu erzeugte
printer.cfgverwenden. Die Reihenfolge ist wichtig:[rf1000_pressure_guard]steht vor[temperature_sensor Digits]. - Dienst neu starten:
sudo systemctl restart klipper. EinRESTARTim Mainsail lädt bereits geladene Python-Module nicht neu und führt bei geänderten Modulen zu Fehlern. - Nur im Standby neu starten, nie während eines Drucks.
2. Werte messen (zuerst, bevor du Grenzen setzt)
Alle Werte sind in der Einheit des Sensors (last_force). Die rohen „Digits“ der alten Firmware passen nicht 1:1,
miss deshalb neu.
- Ruhewert: Im Terminal
LCP_READmehrfach aufrufen, solange nichts drückt. Normal sind kleine Werte um 0 (Rauschen von etwa ±1). Beim Start wird der erste Wert als Nullpunkt genommen, der Drucker muss dabei ruhig stehen. - Kurve beobachten: Mit
Digitsin Mainsail (Temperatur-Diagramm, Einheit dort fest „°C“, gemeint ist die Kraft) einen normalen, guten Druck mitverfolgen. Notiere dir den höchsten und den niedrigsten Wert im sauberen Betrieb. - Fehlerfall messen: Wie hoch geht der Wert bei Düsenverstopfung oder wenn die Düse in das Bett drückt? Das ist deine Obergrenze.
- Rahmen: Die Grenzen müssen im Messbereich liegen.
max_abs_force(Standard 5000) bestimmt die Messkraft beimPROBE. Der Bereichsschutz des Sensors ist getrennt davon mitadc_max_abs_force(Standard im Generator 8000) einstellbar. Liegtemergency_maxdarüber, stoppt Klipper mit „ADC out of range“, bevor die Pause greift.
3. Notfall-Pause
Die Pause löst aus, wenn der Mittelwert der letzten emergency_samples Messwerte unter emergency_min
oder über emergency_max liegt. Bei 16 Messungen pro Sekunde sind 5 Werte etwa 0,3 Sekunden.
| Einstellung | Bedeutung |
|---|---|
emergency_min | Grenze nach unten, immer ≤ 0. Beide Grenzen 0 = aus. |
emergency_max | Grenze nach oben, immer ≥ 0. |
emergency_samples | Mehr Werte = ruhiger, aber später. Weniger = schneller, aber anfälliger für Ausreißer. |
pause_gcode | Wird nach der Pause-Anforderung ausgeführt, normalerweise dein PAUSE-Makro (parkt den Kopf). |
Sie löst nur aus, wenn gedruckt wird (Status „printing“), alle Achsen referenziert sind und nicht schon pausiert ist. Beim Heizen, Homen oder von Hand Filament einziehen passiert nichts.
Sicher testen:
- Hotend kalt lassen, nicht heizen.
- Eine kleine G-Code-Datei nur mit Leerfahrten (kein Aufheizen, kein Extrudieren) starten.
- Mit engen Grenzen, z. B.
RF_EMERGENCY_PAUSE MIN=-30 MAX=30, die Düse während der Fahrt mit der Hand leicht belasten. Klipper meldet „emergency pause“ und pausiert. - Mit
RESUMEfortsetzen oder den Druck abbrechen. Danach echte Grenzen setzen.
Wichtig: Klipper puffert Bewegungen. Die Pause greift deshalb später als im Interrupt der alten Firmware, geschätzt ein bis zwei Sekunden nach dem Ereignis. Sie ist ein Schutz bei Verstopfung oder Verklemmen, kein Ersatz für den Not-Halt.
4. Flow-Kompensation
Je stärker die Kraft (Betrag), desto mehr werden Extrusion (M221) und Vorschub (M220) verändert.
Unter flow_min passiert nichts, über flow_max gilt die volle Korrektur, dazwischen steigt sie linear.
| Einstellung | Bedeutung |
|---|---|
flow_min / flow_max | Kraft-Bereich, in dem die Korrektur ansteigt (Beträge, die Reihenfolge ordnet die Seite). |
flow_percent | Extrusion bei voller Wirkung in % (−99 bis 99). Beispiel +10 = 10 % mehr Material. |
feed_percent | Vorschub bei voller Wirkung in % (−90 bis 99). Beispiel −20 = 20 % langsamer. |
flow_min_z | Korrektur erst über dieser Z-Höhe, damit die ersten Schichten unberührt bleiben. |
Der Vorschub wird in 1-%-Schritten alle 0,25 s angepasst, damit er nicht springt. Die Extrusion folgt sofort.
Vorgehen: Erst nur den Vorschub verringern (z. B. −10 %), bei steigender Kraft ist das die mildeste Maßnahme. Danach vorsichtig die Extrusion anheben und mit einem Probedruck die Wirkung prüfen. Immer nur einen Wert ändern.
Slicer-Werte bleiben erhalten: Setzt dein G-Code M220 oder M221, rechnet das Modul seine Korrektur darauf.
Mainsail zeigt deshalb den kombinierten Wert.
5. Sense Offset (Z-Korrektur)
Nach dem Aufheizen dehnen sich Hotend und Druckerteile aus, die Düse liegt dann näher am Bett als beim Kalibrieren. Das drückt die Düse in der
ersten Schicht ins Bett und erhöht die Kraft am DMS. [z_sense_offset] gleicht das aus, indem es den Abstand zwischen Düse und Bett im ersten Layer
schrittweise vergrößert (Z wird angehoben). Das Verfahren stammt von Nibbels/Wessix aus der Repetier-Firmware. Das Modul ist im Generator immer enthalten
und wird in PRINT_START mit Z_SENSE_OFFSET eingeschaltet.
So arbeitet die Regelung:
- Nur im ersten Layer: Aktiv ist sie nur, solange die Düse unterhalb von
max_z_heightist. Darüber wird nichts mehr geändert, der erreichte Offset bleibt bis zum Ende des Drucks bestehen. - Messung: Es wird über mehrere Messwerte (Standard 10) der Betrag der Kraft gemittelt, mit etwas Glättung. Die Einbaurichtung des DMS spielt daher keine Rolle.
- Nur anheben, nie zurück: Liegt die gemittelte Kraft über
force_threshold, wird der Abstand um jeweils 1 µm (step_size) oder mehr vergrößert. Sinkt die Kraft wieder (zum Beispiel bei Retracts), wird der Offset nicht zurückgenommen. Die Düse kommt dem Bett also nie näher als ohne Sense Offset. - Schrittweite: Bei mehr als 10 % über der Schwelle (
relative_tolerance) und steigender Kraft wird mit dem Überschuss größer korrigiert, höchstens 48 Schritte auf einmal. Je mehr Offset schon da ist, desto langsamer wird weiter korrigiert, damit nichts überschwingt. Bei kleinem Überschuss und fallender Kraft passiert nichts. - Obergrenze: Mehr als
max_z_offsetwird nie korrigiert. So wird eine Düse, die aus anderem Grund zu tief steht, nicht endlos angehoben. - Zurücksetzen: Jeder Aufruf von
Z_SENSE_OFFSETsetzt den Offset auf 0 und startet neu. Homing schaltet die Funktion aus.
| Einstellung | Bedeutung |
|---|---|
force_threshold | Kraft-Schwelle am DMS (Standard 4000, gleiche Einheit wie oben). Als Richtwert die Kraft des normalen Drucks nehmen und etwa 20 % oder 1000 Digits Reserve addieren. |
max_z_offset | Größte erlaubte Korrektur in mm (Standard 0,2; in der Repetier-Firmware 0,18). |
max_z_height | Nur bis zu dieser Düsenhöhe aktiv (Standard 0,33 mm, also im ersten Layer). |
Übrige Werte (n_average_force, smoothing, step_size, relative_tolerance, acuteness, max_steps_at_once)
haben sinnvolle Vorgaben, der Generator schreibt sie nicht. Bei Bedarf kannst du sie in der printer.cfg ergänzen.
6. Befehle zur Laufzeit
| Befehl | Wirkung |
|---|---|
LCP_READ | Aktuellen Kraftwert ausgeben. |
RF_EMERGENCY_PAUSE | Grenzen anzeigen. Mit MIN= und MAX= ändern, beide 0 schaltet aus. |
RF_FLOW_COMP | Einstellung anzeigen. Mit MIN= MAX= FLOW= FEED= ändern. |
Z_SENSE_OFFSET | Schaltet den Sense Offset ein und setzt ihn auf 0. Optional FORCE_THRESHOLD= und MAX_Z_OFFSET=. Steht schon in PRINT_START. |
HOT_Z_PROBE | Heißmessung des Z-Offsets (nur wenn im Creator aktiviert, siehe Abschnitt 10). MIN= und MAX= geben den Bereich des Zufallspunkts an. |
Änderungen mit RF_… gelten nur bis zum nächsten Neustart. Trage gute Werte in printer.cfg ein
(oder erzeuge die Datei hier neu).
7. Nach einer Notfall-Pause
- Ursache klären: Düse verstopft? Filament verhakt? Bett zu nah? Der Kopf ist über dein
PAUSE-Makro geparkt. - Beheben, Hotend wieder auf Temperatur bringen lassen, dann
RESUME. - Löst die Pause immer wieder bei normalem Druck aus, sind die Grenzen zu eng. Miss nach Punkt 2 („Werte messen“) neu.
8. Fehlersuche
| Meldung / Beobachtung | Ursache und Abhilfe |
|---|---|
Section 'rf1000_pressure_guard' is not a valid config section | Modul fehlt in klippy/extras/. Datei kopieren, Dienst neu starten. |
Unknown temperature sensor 'rf1000_force' | Entweder [rf1000_pressure_guard] steht hinter [temperature_sensor Digits],
oder der Dienst wurde nicht komplett neu gestartet (nur RESTART). sudo systemctl restart klipper. |
| Digits-Kurve zeigt „°C“ | Mainsail schreibt die Einheit bei Temperatursensoren fest. Gemeint ist die Kraft. |
| Digits-Kurve bewegt sich nur etwa einmal pro Sekunde | Mainsail fragt so oft ab. Für schnelle Werte LCP_READ verwenden. |
Klipper stoppt (Shutdown) statt zu pausieren: ADC (ADS1100) out of range | Die Kraft ist über den Bereichsschutz des Sensors gestiegen (max_abs_force, früher 5000), bevor die Notfall-Pause greifen konnte. In [rf1000_load_cell_probe] adc_max_abs_force: 8000 eintragen (Modul aus dem Fork, Dienst neu starten). Die Grenzen der Notfall-Pause müssen darunter liegen. Mit der Einstellung 8000 bleibt es unter dem Messbereich des Sensors (Kalibrierwert 8500). |
| Keine Pause trotz Überschreitung | Es wird nicht gedruckt, Achsen nicht referenziert, oder beide Grenzen stehen auf 0. |
| Pause löst zu oft aus | Grenzen zu eng oder emergency_samples zu klein. |
9. Orca Slicer: Einstellungen, Start- und End-G-Code
10. Z-Offset vor dem Druck (Heißmessung, optional)
Z wird beim Homing kalt gesetzt. Beim Aufheizen dehnt sich das Hotend aus, die Düse steht danach tiefer. Mit der Option im Schritt „Z-Endstop“
misst PRINT_START den Unterschied heiß und setzt den Z-Offset nur für diesen Druck.
- Nach dem Aufheizen wartet das Makro die eingestellte Zeit (Vorgabe 45 s), damit sich alles ausdehnt.
HOT_Z_PROBEwählt einen zufälligen Punkt mit X und Y zwischen den eingestellten Werten (Vorgabe 30 bis 50 mm).- 1. Messung mit
PROBE: reinigt die Düse, Filamentreste werden gegen das Bett gedrückt. Das Ergebnis wird nur angezeigt. - 2. Messung 2 mm weiter in X an einer frischen Stelle. Sie zählt: Offset = Messwert − Meshhöhe an dieser Stelle. Er wird mit
SET_GCODE_OFFSET Z=…gesetzt. - Danach folgen Prime Line und der Sense Offset, der nur noch den Rest im ersten Layer ausgleicht.
Voraussetzungen:
- Das Mesh wurde wie im Makro
bed_calibrateaufgenommen: Z=0 an einem Bezugspunkt, danach das Mesh. Sonst stimmt die Rechnung nicht. - Die aktive Düse ist aufgeheizt (Soll und Ist mindestens 170 °C). Ist sie kalt, bricht
HOT_Z_PROBEmit einer Fehlermeldung ab und es wird nicht gemessen. - Die Düse ist sauber und tropft nicht. Sonst misst der DMS Filament mit.
- Liegt der Punkt außerhalb des Meshes (
mesh_min, Standard Y 50), wird am Mesh-Rand gerechnet.
Schutz: Weicht der Offset um mehr als 0,5 mm ab, bricht das Makro mit einer Fehlermeldung ab und fährt die Düse hoch. Beide Messwerte stehen in der Meldung. Weichen sie stark voneinander ab, war die Düse vermutlich verschmutzt.
Beim ersten Mal den Drucker beobachten, Hand am Not-Aus. Die Option ist standardmäßig aus.
11. Y-Nullpunkt und Y-Home prüfen
In Klipper ist Y=0 die Vorderkante des Betts. Der Y-Home-Schalter liegt davor: beim RF2000 v2 10 mm, beim RF1000 und RF2000 20 mm
(position_endstop und position_min sind −10 bzw. −20). position_max ist die Betttiefe (RF2000 v2: 300 mm, RF1000 und RF2000: 245 mm).
- Nach dem Homing im Terminal
G1 Y0 F3000eingeben. Die Düse muss genau an der Vorderkante des Betts stehen. - Stimmt es nicht, den Wert „Y-Home vor dem Bett“ im Creator anpassen und die Datei neu erzeugen.
- Wurde der Y-Nullpunkt geändert, ist das gespeicherte Mesh um diese Strecke verschoben. Mesh neu aufnehmen (
BED_MESH_CALIBRATEbzw.bed_calibrate).
Beim RF2000 v2 bleiben vorne 15 mm für die Prime Line frei (285 mm bedruckbar). In Orca wird dieser Streifen als Sperrbereich eingetragen, den passenden Code findest du im Abschnitt Orca Slicer.