-
-
Notifications
You must be signed in to change notification settings - Fork 19.3k
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
Ignore intermittent errors in the MAX31855K (and MAX6675) thermocouple sensor. #18039
Ignore intermittent errors in the MAX31855K (and MAX6675) thermocouple sensor. #18039
Conversation
…5K. Require a set number of errors in series before triggering a fault. The default is set to 15 as this is the default in Sailfish firmware.
…rmocouple present.
Should be in conditionals_post.h so that it isn't called for all temperature settings. |
Tested this PR on the SKR1.3 and, it causes immediate MIN_TEMP |
What thermocouple amplifier are you using? The SKR1.3 does not have a thermocouple amplifier built into it. What happens when you use the same configuration without the patch? |
I use the Max31855 breakout board from Adafruit. |
Can you attach your config settings? Also, can you try with
and let me know if you still have the same problem? |
I cannot right now |
Currently at work. |
Thanks for the update, @Grogyan. Now merged. |
Description
Ignore intermittent errors in the MAX31855K (and MAX6675) thermocouple sensor. This replicates behavior in Sailfish firmware for handling thermocouple sensors on the Makerbot Replicator & numerous clones.
Require a number of errors from a thermocouple sensor in series before triggering a fault. The default is set to 15 as this is the default in Sailfish firmware.
Benefits
Current behaviour of Marlin is that a single error event in a thermocouple sensor will cause the printer to halt with a MAXTEMP error. This change ignores intermittent errors from a thermocouple sensor due to noise. Marlin will no longer halt with an MAXTEMP error due to a spurious error report.
Safety is still maintained. The error is reported within 3 seconds when a failure resulting in a persistent error condition occurs.
Related Issues
See #18025
I have tested this code by shorting the thermocouples to GND and to VCC. I verified that the error condition is reported and that max_temp_error() is still called.