Is PS_ON controlled by a thermal error?
-
Why not use heaters that physically can't reach dangerous temperatures? A E3Dv6 with 30w heater shouldn't exceed 300C or so.
I prefer shutting my power down at the first sign of trouble, rather than having a runaway cook and char filament until I've noticed the problem, making the cleanup job on small nozzles on complicated direct extruders bigger.
I use that exact setup to print at 330c regularly. It still doesn't help those that need to use the heaters they are stuck with, for one reason or another. A commonly supported firmware feature makes that doable. What if someone needs to print at 400+ sometimes, like if they print PEEK and requires a powerful heater to do that? too bad?
I don't see "repurchase all of your heaters if you switch from a RAMPS or Smoothieboard to a Duet" to be a reasonable thing to ask, especially when some are quite expensive or specialized, do you? In my case it adds about $500 to my "upgrade to a duet" project and negates the reasons I chose the heaters I did.
-
The reason for my suggestion is that properly sizing heaters is 100% failsafe. All other solutions are not - for instance what if the firmware hangs and doesn't shut off the PS_ON signal or the hotend's FET?
If the heater will only get hot enough to cook the filament, that's a pretty tame result for something should happen basically never (FET failure or firmware hang).
As for PEEK printers, that is likely an incredibly small slice of the market. Do you know anyone that is printing PEEK?
Heaters are $7, less in bulk. To get to $500, that'd be ~80 hotends worth of printers. Are you genuinely talking about 40-80 printers? If so, that large of a bulk order would likely move the firmware feature request up in the queue.
Either way, I'm sure that the firmware request will eventually get done - dc42 has already said as much. I am just proposing an interim (and to be honest, more complete/safe) solution to do in the meantime.
If you don't wish to use appropriately sized heaters and want a solution against a stuck FET in the meantime, you could wire a second FET in series with the stock FET.
Could also modify the firmware yourself, the beauty of open source! Looks like you could do something around line 200 of the PID.cpp to kill PS_ON. Looks like there's code for setting the state of PS_ON in Platform.cpp.
-
elmoret your answer is rather narrow minded…. no offense but there are plenty of people who want to print with filaments that just cannot be achieved with 30W heaters..... This is why E3D sells the copper heat blocks and PT100 sensors FOR PRINTING WITH HIGHER TEMPERATURES
Not to mention that the OPs criteria for PEEK was just an example, how about some of the specialty filaments from 3DXTech like Firewire??? I have a couple rolls of this.... should I just throw it out and downgrade to 30W heater to appease people like you? or should we accept the fact that there is a reasonable risk in printing filaments like these with powerful heaters but work to bake in as many safety features as possible.
How about instead of limiting everyones scope we work to bake in as many safety features as possible to make it SAFER for those who want the ability to print in specialty filaments instead of chastising us for wanting to do so.
-
How about instead of limiting everyones scope we work to bake in as many safety features as possible to make it SAFER for those who want the ability to print in specialty filaments instead of chastising us for wanting to do so.
Where did I chastise anyone? Where did I say we shouldn't add this feature? Heck, I even pointed out how it could be added to the firmware. I'm just suggesting alternatives in the meantime until the feature is implemented.
there are plenty of people who want to print with filaments that just cannot be achieved with 30W heaters….. This is why E3D sells the copper heat blocks and PT100 sensors FOR PRINTING WITH HIGHER TEMPERATURES Not to mention that the OPs criteria for PEEK was just an example, how about some of the specialty filaments from 3DXTech like Firewire??? I have a couple rolls of this....
What filaments? PPS (Firewire) prints at 325C… which is achievable with a 30w heater like said previously in the thread.
Autoignition of PLA/ABS is around 380C and 390C, respectively. So if the heater is sized such that 350C can't be exceeded, there's no more autoignition risk. A ~350C limit only precludes PEEK. I doubt "plenty of people" are printing PEEK. Even if you expand it to PPS/PEI, I doubt 99% of users will ever print those materials. So the heater sizing handles every possible controller issue, and works for 99% of folks. The other 1% could do a second FET while waiting for the firmware update.
-
Actually you are but we can disagree to disagree on that point… Your replies do not say hay I dont disagree with that feature.... your replies including the one that you just wrote to me are all justifications on why people should just not use 40W heaters.
Why not use heaters that physically can't reach dangerous temperatures? A E3Dv6 with 30w heater shouldn't exceed 300C or so.
I am not going to quote literally every reply you made but they are all attempting to shoot the idea down because it doesnt fit your 99% use case… But what I will admit, I read the part incorrectly on source code bit off from my lack of sleep last night, yes you were trying to be helpful there.
Firewire temp range is Extruder Temp: 350 - 380°C (all-metal extruder)
I do not print at the lowest end of the range, parts do not perform well doing so.... I did not buy a 3D printer to print toys, I own 0 rolls of ABS and 2 rolls of PLA.... PLA is only used for initial design testing, final prints are all done in specialty filaments.
I did not spend a bunch of money upgrading to a DuetWifi, PT100, E3D copper heat block (good to 500C) so I could print toys.... Are all the filaments 330C+ ? no but that that is why they make the PT100 and Copper heat blocks... to make successful high temp prints on specialty filaments not PLA and ABS.... so yes while most happily print along with Toy filaments, most also do not need PT100's and Copper heat blocks but they are here for those of us that do.
Plated Copper-Alloy Heater Block
These blocks are engineered for ultimate high temperature performance. Made from a special high temperature copper-alloy with a softening point of well above 500C (compared to aluminium blocks which begin to lose integrity beyond 350C), and much-increased thermal conductivity these copper blocks are perfect for high temperature applications while working perfectly with everyday filaments like PLA, ABS and spoolWorks EDGE.
In addition to high temperature performance these blocks have an advanced nickel based plating, this plating considerably reduces the adhesion of plastic to the block. This is great for everyday filaments keeping things clean and shiny, but is particularly important at temperatures above 300C where a silicone sock can't be used.
Combine with our plated copper nozzles for the ultimate extrusion pairing.
So yes while the majority is printing fine with 30W heaters, that does not mean that there is a small few that are otherwise e3d would not be making products catered to us. Those of us who are using filaments like these understand that there are inherent risks but that means we also need to put as many safety stops in as possible….
I am glad that 30W heaters work for the majority, but I am also glad that we have the capability of printing at higher temps if we need to. Just like I am glad that while CNC machines running aluminum frames and toy steppers exist I am also glad we have access to more advanced industrial steel frames and high end servos. Each level coming with more and more risk, but along the way we do our best to mitigate it.... we don't say to everyone no Dont buy the steel frame and high powered servo you might kill yourself.... instead we say, hay lets bake as much failsafe into that machine as reasonably and economically possible, so that for those with a need for the high powered machines can be as safe as possible.
Maybe instead of finding reasons for why people shouldnt use powerful machines, we brainstorm some ideas to create failsafes in the event that something does go wrong.
-
Notice that part of the quote from e3d where aluminum blocks begin to lose integrity above 350C and the sock cannot be used above 300C? So maybe your suggestions for people should be if you do not own a copper alloy heat block from e3d then you should not be using a 40W heater for safety reasons.
-
With that note, by upgrading my system to duetwifi and macro capability I am able to hot swap hotends from single extruder to dual extruder etc… for myself there is no reason i cannot print a another carriage that has a 30W heater so it is only powered by 40w when printing above 330C... now thats a good safety feature... lets brainstorm some more good ideas like the origional posters idea and this one.
I am sure there is more that can be done
-
don't mean to be a butthead but… I don't want the machine limited by safety! if i can get parts that will work above 300C, i should be able to get safety at that level. Too many new filaments coming out and i can easily see the need to exceed 30 watts just for the high tech filaments that are in my future... These 2 items should be addressed separately. Safety is always a concern but the machine has to function 1st. just my 2 cents... IE polycarbonite and even some carbon fiber stuff are prime examples.
-
A couple more that benefit from 40w and copper block
Carbon fiber Ultem (PEI) Extruder Temp: 330 - 350°C (all-metal extruder)
Ultem 9085 (PEI) Extruder Temp: 330 - 350°C (all-metal extruder)
-
Your replies do not say hay I dont disagree with that feature….
What? I said that I'm sure this request will get implemented, suggested implementing it (said "what about implement it anyway") and also pointed out how it could be done. I also never disagreed with implementing it, but if it helps:
I don't disagree with implementing this feature.
I have said it multiple times, and I'll say it again: My suggestion of 30w heaters is for the 99% of people that don't print over 330C. Quite simply, if you don't print over 330C, a 30w heater is the safest thing you can do because it covers every controller failure mode there is, including multiple FET failures (which the PS_ON feature would not protect against).
For the other 1%, those people that do print over 330C, I am certain that DC42 will implement the requested changes, he has already said as much. But in the meantime, I offered some suggestions as temporary workarounds. (Adding a FET, implementing a temporary firmware change).
Maybe instead of finding reasons for why people shouldnt use powerful machines, we brainstorm some ideas to create failsafes in the event that something does go wrong.
Agreed. But those failsafes take time to implement (so it is worth discussing interim measures) and no failsafe is perfect (so if you don't need 40w heaters, don't use them).
-
agreed, steady as she goes… safely is a huge concern with my printer. current job estimates 60+ hours so no way to baby sit it that long. Fingers crossed LOL
-
Agreed. But those failsafes take time to implement (so it is worth discussing interim measures) and no failsafe is perfect (so if you don't need 40w heaters, don't use them).
Agreed
-
The safest method would be swapping the 40w for the 30W when you dont need the extra power, but we definitely need some safety baked in when we do. Molex quick fittings for the heater cartridge should make it so it is not such a pain.
-
Heaters are $7, less in bulk. To get to $500, that'd be ~80 hotends worth of printers. Are you genuinely talking about 40-80 printers? If so, that large of a bulk order would likely move the firmware feature request up in the queue.
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. 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.
If I must do a firmware modification myself, I will. Luckily I have the skills to do this. Many people don't.
My suggestion is to add a common and easy to fast track the additional layer of security for if all the others fail.
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, but still, I don't see this as a replacement for my suggestion. Infact, I may end up doing both, thermal fuses for this application are tricky to do well.
I'm still requesting that if there's a compromise we can come to that can result in this being implemented for everyone across the board faster, we should do it.
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?
-
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.