Heater Control
-
I have had a couple of reports of heat creep still occurring with the 1.15 release firmware for the wired Duets. I suspect this was being caused by spikes in the temperature sensor reading, so I have built a 1.15a binary to address this possibility. The Duet WiFi binary is here https://dl.dropboxusercontent.com/u/19369680/DuetWiFiFirmware.bin. Also in this version I have further increased the maximum allowed temperature deviation in the steady state before a fault is reported to 10C, which I hope will help with StephenRC's issue when the blower fans are turned on.
-
Stephen, are you running the 1.15 release or one of the release candidates? I increased the allowed temperature variation from 5 to 8C in the later versions.
It was the 1.15 release. Upgraded it before switching the filament to PETG and the hotend heated up fine for the swap.
How much temperature drop do the blowers cause then?
Put the second blower back on and ran the tests:
Bed heater off.With 1.14 with no M301, set to 250C, Blowers at 100%, nozzle at bed, it dropped to 244.8C and held there +- a few tenths.
With 1.15 with M307 H1 A483.6 C120.3 D4.8, Blowers at 100%, nozzle at bed, it dropped to 242.1C, then increased very, very slowly.
Did another auto-tune with M303 H1 P0.2 S250 after it cooled down, and got M307 H1 A472.2 C119.1 D4.9, Blowers at 100%, nozzle at bed, it dropped to 242.9C, then increased very, very slowly.
Just realized I never mentioned that this is on a Duet 0.8.5.
-
Thanks, Stephen, now I know what I am dealing with. Thank you for your patience.
I found that even with the 1.15a release, you could still get temperature creep if you have a noisy thermistor channel and were using legacy PID parameters. I've fixed that in release 1.15b, available on github at https://github.com/dc42/RepRapFirmware/tree/dev/Release.
-
I printed that part again with 1.15a. Printing PETG at 250C, when the blowers came on the first time it dropped to 243.7C, it increased a few tenths of a C while printing the first solid top layer layer and it didn't get back to 250C until they turned off. The second time it dropped to 242.7C, and also the temp didn't get back to 250C until they turned off.
-
Update running 1.15b – pressing the PanelDue reset button fixes it temporarily. When I power cycle, the PanelDue gets stuck on "Starting up" and I have to press the reset button to get it to connect.
Found a text error in the gcode console:
11:01:20 PM
M303
Heater 1 tuning succeeded, use M207 H1 to see resultOn picking P values… would it be possible to auto-tune that too? Turn on the heater at 100% power, wait through the dead time, measure the heat-up curve slope, and ballpark a P value that gives a reasonable slope? Then cool back down and restart. Yeah, that takes considerably longer, but one longer run that works 99% of the time is preferable than needing multiple runs to dial in a good number, particularly on beds where there is more variability than hot ends.
-
By the way, I REALLY appreciate the "heater appears to be overpowered" warning. It's going to lead to some good conversations and end-user concern. Really emphasizes the need for thermal fuses on high-power beds, for example. Auto-tune says my bed can hit 258C, which would be a pretty big problem since it's on ABS mounts. I do have a thermal fuse on it though.
-
Update running 1.15b – pressing the PanelDue reset button fixes it temporarily. When I power cycle, the PanelDue gets stuck on "Starting up" and I have to press the reset button to get it to connect.
Found a text error in the gcode console:
11:01:20 PM
M303
Heater 1 tuning succeeded, use M207 H1 to see resultOn picking P values… would it be possible to auto-tune that too? Turn on the heater at 100% power, wait through the dead time, measure the heat-up curve slope, and ballpark a P value that gives a reasonable slope? Then cool back down and restart. Yeah, that takes considerably longer, but one longer run that works 99% of the time is preferable than needing multiple runs to dial in a good number, particularly on beds where there is more variability than hot ends.
In future I plan to use a heating phase, a cooling phase, and then a steady temperature phase. This will be somewhat faster than the approach you suggest. But the maths is more complex and I need to work that out; also I want to resolve any issues with temperature control first.
-
dc42 1.15c firmware. My first attempts at auto tuning the hot end on a printer that has been running this hotend (E3D v6 with 12V cartridge) for several years without fail.
I started with P0.5 and that overshot (S240) P0.4 and P0.3 the same. Then P0.2 gave this:
M303 H1 P0.2 S240
1:36:48 PMWarning: Heater 1 appears to be over-powered and a fire risk! If left on at full power, its temperature is predicted to reach 882C.
Auto tune heater 1 with PWM=0.20 completed in 824 sec, maximum temperature reached 195.5C
Use M307 H1 to see the resultThis is a stock E3D v6 setup with a stock 12V supply putting out 12.45VDC. Any suggestions or explanations appreciated.
cheers,
Michael -
Those results don't sound right. What M307 parameters did it return? Can you measure the resistance of the heater cartridge? Do you have any thermal insulation on your hot end?
I believe E3D changed the power of the heaters they ship from 40W to 25W some time ago.
-
This is a 40W cartridge that measures 3.6Ω, no insulation. Unfortunately, I did not check M307.
I just reran it after waiting for it to cool to room temperature as:
M303 H1 P0.25 S250Temperature increased gradually (I have a screen shot) and then get this message:
Auto tune of heater 1 with P=0.25 S=250.0 cancelled because temperature limit exceeded. Use lower P or higher S in m303 command.I did an M307 H1:
Heater 1 model: gain 862.3, time constant 296.2, dead time 6.9, max PWM 1.00, in use: yes, mode: PID
Setpoint change: P8.9, I0.03, D42.9
Load change: P8.9, I0.65, D42.9I'll rerun the P0.2 S240 and do an M307 this time.
-
So that's 43W at 12.45V. Your time constant found by tuning is about double the value I get, which suggests to me that either your hot end is better insulated than mine or your hot end heatsink cooling fan is not very effective. The combination of high heater power and long time constant explains the high gain and hence the warning message.
-
It's a stock E3D V6 with standard cooling fan and shroud. I've measured the top of the cold zone and it is fine and I never get plugging with PLA. The parameters I use with the M301 are:
M301 H1 P20 I0.27 D100 T1.1 S1 W300 B30
(this is with 1.15-beta3) and worked fine. Hot end heated up quickly and stabilized. I have other printers I can update to the 1.15c firmware but they are Duet .85 controllers. Not sure what to do here with this one though.
I did rerun the P0.2 S240 and got the same overpower warning and this time I dd the M307:
M307 H1
Heater 1 model: gain 884.2, time constant 296.0, dead time 6.8, max PWM 1.00, in use: yes, mode: PID
Setpoint change: P8.7, I0.03, D41.8
Load change: P8.7, I0.64, D41.8 -
The warning is genuine then, although it may be exaggerating somewhat because it assumes that the heat loss is linear with temperature, which is not exactly true.
I suggest you plug the M307 parameters into config.g. If they don't give you good temperature control, you can put your M301 command back after the M307 if you double and halve the I and D parameters as per the 1.15 release notes.
-
Thanks David.
But this begs the question - what's the "right" thing to do from a heater perspective? Is this legitimately a safety concern and if so, what should be done to rectify it? Is this unique to my E3D V6 or all of them?
-
Ok, I plugged the parameters into M307:
M307 H1 A884.2 C296.0 D6.8 B0 S0.8I did leave S0.8 for no good reason. It is working perfectly - climbs steadily up to my target (190°C) and then levels with no overshooting and stabilizes much faster with less than +/-.1°C variation. Much better than what I had before.
-
Thanks David.
But this begs the question - what's the "right" thing to do from a heater perspective? Is this legitimately a safety concern and if so, what should be done to rectify it? Is this unique to my E3D V6 or all of them?
You might want to consider replacing your 40W heater cartridge by a 25W one, which I understand is what E3D ships as standard these days. Otherwise you might suffer a heater block meltdown if the heater ever got stuck at full power.
-
30w is now standard, which tops out at ~330C without heater block insulation or a fan blowing on the heater block.
40w will get hot enough to melt the aluminum in the event of a firmware/FET failure.
-
Ok, this is good to know! I will check and update the cartridges in all of my printers. No need playing with fire!