Welcome! Log In Create A New Profile

Advanced

Teacup: max_temperature

Posted by miso 
Teacup: max_temperature
September 15, 2012 11:38AM
Hi, given the fact that excessive temperature can damage some hotends (PEEK softens at ~250 C), it could be useful to have temperature limit set in firmware to act as safety measure. I dont know about other firmwares but Teacup seems to lack this feature. Was this ever considered?
Re: Teacup: max_temperature
September 15, 2012 05:15PM
Marlin has this temp limiter in Configuration.h

Quote

// When temperature exceeds max temp, your heater will be switched off.
// This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure!
// You should use MINTEMP for thermistor short/failure protection.
#define HEATER_0_MAXTEMP 275
#define HEATER_1_MAXTEMP 275
#define HEATER_2_MAXTEMP 275
#define BED_MAXTEMP 150
Re: Teacup: max_temperature
September 16, 2012 05:37AM
Teacup trusts the G-code sent. If there were a fixed limit, you'd immediately have users who don't understand how to edit config.h and go away.

Teacup has such a limit with feedrates and it's likely the reason for it's limited spread in the RepRap community. People tried Teacup, found it to be "slow" and prefered Sprinter, which is "faster" (without feedrate limit). The truth was, Teacup had a more effective stepping algorithm, outperforming Sprinter easily on machines which could keep up with that speed and configured to do so.

It's the RepRap world. winking smiley


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: Teacup: max_temperature
September 16, 2012 10:46AM
"it could be useful to have temperature limit set in firmware to act as safety measure. "

In fact, it should be a required feature of any and all firmware.
Re: Teacup: max_temperature
September 18, 2012 06:23AM
Quote

In fact, it should be a required feature of any and all firmware.

What do you do with people working outside of the envelope you personally consider to be the right "max limit"? As we all know, personal computers will never ever need more than 640 k of memory. smiling smiley


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: Teacup: max_temperature
September 18, 2012 01:38PM
As with anything, people working outside the boundaries are on their own. If you *choose to light a match in a room filled with gasoline vapor, that's your choice. I can do nothing about it, no matter what controls I put in place. Just please don't do it with me in the room. You can huff the plastic fumes if you desire. nothing I can do about that. You can twist the wiring together. nothing I can do about that either. It's when one exposes others to unsafe environments or recommend unsafe practices to others that one become liable, either legally or at least morally.

However, not implementing at least a first order over-temp shutdown in the firmware is in my opinion careless at best, and in my professional opinion, well I'll be nice and just shut up on that for now as I suspect my professional estimation might be a bit more incendiary that might be prudent at this juncture. IF temp > max_temp do { overtemptShutdown() } or similar is a bit of a no brainer though, don't you think? (as is, btw, what overtempShutdown() would implement) The thing is, a larger and larger number of people coming to this initiative aren't programmers and cannot be expected to fill in the blanks on their own. And no, it isn't a redundant or bullet-proof solution...but it does provide some level of safety. And that falls to the authors of the firmware.

I don't think that the 640K memory issue is a good example honestly. You can't light a piece of paper from not having enough memory. 240C is more than enough though, unless I'm fuzzy today and the conversion is off. (454-32) x 5/9
Re: Teacup: max_temperature
September 18, 2012 08:58PM
I've never understood what a max limit saves you from. Some extreme setting to protect you from a short or disconnected thermistor is somewhat useful.
Most melt downs occur because the thermistor is either working loose, or has come loose in which case it reads lower than the actual, temperature and the firmware keeps trying to raise it to the requested temperature. A Max temperature doesn't protect you from that.
Having a setting like 275 only protects you from the user specifying a temperature in excess of that, or some bizarre failure condition where the heater PWM never shuts off, and in that case a better fail safe would be checking for a temperature much higher than requested.
Re: Teacup: max_temperature
September 19, 2012 03:14AM
I agree completely with Polygonhell!

If the user sets 500°C then the machine should attempt to reach this temperature.
But if we are maintaining 210°C and the temperature suddenly drops by say 100°C then something is WRONG and we need to SHUTDOWN. The thermistor coming loose is a very real and possible fail condition of the hardware and if not checked for could cause one to burn out the hot end (or at least run it at its absolute maximum temperature for the entirety of the build.


Bob Morrison
Wörth am Rhein, Germany
"Luke, use the source!"
BLOG - PHOTOS - Thingiverse
Re: Teacup: max_temperature
September 19, 2012 05:46AM
Polygonhell Wrote:
-------------------------------------------------------
> Having a setting like 275 only protects you from
> the user specifying a temperature in excess of
> that

That still quite pays off given that the cost is only couple of lines of code. Mistyping temperature is real danger and definitely can happen. So I have hard-coded check for 250C to temp_set() in temp.c for now to act just as input sanitation..
Re: Teacup: max_temperature
September 19, 2012 05:53AM
@miso: I agree that adding such a check is easy to do and shouldn't really bother anyone but the check for something that can easily occur that is potentially much more dangerous I consider a much higher priority.


Bob Morrison
Wörth am Rhein, Germany
"Luke, use the source!"
BLOG - PHOTOS - Thingiverse
Re: Teacup: max_temperature
September 19, 2012 05:53AM
rhmorrison Wrote:
-------------------------------------------------------
> If the user sets 500°C then the machine should
> attempt to reach this temperature.

I disagree, user input is prone to errors, so firmware should do some sanity checking on it. Same is true for config.h, but its not edited on daily basis so greater care can be kept
Re: Teacup: max_temperature
September 19, 2012 06:33AM
I use Marlin as my firmware, but think this is a safety issue for all firmwares.
I see a number of fail conditions that apply to both hot end and heated bed:
1. Thermistor or wires break/not connected - I think this is already covered - temp reading drops to -20 as the resistance goes to infinity. Usually you'll get the 'Cold extrusion prevented!' warning (at least in Marlin!).
2. Thermistor or wires short - temp reading goes to highest possible value (say 300C) - the heated bed would never turn on, though I don't know if there is any feedback to say if this has happened.
3. User error - mistyping required temperature - too low doesn't matter (apart from ruining the print), too high and there should be a firmware limit, and a warning of some sort if the requested temperature is above this limit. I'd say 130C for heated bed, 250C for hot end. The action could be to ignore any temp over these amounts when asked for in gcode, and give a warning back to the console that this has happened - should be easy to add to the gcode function.
4. Thermistor becomes detached (this could happen during a print, or between turning off and on, ie if the printer has been moved and the thermistor dislodged) - over time, there would be no or only a slow rise in recorded temperature when the heater is on. I guess this means determining the usual heat ramp and logging the temperature and when the heater is on/off, so firmware can decide when there is a fault.
Any others?
Sorry, only registered users may post in this forum.

Click here to login