Skip to content

Thermal model for E3D REVO #4105

Closed
Closed
@3d-gussner

Description

@3d-gussner

First we want to thank everyone here for providing feedback, testing and reporting log files in #3636. ❤️ 👏 🎆

As the issue got very long I would like to continue collecting data log files here.

We have a new firmware release FW 3.12.2 which includes some PTC / REVO improvements see https://github.com/prusa3d/Prusa-Firmware/releases/tag/v3.12.2

It would be great if you could run the tests below and give us some feedback.

Please don't use Pronterface/printrun as it UPPER-CASES D3 commands which are case sensitive.
Please use Putty, OctoPrint (with D3 as exception to be UPPER CASED), or other serial terminal scripts:

Octopi Blacklist is in Settings -> Features-> Terminal Auto Uppercase Blacklist add here the D3 gcode.

Here the steps our internal test team was following.

Task 1

  1. Ensure printer is "cold" 🥶
  2. Connect serial logging
  3. Perform a Factory reset by pressing the knob during boot/start up (you don't have to but makes things easier to compare)
  4. Skip wizard
  5. Send M503 to show current settings
  6. Send M310 S0 to temporary disable TM for PID cal
  7. Got to LCD -> Calibration -> PID cal.
  8. M310 S1 to enable TM
  9. Wait until the printer is cold 🥶 before you continue.
  10. Send `G28 W" to home all without mesh bed level
  11. Send G1 X125 Y105 Z1 to move the hotend to the middle of the bed
  12. Send M155 S1 C3 to auto report temps and fans
  13. Send M310 P40 U-0.0014 V1.05 D0.15 L270 to set REVO values
  14. Send D70 S1 to enable tml debug code
  15. Send M310 A F0 to run Thermal model cal. without checking existing TM settings
  16. Send M500 to store TM values
  17. Send D3 Ax0ca6 C1 to check calibration v2 status
  18. Send D3 Ax0f5f X01 to set Wizard active
  19. Close serial logging
  20. Start new terminal session to log the wizard
  21. Printer should restart during connection and show the Wizard
  22. Follow the wizard steps
  23. The TM cal should be ignored as it already passed
  24. Print something to verify that no THERMAL ANOMALY messages are shown, ideally with serial logging

Check TM simulation vs real REVO
25. Lower the TM warning values in 0.1 steps with M310 W1.1 , M310 W1.0 ... M310 W0.4 during a print. The default warning is set to 1.2 and error to 1.74
26. Set warning value back to default M310 W1.2
27. Try to force TM error
28. Hold nozzle (without silicone ring) during preheat with a big wrench
29. Blow compressed air on nozzle / block (without / with silicone ring)

Task 2
This task is for users who have provided the log files and have a well calibrated REVO MK3/S printer.

Goal is to find the narrowest TM Warning settings to detect issues as fast as possible while preventing false positives.

To simulate an issue it is needed to remove heat from the system that is unusual:

  • Create a draft or blow at the nozzle
    • On E3Dv6 it can be easily done by using a strong fan or strong hairdryer (on cold) blowing air at the nozzle
    • On REVO we could cause it by using an air can, compressed air
  • Holding the E3Dv6 heat block with some pillars/wrench that makes good contact also is working but difficult on the round REVO that even has a silicone sock. So if you have a good idea how to "suck" heat out of the REVO nozzle with tool please let us know.
  1. Continue only if your last few prints have been printed without TM warnings or errors
  2. Start with cold printer
  3. Enable serial logging and terminal
  4. Home printer G28 W and move it to the middle of the bed G1 X125 Y105 Z1
  5. Enable temperature and fan auto report with M155 S1 C3
  6. Set the Thermal model warning value very low with M310 W0.1
  7. Preheat the printer nozzle with M104 S230
  8. As soon the THERMAL ANOMALY is shown on LCD or TM: error .... is serial log
    8.1. increase the TM warning in to the highest warning value you see in the log file
    Example:
M104 S230
T:19.8 /0.0 B:20.1 /0.0 T0:19.8 /0.0 @:0 B@:0 P:0.0 A:22.8
E0:0 RPM PRN1:0 RPM E0@:0 PRN1@:0
T:19.5 /0.0 B:20.0 /0.0 T0:19.5 /0.0 @:0 B@:0 P:0.0 A:22.7
E0:0 RPM PRN1:0 RPM E0@:0 PRN1@:0
ok
T:19.8 /230.0 B:20.0 /0.0 T0:19.8 /230.0 @:0 B@:0 P:0.0 A:22.9
E0:0 RPM PRN1:0 RPM E0@:0 PRN1@:0
T:19.8 /230.0 B:20.1 /0.0 T0:19.8 /230.0 @:127 B@:0 P:0.0 A:22.9
E0:0 RPM PRN1:0 RPM E0@:0 PRN1@:0
TM: error |-0.128510|>0.100000
LCD status changed
T:21.2 /230.0 B:19.9 /0.0 T0:21.2 /230.0 @:127 B@:0 P:0.0 A:22.9
E0:0 RPM PRN1:0 RPM E0@:0 PRN1@:0
TM: error |-0.128510|>0.100000
T:26.2 /230.0 B:20.0 /0.0 T0:26.2 /230.0 @:127 B@:0 P:0.0 A:23.0
E0:0 RPM PRN1:0 RPM E0@:0 PRN1@:0
TM: error |0.146289|>0.100000
TM: error |0.276878|>0.100000
TM: error |0.369785|>0.100000
TM: error |0.354879|>0.100000
T:32.4 /230.0 B:20.0 /0.0 T0:32.4 /230.0 @:127 B@:0 P:0.0 A:22.9
E0:0 RPM PRN1:0 RPM E0@:0 PRN1@:0
TM: error |0.412588|>0.100000
TM: error |0.492126|>0.100000
TM: error |0.537168|>0.100000
T:37.4 /230.0 B:20.2 /0.0 T0:37.4 /230.0 @:127 B@:0 P:0.0 A:23.0
E0:0 RPM PRN1:0 RPM E0@:0 PRN1@:0
TM: error |0.617816|>0.100000
TM: error |0.640872|>0.100000
TM: error |0.640521|>0.100000
TM: error |0.662439|>0.100000
T:43.8 /230.0 B:20.1 /0.0 T0:43.8 /230.0 @:127 B@:0 P:0.0 A:23.0
E0:0 RPM PRN1:0 RPM E0@:0 PRN1@:0
TM: error |0.671063|>0.100000
TM: error |0.704903|>0.100000
TM: error |0.760007|>0.100000
TM: error |0.759591|>0.100000
T:50.2 /230.0 B:20.3 /0.0 T0:50.2 /230.0 @:127 B@:0 P:0.0 A:22.9
E0:0 RPM PRN1:0 RPM E0@:255 PRN1@:0
TM: error |0.748378|>0.100000
TM: error |0.753847|>0.100000
TM: error |0.736684|>0.100000
TM: error |0.759366|>0.100000
T:56.1 /230.0 B:20.1 /0.0 T0:56.1 /230.0 @:127 B@:0 P:0.0 A:23.0
E0:6120 RPM PRN1:0 RPM E0@:255 PRN1@:0
TM: error |0.758709|>0.100000
TM: error |0.776785|>0.100000
TM: error |0.782815|>0.100000
T:60.6 /230.0 B:20.0 /0.0 T0:60.6 /230.0 @:127 B@:0 P:0.0 A:23.1
E0:6120 RPM PRN1:0 RPM E0@:255 PRN1@:0
TM: error |0.751269|>0.100000
TM: error |0.729433|>0.100000
TM: error |0.726179|>0.100000
TM: error |0.714466|>0.100000
T:66.1 /230.0 B:20.1 /0.0 T0:66.1 /230.0 @:127 B@:0 P:0.0 A:23.1
E0:6120 RPM PRN1:0 RPM E0@:255 PRN1@:0
TM: error |0.707799|>0.100000
TM: error |0.707810|>0.100000
TM: error |0.698669|>0.100000
TM: error |0.675214|>0.100000
T:71.6 /230.0 B:20.0 /0.0 T0:71.6 /230.0 @:127 B@:0 P:0.0 A:23.0
E0:6120 RPM PRN1:0 RPM E0@:255 PRN1@:0
TM: error |0.647182|>0.100000
TM: error |0.627840|>0.100000
TM: error |0.618382|>0.100000
TM: error |0.597126|>0.100000
T:76.8 /230.0 B:20.0 /0.0 T0:76.8 /230.0 @:127 B@:0 P:0.0 A:22.9
E0:6120 RPM PRN1:0 RPM E0@:255 PRN1@:0
TM: error |0.592377|>0.100000
TM: error |0.588639|>0.100000
TM: error |0.566763|>0.100000

8.2 The highest value in this example is TM: error |0.782815|>0.100000 so set the new TM warning to next 0.x value here a M310 W0.8
8.3 Please watch your serial log and try to find the highest TM Warning value and use that one.
9. Let the printer cool down with M104 S0
10. Verify the warning value with a full cycle of heat up M109 230 and cool down M104 S0 if needed adjust the TM warning value, so it is not triggered.
11. Save the value with M500 in case you have to restart the test at some point.
12. Let the printer preheat with M109 S230
13. Turn on the fan with M106
12.1 Try to create a blow back of the part cooling fan. Placing something behind extruder or so. hard to describe who to force a blow back.
14. Try some cold air, if needed to have access with tools just move the Z up, but don't forget to go back to Z1 if you try it again.
14.1 If you have a better way to "suck" out heat from the system try that
15. If it doesn't trigger lower the TM warning value by 0.1 with M301 W<old value - 0.1> to check when it triggers
16. Let the printer cool down with M104 S0 and full fan blowing at Z1 height
17. Stop fan with M107
18. Verify the value again with a full heat up M109 S230 and cool down M104 S0 cycle
19. Repeat verification with full on fan M106 followed M109 S230 , M104 S0 and M107
20. Save the new warning value that fits you best with M500
21. Print multiple things to verify your TM warning values (ideally with serial log files)
22. Report these values and log files here.

Task 2 results:

User TM W good TM W too narrow final after some prints
snafu1282 0.8 0.7 TBD
0.8 0.7 TBD

[UPDATE 30-05-2023]

Here the tasks and steps for the users getting the new firmware via email.

If you are using the RPi Port please skip the wizard after Factory reset and switch to RPi Port in Settings.

Task 1: Save some config

  1. Connect via USB and log the serial output
  2. Send M503 and save this information somewhere to compare later
  3. Report your existing values
  4. In case you have defined sheets use M850 S0 to M850 S7 to save the data

Task 2: Test if default PID and TM REVO values are working

  1. Connect via USB and log the serial output
  2. Perform a Factory reset
  3. Skip wizard
  4. Send M503
  5. Run LCD -> Calibration -> Selftest
  6. Run LCD -> Calibration -> Calibrate XYZ
  7. Run LCD -> Calibration -> First Layer calibration
  8. Print some prints with the default REVO values
  9. Report back
  10. In case you have defined sheets use M850 to restore them

Task 3: Test PID and TM cal.

  1. Connect via USB and log the serial output
  2. Run LCD -> Calibration -> PID calibration
  3. Run LCD -> Calibration -> Thermal Model cal.
  4. Send M503
  5. Print some prints with the default REVO values
  6. Report back

Task 4: Test factory reset + wizard

  1. Connect via USB and log the serial output
  2. Perform a Factory reset
  3. Complete wizard
  4. Run LCD -> Calibration -> PID calibration
  5. Send `M503
  6. Compare the default `M310 values from Task 1 and Task 3
  7. Print some prints with the new values
  8. report back

Task 5: TM Warning value not tuned yet and we need your feedback

  1. Connect via USB and log the serial output
  2. Send M310 W0.8
  3. Report back if that is working for you
  4. Try to lower the value even more where it works without false positives
User Task 1 Task 2 Task3 Task 4 Task 5
WhiterRice ✔️ ✔️ ✔️ ✔️ ✔️ W0.7

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementhelp wantedreportthermal modelthird-partyrelated to non-genuine-Prusa design, SW, or HW: remote control, extruder mod, different hotends...volunteer neededRequests for which external contributors may be able to help

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions