Thermal runaway recovery
-
Well something was changed and the "old way" to recover from a thermal runaway - which happens on the pulse way too often does not work anymore. So turning the printer on and off and then autohome etc. Well here is what happened.
I am printing HIPS and this particular HIPS prints best at nozzle 270 Bed 100. I missed a bridge so the fan turned on cause that Hips bridges better with fan. Now the PULSE at that temp cannot handle a fan close to the bed with a print that is a big almost bed covering plate with holes so the Nozzle temp plummet and resulted in (log)
ok
N239215 G1 X154.29 Y77.96 Z5.09 E146.46*49Error:Thermal Runaway, system stopped! Heater_ID: 0
Error:Printer halted. kill() called!
N239216 M105*26
With the apropriate message on the screen so Like used I clicked ok (not resume cause that in any version including this one will make the printer try to go through the plate and off into a corner. So I turn printer on and off and issue (like it worked) and autohome (g28) followed by turning the bed and nozzle back on and waiting for them to come up to reasonable temp then just to make sure we are in absolute mode (like it was necessary until version 2.19.6) I issue a G90 to make sure we are in absolute mode and a M200 D1.75 as we are in volumetric mode and hit a resume after the temp for bed and nozzle is at a reasonable point. The nozzle drops a little and starts printing in air here is the logok
N142 G1 X0 Y0 F3000*75ok
N143 G1 Z205 E0.5 F12000*120ok
N144 M114*38X:0.00 Y:0.00 Z:205.00 E:0.50 Count X: 0 Y:0 Z:85993
ok
N145 G1 X0.1 Z204.99 F3600*126ok
N146 G1 X0.2*127ok
N147 G1 X4.59 Y2.2 Z204.98 E4.674*58ok
N148 G1 X8.97 Y4.4 Z204.97 E8.847*54ok
N149 G1 X13.36 Y6.6 Z204.96 E13.021*53ok
N150 G1 X17.75 Y8.8 Z204.95 E17.195*55ok
N151 G1 X22.14 Y11.01 Z204.89 E21.368*62ok
N152 G1 X26.52 Y13.21 Z204.87 E25.542*63As you can see from the Gcode it continues with the right X and Y cordinates and with the right Z coordinate +200 so the Z204.87 should be Z4.87. I verified with the underlying code from the gcode file from SLIC3R before bed leveling and the coordinates are Z5.12 so the 4.87 is with bed leveling applied.
What should be done (besides changing the hotend design to not have a thermal runaway.)
Option A which I call thermal runaway prevention. If the temp is dropping to lets say 4C below target do a retract and move the print head out of the way and park it and turn the fan off and see if it comes up to temp in a reasonable time - display a message on the vicky and MC saying "Attempt Thermal runaway recovery) or something like that. then if/when the temp comes back up - resume the print.
In case of a fault there currently is a Resume and OK button. Replace that with "Please reset your printer (turn on and off) and hit enter after you have done so. Then Ask if they want to resume or cancel. In both cases issue a g28 to go home if its resume do also a
G90
M104 S[temperature]
M190 S[bed_temperature]
M109 S[temperature]
To make sure it brings the temp up on bed and nozzle
if there was a M200 command at the beginning of the gcode - repeat it or repeat the whole start gcode without the purge. and then continue. This should not be too difficult therePlease advise what is the current proper code and I also tried a recovery from a thermal runaway without an autohome and as predicted it believes it is at 0,0,0 and tries to move through the build plate. and off the side of it. Try it by loading a filament that can take 270/100 in temp and print with full fan.