Welcome! Log In Create A New Profile

Advanced

Adjusting M307 for faster heating

Posted by unromeo21 
Adjusting M307 for faster heating
November 15, 2016 04:48AM
So the auto-tuning of the bed heater worked perfectly, but one small thing bothers me.

Having an 800W heater, I feel it takes too long to reach target temperature. Let's say I set it to 70° C, it takes 2-3 minutes to reach 55-60, and another 5 or more minutes to go from 60 to 70. Now I don't mind a small overshoot, so I would like to adjust the values to get to target temp faster.

How would I go about doing this ? Which values should I increase or decrease, allowing a small overshoot but no oscillation during normal operation ?

My M307 looks like this:
M307 H0 A259 C1220.7 D65 S0.8 B0

Thanks,

Regards
Re: Adjusting M307 for faster heating
November 15, 2016 04:58PM
That 65 second dead time is huge. Assuming that you copied it correctly from the auto tune results, I think that auto tuning has probably over estimated it. Try turning the heater on, measuring how long it takes the temperature to rise by 2C, and using that as the dead time.

It sounds to me that you have significant undershoot when heating. This can happen if you have a bed with a fairly high thermal mass and a thermistor that is embedded in the heater. Such a bed has two gain parameters. Auto tuning generally picks up the long term gain, but for PID control the lower short term gain is more important. So try reducing the gain parameter to eliminate the undershoot.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Adjusting M307 for faster heating
November 16, 2016 04:18AM
The bed is 400x400x8mm aluminium plate, 800W silicone heater glued underneath, Thermistor is embedded in the middle of the alu plate. The autotuning estimated a dead time of about 2 seconds which was way to little. I could not even start the heater because of the errors. The dead-time was set by me manually to an arbitrary value.

I will try reducing the gain and see if I get the expected results.

Thanks.
Re: Adjusting M307 for faster heating
November 16, 2016 08:46AM
I suspect that the thermistor is not in good contact with the aluminium plate, so that it is responding to the temperature of the heater more than the temperature of the plate. That would explain the very short dead time, and also the short-term gain being lower than the long-term gain. I have a similar issue on one of my printers, but not as bad. If the plate is thick enough then a thermistor in a hole drilled into the edge of the plate may be a better option; or if the plate is bigger than the heater, you could attach the thermistor to the underside of the edge of the plate.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Adjusting M307 for faster heating
November 16, 2016 03:49PM
The thermistor does not make any contact with the heater, it's mounted in a drilled hole inside the aluminium plate, right in the middle. (I requested to leave the supplied thermistor out and instead cut a round hole).
Photo

Anyway, I have reduced the Gain to 200, reduced the dead-time to 25 seconds and increased PWM to 100%.
Now I have an overshoot of about 0.5 °C and no oscillations. Time to heat-up reduced almost to half. It's perfect.

Thank you for your help.
Re: Adjusting M307 for faster heating
November 16, 2016 06:17PM
Glad you got it working well!

Your dead time is still quite high. This could make the PID slow to react to load changes, such as the fan coming on, after initial heating is complete.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Adjusting M307 for faster heating
November 17, 2016 04:19AM
Quote
dc42
Your dead time is still quite high. This could make the PID slow to react to load changes, such as the fan coming on, after initial heating is complete.

Seems to be fine, almost 4 Kg of metal doesn't react so fast to temp. changes. Also, this is approximativ the time I measured for a 2 degrees temp. increase.
Re: Adjusting M307 for faster heating
November 17, 2016 12:12PM
For info, my bed is almost the same as yours except that it's 10mm aluminium instead of 8mm .The heater is the same (800W) but I use a PT100 instead of a thermistor (for no particular reason other than I had a spare channel on the daughter board and a spare prt). Mine also has insulation underneath. Anyway here are my M307 values which don't look a mile away from what you ended up with.

M307 H0 A198.7 C1205.5 D30 B0

Interestingly, I had the opposite problem to you in that initially, the auto tune calculated the dead time as 4.8 seconds which gave me a slow heater fault so I upped it to 30 seconds which was the dead time that I actually observed.

HTH
Sorry, only registered users may post in this forum.

Click here to login