Limit heater ramp rate?
-
@TLAS Heat it in stages with a delay between each stage? I.e set temperature to (say) 50 Deg C, pause for a period of time, set temperature to say (100 Deg C, pause again etc. Wrap the commands in a macro and have as many stages as you think are appropriate.
-
@deckingman
I also considered setting the PWM / heater calibration in stages, that would ensure more safety in ramp up.It just feels like there should be something that automatically adjusts the pwm automatically to reduce ramp rate - like a 2nd level calibration that calibrates at different PWM and then uses that to calculate an acceptable ramp rate at different temperatures.
-
@TLAS I would imagine that the majority of users want their heaters to reach operating temperature in the shortest possible time. PID control works that way. i.e the power to the heater will be greater when the difference between target temperature and actual temperature is greater - that's "Proportional" bit in "PID". so what you are asking for amounts to non Proportional control.
You could try using "bang-bang" mode instead of PID (set the "B" parameter in your M307 to 1 instead of zero). Maybe use that as the first stage then switch to PID for the second stage of heating? You'll need to experiment a bit.
Edit. Also, in your OP you state that the rate of heat rise leads to "mechanical stress and warping" but that you need full power to counteract radiant heat loss. This implies that the stress and warping only occur during the heat up phase but once up to temperature the mechanical stresses and warping are not a problem. How so? How does that manifest itself?
-
@deckingman
Regarding the heat question - thermal stresses are due to the gradient of temperature. The larger the gradient the larger the thermal stress and warping.The stress in a part is proportional to the gradient, the gradient is proportional to heat input and countered by heat spreading out due to thermal conductivity (lessening the gradient). Essentially, if you have a thermally conductive material, thermal stresses are minimized. If you have non-thermally conductive materials or a fast enough heat source, those thermal stresses can be significant.
When an item reaches a high, but stable temperature, the thermal stresses vanish because the piece is uniform and there is no temperature gradient (although material strength is also reduced at high temperature).
Long winded answer…. Hope it explains it well enough. There are full college courses on this topic.
-
@TLAS Yes being a mechanical engineer, I am conversant with the mechanism involved but I was more interested in how this manifests itself as a problem on your printer. I.e, what actually warps and what physically happens when the part in question warps?
-
@deckingman
Nothing big… Just permanent bowing of structural parts supporting movement effectively disabling the printer…. :). I’m looking at other ways to solve this as well. -
@TLAS said in Limit heater ramp rate?:
@deckingman
Nothing big… Just permanent bowing of structural parts supporting movement effectively disabling the printer…. :). I’m looking at other ways to solve this as well.Sorry but it's hard for me to visualise how a rapid temperature rise of a hot end heater block can bow any "structural parts supporting movement". The hot end must have a heat break between the heater block and anything else otherwise it simply won't work. It sounds to me as if you have a hot end with some sort of mounting arrangement connected directly to the heat block which is a seriously bad design fault. IMO, that's where you should be focusing your attention, rather than trying to find a software solution. The heater block should be made from a material that is a good conductor such as aluminium or copper which facilitates rapid transfer of heat throughout the block. It's only a poor conductor or a composite of different materials that will warp in the way that you alude to.
EDIT. I don't know why but for some reason I thought we were talking about a hot end heater. If it's a bed heater then ignore all of the above.
-
@deckingman I guess it’s a bed or chamber heater.
@TLAS I’d say heat in stages and allow a soak time. Create a macro for the stages, I think you could use meta Gcode to capture the current time and set how long before the next stage starts.Ian
-
@droftarts said in Limit heater ramp rate?:
@deckingman I guess it’s a bed or chamber heater.
Yes, the would make sense - for some reason I just assumed it was a hot end but looking back, the OP doesn't actually say that. Sorry if I jumped to the wrong conclusion.
-
@deckingman
Yep, no worries. I’ll give the soaking option a try with some built in delays. It should be repeatable regardless, so it does lend to working well with something like that. -
@TLAS said in Limit heater ramp rate?:
@deckingman
Yep, no worries. I’ll give the soaking option a try with some built in delays. It should be repeatable regardless, so it does lend to working well with something like that.Bang bang mode might be worth looking into as well. I'm not exactly sure how it works but with PID, the heater will be on at full power until it approaches the set point. Bang-bang might work differently and might apply the duty circle during the warm up phase. Unless someone more knowledgeable than I jumps in, then I guess all you can do is try it and see.
-
@TLAS Another option is a kinematic mount. I took a different approach and insulated\isolated the aluminium plate from the frame to which it is attached so very little heat finds its way into the frame. The lead screw mounts are fixed to this frame so thermal expansion of the build plate doesn't lead to any problems with the linear guides.
-
@deckingman
Kinematic mounts are awesome. -
@TLAS said in Limit heater ramp rate?:
@deckingman
Kinematic mounts are awesome.So are hinged hot end mounts that alow one to use the nozzle as a Z probe.
-
@TLAS said in Limit heater ramp rate?:
I need the power at maximum temperature to counter radiant heat loss, so running the heater at a lower PWM wouldn’t work.
Can you set a gcode Daemon job that will adjust the max PWM rate to the current temperature? E.g. every few seconds.
EDIT: It may confuse the PID but this may also we adjusted with the increased temperature.
EDIT: Another option may be to adjust the PID, for example, reducing the P value (?). Dave should know better.