Repeat Heater Faults while printing

  • I feel like I'm so close to getting this machine working I can taste it, but every attempt to actually print something ends up in a Heater fault after the first layer or so. Leaving my bed or hot end at a specific temperature seems to work fine, and they'll stay at any temperature I set them to from the Duet web interface without fault. I only see issues when I load a g-code file and attempt to print.

    I've installed my Duet Wifi on a Rostock Max V2, which is pretty much stock in all other regards (no Z probe, stock heater). I've also ran the heater calibration for both the bed and hot end.

    My config.g file looks as follows:

    ; Communication and general
    M111 S0 ; Debug off
    M550 PRostockMaxV2 ; Machine name and Netbios name (can be anything you like)
    M551 Preprap ; Machine password (used for FTP)
    ;*** If you have more than one Duet on your network, they must all have different MAC addresses, so change the last digits
    M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xED ; MAC Address
    ;*** Wifi Networking
    M552 S1 ; Enable WiFi
    M555 P2 ; Set output to look like Marlin
    M575 P1 B57600 S1 ; Comms parameters for PanelDue
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates…
    M83 ; ...but relative extruder moves
    ; Axis and motor configuration
    M569 P0 S0 ; Drive 0 goes forwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S0 ; Drive 2 goes forwards
    M569 P3 S0 ; Drive 3 goes forwards
    M569 P4 S1 ; Drive 4 goes forwards
    M574 X2 Y2 Z2 S1 ; set endstop configuration (all endstops at high end, active high)
    ;*** The homed height is deliberately set too high in the following - you will adjust it during calibration
    M665 R143.626 L290.8 B140 H391.67 ; set delta radius, diagonal rod length, printable radius and homed height
    M666 X-19.6 Y-20.25 Z-15.05 ; put your endstop adjustments here, or let auto calibration find them
    M350 X16 Y16 E16 I1 ; Set 16x microstepping with interpolation
    M92 X80 Y80 Z80 ; Set axis steps/mm
    M906 X1400 Y1400 Z1400 E1400 I60 ; Set motor currents (mA) and increase idle current to 60%
    M201 X1000 Y1000 Z1000 E1000 ; Accelerations (mm/s^2)
    M203 X20000 Y20000 Z20000 E3600 ; Maximum speeds (mm/min)
    M566 X1200 Y1200 Z1200 E1200 ; Maximum instant speed changes mm/minute
    ; Thermistors
    M305 P0 T100000 B3950 R4700 H30 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction
    M305 P1 T100000 B3974 R4700 H30 L0 ; Put your own H and/or L values here to set the first nozzle thermistor ADC correction
    M305 P2 T100000 B3974 R4700 H30 L0 ; Put your own H and/or L values here to set the second nozzle thermistor ADC correction
    M570 S180 ; Hot end may be a little slow to heat up so allow it 180 seconds
    ; Fans
    M106 P1 H-1 ; disable thermostatic mode for fan 1
    ; Tool definitions
    M563 P0 D0 H1 ; Define tool 0
    G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures
    ;*** If you have a single-nozzle build, comment the next 2 lines
    ;M563 P1 D1 H2 ; Define tool 1
    ;G10 P1 S0 R0 ; Set tool 1 operating and standby temperatures
    M92 E93 ; Set extruder steps per mm
    ; Z probe and compensation definition
    ;*** If you have a switch instead of an IR probe, change P1 to P4 in the following M558 command
    ;M558 P1 X0 Y0 Z0 ; Z probe is an IR probe and is not used for homing any axes
    ;G31 X0 Y0 Z4.80 P500 ; Set the zprobe height and threshold (put your own values here)
    ;*** If you are using axis compensation, put the figures in the following command
    M556 S78 X0 Y0 Z0 ; Axis compensation here
    M208 S1 Z-0.2 ; set minimum Z
    T0 ; select first hot end
    M307 H1 A467.0 C226.2 D12.3 S0.7 B0
    M307 H0 A113.1 C743.8 D26.6 S1 B0

    I am using Simplify3d to Slice, and have set the GCode to Relative, and included the following lines in my startup:

    G28 ; home all axes
    M83 ; Makes the extruder interpret extrusion values as relative positions.
    T0 ; DuetWifi standard procedure

    Any help?

  • Firmware version? If 1.15 or later, have you tuned the heaters? See:

  • administrators

    Is the heater fault occurring just after the print cooling fan turns on? If so, how much does the hot end temperature drop when the fan turns on?

  • Stephen I have tuned the heaters. The lines

    M307 H1 A467.0 C226.2 D12.3 S0.7 B0
    M307 H0 A113.1 C743.8 D26.6 S1 B0

    in my config file are the values I got after tuning them.

    DC42, looking at the log files it does seem to occur shortly after the layer fans turn on. I'm not sure by how much the temperature drops, but considering I have 3 layer fans pointed in the hot ends direction it could be fairly significant. I will run through a test when I get home to find out the exact amount.

  • administrators

    OK, I suspect the layer fans are causing the temperature to drop sharply by more than 10C, and that will cause a heater fault. 10C is a large drop and is likely to cause extrusion problems too. Are you able to turn them on at low speed at the end of the first layer, and then increase to full speed either just when bridging or at the end of the second layer?

    Eventually I plan to add feedforward control to increase the heater power automatically when you turn the layer fans on.

  • Run another tuning on the hotend with the part cooling fan at 100% and the hotend less than 5mm from the bed. When I did that with my two blowers, the temp drop is initially 5C max and it actually recovers back to the set temp while the fans are on.

  • Stephen: I will try this.

    DC42: I can confirm that when the layer fans turn on they do indeed drop the temperature on the hot end significantly. I have attempted a slower fan startup but this does not seem to fix the issue as even running at 25% it is enough to knock the hot end below the fault threshold. Is there any way to shut off this error checking or any other suggestion?

  • administrators

    Currently the fault threshold is fixed at 10C, although I may make it configurable in the next release. But won't you get extrusion problems if the temperature drops by more than 10C?

    If you are using an E3D hot end, one thing that may help is to put one of their silicone sleeves over it,, to insulate the heater block from the cool air. Another thing you can try is to set the first layer temperature about 5 to 10C higher than the remaining layers.

  • Is there any chance of PID settings that resist excursion more vigorously? Clearly the heater is capable of bringing the hot end back to the right temperature even with the extra cooling, so in an ideal world the PID loop would notice the excursion more rapidly and turn up the heat more vigorously. Or is the problem one of hardware - there's an inevitable lag between turning up the heater and seeing warming at the thermistor?

  • DC42: I'm not using an E3D hot End. Saving up for one now, but I'm still using the stock Rostock hot end with a replacement heater cartridge. This is basically how I've printed with this machine since March. I've never had extrusion issues with the layer fans kicking in. I've always assumed that the thermistor is not capturing the correct internal temperature of the hot end, as on this unit the thermistor is mounted closer to the outside of the entire hot end assembly. Unlike my Ultimaker 2 where the thermistor is mounted as close to the center of the hot end end as possible. This means its more sensitive to external cooling initially, however, given time the temperature eventually evens out.

  • Try to insulate the printer's heatblock from the fan, so it doesn't drop in temperature. I use a lot of kapton tape wrapped around it in several directions.

    Also, try to have the fan running at its lowest possible setting for the first layer, and while the hotend is heating up, so that there is no abrupt change in airflow.

  • Bot: Done and done. No effect. I use a different, thicker tape then Kapton but basically the same stuff. I think whats happening, especially at the low levels is I'm just getting a lot of blow back from the fans on the hot end off the build plate.

  • administrators

    What first layer and subsequent layer temperatures are you using?

  • Kapton is very good at insulating, and I wrap at least ten times around it, if not way more. I suggest you try more insulating. I, too, had a huge temperature drop when my 3 fans kicked in before I insulated the block.

    see mine here:

  • DC42: I'm using 210 throughout. Fan speeds startup at 25%.

    Bot: I forget what type of tape I'm using but it was recommended as better then Kapton for hot end installation.

    At this point its sounding more and more like the best choice is to simply move ahead the time table on my inevitable upgrade to an E3D hot end.

  • administrators

    Try setting your first layer temperature to 5 or 10C higher than the remaining layers. This is a standard thing to do anyway, because higher temperatures help with adhesion to the bed, and lower temperatures reduce stringing.

    In the next firmware release I'll try to address this issue, either by making the maximum allowed temperature variation configurable, or by implementing feed forward control to increase the heater power when you turn the fan on.

  • Just to complicate the temperature-management wishlist, I used to get thermal faults even with Marlin's more permissive setup when the hot end spent a lot of time on the first layer, particularly near the center - the hot end was heating the bed enough that the bed thermistor (at the center but on the underside of the glass plate) was detecting unusual warming. (Warming when the heater is supposed to be off is an alarming sign, though it's not something that can be fixed by the Duet's approach of shutting off the heater. PS_ON to the rescue!) An insulated hot end is supposed to help with this, but some people may see expected thermal excursions in the bed too.

  • I have just finished a switch to DuetWifi on Rostock Max V2.3 with E3D, and I had problems with temp faults until I ran the tune up. On the other hand, If your printer is more or less stock, and you have only one layer fan, it could help if you move it to another side. Also, I assume that with the old set up your temps did not drop as much, right? If so, you might want to play with the PID settings. In any case, if you are considering switching to E3D or something else vs stock hot end, I would recommend. Although most people use E3D, do a search before you buy, there are many different models within E3D line-up and there are other brands too. I am also getting PT100, for a more accurate temp read out and possibly even higher temps.

  • Personally I'm a bit puzzled by all of this. I don't want to upset anyone here but aren't we asking for the firmware to be modified to compensate for some defect in the printer design, when in fact we should be looking to rectify the root cause of the problem? The firmware is detecting large temperature excursions and treating them as faults, which indeed they are. I would suggest that if the print cooling is sufficient to drop the hot end temperature by 10 degrees, then it is too aggressive and/or badly aligned. Shouldn't we just move the fans or slow them down such that they don't blow on the hot end, rather than look for ways to modify the firmware so that faults are ignored? Personally, I know it's against the rules but I've found that I get better results with no print cooling at all, except for very small objects (but that's with PLA).

  • I agree on this one, I just did not want to bring it up. If the standard blower was used, it is unlikely that it can cause a drop of 10C. My guess is that either PID settings are wrong for some reason, or, most probably, the Rostock hot end has developed issues. So, going to a more standard hot end such as E3D would solve the problem.

    I have seen other complaints about the 10C excursion limit, so perhaps an ability to temporarily override it could be useful, but I agree that fixing problems makes more sense.


    Personally I'm a bit puzzled by all of this. I don't want to upset anyone here but aren't we asking for the firmware to be modified to compensate for some defect in the printer design, when in fact we should be looking to rectify the root cause of the problem?

Log in to reply