Einmal 42 und zurück > Allgemein > Thermal Runaway beim 3D-Drucker
Thermal Runaway beim 3D-Drucker
…oder warum es so wichtig ist, dass die THERMAL RUNAWAY PROTECTION auch wirklich aktiv ist.
Die Meldung, dass der eigene 3D Drucker in einen THERMAL RUNAWAY hineingelaufen ist, ist die Meldung, die man als Anwender am wenigsten sehen möchte. Immerhin sind dadurch oft mehrere Stunden Druckzeit sinnlos gewesen und das Filament hat sich von einem Moment zum anderen in Edelschrott verwendelt. In diesem Artikel wird kurz beschrieben, wie es zu einem Thermal Runaway kommen kann, wo eigentlich die Gefahren liegen und wie man die Ursache finden kann.
Was ist ein Thermal Runaway?
Ein Thermal Runaway ist ersteinmal ein Fehlerzustand des Druckers. Der würde gerne den Extruder oder das Druckbett auf eine bestimmte Temperatur bringen (aufheizen). Doch aus irgendeinem Grund wird die Zielemperatur nicht erreicht oder kann nicht gehalten werden. Nehmen wir mal an, der Drucker weiss, dass er das Bett um 0.25K/s aufheizen kann, dann erwartet er, dass das Initale Aufheizen von 20°C auf 60°C höchstens 160 Sekunden dauert. Ist aber nach 160+x Sekunden die gemessene Temperatur noch nicht erreicht, hat der Drucker ein Problem. Das Verhalten lässt sich bei Marlin beispielsweise über die Config-Optionen THERMAL_PROTECTION_*
, WATCH_TEMP_
und WATCH_BED_*
konfigurieren. einstellen.
Was können Ursachen sein und was ist daran gefährlich?
Von außen betrachtet, gibt es drei Effekte, die zu einem Thermal Runaway führen können:
- Die Heizung funktioniert nicht (korrekt) und heizt nicht ausreichend. Damit ist das Druckbett oder der Extruder zu kalt und der Druck möglicherweise verschissen. Möglicherweise löst sich noch das Modell vom Druckbett ab oder das Förderzahnrad des Extruders rutscht durch. Wirklich schlimme Dinge passieren nur in einem Bruchteil der Fälle, mehr dazu weiter unten.
- Temperatudiebstahl. Die Heizung funktioniert, der Temperaturfühler auch aber irgendetwas zieht mehr Energie aus dem Druckbett/Extruder als nachgeliefert werden kann. Dies passiert meist, wenn ein Lüfter direkt auf den Extruder oder aus geringer Distanz direkt auf das Druckbett bläst. Wenn man einen Fehler am 3D-Drucker ausschließen kann, dann kann man meist an den Einstellungen im Slicer den Lüfter bei den ersten Schichten reduzieren und alles klappt wieder. Meist tritt dieses Problem aber schon bei den ersten Schichten auf.
- Fehlerhafter Temperatursensor. In diesem Fall liefert der Temperatursensor eine zu niedrige Temperatur. Egal, wie stark nachgeheizt wird, glaubt der Temperatursensor die ganze Zeit, dass die Zieltemperatur nicht erreicht wurde und es wird munter mit maximaler Leistung geheizt. In Wirklichkeit ist die Zieltemperatur aber schon lange überschritten und der Drucker befindet sich möglicherweise in einem kritischen Betriebszustand. Die Folgen können von der Zerstörung des Druckers bis zu einem Besuch des ortsansässigen Löschzugs mit dem Alarmierungsstichwort „Wohnungsbrand MiG“ gehen.
Speziell Fall 1 und 3 möchte man nicht haben. Trotzdem gibt es immer noch einige Druckerhersteller, die in ihrer Firmware keine solche Fehleraufdeckung implementiert haben oder – obwohl sie Marlin benutzen – die Funktion deaktiviert haben. Ein prominentes Beispiel ist der Ender 3.
Der konkrete Fall
Bei einem relativ einfachen Modell kam es immer mal wieder vor, dass der Druck nach ca. 1h mit einem „Heating Failed: Bed“ abgebrochen wurde. Bei dem ersten Vorkommen denkt man noch an einen doofen EMV-Fehler (ich habe mit der Standbohrmaschine und der Kappsäge im gleichen Stromkreis gearbeitet). Dann klappte mal wieder ein Druck. Dann gingen zwei in Folge schief, jeweils nach ca. 45 Minuten. Am nächsten Tag funktionierte der erste Druck, der zweite und alle folgenden Drucke gingen schief. Abgesehen davon, dass kleine Kinder nur schwerlich bei dem ohrenbetäubenden Warnton im Fehlerfall schlafen können, wollte ich endlich mein letztes Teil drucken, das ich noch benötigte.
Diagnose
Zu diesem Zeitpunkt konnte ich schon sagen, dass das Problem offensichtlich schlimmer wurde. Ich hatte aber noch keine Ahnung, wie es zu dem Problem kam und was es genau war. Also Nochmal den Druckauftrag gestartet und dabei eine Kamera auf den 3D-Drucker gerichtet. Ich habe zwar immer eine, die das Modell filmt, mich interessierte aber mal das Drumherum. Zudem habe ich die serielle Kommunikation zwischen OctoPrint und meinem Drucker geloggt. Das sah dann etwa so aus:
Als mögliche Fehlerquellen(E1-E10) kamen nach ersten Überlegungen in Betracht (W1 = Unwahrscheinlich, W10 = Wahrscheinlich):
- Mikrocontroller, der das Heizen steuert defekt (W1)
- MOSFET, der das Signal vom Microcontroller nutzt, um die 12V Betriebsspannung durchzuschalten defekt (W2)
- Thermisches Problem beim MOSFET (Bauteil wird zu heiß und versagt dann) (W8)
- Problem im Zuleitungskabel zur Heizplatte (W6)
- Heizplatte defekt (W2)
- Temperatursensor defekt (W4)
- Thermische Kopplung zwischen Heizplatte und Temperatursensor unzureichend bei Bewegung/Thermischer beanspruchung (W6)
- Problem mit Sensorkabel (W6)
- Problem mit Sensorauswertung (W2)
- Softwarefehler (auszuschließen, da Firmware seit über 12 Monaten tadellos funktionierte)
Praktischerweise ließ sich der Fehler dieses mal direkt beim ersten Druck reproduzieren. Ein Blick auf den Temperaturgraphen zeigte folgendes Bild:
Aus diesem Temperaturverlauf ließen sich direkt einige Erkenntnisse ziehen. Der MOSFET war (trotz ausgeschaltetem Ventilator nicht wärmer als handwarm (E3 auf Wahrscheinlichkeit W5 reduziert, möglicherweise Vorschädigung). Es ist zwischen T1 und T2 ein nahezu linearer Abfall zu erkennen was einen Fehler im Sensorkabel und im Sensor ausschließt (E6, E8 und E9 raus). Da das Aufheizen und Halten der Temperatur über fast 30min gut funktioniert hat, war der MOSFET wohl vorher auch in Ordnung (E2 raus). Bleibt noch E1, E3, E4, E5, E7.
Dann die Videoauswertung. Hier konnte man sehen, dass bis T1 das Heizbett kontinuierlich per PWM bestromt wurde, da die LED mit ca. 2 Hz blinkte. Zwischen T1 und T2 war die LED komplett dunkel. Damit fiel E7 raus und das Problem konnte auf die Heizkomponenten reduziert werden.
Um bei den verbleibenden Fehlermöglichkeiten Licht ins Dunkle zu bekommen, wurde danach das Heizbett einem Stresstest ausgesetzt. Aufheizen, abkühlen, wieder heizen, hohe Temperatur (90°C) halten, usw. Während ich in der Küche Kaffee trank und auf dem Handy grade eine neue Temperatur vorgeben wollte, kam Kommisar Zufall zur Hilfe und ich konnte den Fehler sozusagen „in flagranti“ beobachten bevor die Thermal Runaway Protection zuschlug. Also Füße in die Hand nehmen, ab in den Keller und mal bei den Abgangsklemmen auf dem Druckerboard in Richtung Heizbett gemessen. Das Multimeter zeigte 12V, die LED war aber weiterhin aus. Damit fiel E3 final raus, ebenso E1 und E5. Also war das Zuleitungskabel schuld.
Einmal beherzt am Zuleitungskabel gewackelt und siehe da, die LED ging wieder an. Also das Kabel in der Schleppkette genauer begutachtet, teilweise rausgenommen, etwas mehr beim Heizbetrieb dran gewackelt und schließlich eine „Anormalie“ gefunden:
Also muss das Kabel getauscht werden. Kurzfristig kam da erstmal eine Wago-Klemme dran, da kein hochflexibles Kabel, das 12A Dauerstrom abkann, verfügbar war.
Aber was ist daran so gefährlich???? Das hier:
Das Foto zeigt einen Teil der Schleppkette, wo das Zuleitungskabel schon eine deutliche Spur in die Schleppkette hineingeschmolzen hat. Das heißt, wir haben hier mehr als 150°C an der Außenseite des Silikonummantelten Kabels gehabt.
Da wären wir wieder bei der Brandgefahr. Hätte mein Drucker keine Thermal Runaway Protection gehabt, wäre das vermutlich die nächsten hundert Betriebsstunden nicht aufgefallen. Ich hätte mich gelegentlich gewundert, warum sich der Druck vom Druckbett ablöst, hätte es aber auf falsche Parameter oder ein verschmutztes Druckbett geschoben. Bis es dann durch Zufall, Brandgeruch oder Flammenerscheinung aufgefallen wäre…..