Limiting ramp rate in heating algorithm
-
Does anyone know if there is a way to limit the ramp rate of heaters? I’ve done a bit of digging, but haven’t been able to find anything.
Thermal stress in parts (hot end, bed, chambers, etc...) is proportional to the temperature gradient from heating. With higher temperatures, more power is needed to combat radiative losses (proportional to temperature^4) and convection losses (proportional to temperature^3/2 with free convection). Higher powered heaters over-perform at lower temperatures where radiative losses are minimal. The resulting ramp rates can cause high thermal stresses and potential damage to printer components.
From a safety standpoint, implementing a ramp rate parameter would also be a good idea. Starting out with a lower PWM (with a lower max-temperature capability) and verify heater performance before reaching high-powered states. In the event of a problem (admittedly likely only a software problem), the heater would never exceed safe ranges.
I think the easiest method of implementation is to have an array of calibrations at different PWMs / temperatures, and then use interpolation to find the appropriate PWM to achieve a desired ramp rate. I could go into more of the algorithm details if this put into the firmware at some point in time. This might be achievable more manually with conditional g-code, but I haven’t looked too much into it.
Anyone have any thoughts or ideas?
-
Hi,
good thing to think about!
I for myself just decided to learn how to adjust P I D, by manually tuning what you get as a starting point from the RRF-tuning-algorithm that should be doable?
Best
Lucas -
@LB
The PID parameters will actually change as you get to higher temperatures (gain and time constant mostly), although it honestly won't affect the heating too in the initial ramp up. I feel uncomfortable ramping more than 3 degrees C / second (which would let you hit 200C in under a minute), especially as temperatures get higher. Using a lower PWM at lower temperatures helps limit the ramp rate, then upping the PWM at a later point in time once you get to a higher temperature.
Overall, I'd just like to build some more margin and safety into the design by limiting the ramp rate without having to adjust by hand (as I've done in the past during heat-up).