Simple overtemperature protection - Page 1
Forum section: electronics / projects

author: nuclearcat
author_rank: Unknown
timestamp: February 19, 2021, 11:55:39 am
content: I need some simple "analog" circuit to protect mosfets and driver from overheating, if by some reason MCU missed this moment.Here is what i came up with:When NTC heats up approx to 98C, resistance will drop below 700 oh, and voltage will pass 2.5V trigger for TL431.So TL will pull RST_2 down and disable driver and mosfets.Additional delay (hysteresis is a bit more difficult) is created by RC on RST_2 line. (R11 + C?)Do you think it will work?* Already got suggestion that its better to have R11 smaller as TL431 need minimum 1mA* And capacitor 10u for RST delay is hard i need to limit 431 current, or easier to put 100nF

author: Berni
author_rank: Super Contributor
timestamp: February 19, 2021, 12:04:02 pm
content: The circuit is still sensitive to variations in the supply voltage.You could use a pair of NPN transistors with there bases wired together then hang a fixed resistor off one of them and a NTC resistor off the other one. This forms a differential input stage that ends up comparing the two resistors against each other, causing the current to flow trough the transistor with the lowest value resistor. This current could be turned into a high or low voltage by the use of a pullup.

author: nuclearcat
author_rank: Unknown
timestamp: February 19, 2021, 12:33:56 pm
content: Quote from: Berni on February 19, 2021, 12:04:02 pmI expect 5V rail to be relatively stable.Actually i found out that cathode minimal voltage is approx 2.0V (depends on specific 431 specs), so i will use it only as voltage reference and will use comparator (LM393 most likely)

author: TimNJ
author_rank: Super Contributor
timestamp: February 19, 2021, 02:04:29 pm
content: I am using MCP65R41/6 in this application. You can just as easily use TL431 and an LM393. But, if you have some space or power constraints, you can try something like the MCP.https://ww1.microchip.com/downloads/en/DeviceDoc/MCP65R41%3BMCP65R46-Data-Sheet-20002269C.pdf

author: T3sl4co1l
author_rank: Super Contributor
timestamp: February 19, 2021, 11:06:44 pm
content: TL431 doesn't saturate low enough for valid logic: note the diodes in the equivalent circuit, it can pull down to about a diode drop below VREF, below which it's effectively powered through VREF.A simple BJT in the same circuit, might be acceptable. Vbe has a much looser tolerance (say 0.8-0.5V over temp range), but since it varies with temp as well, that might not be such a big deal. I would recommend following it up with a schmitt trigger, or some kind of hysteresis, since its output voltage will be slowly changing as well.Which, you could even put the thermistor direct into a gate input, but the threshold range on typical CMOS is pretty awful for that. If you happened to have devices available that are tighter than usual, it would be a good candidate. (A very few MCUs have pins like this, so it's a possibility. If perhaps not on the RST pin, heh, who knows. There aren't many logic chips like this, however 74HC7014 is a rare example. It's probably too special-purpose to justify here, though. It's a very interesting part if you need CMOS-level receivers after lengthy ribbon cables, or something like that.)Regarding protection in general -- do you know that the thermistor will track FET temperature fast enough? Even for a thermistor chip placed adjacent to a DPAK or something like that, expectseveral secondsof response time, even at the bleeding edge of safe operation (which might be only a few watts for a device that size). Under fault conditions (100s, 1000s of W?), forget about it.You might also consider a PTC fuse. These open when heated, and they self-heat due to load current, or can be heated externally -- they're rather notorious for being ineffective at high ambient temperature, for obvious reason! You can place one adjacent to a transistor, and pour some heatsinking copper from the transistor tab, around the fuse, to encourage heat transfer. It'll still take seconds to warm up, but the combination of transistor-driven "local ambient", plus self-heating, may give better outcomes to somewhat higher fault power dissipation (10s of W?).The power dissipated between transistor and fuse is a function of their resistances. If you can afford a ridiculously oversize transistor, you might simply sink all the fault current, at little voltage drop -- the FET survives, while dropping enough current to clear the fuse (which will open in ~100ms or thereabouts). This can be effective up to modest voltages and currents. Select fuse based on maximum current rating, internal resistance, and maximum supply voltage: Vmax / R(tot) <= Imax. You may need to add some external resistance (obviously, at expense to efficiency under normal conditions) to keep peak current under Imax. (Because of efficiency, this can work when fault current is many times higher than nominal current -- for example, a 1A load with a 20A fault rating.)If this is a switching application, you might not be able to afford an oversize MOSFET, or the stray (inductance and loss) of a fuse. Another hardware mitigation is a missing-pulse detector, monitoring the MCU's output signals. If they stop for more than a safe period of time (say, for a nominal ~100kHz converter, maybe 20us continuous on-time would be a sign of malfunction), set a latch, and halt the output (gate it directly in hardware). The MCU, on startup, has to do some kind of song-and-dance to reset the fault latch -- it might be as simple as setting a pin to clear the latch, or it might be more complicated, like a pulse train at some frequency, or even a data sequence, etc. In any case, it definitely must not be cleared under reset and startup conditions, other than precisely when intended -- take note of the pullup/down/hi-Z condition of the MCU pins, and if anything happens to toggle them accidentally, or whatever.Usually, GPIOs just go hi-Z during reset, and an external pullup/down resistor on the pin is enough to ensure well-defined voltages. The pulse sequence strategy might be desirable if there's a bootloader or other user software, that might erroneously twiddle some pins.Obviously, you'll need to add exponentially more logic to handle some kind of sequence, so the value very quickly disappears, using discrete logic at least. But let's adjust perspective a little bit here. What off-the-shelf components might require such a sequence? Indeed, serial (usually I2C or SPI?) controlled switching regulators are abundantly available -- perhaps one might be relevant. The MCU would then not be doing direct control at all, but might be monitoring the input and output, and setting setpoints, that sort of thing -- also much less CPU time required, so the MCU and code can be much simpler.Also from the "Just Don't Do That" camp, there are techniques to write and inspect code, to increase confidence in its reliability -- even provably so. This is a huge burden though, guessing not worthwhile here! It can definitely be done: medical and aerospace have strict standards, and for very, very good reason.Tim

