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

Thermal model for E3D REVO #4105

Open
3d-gussner opened this issue Mar 23, 2023 · 25 comments
Open

Thermal model for E3D REVO #4105

3d-gussner opened this issue Mar 23, 2023 · 25 comments
Assignees
Labels
enhancement help wanted report thermal model third-party related to non-genuine-Prusa design, SW, or HW: remote control, extruder mod, different hotends... volunteer needed Requests for which external contributors may be able to help

Comments

@3d-gussner
Copy link
Collaborator

3d-gussner commented Mar 23, 2023

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
@3d-gussner 3d-gussner added enhancement help wanted report volunteer needed Requests for which external contributors may be able to help third-party related to non-genuine-Prusa design, SW, or HW: remote control, extruder mod, different hotends... thermal model labels Mar 23, 2023
@3d-gussner 3d-gussner self-assigned this Mar 23, 2023
@3d-gussner 3d-gussner pinned this issue Mar 23, 2023
@3d-gussner
Copy link
Collaborator Author

3d-gussner commented Mar 23, 2023

Here the plots
From @alexiri
alexiri

From @kromeninja
kromeninja

From @ulab
ulab
Update 24/03/2023 From @ulab
balu_calibration_2

From @JWvP
JWvP

From @snafu1282
snafu1282
Update 24/03/2023 From @snafu1282
snafu1282_20230323_1

From @matthiazzz
matthiazzz

From @sdh2
sdh2

@ulab
Copy link

ulab commented Mar 23, 2023

  • Flashed FW3122-Build6211-1_75mm_MK3S-EINSy10a-E3DREVO.hex
  • Checked Octopi Terminal Auto Uppercase Blacklist: D3 is included
  • Printer is at 23°C
  • Enabled serial logging
  • Factory reset all data
  • Skipped wizard
  • Sent M503
  • Sent M310 S0
  • Did LCD -> Calibration -> PID cal.with 210 °C
  • Sent M310 S1
  • Waited for the printer to reach 40°C
  • Sent G28 W
  • Sent G1 X125 Y105 Z1
  • Sent M155 S1 C3
  • Sent M310 P40 U-0.0014 V1.05 D0.15 L270
  • Sent D70 S1
  • Sent M310 A F0
  • Sent M500
  • Sent D3 Ax0ca6 C1
  • Sent D3 Ax0f5f X01
  • Disconnected OctoPi

  • Attended a meeting

  • Followed the wizard
  • Printed a Benchy

balu_logs-v2.zip

PS: I had a lot of crash detections with my Y axis during the benchy print. I'm not sure if I just never noticed it before since I mostly print in stealth mode, but I guess I have to look into that.

@jdrozdz
Copy link

jdrozdz commented Mar 23, 2023

