E3D Toolchanger Midprint Heater Fault
-
Hello,
We've been having some trouble with one of the tool heaters on our E3D Toolchanger. After PID tuning all of our heaters, I am able to manually send them to a desired temperature and they remain there with minimal steady state error and oscillations. Nevertheless, after starting a print, one of the tools' heaters fails after the tool changer switches back to it from another tool head, giving out the following error: "Error: Heater 0 fault: temperature rising too slowly: expected 0.28 C/sec measured 0.05 C/sec". I am inclined to think this is some sort of a firmware issue as whenever I manually set the same heater it can heat up to the desired temperature quickly without generating errors. I thought that it might be a slicing issue, especially regarding the custom g-code at tool changes, but the tool change g-code doesn't have anything besides the T command.
Any help would be appreciated. Thank you.
-
Can you share your config.g and the results of sending M122 and M98 P"config.g" ?
-
@caygul also share your tpre, tpost and tfree.g files. I have seen some that mess with the pid parameters...
-
Thank you for your replies.
@Phaedrux here is the config.g file. When I send M122 I get the following console output:
M122
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.0 (2022-03-15 18:58:31) running on Duet Ethernet 1.02 or later + DueX5v0.11
Board ID: 0JD2M-9F8TA-GJ4TD-6J1F2-3S46M-K6N67
Used output buffers: 3 of 24 (24 max)
=== RTOS ===
Static ram: 23868
Dynamic ram: 73132 of which 0 recycled
Never used RAM 11456, free system stack 108 words
Tasks: NETWORK(ready,128.8%,200) HEAT(notifyWait,5.4%,172) Move(notifyWait,11.1%,283) DUEX(notifyWait,0.0%,24) MAIN(running,368.2%,440) IDLE(ready,0.1%,30), total 513.6%
Owned mutexes:
=== Platform ===
Last reset 21:56:29 ago, cause: software
Last software reset at 2022-10-18 09:07, reason: User, GCodes spinning, available RAM 15156, slot 2
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x14
Aux0 errors 0,0,0
Step timer max interval 0
MCU temperature: min 30.7, current 39.7, max 40.8
Supply voltage: min 23.8, current 24.0, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes
Heap OK, handles allocated/used 99/1, heap memory allocated/used/recyclable 2048/88/66, gc cycles 0
Events: 10 queued, 10 completed
Driver 0: standstill, SG min 0
Driver 1: standstill, SG min 0
Driver 2: standstill, SG min 0
Driver 3: standstill, SG min 0
Driver 4: standstill, SG min 0
Driver 5: standstill, SG min n/a
Driver 6: standstill, SG min n/a
Driver 7: standstill, SG min 0
Driver 8: standstill, SG min n/a
Driver 9: standstill, SG min n/a
Driver 10:
Driver 11:
Date/time: 2022-10-19 07:03:47
Cache data hit count 4294967295
Slowest loop: 271.18ms; fastest: 0.16ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
=== Storage ===
Free file entries: 9
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest read time 2.0ms, write time 451.7ms, max retries 0
=== Move ===
DMs created 83, segments created 32, maxWait 1511203ms, bed compensation in use: mesh, comp offset 0.000
=== MainDDARing ===
Scheduled moves 19083, completed 19083, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 54], CDDA state -1
=== AuxDDARing ===
Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
Heater 0 is on, I-accum = 0.0
Heater 1 is on, I-accum = 0.6
=== GCodes ===
Segments left: 0
Movement lock held by null
HTTP is idle in state(s) 0
Telnet is idle in state(s) 0
File is idle in state(s) 0
USB is idle in state(s) 0
Aux is idle in state(s) 0
Trigger is idle in state(s) 0
Queue is idle in state(s) 0
LCD is idle in state(s) 0
Daemon is idle in state(s) 0
Autopause is idle in state(s) 0
Code queue is empty
=== DueX ===
Read count 1, 0.00 reads/min
=== Network ===
Slowest loop: 453.01ms; fastest: 0.02ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessionsand for M98 P"config.g" is the following:
10/19/2022, 7:06:11 AM M98 P"config.g"
HTTP is enabled on port 80
FTP is disabled
TELNET is disabled
Error: Heater 1 not switched on due to bad model
HTTP sessions: 1 of 8
Interface state active, link 100Mbps full duplexThe error message on that last console output dissapears when I reset the heater after a failure.
@engikeneer here are the tfree0.g tpost0.g tpre0.g for the failing tool.
Thank you both very much.
-
; tpost0.g ; called after tool 0 has been selected ;heatup M116 P0 M106 P2 S255; restart the cooling fan ;prime nozzle M98 P"prime.g" ;M106 R1 ; restore print cooling fan speed
Does it coincide at all with the cooling fan coming on or turning off?
What command was used for the heater tuning? Were they tuned as heaters, or as a tool with associated part cooling fan?
Can you post your config-override.g as well?
@caygul said in E3D Toolchanger Midprint Heater Fault:
RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.0
Can you also update to 3.4.3?
https://github.com/Duet3D/RepRapFirmware/releases/download/3.4.3/Duet2and3Firmware-3.4.3.zip -
Here is the config-override.g . It happens rather randomly I am going to say. During my last trial it happened at the 33th layer of a print, in which at every layer there were toolchanges. It happens shortly after the machine switches to the faulty tool, and there is a big drop in temperature I think due to the fan switching on with the tool changing macro.
I used M303 auto-tuning command for all tunings, but I don't know if that command plays around with the cooling fan. I just manually switched the fan on before starting the tuning.
I'll update the firmware and run the tuning again. Thank you.
-
@caygul said in E3D Toolchanger Midprint Heater Fault:
......................... I used M303 auto-tuning command for all tunings, but I don't know if that command plays around with the cooling fan. I just manually switched the fan on before starting the tuning.....................
If you use M303 Hn ,then it will just tune the heater and won't do anything with fans. If you use M303 Tn (instead of Hn) then it will tune the primary heater for that tool. In this case, it will turn the part cooling fan(s) on and generate second set of coefficients that will be used to adjust the heater PID when the fan(s) is/are running. If you tune a tool, it's generally best to do so with the tool close to the build plate such that any deflected part cooling air will be representative of what happens with "real life" prints.
-
@deckingman It was quite obvious in the dictionary and I missed it. That sounds very promising, thank you I'll try that and report back.
-
I was a bit late on this but PID tuning the tool, not the heater worked out. Thank you for your support.
-
@caygul Glad that worked out for you.