Is PS_ON controlled by a thermal error?
-
It's also not 100% failsafe like you suggest. Internal shorting of heater coils (happened once to me on a common silicone bed heater) can produce higher temperatures than intended. It also existed for some time before I realized it, giving an opportunity for a mosfet to latch closed.
On initial heatup, Duet boards provide a warning if the heater seems to be overpowered (temperature rising too quickly). So for your scenario to occur, a FET would have to fail during the same print as a cartridge heater failure. In 5 years of 3D printing I've never experienced or heard of a cartridge heater failure like you describe, and I've heard of maybe 1 or 2 FETs getting stuck on. The odds of both occurring during the same print… you're more likely to be hit be lightning, honestly.
It's also not at all practicable in my application (my goals are engineering around some bed mass vs losses near the edges, which require a particular watts per square inch, and are at odds with the goal of designing for a maximum attainable temp. I have a custom made bed that would need to be changed, as well as my goals for that bed.
A bed should never be capable of reaching autoignition temperatures. If you're after a super powerful bed in order to overcome thermal mass and keep reasonable heat up times, I would counter that the proper engineering solution is not bed thermal mass, it is to use a heater that has a higher power density near the edges like E3D's Varipower bed or Prusa's MK42 bed.
A second fet requires a board modification that many users are not confident doing. I'd really much rather not make modifications to a perfectly working brand new board. It's an easy modification, just need to tap into the Gate signal,
The number of people that can't solder but are printing PPS/PEEK/PEI has got to be like, 1 or 2. I'll solder in a second FET free of charge for anyone in the world that sends me their board because they're printing those materials but can't do the soldering themselves. Or if you didn't want to solder at all, just set the firmware to use one of the heater pins on the expansion connector, and use it to control two FETs in series.
but still, I don't see this as a replacement for my suggestion.
That's good, because it wasn't intended to be a replacement for your suggestion - it is an interim measure until your suggestion can be implemented.
What do you all think about an Mcode that allows you to request the reason for a power-off event if you weren't connected to the machine to observe the gcode window?
And where would that power off code reason be saved in the meantime? That's where it gets a little more complicated and gets into the logging David talked about. Sure it is possible to hack something in temporarily, in fact that is what I suggested myself much earlier in the thread! But one of the things RRF excels at is avoiding the sort of "temporary" hacks that Marlin does that end up becoming poorly implemented permanent features. So it is better to do it right the first time, even if takes a little longer.
I feel like I'm losing my sanity discussing this. So I'll leave it at what I've said above, hopefully my suggestions are of use to someone.
-
I'm also wanting to help protect people that buy cheap printers that have too powerful heaters and don't know better than to solve that. There are use cases for this feature than just the people printing high temp stuff.
2 fets in series doesn't solve it either actually. You won't have any indication that the first has failed and latched into the on position, and will keep on using your backup. The second can then do the same maybe years later. A good safety valve needs to 1) work, and 2) let you know that it worked.
Cartridge heaters are not the only heaters in use on printers. The bed won't reach autoignition temperatures for the filament, but it can cause other effects like breakdown of insulation and release of adhesives which can then grow into a bigger problem, with the heater not heatsinking into a big plate. Bed mass is a necessary function of the flatness and rigidity that I'm going for over about 2 square feet. I can share my CAD simulations if you like but justifying my choice in heater wasn't really the point of this thread. Stopgaps aren't either. Again, you're suggesting I do a bunch of machine rework on an already excellently performing machine as a stopgap measure.
The more obvious stop gap measure is to go back to a board that has this feature that I already have in stock, but I actually like the duet and I'm hoping we can help more people than just me!
A nice bonus would be to pause the host, turn off the stepper drivers, and turn off the remaining heaters too.
You need to supply 5v power to make best use of an atx supply anyway, how else will you turn PS_ON on? It can just stay in memory till retrieved. That's a far lower technical hurdle for people already using atx power supplies.