Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Heaters Stay on after "Move exceeds maximum extrusion" with hotend melting the part. #3666

Closed
bung69 opened this issue Dec 22, 2020 · 26 comments
Labels

Comments

@bung69
Copy link

bung69 commented Dec 22, 2020

Hi, Just had my printer stop due to a "Move exceeds maximum extrusion" error. - my fault as I forgot to change the nozzle size in the config. no problem there.

However the printer just stopped without disabling heaters. is that expected behaviour? I assume / hope the heaters will eventually time out?

Thanks

Matt

@klipper-gitissuebot
Copy link

Hi @bung69,

It did not look like there was a Klipper log file attached to this ticket. The log file has been engineered to answer common questions the Klipper developers have about the software and its environment (software version, hardware type, configuration, event timing, and hundreds of other questions).

Unfortunately, too many people have opened tickets without providing the log. That consumes developer time; time that would be better spent enhancing the software. If this ticket references an event that has occurred while running the software then the Klipper log must be attached to this ticket. Otherwise, this ticket will be automatically closed in a few days.

For information on obtaining the Klipper log file see: https://github.com/KevinOConnor/klipper/blob/master/docs/Contact.md

The log can still be attached to this ticket - just add a comment and attach the log to that comment.

Best regards,
~ Your friendly GitIssueBot

PS: I'm just an automated script, not a human being.

@bung69
Copy link
Author

bung69 commented Dec 23, 2020

@github-actions
Copy link

Hello,

It looks like there hasn't been any recent updates on this
Klipper github issue. If you created this issue and no
longer consider it open, then please login to github and
close the issue. Otherwise, if there is no further activity
on this thread then it will be automatically closed in a few
days.

Best regards,

~ Your friendly GitIssueBot

PS: I'm just an automated script, not a human being.

@github-actions github-actions bot added the Stale label Jan 14, 2021
@jman1o1
Copy link

jman1o1 commented Jan 20, 2021

Just experienced the exact same scenario. Seems like a major safety issue.

@github-actions github-actions bot removed the Stale label Jan 21, 2021
@monoxide13
Copy link

Just experienced the exact same scenario. Seems like a major safety issue.

Same

@github-actions
Copy link

Hello,

It looks like there hasn't been any recent updates on this
Klipper github issue. If you created this issue and no
longer consider it open, then please login to github and
close the issue. Otherwise, if there is no further activity
on this thread then it will be automatically closed in a few
days.

Best regards,

~ Your friendly GitIssueBot

PS: I'm just an automated script, not a human being.

@github-actions github-actions bot added the Stale label Feb 26, 2021
@KevinOConnor
Copy link
Collaborator

Responding to an error like this is typically handled by OctoPrint. However, I agree Klipper could do a better job now that many users are using moonraker and mainsail/fluidd. Adding a better default behaviour is something we will look at adding.

-Kevin

@damaddin
Copy link

+1 for me, had the same issue using fluidd. I would expect Klipper to be failsafe and switch the extruder off after some time - i didnt check that.

I wanted to add, the problem "Move exceeds maximum extrusion" was caused by my SuperSlicer Profile, derived from an Ender3 Profile, that somehow had custom G-Code added:

M83 ; extruder relative mode

but then generated absolute coordinates. Changing this to M82 and also removing G92 E0 on the layer change custom G-Code fixed the issue.

@dudeofawesome
Copy link

dudeofawesome commented Jan 2, 2022

+1 from me too. Just had it destroy a build platform due to leaving the heater and bed on with the nozzle oozing PETG onto the bed. Definitely should fail-safe with the heaters turning off in this event.

Edit: using Moonraker + Fluidd

@vladbabii
Copy link

vladbabii commented Mar 8, 2022

Just had the same issue and managed to destroy a pei sheet. Could we have an option to run some gcode on errors that stop the print, with an error code as a parameter? This way we can handle any possible issues in the best way for that printer

@Sineos
Copy link
Collaborator

Sineos commented Mar 8, 2022

Could we have an option to run some gcode on errors that stop the print, with an error code as a parameter? This way we can handle any possible issues in the best way for that printer

I second such a flexible approach. There is one instance, where I really would like to have the (bed)heater staying turned on:
With one of my printers I'm using
SCREWS_TILT_CALCULATE MAX_DEVIATION=0.02
which tends to error out if the heat bed is not fully heat-soaked (or if I had to force off the last print from the bed). Here it would be really annoying if the heater gets turned off.

@hamster65
Copy link

It would be usefull to me to switch off a wifi plug when there is an error with the heaters or sensors. Should be possible with this idea.... Right now it switches off for any error, such as "movement out of range". Very annoying, because it cuts all power, including the raspberry.

@bwittig
Copy link

bwittig commented Mar 22, 2022

The heaters also stay on after a TMC error (GSTAT 0...1) - A similar solution would be good for that too.
(Still chasing the error - probably a bad connection on the motor?)

@bernhardberger
Copy link

bernhardberger commented Apr 25, 2022

Responding to an error like this is typically handled by OctoPrint. However, I agree Klipper could do a better job now that many users are using moonraker and mainsail/fluidd. Adding a better default behaviour is something we will look at adding.

-Kevin

Is it possible to have klipper itself handle security features? I find it a bit "dangerous" that it has to be handled by the frontend on a separate hardware that can fail for numerous reasons.

Imho it should cut all power on the board where klipper mcu code itself runs in the case of a hardware failure :/

@lmamakos
Copy link