author: nuclearcat
author_rank: Unknown
timestamp: February 20, 2021, 11:12:37 am
content: Quote from: T3sl4co1l on February 19, 2021, 11:06:44 pmThank you very much for very comprehensive answer!To have better understanding, my circuit is for solar converter, 220V DC (OC) max , ~1800W max.4 FET with large heatsink in buck-boost topology, 2 half bridge drivers UCC27714D(with UVLO and shoot through protection), SM72442 controlled by STM8, over I2C.And "STM8<->I2C<->SM72442" i dont feel as reliable chain, if STM8 by some reason is off (I2C hang, bug in software), SM72442 might keep pumping FETs until they melt.My initial circuit evolved to something else, and TL431 is used only as voltage reference for open-collector comparators - LM393. Not because TL431 is really needed there, but because i want to experiment with itSo whenever any of 6 NTC reach max temp - it will pull RST down and shut drivers and MPPT.Also i put temperature to analog mux, to watch it on STM8 ADC and log them somewhere on server. Most likely if everything ok and temperature will be within design parameters, this circuit wont be present in "release".I dont really think it will be some sort of fast overheat, more likely i'm afraid that some of parts become too hot under specific conditions, during prototype stress testing, or when circuit is installed in enclosure without proper cooling.To a large extent, this is a deliberate experiment, incl. i want to bring the circuit to critical parameters when it might overheat, to see how this protection will work. Including it is interesting whether the thermal inertia of MOSFET heatsink will allow to create a kind of hysteresis.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: February 20, 2021, 12:18:53 pm
content: Ah, cool. Yeah, the micro crashing probably won't take down the converter, but will leave it hanging -- you might take the missing-pulse detector and rephrase it yet again: a watchdog timer. In the MCU main loop, toggle a pin; if that loop stops execution, the pin stops toggling, and the WDT resets after some time period.Best part is WDTs are available in as few as three pins, with various delays, and also power-on reset is a frequent pairing.About the thermistors -- you may consider using larger values; up to 470k are available. (Though the availability is pretty weak if you need premade bolt-on types; 10k is the most common...) Or a lower supply voltage to them (run 'em off the 431, or a TLV431 even?), or a momentary supply (strobed at a low duty cycle; latch the comparator output just before the falling edge so it doesn't read nonsense when unpowered). The reason is self-heating: 5V into about a kohm total, is enough mW that the temperature will be reading in error. Worst case, it actually gets stuck at high temperature; more likely it'll just cause a few degrees error, near threshold. Packaged sensors usually specify their self-heating error, easy enough to figure out.Also, as long as you're using relatively high voltages on the thermistors, you can wired-OR them with diodes into a common pull-up resistor (of much larger value, say 10-100k). So the lowest voltage dominates, and you only need the one comparator. Accuracy suffers somewhat, as the diode itself has a tempco, and the threshold is softer (specifically,Either way is fine; the advantage for individual comparators is, you can put LEDs on them, or latch them individually (e.g. with a few CD4043s), etc. It's more bother -- more parts, more wiring -- but also more available information.Oh, one tip -- add positive feedback so the thermistors have hysteresis. This isn't the easiest to add, currently as shown; but what you could do is, add a series resistor between 2.5VREF and the '431, and invert the comparator output (add a transistor or NOT gate) and add a resistor from that inverted output, to VREF. That way, if any one thermistor crosses threshold, it gets pulled in harder, and won't turn off until it's fallen at least that amount below threshold.(Hysteresis isn't much of a problem if the outputs are latched -- it just sets on whatever blip first triggers it.)Tim