I need help diagnosing heater faults?

  • Hi all,
    My printer has been printing fine for around 6 months now. But for the last 3 days, I've had a bunch of heater faults stopping my prints at random times in the print.

    Originally I thought it must be a broken wire cutting out because the heating element wouldn't heat up very fast and fail due to taking to long. But I've also now been getting it fail for suddenly overheating 6 hours into a print. I've not been here when it has failed, I've just come back to the heater fault message and my print head parked in the pause spot. Which makes me think it might be a board issue maybe?

    Are there any logs I can check for more info

    Please can someone give me a quick checklist of what to check ?

    Many thanks!

    EDIT: to add more info :

    Firmware Name: RepRapFirmware for Duet WiFi
    Firmware Electronics: Duet WiFi 1.0
    Firmware Version: 1.20 (2017-12-23)
    WiFi Server Version: 1.20
    Web Interface Version: 1.20

  • administrators

    Which heater fault message was it? I'm guessing that it was "Temperature excursion exceeded...". This can be caused by various things:

    • Print cooling fan cools the nozzle or heater block too much. In this case the heater fault usually occurs shortly after starting the second layer.
    • Poor connection to a heater or thermistor wire.
    • Intermittent short between thermistor wire and hot end metalwork

    As the printer has been working well for 6 months, I suggest you check the heater and thermistor wiring first. Also watch out for sudden temperature spikes or jumps on the temperature chart in DWC.

    You could also try re-tuning the hot end heater and compare the results with your existing M307 parameters, to see if anything has changed.

  • Hi, Thanks for replying so quick!.

    I've received both messages in the last day . "excursion exceeded 15c" & "temperature rising much more slowly than the expected"

    The second message was while I was testing and had all part cooling fans turned off.

    I'll try the tuning again as you recommended and see if anything changed. But it appears to be working fine for the minute.

    Is there any way to see historical data on that temp graph from when it failed? If it was a sudden spike up or down it could indicate a wire breaking. but if it was just "off" over time, it could point me towards the thermister?

  • administrators

    The only facility for recording data is logging, but that will only record the error, not the temperature history.

  • Fair enough. I'll try what you said for now though. Lucky enough when building my printer i ordered a pack of 10 spare thermistors, so fingers crossed they are the same spec and I can just swap them out

  • Replaced the thermistor and all seems to be working good. just finished a 20h print and no issues. Thanks!

  • @dc42

    I've just ran into the exact same situation again with a new thermistor. Have i just got incredibly unlucky with the new one failing already or could it be the heating cartridge? I managed to snap a picture of the temp graph as it failed this time if its more help


    Many thanks!

  • administrators

    Did the temperature drop occur when the print cooling fan turned on?

  • Nope, this was during an abs print so no print cooling fan whatsoever. It was mid layer too. After that initial drop, it shot over temp which it never normally does 😕

  • administrators

    My best guess is that the heater cartridge became disconnected. When the connection was restored, the PID overshot because once the target temperature is reached, the PID in RRF switches to a more aggressive mode to help maintain temperature in the presence of varying load.

  • Thanks, I'll try replacing that tonight then, cheers.

    From the graph I provided then, is it safe to assume its probably not the thermistor due to it not cutting out but instead dropping temp over time?

  • administrators

    Thermistor issues normally cause positive or negative spikes or steps in the temperature graph.

  • Nope, no luck unfortunately. I've replaced both the heating cartridge and thermistor but still failing.

    Different symptoms now though. It's like it doesn't want to heat past 200c now without having the "heating too slowly" error pop up 😕

    Pics below of the temp graph after a failure + the temp graph from that period


    weirdly enough after replacing the heating element, I cant get it to heat up once. Before at least I got half way into the first layer 😞

  • @asdasd1234 Long shot but is your power supply behaving itself? No voltage drop? Running M122 will report min and max voltage (among a host of other things).

  • I assume it is as the bed is working fine. But I'll check the supply now after another error to see. give me 5 mins

  • EDIT: I'm not sure why, but it has suddenly started working and I cant make it fail again. I guess I'll have to wait until next time it kills my print half way through to check lol

    The log should be below now :
    I remembered my bed is run through a relay so that'll work regardless
    I did notice the voltage dropped a bit (down to 11.1v) as it tried heating the hotend to higher temps.
    I'm going to hook up a multimeter and measure the current in a second to see what its actually delivering

    === Diagnostics ===
    Used output buffers: 3 of 32 (9 max)
    === Platform ===
    RepRapFirmware for Duet WiFi version 1.20 running on Duet WiFi 1.0
    Board ID: 08DGM-95BLL-N6PSS-6JTD2-3SN6J-1JUBJ
    Static ram used: 15448
    Dynamic ram used: 99064
    Recycled dynamic ram: 176
    Stack ram used: 1392 current, 8608 maximum
    Never used ram: 7776
    Last reset 00:03:25 ago, cause: power up
    Last software reset time unknown, reason: User, spinning module GCodes, available RAM 7768 bytes (slot 3)
    Software reset code 0x0003 HFSR 0x00000000, CFSR 0x00000000, ICSR 0x0041f000, BFAR 0xe000ed38, SP 0xffffffff
    Error status: 0
    Free file entries: 9
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 69.6ms
    MCU temperature: min 43.4, current 45.1, max 45.5
    Supply voltage: min 11.1, current 11.8, max 12.0, under voltage events: 0, over voltage events: 0
    Driver 0: standstill, SG min/max not available
    Driver 1: standstill, SG min/max not available
    Driver 2: standstill, SG min/max not available
    Driver 3: standstill, SG min/max not available
    Driver 4: standstill, SG min/max not available
    Date/time: 2018-09-06 19:52:11
    Cache data hit count 792879229
    Slowest main loop (seconds): 0.263302; fastest: 0.000041
    === Move ===
    MaxReps: 0, StepErrors: 0, FreeDm: 240, MinFreeDm 240, MaxWait: 0ms, Underruns: 0, 0
    Scheduled moves: 0, completed moves: 0
    Bed compensation in use: none
    Bed probe heights: 0.000 0.000 0.000 0.000 0.000
    === Heat ===
    Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
    Heater 0 is on, I-accum = 0.3
    Heater 1 is on, I-accum = 0.5
    === GCodes ===
    Segments left: 0
    Stack records: 1 allocated, 0 in use
    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
    serial is idle in state(s) 0
    aux is idle in state(s) 0
    daemon is idle in state(s) 0
    queue is idle in state(s) 0
    autopause is idle in state(s) 0
    Code queue is empty.
    Network state is running
    WiFi module is connected to access point
    Failed messages: pending 0, notready 0, noresp 0
    WiFi firmware version 1.20
    WiFi MAC address 5c:cf:7f:44:ed:66
    WiFi Vcc 3.38, reset reason Turned on by main processor
    WiFi flash size 4194304, free heap 17096
    WiFi IP address
    WiFi signal strength -51dBm, reconnections 0, sleep mode modem
    HTTP sessions: 1 of 8
    Socket states: 2 0 0 0 0 0 0 0
    Responder states: HTTP(1) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)

  • Hi, Just a follow up on my previous post. I still can't make this work 😞
    I've eliminated the issue of the temp dropping suddenly that I had above (replaced the thermistor). But I've started to get the following error on 80% of attempts to heat my extruder before a print.

    "Heating fault on heater 1, temperature rising much more slowly than the expected 1.5°C/sec"

    If it makes it to temperature, then the print goes ok, but it's taking me 5 attempts to start each print 😕

    I've replaced the thermistor, the heating catridge, and I'm now trying my third power supply. I've also run the auto-PID on the hotend. I don't know what to try next 😕 The heater is heating up, its just the firmware expects it to heat up faster than it does.

    Is there any way to reduce it down a bit or make it take an average over a few seconds before just going "nah, start again"?

  • administrators

    1. Have you run heater tuning? https://duet3d.dozuki.com/Wiki/Tuning_the_heater_temperature_control

    2. Check that the screws in the E0 or E1 heater terminal block of the Duet are still tight. if you used the ferrules, also check that the wires are still gripped firmly by the ferrules.

    1. I've read through all that before but it goes a bit over my head to be honest. I did the autotune "M303 H1 S240" then the command it prompted me to use to save it when it finished. I did this after I started getting the issue, but it's done nothing to solve it. From best I can tell, my heater is heating up just fine and at the expected rate so I'm sure it has something to do with the PID settings, but they're all greek to me and I'd be worried to tweak one incase I cause it to overheat or something.

    2. The case I have it in holds the wires in place so they shouldn't be able to be pulled out. But I'll definitely check that when I'm back from work

    Thanks for your help so far!

  • administrators

    @asdasd1234 said in I need help diagnosing heater faults?:

    I did the autotune "M303 H1 S240" then the command it prompted me to use to save it when it finished.

    If you sent M500 to save the new heater model parameters, that saves them to config-override.g. That only has an effect if your config.g file has command M501 at or near the end, so that config.g executes config-override.g. Alternatively, you can add a suitable M307 command to config.g as described in that link.

    To check whether the firmware is using the values found by auto tuning, send M307 H1. If it reports the following:

    Heater 1 model: gain 340.0, time constant 140.0, dead time 5.5, max PWM 1.00, calibration voltage 0.0

    then those are the default values, and it is not using the results of auto tuning.


Looks like your connection to Duet3D was lost, please wait while we try to reconnect.