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

[BUG] Clear TM error acknowledgement doesn't allow to calibrate the thermal model #3890

Closed
gregsaun opened this issue Jan 11, 2023 · 13 comments
Labels

Comments

@gregsaun
Copy link

Printer type - Prusa MK3S+ with Bear customs and E3D Revo Micro hotend
Printer firmware version - 3.12.0 Final
MMU upgrade - None

Describe the bug
I am unable to calibrate the thermal model for a safer hotend like the E3D Revo. Clear TM error acknowledgement seems to only unlock the LCD standard menu but doesn't allow to calibrate the thermal model. The documentation says:

Added Clear TM error

To “unlock” the printer in case a “Thermal anomaly” is detected, there is a new option in the menu LCD menu -> Clear TM error to temporarily clear/acknowledge the issue. As this is only a “temporary” solution proper calibration is recommended. In case the temp model calibration doesn't solve this, please contact Prusa support or open a GitHub issue.

To Reproduce

  1. Flash the 3.12.0 firmware
  2. Follow the Thermal Model calibration wizard => raise the THERMAL ANOMALY error
  3. LCD menu -> Clear TM error
  4. LCD menu -> calibration -> Temp Model cal. => raise the THERMAL ANOMALY error

Expected behavior
From the LCD menu we should be able to calibrate the thermal model for modifications on the hotend/extruder (new extruder body, new hotend, adding a sock) as well as the use of a safer hotend like E3D Revo. The release notes are not clear enough on how to proceed in such case.

@gregsaun gregsaun added the bug label Jan 11, 2023
@gregsaun gregsaun changed the title [BUG] Clear TM error acknowledement doesn't allow to calibrate the thermal model [BUG] Clear TM error acknowledgement doesn't allow to calibrate the thermal model Jan 11, 2023
@arekm
Copy link
Contributor

arekm commented Jan 11, 2023

TM is incompatible with Revo at this moment (see #3636). If you want to use this firmware with Revo then you need to disable TM.

You can do that using serial console and issuing M310 S0 followed by M500.

There is no menu for this (due to: "We removed that option from the menu (we want to prevent ordinary users from disabling the TM easily/accidentally)").

Unfortunately that M310 S0/M500 doesn't seem to survive firmware upgrades (RC2->final upgrade and TM wizard came up again on first boot), so needs to be repeated after each upgrade. (Added #3891 for this)

@gregsaun
Copy link
Author

Thank you for your answer.

I am aware of #3636 and I have reported my data over there. The release notes was unclear to me and I understood that the Clear TM error allow us to calibrate the thermal model afterward, might be good to make it clear that this acknowledgement is not working in the case of the Revo.

As safety is a difficult and important topic, could you please help me to clarify some extra points:

  1. My understanding is that M300 S0 will disable the new TM, could you confirm that we are back to the same safety features as in the previous firmware versions?

  2. In [BUG] MK3S+ WITH REVO fails to calibrate new thermal model  #3636 we could have a successful TM calibration using the command M310 A F0. If we do this, will the new TM safety features works the same way as it should with an Original Prusa extruder and hotend?

@arekm
Copy link
Contributor

arekm commented Jan 11, 2023

  1. AFAIK only disables new TM feature and all old thermal checks still work.
  2. From source code "F - force model self-test state (0=off 1=on) during autotune using current values". Looks like this disables TM anyway.

But I'm only a printer user, so lets wait for devs/support comment.

@gregsaun
Copy link
Author

Thanks for your help!

I will wait a solid answer from the dev team :)

@wavexx
Copy link
Collaborator

wavexx commented Jan 11, 2023

The wording in the release notes are a bit unclear.

"Clear TM error" just acknowledges the error. The idea is that when a TM error is triggered, the only way to recover is to go to the printer, check what's wrong, and physically use the LCD. For example, if you're printing via serial/octoprint, a TM error will issue an instant pause: you cannot "unlock" the printer remotely. This is done intentionally so that a host (prusalink/octoprint or anything) can't accidentally send more print commands and/or run a "pause" sequence in such a condition, since the pause sequence will often include commands to change the nozzle temperature.

