Hotend triggers error just before target temp. is reached

What is the problem?
I recently installed the BTT SKR mini E3 v3 with Marlin. It generally seems to run just fine except that most of the times when I start a print, heating stops right before the target temperature is reached, triggering this error:
Heating failed, system stopped! Heater_ID: E0 -
E0 is the hotend, apparently. It always looks like this in the graph:

If I heat it up in smaller inclines, it can get to the target just fine.

(btw. I also wonder why it takes those dips before the target temp is reached..)

What did you already try to solve it?
Restarted the print. Again....!
I am wondering if there is a way to extend Marlins patience with the temperature incline. Is there a way to do that? Any other sollution you can think of?

Additional information about your setup (OctoPrint version, OctoPi version, printer, firmware, what kind of hardware precisely, ...)

I would do 3 things:

1: make sure its using the correct thermistor thats actually installed in your hot end. You may have to query the hot end maker to get that info.

  1. make sure the thermistor is in good contact thermally, bury it in Boron Nitride Paste inside the hot end.

3: run the PID calibration utility for at least a 10 cycle count, see the (I assume Marlin-2)
man pages for gcodes. klipper also has that but the syntax is slightly different IIRC.

4: 220C is a bit cool for PETG, way hot for PLA, what are you feeding it?

1 Like

I agree with @WOWElectronics except the first thing I'd do is the PID calibration, M303. Set the new PID values with M301. Most implementations of Marlin store these values in EEPROM so an M500 after setting the new values should make them permanent.

1 Like

Thank you for your answer!

  1. Both hotend and thermistor are original parts for that printer. So that's not it.
  2. Okay. It wasn't on the original hotend, so I should be able to do without.
  3. It didn't do the trick, it seems. Thank you. Wasn't aware there was PID in a 3d printer.
  4. hehe. Good question. It think it is PETG :smiley: I got it dirt cheap (7 usd pr. kg) from a 3d printing factory near where I live. He said it was PLA but it behaves a lot more like PETG. I think he may have mixed up the rolls somehow. It took a while to figure out how to print with it, but now I have almost free filament that will last me quite some time. It prints fine for my purposeses.

I didn't put the PID recal at the top of my list because of the early tripoff, that smelled more like noise from poor grounding which is often ignored in the 3d world. Or a missmatched spec for the type of thermister. So my attention was focused on that possibiility, causing a timeout shutdown. ATM I have no Marlin actually running, klipper seems more better to me. It will time out quicker than marlin I think, and that can be a pita while tuning a new install. With what I think is a 40 watt heater in my two trees sp-5, the rate of rise is much faster than you show, which caused me to question the thermal contact. My temp with my PID settings rises at about 5C a second, and overshoots about 2C at the top of the knee when set for 245C and PETG with rise being much closer to a straight line. My own time killer is the sp-5's puny bed heater, its around 13 minutes from power on to 80C, but after cleaning the glass with Bar Keepers Friend, causeing billions of microscratches that aid adhesion, and can go too far, taking the matrix paint off the glass, or even cookies out of the glass so be careful with that, applicable to pei coated steel plates too, so now I'm only running bed at 70C and can get parts off it easily after its cooled. Also have cura set to not start the parts fans till layer 3, and then only at 25%. klipper bangs them hard for a second to start, marlin doesn't.

I have a 2/1 autoformer rated for several kw, gives me 63 VAC at considerable current from a wall plug, rigged to supply at least 2 printers with bed heater power, all controlled from the printers 24 volts if it needs bed power, that is about to get put into service to speed up the bed heating.

Success/failure of that will likely be posted here. In the EU, the electrical rules must be different because I've noted the EU bed heaters are often fed 220 directly. Here, NEC apparently causes them to be 24 volt, or the wireing spec changes. That also obviously needs a different bed heater for the higher voltage.

In any event, you should post what you found to solve the problem. Not all solutions can be legally applied where the readers of this list reside, so that should be kept in mind.

Take care and stay well.

Cheers, Gene

I was to quick to celebrate. The issue was still there after having tried the calibration several times. I couldn't quite see how the paste alone should fix it. Since the heating worked just fine prior to switching to the BTT board, I figured it should be a control-issue.

So I looked up how PID works, and it turns out the D-number is what steps on the brake as the observed value is getting closer to the target. I halved the D-value I got from the PID tuning, and entered that, and now I got this heating curve - a bit more like to what you are seeing @WOWElectronics

It still makes the wierd drop, but for a shorter time so it doesn't trigger the "killl called"-error.

Thanks for the help!

Thats still a bit much for D, and it looks like P could go up, but its a bit hard for me to separate P and D effects from poor thermal contact. The Boron Nitride is an electrical insulator but an excellent heat conductor. For either package type, the small tubular or the creality style glaas bead, its will greatly speed up the transfer of heat, and the speed of its response, so my attitude is grease it anyway as it will greatly reduce the lag in obtaining an accurate reading of the real temperature by several seconds. Good practice IOW. A PID is one thing that does not well tolerate a time lag in its feedback. When used in motion control the usual practice is to measure the error and issue a correction at 1 kilohertz for a repetition rate. Thermal by its nature is slowed a lot by the mass of the hot block, and a lag in that very quickjly results in a Nyquist instability if not an outright oscillation. See the ripples in the early part of your blue trace after the bed has reached the desired temp. That is the clue the P term is borderline high, but it also Means it gets to temp quicker, A slight 1 or maybe 2C ripple there but that small a ripple that never goes away is likely ignore able. The I term is fine, thats the long term accuracy. And too much of that will slow it prematurely. If you can see the board, and it has leds to tally the on & off of the two heaters, those leds can tell you a lot. From the right end of the hot end curve, and assuming good thermal contact, I'd up P about 10% and cut I by about that much in %, What you want is the first peak actually going above the set line by a degree or maybe 2, then settling to a flat line at set temp over the next 30 seconds.

Take care & stay well, Martin.

When you built Marlin for your SKR board, what did you set your thermistor to? The configuration.h file sets the type of thermistor..

You've checked the posts made by @b-morgan and @WOWElectronics so provided there's electrical continuity to the thermistor my next suggestion would be to look in the configuration.h, around line 540 you'll find the #define value for the thermistor.

The behaviour does hint at a thermally triggered disconnection of the thermistor - could even be within the glass bead, possibly too small to see. Or even shorting to the hot end block - the ptfe tubes are not particularly robust, don't overtighten the clamp screw, to check that, remove the screw whilst the hot end is over 100 degrees C, carefully!.

If I change the thermistor after a hot end has exploded filament everywhere, [usually if the print comes off the bed for some reason] wrecking the silicone cover, hot end shell and duct I always run PID tuning, and when I upgrade hot ends to Micro Swiss all metal, I run PID tuning and extruder step calibration.

Hi @rcw88.
Thanks for your reply! As stated above, at was a PID-issue. The automatic PID-tuning came out with values that were completely off. With a little experimentation, I got it working. The printer now works just fine :slight_smile:

1 Like