Unfortunately, in my case, THERMAL ANOMALY was raised :(
Recv TML 0 1 7f 435472ab 41e8b555.log

@snafu1282
Copy link

snafu1282 commented Mar 23, 2023

My latest logs. No anomalies encountered.

snafu1282_20230323.zip

@snafu1282
Copy link

@3d-gussner I tried the M301 W1.1.... 1.0.... 0.9..... etc. and got no warnings again. This happened before and you pointed out something I needed to do to get it to work. Unfortunately, I don't have a reference to what that was. Can you refresh my memory please?

@3d-gussner
Copy link
Collaborator Author

Unfortunately, in my case, THERMAL ANOMALY was raised :( Recv TML 0 1 7f 435472ab 41e8b555.log

Thanks, Your log file is very short and I can't see everything. Please follow the steps above and report back.
That your printer went into HOTEND THERMAL RUNAWAY isn't good.

@3d-gussner
Copy link
Collaborator Author

@alexiri @kromeninja @ulab @JWvP @snafu1282 @matthiazzz @sdh2
Hi, can you please try Task 2 from the top comment?

Everyone else who didn't provide complete log files please start with Task 1 to get more data.

@snafu1282
Copy link

snafu1282 commented Mar 24, 2023

Here is my Task 2 log file. It's a long one.

My basic result is that M310 W0.8 works for me. W0.7 almost works, but it's a tiny bit unstable.

I could not get an anomaly by trying to create backflow from the fan. I was able to repeatably trigger an anomaly by using a small air compressor with a finger trigger nozzle from about 500mm away. What I noticed is that the anomaly gets triggered at between 227C and 229C.

snafu1282_20230324_2_TASK-2.zip

@jdrozdz
Copy link

jdrozdz commented Mar 25, 2023

Unfortunately, in my case, THERMAL ANOMALY was raised :( Recv TML 0 1 7f 435472ab 41e8b555.log

Thanks, Your log file is very short and I can't see everything. Please follow the steps above and report back. That your printer went into HOTEND THERMAL RUNAWAY isn't good.

I hope it will be good at this time.

BTW. There is something wrong with the thermistor because on hotend I have 13deg and on the bad I have 20deg.
I'm not sure, but there is an incorrect value for the Revo thermistor to calculate the temperature, I think.

revo6_250320231055.log

@3d-gussner
Copy link
Collaborator Author

Unfortunately, in my case, THERMAL ANOMALY was raised :( Recv TML 0 1 7f 435472ab 41e8b555.log

Thanks, Your log file is very short and I can't see everything. Please follow the steps above and report back. That your printer went into HOTEND THERMAL RUNAWAY isn't good.

I hope it will be good at this time.

BTW. There is something wrong with the thermistor because on hotend I have 13deg and on the bad I have 20deg. I'm not sure, but there is an incorrect value for the Revo thermistor to calculate the temperature, I think.

revo6_250320231055.log

Sorry but this is not a complete log file. What concerns me more is that your thermistor reads 13°C while the bed is 20°C they should be quiet close when the printer is turned on after few hours.
Please check the REVO forums, website which resistance at which temperature it should have. I would guess your thermistor is broken.
Please check if the wires are okay, I saw one wire insulation being scabbed off by the heater connectors.

EVERYONE: Do you know what this could cause?

@3d-gussner
Copy link
Collaborator Author

3d-gussner commented Mar 25, 2023

@snafu1282 Thanks for the log files of Task2 🥇
After looking at your log file I will update the Task 2 steps to get "faster" to some results.

Please check steps 8 and if that makes sense in your opinion to speed up finding the correct value.

Tip for putty and sending gcode files:

  • prepare the gcode files in notepadd++
  • when needed copy (with line feed {next line break}) from notepad++ and paste it into putty
    This should make the log files more readable as typing by hand the gcode is split into multiple lines.

I could not get an anomaly by trying to create backflow from the fan. I was able to repeatably trigger an anomaly by using a small air compressor with a finger trigger nozzle from about 500mm away. What I noticed is that the anomaly gets triggered at between 227C and 229C.

Yes the REVO compared to the E3Dv6 catches up very fast with blow backs and drafts so it is hard to trigger.
Nice that you found a repeatable way to trigger the TM. 👍
This is very important that we find a value BUT also insure that it can be triggered, otherwise the TM makes no sense.
As you observed it triggers if the expected temp isn't close what is read by the thermistor after few seconds.

@snafu1282
Copy link

snafu1282 commented Mar 25, 2023

@snafu1282 Thanks for the log files of Task2 🥇 After looking at your log file I will update the Task 2 steps to get "faster" to some results.

Please check steps 8 and if that makes sense in your opinion to speed up finding the correct value.

Tip for putty and sending gcode files:

  • prepare the gcode files in notepadd++
  • when needed copy (with line feed {next line break}) from notepad++ and paste it into putty
    This should make the log files more readable as typing by hand the gcode is split into multiple lines.

I could not get an anomaly by trying to create backflow from the fan. I was able to repeatably trigger an anomaly by using a small air compressor with a finger trigger nozzle from about 500mm away. What I noticed is that the anomaly gets triggered at between 227C and 229C.

Yes the REVO compared to the E3Dv6 catches up very fast with blow backs and drafts so it is hard to trigger. Nice that you found a repeatable way to trigger the TM. 👍 This is very important that we find a value BUT also insure that it can be triggered, otherwise the TM makes no sense. As you observed it triggers if the expected temp isn't close what is read by the thermistor after few seconds.

Yeah, PuTTY not having a command input box like those in Pronterface or OctoPrint is a bit of a pain. I had hoped that PuTTY would keep all the typed text together, so it shows up as a single command line, but nope.
Maybe, for the next round, I should use OctoPrint. That would provide a slightly different test to confirm the results from PuTTY. And, of course, it would keep the command lines together.
Another issue is the long cool down times, which leads to a ton of temperature report lines in the log file. I've been wondering if I should use the compressor to speed up the cooling. What do you think?

On another question, if I find the W value needs to be at 0.8, shouldn't the E value also be changed (i.e. lowered to something like 1.35)??

@sdh2
Copy link

sdh2 commented Mar 25, 2023

Task 2: I did several heat/cool cycles but unfortunately do not have time for a print at the moment. I will follow up with that later.

Before the fan is turned on, W0.5 seems to work for heating and cooling. But, this is too tight when the fan cools it down. W0.6 & W0.7 almost works, but triggers until about 180C. W0.8 seems to do ok cooling with the fan on.

I was able to trigger the anomaly with a can of compressed air, and during the latter half of the tests I had a large floor fan pointed at the printer to simulate a draft.
task2_sdh2.zip

@3d-gussner There are a couple typos in Task 2 above in lines 10 & 15. Took me a couple minutes to figure out why my values weren't changing, I'm not terribly fluent in this stuff!

@jdrozdz
Copy link

jdrozdz commented Mar 25, 2023

Unfortunately, in my case, THERMAL ANOMALY was raised :( Recv TML 0 1 7f 435472ab 41e8b555.log

Thanks, Your log file is very short and I can't see everything. Please follow the steps above and report back. That your printer went into HOTEND THERMAL RUNAWAY isn't good.

I hope it will be good at this time.
BTW. There is something wrong with the thermistor because on hotend I have 13deg and on the bad I have 20deg. I'm not sure, but there is an incorrect value for the Revo thermistor to calculate the temperature, I think.
revo6_250320231055.log

Sorry but this is not a complete log file. What concerns me more is that your thermistor reads 13°C while the bed is 20°C they should be quiet close when the printer is turned on after few hours. Please check the REVO forums, website which resistance at which temperature it should have. I would guess your thermistor is broken. Please check if the wires are okay, I saw one wire insulation being scabbed off by the heater connectors.

EVERYONE: Do you know what this could cause?

By incomplete log you mean that, the process was interrupted by THERMAL ANOMALY?

@snafu1282
Copy link

snafu1282 commented Mar 25, 2023

Here are log files from Task 2; the initial step through of the procedure, plus 3 more logs with values of W0.7, W0.75, and W0.8.

snafu1282_20230325_TASK-2_W0.75.log.zip
snafu1282_20230325_TASK-2_W0.8.log.zip
snafu1282_20230325_TASK-2_W0.7.log.zip
snafu1282_20230325_1_TASK-2.zip

Just finished a Cali Dragon in PETg (235C/75C) It came out pretty clean. Here are 3 shots of it. I'm including them as I think the Cali Dragon is a reasonable test of what could happen with blowback cooling, which didn't happen.

_MG_4323
_MG_4324
_MG_4326

@sdh2
Copy link

sdh2 commented Mar 26, 2023

Task 2: I did several heat/cool cycles but unfortunately do not have time for a print at the moment. I will follow up with that later.

Here is my print log. With a setting of W0.8, I didn't have any issues on a four hour print.

sdh2_long-print.zip

@peschkaj
Copy link

peschkaj commented Mar 26, 2023

Task 1; steps 1-24.
putty-peschkaj-2023-03-25-130449.zip

Thermal anomaly occurred at W0.4

Compressed air from a can took about 15 seconds from 15cm to cause a thermal anomaly

@zuidwijk
Copy link

zuidwijk commented Apr 1, 2023

My MK3S+ with E3D Revo isn't printing at all with the new firmware. It keeps failing on the wizard. When heating up to PLA, it aborts at 70-ish C and nothing is working. How can I help to provide more data? This isnt working for me now.

@3d-gussner
Copy link
Collaborator Author

3d-gussner commented Apr 2, 2023

@zuidwijk Hi, thanks that you want to help and contribute. Please read #4105 (comment) and start with Task 1, provide the Thermal Model Debug serial log, this helps to fine tune the REVO default values.

@3d-gussner
Copy link
Collaborator Author

@peschkaj Thanks for the Thermal model debug log and feedback of your findings of warning value. I will add your data to the calculated default values.
Is the M310 W0.4 working for you with regular prints?

@peschkaj
Copy link

peschkaj commented Apr 3, 2023

@peschkaj Thanks for the Thermal model debug log and feedback of your findings of warning value. I will add your data to the calculated default values. Is the M310 W0.4 working for you with regular prints?

M310 W0.4 prints well for me with two weird events.

  1. Each print start with four beeps during the warm up. Three beeps occur at ~49C and one beep at 58. No message appears on the display.
  2. Each print informs me that the gcode was sliced for a different model of printer. Which isn't true, I only have two MK3S+ :)

Update I take that back, M310 W.04 generates a lot of thermal warnings, but 0.5 is fine.

@SimGas
Copy link

SimGas commented Apr 4, 2023

M310 W.04

Not sure if it was a typo here or during testing: Please note that M310 W.04 is quite different from M310 W0.4

@peschkaj
Copy link

peschkaj commented Apr 4, 2023

M310 W.04

Not sure if it was a typo here or during testing: Please note that M310 W.04 is quite different from M310 W0.4

'Twas but a typo

@MarcelTh
Copy link

MarcelTh commented Apr 5, 2023

Hi,

attached my Task 1 logs from my MK3S, freshly serviced and upgraded with MK3S+ upgrade kit and the Revo Hotend.
Thermal anomaly warning during a 30 minute test print only occurred when warning treshold was set to M310 W0.4 .
Test Print is included in the log.

Regards, Marcel

MarcelTh_Logs_Task1.zip

@zuidwijk
Copy link

zuidwijk commented Apr 6, 2023

My 1st logging... I couldnt print, when loading filament and therefore pre-heating I got "THERMAL ANOMALITY"
1st_logging_mk3s+.txt.zip

Edit: I forced reheating after each error and now it starts printing (with z-layer at 0.000 hahahaha)

Logging during printing:
1st_logging_printing.txt.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement help wanted report thermal model third-party related to non-genuine-Prusa design, SW, or HW: remote control, extruder mod, different hotends... volunteer needed Requests for which external contributors may be able to help
Projects
None yet
Development

No branches or pull requests

9 participants