[3.4.0b7+7] Heater overshoot if second K value in M307 is used
-
Just for giggles I turned off the second K value and then checked what the typical temp drop when turning the fan on at different values is.
In this graph the sequence was.- Stabilise at 225
- Set fan at 33% - Drop was about 2.5 degrees
*Stabilise at 225
*Turn fan off - Temp rose about 2 degrees - Repeat at 66% - temp drop about 3 degrees and increase about the same
- Repeat at 99% - temp drop about 4 degrees and rise about 3 degrees when turned off
So I probably need to work on my fan shroud as it affects the temp despite the silicon sock.
However the +/- 2-3 degrees I get is much better than the temp increase with the second K value active.
I can of course fine tune with lowering PWM values and tweaking K values to make them closer together, but just giving feedback on what the firmware spits out. -
@owend what hot end are you using?
The E3D v6 hot end places the thermistor on the opposite side of the nozzle to the heater. This gives the most accurate reading, although it does increase the dead time a little. However, some other hot ends place the thermistor between the heater and the nozzle. This configuration will give a less accurate reading, because when the heater needs to produce more power, the thermistor will read higher then the nozzle temperature. For this type of hot end, the thermistor will show a temperature overshoot when the fan is turned on, even when the nozzle temperature actually drops when the fan is turned on.
-
@dc42
It's a genuine E3D V6 hotend, so thermistor is separated from heater by the nozzle.
The initial overshoot is not such a problem (although it is increased since earlier firmware)
The problem is the large increase in temp when short bursts of fan speed changes occur.
This has on several occasions caused a heater fault as it's above the maximum excursion limit. -
This issues persists in V3.4.0RC1
Performed a fresh PID before testing.
If the default fan speed is zero (such as for ABS) and a part of the print gives multiple short bursts of fan for bridging etc, the heater will rise until the maximum excursion limit is reached and the heater goes into fault mode.
If I do the same print but ensure the fan speed never goes below 30%, then the spikes do not happen. (there are small temp changes)
Likewise if I set the second K value to zero it does not error. -
@owend Did you re-run the PID tuning with RC1? Not sure if anything has changed in that or not, but may be worth trying if you didn't?
-
@gloomyandy
Yes I did a new PID for 3.4RC1 before testing.
There was nothing in the notes to say that anything had changed in heating apart from those directed at slow responding beds, but I thought it worth a shot. -
@owend it may be that the position of the head relative to the bed or print affects the nozzle cooling a lot. How far above the bed was the nozzle when you tuned the hot end? I normally tune hot ends with the bed at operating temperature and the nozzle close to the bed.
You can reduce the second K value manually if you need to.
-
@dc42
I normally do the PID tuning at about 5mm from the bed, but the bed was probably cold, so I'll run it again.
I can indeed "solve" the issue by manually adjusting the second K value and don't mind doing so, but this behaviour wasn't evident with earlier versions.
I can't roll back far without breaking a bunch of macros. -
I have the same problem since 3.4.0beta7+7 and 3.4.0RC1.
Whenever the fan speed changes, the algorithm doesn't seem to take it into account. I always print my bridges very slowly and therefore reduce my fan speed slightly during this time, the target temperature is always overridden by approx. 5 Kelvin to the target value, even if the change is very short (e.g. 3mm bridge). -
-
Initial testing suggests that 3.4RC2+2 fixes this issue.
https://forum.duet3d.com/post/274456
I'll mark this as solved.
-
-
-
@owend thanks for confirming.