When you're in front of the printer, and you have a live print, you normally can STOP/RESUME. This implicitly acks the error and the printer will resume to full functionality. However, if there was no print going on, the printer will stick auto-lock. Since you don't have STOP/RESUME in that case we had to add an extra menu item (see #3630).

My understanding is that M300 S0 will disable the new TM, could you confirm that we are back to the same safety features as in the previous firmware versions?

Absolutely yes. You can't disable the previous safety features. The aim is to also make it hard to disable TM for the same reason, but we know it doesn't work on everything just yet.

Unfortunately that M310 S0/M500 doesn't seem to survive firmware upgrades (RC2->final upgrade and TM wizard came up again on first boot), so needs to be repeated after each upgrade.

This is because RC2 still didn't have an enforced calibration workflow as part of the wizard. This shouldn't be the case for all future versions.

@gregsaun
Copy link
Author

Thanks @wavexx , I now understand the purpose of Clear TM error and it makes sense.

Absolutely yes. You can't disable the previous safety features. The aim is to also make it hard to disable TM for the same reason, but we know it doesn't work on everything just yet.

Perfect thanks 👍

May I ask you to also answer my second point?
2. In #3636 we could have a successful TM calibration using the command M310 A F0. If we do this, will the new TM safety features works the same way as it should with an Original Prusa extruder and hotend?

@wavexx
Copy link
Collaborator

wavexx commented Jan 11, 2023

In #3636 we could have a successful TM calibration using the command M310 A F0. If we do this, will the new TM safety features works the same way as it should with an Original Prusa extruder and hotend?

Unfortunately not. M310 A (or M310 A F0, since 0 is the default) just runs the calibration by itself. It will work on also on the revo, but the checking part will still fail.

M310 A F1 is yet another defense in-depth against hardware problems and runs the checker as the calibration is running.

When running the calibration we're effectively heating, and while unlikely, there is the potential to get a hardware failure right at that moment. M310 A F1 effectively instructs the autotune to keep checking the hotend while calibrating using the previously stored values. In the variant files we pre-populated an average of the stock values, so that even right after a full reset you can always keep the safety active without ever disabling it.

@gregsaun
Copy link
Author

@wavexx thanks for the info. Yes it makes sense for the potential hardware failure during calibration. To be sure I understand correctly, the M310 A F1 is the command used by the LCD menu used calibrate the TM?

@wavexx
Copy link
Collaborator

wavexx commented Jan 11, 2023

I understand correctly, the M310 A F1 is the command used by the LCD menu used calibrate the TM?

Yes (and also during the wizard)

@gregsaun
Copy link
Author

Okay so if I summary it correctly, for the E3D Revo hotend there is no way to use this new thermal model. We can use the M310 A F0 to clear up error messages but the new thermal model will not be used. This means it will not react to a wet cotton tip on the nozzle after the M310 A F0 calibration process, am I understanding this correctly? The old safety features are still there and a thermal runaway will be kicked if needed.

@wavexx
Copy link
Collaborator

wavexx commented Jan 11, 2023

All correct. It's a bummer the current model as it is doesn't work for the revo (I was hoping the PTC didn't make enough difference to matter in order to keep everything simpler), but there's no loss in safety compared to the previous behavior.

As an extra detail, pretty much all resistors have a positive temperature coefficient (meaning that the current->heat conversion is not truly perfect and keeps getting worse as we increase the temperature due to various losses). Calibrating this new coefficient will probably also improve the tracking on regular heaters as well, meaning that maybe we could have a bigger warning->error window.

@gregsaun
Copy link
Author

gregsaun commented Jan 11, 2023

Thanks for confirming everything, I understand it fully now. The Revo is very different from a V6, probably using a PTC in a V6 wouldn't make such a difference. Some key points of the Revo:

  • The hot block is very small so it gets hot crazy fast
  • The hot block is a ceramic heater with metal in the middle, very different than the V6 alu block
  • The thermistor is molten inside the hot block and much closer to the heating element (closer to heating element than the nozzle)
  • The shape of the nozzle is also very different, more mass to heat up and bi-metallic heatbreak
  • In my case; I use the Revo Micro version (not Revo Six) and the hotend cooling is more efficient (sharper transition in the break)

wavexx added a commit to wavexx/Prusa-Firmware that referenced this issue Jan 15, 2023
Running `M310 A` should set the TM calibration bit status if the
autotune procedure was successful.

Partially addresses prusa3d#3891 and prusa3d#3890, since running `M310 A F0` should
*still* count as valid calibration data and is not something that can be
replicated by using the LCD (which enforces self-test).
wavexx added a commit to wavexx/Prusa-Firmware that referenced this issue Jan 15, 2023
Running `M310 A` should set the TM calibration bit status if the
autotune procedure was successful.

Partially addresses prusa3d#3891 and prusa3d#3890, since running `M310 A F0` should
*still* count as valid calibration data and is not something that can be
replicated by using the LCD (which enforces self-test).
DRracer pushed a commit that referenced this issue Jan 16, 2023
Running `M310 A` should set the TM calibration bit status if the
autotune procedure was successful.

Partially addresses #3891 and #3890, since running `M310 A F0` should
*still* count as valid calibration data and is not something that can be
replicated by using the LCD (which enforces self-test).
DRracer pushed a commit that referenced this issue Jan 16, 2023
Running `M310 A` should set the TM calibration bit status if the
autotune procedure was successful.

Partially addresses #3891 and #3890, since running `M310 A F0` should
*still* count as valid calibration data and is not something that can be
replicated by using the LCD (which enforces self-test).
@Prusa-Support
Copy link
Collaborator

Set the calibration state when running M310 A (MK3/MK3S/MK3S+)
Calibrating the Thermal model using the G-code command M310 A F0 didn’t set the TM calibration state correctly. This is now fixed and calibration is stored as expected.
Kudos to our community members @arekm, @FrHePo and @gregsaun for reporting this #3890.

https:/prusa3d/Prusa-Firmware/releases/tag/v3.12.1

I hope you don't mind me closing this issue as solved. However, please feel free to share further feedback on this thread.

Michele Moramarco
Prusa Research

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

4 participants