Heater failure handling leads to potential cold extrusion



  • For some reason the firmware decided my hot end wasn't heating fast enough, declared a fault, and shut down the hot end heater. But nothing else stopped: the head kept moving and the print started - with a stone-cold hot end. Trying to shove filament through a cold hot end is bad for the printer. This is not a good response to thermal misbehaviour.



  • Anne
    You may need to increase the Timeout for the heating cycles I had that issue some time back?

    It is close to the end of the Config.G file IIRC

    Doug



  • Are you sure it tried to extrude? It does continue to move, but I don't think it extrudes anything in that case.



  • The gcode for heater timeout is M570 Snnn where S is the time in seconds. It may or may not be in your config.g. I think the default is 180 seconds (but I could be wrong) and I had to up mine for the Diamond hot end when I had a 12v heater to 240 seconds. So in my case I have M570 S240 in my config.g.

    If you set your slicer to put M109 Snnn (where nnn is the temperature you want the hot end to be) at the start of your gcode files, it will start the tool heating and wait for it to get up to temperature. So if you get a fault condition, it will never reach the target temperature and so will not start printing.

    HTH

    Ian

    Reason for edit - typos


  • administrators

    @peridot:

    For some reason the firmware decided my hot end wasn't heating fast enough, declared a fault, and shut down the hot end heater. But nothing else stopped: the head kept moving and the print started - with a stone-cold hot end. Trying to shove filament through a cold hot end is bad for the printer. This is not a good response to thermal misbehaviour.

    It's already on the firmware change list to stop the print when a heater fault is detected. Meanwhile, cold extrusion prevention will kick in when the temperature has dropped at enough, at 170C AFAIR.


Locked
 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.