Printer heating issue

  • I keep running into these same errors where it will say Error: Heating fault on heater 1, temperature rising much more slowly than the expected 0.5°C/sec
    Resume-after-power-fail state saved. I've tried auto tuning both heaters, I've changed standby temperatures, and I don't know what else I can do to get rid of this error. It doesn't happen every single time, but it happens way more often than not. To even get a print to start, I have to preheat the hotend in the firmware first, and once it's at the target temperatures I can hit start on the print.

  • @phaedrux said in Printer heating issue:

    Yep. I went through it as well as I could and as far as I can tell it doesn't actually tell me how to fix this exact problem. I might be misreading or not understanding something, but it doesn't look very helpful. It seems to say that running an auto PID will fix it, but it doesn't. I just tried running it again, and it rand through the process just fine, but now I can't even preheat the hotend at all.

    There seems to be a 5-10 second delay from when I change the tool to active, before it actually responds and starts warming up. Once the temperature starts to rise it goes up quickly and steadily, but it's this initial "standby" or "off" to active status that seems to take several seconds and that throws the whole process off and throws up the fault code.

  • Can you give some more details about your printer? Hotend type, heater cartridge, PSU voltage, thermistor type. What firmware version are you using? Can you post your config.g so we can see what your heater parameters are set to? Has this always happened, or is it something recent? are the thermistor and heater cartridge firmly secured inside the heat block?

  • administrators

    1. Check that you don't have any M301 commands in config.g or config-override.g.

    2. After running heater tuning, you need to save the results. How you do so depends on whether you choose to use the config-override.g file or not. To test whether you have saved them properly, run heater tuning again, save the values, and make a note of them. Let the hot end cool down, then restart the Duet. Then send M307 H1 and check that the values it reports are the same as the ones that tuning gave you.

    HTH David

  • I get the heater fault on one on my printers when the part cooling fan comes on. Causes a dip in hot end temp which the PID loop can't recover from fast enough. See if that is what causes your fault.

  • I'm posting my config.g file, hopefully this sheds some light on the issue. The hotend type is an E3d Chimera, each has a standard V6 hotend that it comes with and it does the same thing no matter which heater I'm using. Once the temperature starts going up it's fine, but there is a several second delay from clicking active, to seeing any change in temperature. If I reset the fault quickly enough, the temperature is usually still rising from the previous attempt so I'm able to keep that momentum up and it doesn't have any issues. it's just that initial delay that's causing problems. The voltage is a 12v, the firmware is version 1.21. This is an issue I've had since I've firm put this printer together. It was originally running Marlin firmware, on a ramps board, but it's a really big printer, so the prints kept failing when it would overwhelm the board. This is my first time using the reprap style firmware and so far I absolutely love this board and new firmware, there's just this one hiccup I can't seem to correct.

    Config.g is as follows:
    ; Configuration file for Duet WiFi (firmware version 1.20 or newer)
    ; executed by the firmware on start-up
    ; generated by RepRapFirmware Configuration Tool on Mon May 07 2018 21:33:03 GMT-0700 (PDT)

    ; General preferences
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves
    M555 P1 ; Set firmware compatibility to look like RepRapFirmare

    M667 S1 ; Select CoreXY mode

    ; Network
    M550 PDBOT_XL ; Set machine name
    M552 S1 ; Enable network
    M587 S"Jason-home" P"3382Rockwood" ; Configure access point. You can delete this line once connected
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Drives
    M569 P0 S1 ; Drive 0 goes forwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S1 ; Drive 2 goes forwards
    M569 P3 S1 ; Drive 3 goes forwards
    M569 P4 S0 ; Drive 4 goes backwards
    M350 E32:32 I0 ; Configure microstepping without interpolation
    M350 X16 Y16 Z16 I1 ; Configure microstepping with interpolation
    M92 X100 Y100 Z1500 E295:295 ; Set steps per mm
    M566 X900 Y900 Z20 E120:120 ; Set maximum instantaneous speed changes (mm/min)
    M203 X12000 Y12000 Z250 E1200:1200 ; Set maximum speeds (mm/min)
    M201 X1000 Y1000 Z250 E250:250 ; Set accelerations (mm/s^2)
    M906 X1200 Y1200 Z1600 E1200:1200 I60 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; Set axis minima
    M208 X500 Y480 Z450 S0 ; Set axis maxima

    ; Endstops
    M574 X1 Y2 S0 ; Set active low endstops

    ; Z-Probe
    M574 Z1 S2 ; Set endstops controlled by probe
    M307 H3 A-1 C-1 D-1 ;
    M558 P9 X0 Y0 Z1 H5 F100 T2000 ; Set Z probe type to effector and the dive height + speeds
    G31 P25 X-45 Y0 Z1.45 ; Set Z probe trigger value, offset and trigger height
    M557 X45:450 Y45:450 S50 ; Define mesh grid

    ; Heaters
    M305 P0 T100000 B3950 C0 R4700 ; Set thermistor + ADC parameters for heater 0
    M143 H0 S160 ; Set temperature limit for heater 0 to 160C
    M307 H1 A373.4 C264.8 D4.9 B0
    M305 P1 T100000 B4725 C7.06e-8 R4700 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S300 ; Set temperature limit for heater 1 to 300C
    M305 P2 T100000 B4725 C7.06e-8 R4700
    M307 H2 A373.4 C264.8 D4.9 B0
    M143 H2 S300

    ; Fans
    M106 P0 S1 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Tools
    M563 P0 D1 H1 ; Define tool 0
    G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
    G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
    M563 P1 D0 H2 ; Define tool 1
    G10 P1 X-20 Y0 Z0 ; Set tool 1 axis offsets
    G10 P1 R0 S0 ; Set initial tool 1 active and standby temperatures to 0C

    ; Automatic saving after power loss is not enabled

    ; Custom settings are not configured

    config-override.g is bellow.

    ; This is a system-generated file - do not edit
    ; Heater model parameters
    M307 H0 A90.0 C700.0 D10.0 S1.00 V0.0 B1
    M307 H1 A373.4 C264.8 D5.9 S1.00 V0.0 B0
    M307 H2 A413.5 C230.8 D5.6 S1.00 V12.1 B0
    M307 H4 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H5 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H6 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H7 A340.0 C140.0 D5.5 S1.00 V0.0 B0

  • @jasonpgr Short answer - you need to add M501 to the end of your config.g file.

    Longer answer. When you boot the machine, the firmware reads in all the values from config.g. Then if it sees an M501 command, it read all the values from config-override.g. So, you've used M500 to store the values to the override file but missed the command that "tells" the firmware to read the values that are in that file. Hence, you've been using the M307 values that are in config.g and not the ones you've created by tuning.

    You can either put M501 at the end of your config.g file, or you can copy and paste the values that are in the overide file, straight into your config.g file and not use the override file.


  • I'll give this a shot a report back. Thanks so much! I'll be so happy if that's all it takes to fix it.

  • So far, that did the trick. Got one print heated up and running with no issues at all.... I kinda feel dumb now.

  • @jasonpgr said in Printer heating issue:

    So far, that did the trick. Got one print heated up and running with no issues at all.... I kinda feel dumb now.

    Glad you got it fixed. In fairness, the instructions for tuning heaters doesn't explicitly state that if you use M500 to save the values, then you need to add M501 to the end of config.g to read in those values. So it's an easy thing to miss if you are a new user.
    Personally, I never use config override but prefer to have all my configuration settings in one place (config.g).

  • New and exciting issue. I changed out the extruder and carriage and everything so switch to a new direct drive set up, and this included a new cooling fan. It doesn't feel like the fan is blowing directly on the nozzle, and the whole heating block is covered in a silicone jacket, but now it can't get up to temperature at all. I am trying to run M303 to get my settings dialed back in but I get the message "Auto tune cancelled because target temperature was not reached" in the console window. Any ideas on how to fix this one?

  • Still using same heaters? If not, make sure your new heater is for 12v, not for 24v. If same heater, check all connections, electrical and also mechanical (heater to heating block).

  • administrators

    @deckingman said in Printer heating issue:

    @jasonpgr said in Printer heating issue:
    Glad you got it fixed. In fairness, the instructions for tuning heaters doesn't explicitly state that if you use M500 to save the values, then you need to add M501 to the end of config.g to read in those values. So it's an easy thing to miss if you are a new user.

    If you use M500 but no M501 command was executed in config.g when you started the Duet, the firmware will warn you.

  • @aidar yep, same heaters, same block. I just unscrewed it from the old heatsink and put it into the new Titan Aero. The part cooling fan is new though, so I'm thinking that might be blowing on the hotend too much. I was trying to do the M303 while the fan was on, so it would compensate for the fan during printing.

    @deckingman I have M501 in the config file as of a couple weeks ago, but I don't recall there being M500 as well. Do I need both in order for the m501 to work? Where would I put the M500 in the config file? Does it matter if it's at the beginning or end? I'm trying to use the override file for my heater settings so it will come up automatically if I run the autotune again.

  • M500 is used to save heaters parameters after autotune to config-override file using DWC gcode console. To call this file duering booting you must have M501 in config file. So you config should include M501, but not M500 .

  • @jasonpgr

    "aidar" beat me to it - so what he said..........

  • I just checked the impedance of my heater cartridge by putting the meter on the wires right where they go into the board (I disconnected the leads from the board first) and it came out to be 6.7 which sounds like almost double what it should be.

    The printer has some pretty lengthy cable extensions on it since it's a really big printer and they have to run to the back side of the printer, up to the top, and along the cable chain to the actual print head. Is it possible that the amount of cable is raising the impedance and cutting down on the amount of power my heater cartridge is able to put out? Should I use a thicker wire to make this run? Maybe get rid of the butt connectors and solder the wires to the cartridge to make sure I'm not adding any resistance? These seem like super minor changes to cause such an annoying problem, but it's all I can think of.

  • @jasonpgr Assuming it's a 40 Watt heater, then the resistance (at 12V) ought to be around 3.3 Ohms if my elementary understanding of Ohms law serves me correctly. So yes, 6.7 ohms would mean that it would draw about 1.8 amps which at 12V would be about 21 Watts. That explains why you are struggling to get up to temperature.

    From you've said, it could be a dodgy connection - that's more likely than simply the wire length unless you are suing really thin wires (but I'm not an expert on these things). If it was me, I'd cut the wires back to about say 100 to 200 mm from the cartridge, then measure the resistance. If it's still high, then it's the cartridge. If it's low, then it's the wiring.


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