Hotend temperature overshot by 100C during wait for temp command

Basic Information:

Printer Model: Custom-built printer with Phaetus Rapido UHF hotend
MCU: Custom RP2040-based board
Host: Raspberry Pi 3

klippy.log (583.3 KB)

After manually preheating the printer via Mainsail and waiting for it to reach the set temperatures (100C bed / 250C hotend,) I uploaded a gcode file. Shortly after starting the print, I went to check on the printer and noticed that the enclosure was full of smoke, and checked Mainsail to see a shutdown message (at line 963 of klippy.log) indicating that the hotend temperature had reached 354C. On lines 932-933 (time 210511s), the log shows that the hotend overshot the target temperature of 250C by over 100C in only one second while the wait for temp command was executing (either M190 or M109, not sure exactly how to interpret the log). Heating this quickly seems physically implausible (at a starting temp of 250C, this hotend heats at about 5C/second at 100% power), but the hotend definitely reached at least 350C judging by the amount of smoke produced. This suggests to me that the software and/or firmware froze for some time and the timestamps in the log may not be accurate.

I clicked the “firmware restart” button in Mainsail quickly (according to the log, about 20 seconds after the initial shutdown) and the firmware immediately shut down again because the hotend temperature was still reading around 350C (see lines 3066 and 3486-3490 of the log.) I then turned off the printer completely and waited for it to cool down before power cycling.

This printer has been running with Klipper for several thousand hours with no major instabilities. I am confident that this is not a hardware issue for the following reasons:

  • The thermistor connector on the toolhead failed <100 print hours ago, causing random print failures due to MCU shutdown, and I replaced it and there were no similar issues since
  • The printer worked fine after power cycling when this issue occurred (hotend temperature control stable to within +/-0.5C over several hours of printing)

What if your thermistor was lying to you, how would that manifest itself? Does the monitoring also show current level going to the heater? Honest question, please educate me.

Please read the post and the log. The hotend temperature appears to have actually reached at least 350C on account of the smoke and the next ~50mm I extruded coming out burnt and crumbly. I heated the hotend to its maximum rated temperature of 290C for 30 seconds with the same filament afterwards as a test; only a slight amount of smoke was produced, and the extruded material appeared normal. The thermistor readings were stable at 250C up until the failure and were stable when the firmware was restarted 20 seconds later, showing temps around 350C and slowly decreasing. After cooling down, neither forcefully wiggling the wiring harness going to the toolhead or printing for several hours caused any anomalies with the temperature reading, which almost completely rules out a broken wire or bad connection being the issue.

I have only used klipper for motion control, so I have no knowledge of the temperature control monitoring. Thank you for enlightening me. No disrespect intended.

Some points I noticed:

The MCUs run on Klipper v0.12. and the host on Klipper v0.13.

You raised the max_error in [verify_heater]

Even when the temperature of the hotend is reached, it is still powered by over 60%

Do you use a silicone sock?
Do the part cooling fan and/or the heat brake fan effect the hotend block?