PID Heater for Hotend
I'm attempting to auto tune the heater for my hotend (E3Dv6 Full Metal), i'm running a M303 H1 P0.5 S240 command and its hitting the temperature limit and failing. So, I've changed the PWM parameter to 0.4, that is then giving me a read out of:
Warning: Heater 1 appears to be over-powered and a fire risk! If left on at full power, its temperature is predicted to reach 515C.
Auto tune heater 1 with PWM=0.40 completed in 538 sec, maximum temperature reached 209.7C
Use M307 H1 to see the result
I then run the M307 H1 to see the parameters it has generated and i get:
Heater 1 model: gain 495.0, time constant 188.7, dead time 7.7, max PWM 1.00, in use: yes, mode: PID
Setpoint change: P8.9, I0.05, D47.6
Load change: P8.9, I0.58, D47.6
Do these parameters look appropriate to you? I'm just a little concerned on the "If left on at full power, its temperature is predicted to reach 515C" message. Or is this a standard warning message?
I am running with 1.15b firmware at the moment, but i do plan on upgrading that at some point, should i make that my priority tonight?
That message is generated when the predicted temperature, assuming 20C ambient temperature, exceeds 190C for a bed or chamber heater and 500C for a hot end heater. The predicted temperature is very approximate.
For comparison, my E3DV6 which has a 30W heater and no silicone sleeve gives gain 337, time constant 138, dead time 5.1. Do you have the silicone sleeve over the hot end? If you do, that would increase both the gain and the time constant by approximately the same factor.
Later firmware versions won't give different tuning results, but may help you avoid getting spurious heater faults.
Thank you for the reply. Its nice to have some confirmation!
I don't have the sleeve either. So i'm safe to put these settings into my config.g AFTER the M301 command? "M307 H1 A495.0 C188.7 D7.7 B0" would be what i enter, correct?
I've been getting a few heating faults, so i will get that firmware sorted tomorrow. Is the 15-e version on your github is the latest that you advise to upgrade to?
Also, when upgrading firmware, do all the config.g mods remain or do i need to back all the files up first?
Normally you remove your M301 commands and just use M307. Two sets of PID parameters will be computed from the M307 parameters. Only use M301 if you want to override the computed PID parameters, then put the M301 command after the M307 command.
Updating the firmware does not touch your config.g file. Version 1.15e is current.
Ahh right okay, i will replace the M301 with the M307 then.
Awesome, thanks for the confirmation. Will get to it tomorrow!
peridot last edited by
I'd just like to mention: the warning is a real warning. If your hot end gets stuck on somehow - MOSFET fails shorted, gremlins manage to lock the firmware in spite of the watchdog - that's an estimate of how hot your hot end will get. It'd be safer if your hot end used a lower-power heater cartridge, just in case something goes badly wrong.
That said, if you use a part cooling fan, you may want to rerun the PID tuning with it turned on; you probably won't get a warning (which doesn't make your hot end any safer) but you're less likely to get heater faults when the fan does turn on.
pete1961 last edited by
With 115e after doing a M307 Auto tune which works fine…
I change my config.g file and add these parameters.
What I'm seeing though is when I cancel a print and the heater is not at room temperature the heater will always fault out.
What is causing this.
My PID Parameters are M307 H1 A363.0 C177.9 D12.0 B0
Part cooling fan, I was tuning with this turned off so i just turned it on and used the same tuning parameters of "M303 H1 P0.4 S240". It reached 145.5C and completed in 370 seconds. Maybe if i should be now putting the PWM back to 0.5 if i'm tuning with the fan on…