"heater timing" or "heater phasing" feature request



  • I have a number of heaters on my larger 3D printer and I would like a way to manage their power consumption so 1) so they're not exceeding the power supply circuit in any given instant and 2) make the power consumption steadier

    I have a bed heater and an enclosure heater that are have similar power demands. If they're both on at the same time, they would exceed the load rating for the supply circuit. Once the machine is at temperature, each heater is on 50% or less of the time.

    I also would like to define which heater gets priority. In my case, the bed should get priority over the enclosure heater, so when the bed is warming up, maybe the enclosure heater isn't running much but that's not a big deal, the enclosure will be at temperature by the time the ambient heat matters, when the print is building further away from the bed.

    Similarly, I have four heaters on my extruder, they're much lower power and less likely to be a problem, but it would still be nice to have a similar "phasing" so no two of these heaters are on at the same instant. Also with these, the duty cycle is pretty low once the extruder has been preheated.

    Is this something that can be accommodated within the firmware?



  • @jrdm

    actually a choreographed PWM-mix you are asking for? But that would not become handy if your supply is too weak when starting up, because all current demand would have to be split over 1 time-unit x very difficultly across the amount of "members" of pwm-doable current... this would not be easy to code I guess and would considerably make things slower for people with a strong PSU that itself can throttle down if demand is lower...?



  • @jrdm A couple of random thoughts based on what might be possible with things as they are now.

    I'd say the best ting to do might be to wrap the commands in a macro - call it "PrePrint" for the sake of argument. So it would be reasonably easy to set the bed temperature and wait for that to be reached, then do the same for the chamber temperature. So M190 Snn followed by M191 Snn will turn them on in stages.

    The multiple extruder heaters might be a bit more of a challenge but assuming you have them assigned to a tool, then in theory it should be possible to set different active and standby temperatures for each heater assigned to that tool. If that is the case, then it should also be possible to stage that heating sequence similar to above.

    So something like G10 Pn Snn:0:0:0 should set the active temperature for the first heater with the other 3 heaters set to zero. This could then be followed by M116 Pn H0 which would wait for that heater to attain the active temperature. Then set the active temperature for the second heater using G10 Pn Snn:nn:0:0 which would set the active temperatures for the first two heaters, followed again by M116 Pn but with H1 instead of H0 to wait for the second heater. Then G10 Snn:nn:nn:0 followed by M116 Pn H2 and so on for the other two heaters.

    Not very elegant I admit but it might achieve what you want.



  • @lb It's not the PSU, I'm mostly using AC heaters. I don't want the current draw from heaters adding up to more than what should be drawn from the outlet.


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.