Unstable Hotend Temperature

Basic Information:

Printer Model: Flyingbear Ghost 5
MCU / Printerboard: Robin Nano V1.2
printer.cfg (3.7 KB)

Describe your issue:

My temperature varies from the hotend by 1 - 4 degrees during printing, despite PID tuning. When I am not printing also fluctuates but only slightly so 0.1 - 1 degrees.
I have already done the PID tuning several times and also tried different sensor types.
Likewise, I have already installed a new temperature sensor, an NCT 100K.
I have had similar fluctuations also with the heating bed, but, after entering PID values from the official firmware, fluctuations have become minimal, so maximum around 0.1 degrees.
I also tried this with the hotend, but unfortunately it did not help.

Hope you can help me here.
I have attached the printer.cfg because unfortunately my current klippy.log is over 8 MB and I can’t upload it here.
If the klippy.log is needed urgently, I can upload a compressed version.

Thanks already in advance

Are you running a sock on the heater block? Nozzle size? Heater wattage?

Yes I have a sock on.
I use a 50W heater and the nozzle size is 0.4mm

Have you checked your power supply voltage to see if it is holding up during the heating cycles?

No, can I see that in Klipper too? Or must I measure it by self?

FYI Makerbase boards seem to have very frequent complaints about unstable temperatures. At least some of them seem to have issues with ADC reference voltages resulting in erroneous/noisy temperature readings. I do not have any specifics or direct experiences though, just basing this on what I have come across in different posts.

Even if this a point, somehow the original firmware have now problems with unstable temperatures.

Yes, this is also commonly reported. I have no answer, but it’s possible that they use additional filtering in their firmware to mask or reduce the hardware issues. All speculation of course.

Could you specify “varies” a little: Is it going up and down by random or does it sinks down by 1-4 deg during printing? I had a very similar problem and I found out, that my part cooling blowed directely against the heater block, so the controle was not able to compensate this. Maybe you try to switch of cooling completely (only for one test run!) and see how it behaves. The PID is certainly not the problem despite you use insain values. What is the power of the heater during print? 40%? And at what temp you are printing? 230Deg C ?

No it’s don’t only sink down it’s also get higher -+ 1-4 C Degree.

I Printing PLA with 215 C Degree and PETG with 235 C Degree

Hmm I will later check the point with the fan.

Thank you

Measure it with a voltmeter.

Hmmm. just to be sure (maybe i have to take back my popsition, that the PID is not the problem): The idea is: if your PID values are somehow completely wrong (mines are approx. double your values and I use a 40W 24v Dragon Hotend), the watermark should show good results. It has the disadvantage, that it tends to overswing during heat-up. After heating up, it should be ok for 99% of all applications. I would limit the maximal power (max_power) for a test to 75%. Let us know the behaviour now. Maybe you can make a screencopy of the temp-graph for the extruder of the original and the watermark-behaviour…

Could you replace the following lines in your printer.cfg (this is the copy of your printer.cfg) see below.

step_pin: PD6
dir_pin: !PD3                           # PD3 for A4988, !PD3 for TMC22**
enable_pin: !PB3
microsteps: 32
rotation_distance: 22.67895
gear_ratio: 50:10
nozzle_diameter: 0.400
filament_diameter: 1.750
max_extrude_only_distance: 100
#pressure_advance: 0.000
heater_pin: PC3
sensor_type: Generic 3950
sensor_pin: PC1
control: pid
pid_Kp: 11.14
pid_Ki: 0.72
pid_Kd: 43.09
min_temp: 10
max_temp: 260

comment out the following lines:

control: pid
pid_Kp: 11.14
pid_Ki: 0.72
pid_Kd: 43.09

And add instead:

control: watermark
max_delta: 1.0
max_power: 0.75

Also please delet the lines in the
## <---------------------- SAVE_CONFIG ---------------------->
# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.

#*# [extruder]
#*# control = pid
#*# pid_kp = 18.840
#*# pid_ki = 0.849
#*# pid_kd = 104.565

one more thing: Could you check during printing, if your extruder power (“Leistung”) has enough power left, so does not work longer time on the 100% mark (during heat-up, 100% is ok).

hey i tried your suggestion.
but did not really get reliable results. The temperature with PID looks good when the printer nothing prints, but with a Druckt that one recognizes unfortunately in the one picture not so well falls the temperature partly on 233 degrees. These are 2 degrees difference I had also already higher differences.

Here once the screen shot with watermark and PID.
Left is the temperature with watermark and right with the old PID values.


And the following picture is a pressure started with 235 C degrees, there you can see that the kruve always drops a little and rises between. The differences are too high so that I often got the error message “verfiy heater”.

If temp drops in a closed loop PID you may have the following things to check:

  1. Sensor ok? (I think you did that)
  2. Values of PID ok? (I think, we could try to optimize this a little. But usually, it should run with the PID tuning…)
  3. Actors ok? ( this is the heater itself, including all cables. You should check this.)
  4. Controler ok? (Means: might be a problem of the control board, but maybe most unlikely source of problem)

I think it might be difficult to distinguish between 2 and 3. If you go to “watermark” controler (maybe you might reduce the Temp-Value from 2 deg to 0,2 deg. I wrote a controler like this with an arduino and it keeps temp ±0,1deg…) you can jump over 2 and concentrate on 3. So if you have an electrical problem, it should also occure using the watermark control. And you would see it very clearly using the last view (because some of the “teeth” of the “PWM” signal will be missing or be too small).

My suggestions: try to tune the watermark-controle so that you can print (btw: ±1deg should be perfect for PLA and for most other filaments, since i set up my heating tower with 5 deg steps only and I am very happy with my results). and watch the “PWM” curve. If you use 0,4 nozzle and not an insane speed, your flow will be very low and the i-Part of the PID-Controle will not have too much to do anyway.

If you do not print, you do not have a remarcable loss of energy in your hotend (only dissipation, this should be 5% or so with a sock), so any problem of the unit might be unseen.

If you can print with watermark without “chekc your heater” Error, we could spend some time to hand-optimize your PID wich is really not a big thing for a temperature control…

I didn’t try to print with watermark because my temperature jumps from 230-240.

I changed the whole Heatblock to a new one with a new sock and new heater and new temp sensor and had unfortunately the same problem.

I didn’t event notice the problem until I tried to print petg at longer print because I saw then the error message with “verify heater”.

The heater, fans and temp sensor are connected to a PCB board which sits in the head.

I will flash the original firmware and see if the problem still exists.

If the temperature is stable then I can assume that it is not a hardware problem.

I installed the original firmware yesterday and unfortunately the same problem still exists.
I have also switched the component coolers on and off, which produces fluctuations, but the fluctuations only occur briefly and it doesn’t matter whether I switch the fans on or off.
Both produce a short temperature fluctuation.
Unfortunately, the values take far too long to recover and when there is movement, the temperature also fluctuates -+ 1.5 C degrees.

What irritates me is that you reported that you have the same problem at the heatbed. This would point to(2) or (4) in my list above. Could you please doublecheck? Maybe you run a new PID Optimization for PETG Values (235/80) to check behaviour of the bed…

You could try: Experimental PID improvement changes
Especially this Experimental PID improvement changes - #21 by DanS

But this would point to a software issue? I just go over the (long) text but I do not know if it explains a control-drop inside a closed loop which has only a minimal I and D part (because: Temp is very close to target)? The graph above shows that underpowering is not the problem… I start to get confused :wink:

1 Like