A thing that I've done is to use the klipper Idle Timeout macro to turn off the heaters and otherwise "safe" the printer. Of course, this means that it'd be great if there were no errors in that macro, and if the rest of klipper crashed, then this macro likely doesn't get run, either.

In my case, I turn off the hotend and bed heaters the usual way by setting their temperature to zero. And I also have relays in series with those heaters connected to GPIO pins on the Raspberry Pi that also use to "arm" and "disarm" the hot bits. So even with a shorted MOSFET, I can interrupt power to the heaters. Or a crashed firmware, since the relays are connected to GPIO pins on the Raspberry Pi, while the MOSFET devices are driven from the MCU.

A more robust solution might be to have some sort of watchdog timer implemented in the klipper firmware, associated with the GPIO pin that's driving a heater. And some periodic command from the klipper host to reset it, otherwise the firmware would take some action (set PWM to zero, or whatever.)

@pedrolamas
Copy link
Contributor

The bare minimum I would expect is for something like this to call CANCEL_PRINT - or at least give me an option to make it so!

Best case scenario, I would propose a new ERROR_HANDLER macro would run and inside of it we would check what the error was and handle however we want to (most likely, call CANCEL_PRINT)

@pedrolamas
Copy link
Contributor

pedrolamas commented Jun 3, 2022

With #5491 now merged, we now have a way to mitigate the above issue, by adding the following to the virtual_sdcard section:

[virtual_sdcard]
; other stuff here...
on_error_gcode:
  CANCEL_PRINT

This will be enough to make sure that a "Move exceeds maximum extrusion" error cancels the print and turns all heaters off!

@OzzieOrca
Copy link

I experienced this with SuperSlicer due to this Monster Gap Fill issue supermerill/SuperSlicer#2214.

I'll try adding that on error hook, thanks :)

@kjkent
Copy link

kjkent commented Mar 8, 2023

Just commenting here after reading #5430 (comment) which links to this thread.

@Sineos — is this the same underlying issue? It seems that this issue keeps the heaters at their specified target, i.e. not reducing the targets to zero, whereas the linked issue had their HE temp almost double to > 450°C after an apparent Klipper error.

Also, you mention in the linked issue that GitHub is not the place for support questions, but does a Klipper error leading to thermal runaway not qualify as a significant development concern?

Aside from obvious user error, one would think that Klipper should fail safe rather than forcing the heaters on an in uncontrolled manner. Just voicing my concern that this potential serious safety issue seems overlooked.

@kjkent
Copy link

kjkent commented Sep 24, 2023

@KevinOConnor apologies for tagging you directly, I was just looking over my old commented issues that remain open, and #5430 has stuck in the back of my mind since reading it earlier this year -- it seems @jdanders had a thermal runaway but the issue was closed as being not development-related, which I posit was an erroneous move. I understand this is a separate issue, but @Sineos linked this issue in marking it 'not-for-github'. The linked issue, however, had the hotend continue to increase in temp rather than remain at its target.

Thank you for your time/consideration.

@jdanders
Copy link

Hi @kjkent, to provide more context, the full diagnosis was done here on discourse: https://klipper.discourse.group/t/how-do-i-figure-out-why-mcu-was-disconnected/2634

The final conclusion was that the MCU overheated. I don't know MCU code well enough to know what's possible in that situation, but there are some comments about watchdog and scheduler code gaps. Once I hardwired the MCU cooling fan to "always on" the problem has not happened again.

Thanks for raising the issue again -- if an improvement can be made that prevents this it could save someone's house! 🔥

@kjkent
Copy link

kjkent commented Sep 25, 2023

@jdanders thank you for this -- I really appreciate it! I'm currently learning embedded C but I don't know enough either to add any value to the discussion, but I'll definitely look through it, thank you.

PS - Absolutely no disrespect intended to @Sineos or anyone else in my bringing this up. Just erring on the side of caution.

@KevinOConnor
Copy link
Collaborator

KevinOConnor commented Jan 23, 2024

FYI, the functionality to disable heaters (or take other actions) on an error in virtual_sdcard was added in PR #5491.

-Kevin

Copy link

Hello,

It looks like there hasn't been any recent updates on this
Klipper github issue. If you created this issue and no
longer consider it open, then please login to github and
close the issue. Otherwise, if there is no further activity
on this thread then it will be automatically closed in a few
days.

Best regards,

~ Your friendly GitIssueBot

PS: I'm just an automated script, not a human being.

@github-actions github-actions bot added the Stale label Feb 27, 2024
@jdanders
Copy link

jdanders commented Feb 27, 2024

@KevinOConnor do you see PR #5491 as a solution to this thermal runaway case? This was fixed by making sure the MCU cooling fan is always on, so I assume it's a case of losing the MCU entirely when it overheated. My earlier comment has all the details.

The error in virtual_sdcard feature wouldn't work on that case, right? If not, is there any solution possible for this sort of error?

Edit: Oops, I just realized this isn't my issue thread, #5430. Sorry, I got the emails and assumed it was on my issue.

@github-actions github-actions bot removed the Stale label Feb 28, 2024
Copy link

github-actions bot commented Apr 3, 2024

Hello,

It looks like there hasn't been any recent updates on this
Klipper github issue. If you created this issue and no
longer consider it open, then please login to github and
close the issue. Otherwise, if there is no further activity
on this thread then it will be automatically closed in a few
days.

Best regards,

~ Your friendly GitIssueBot

PS: I'm just an automated script, not a human being.

@github-actions github-actions bot added the Stale label Apr 3, 2024
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Apr 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests