We're developing an I/O shield for Arduino (sort of) and having four FET controlled output connectors with approximated 12V 1-2A load each. I need all these four outputs to be short-circuit protected and such incidents detected by another input pin on the Arduino.
Since we're using the Olimexino-STM32 Arduino clone, we've only got 3v3 on the CPU pins. Therefore we've attached an 12V driven LM339 between the CPU pin and the P-channel FET driving the 1-2A output. Pretty much like this, but with LM339 instead of transistor:
But since these four 1-2A outputs will drive four loads individually, we don't want the whole circuit to burn out in case of short-circuit. Ideally, short-circuit on one single output would not cause and disturbance on the other outputs, but report back to the CPU (using another input pin) it's lost, and the CPU could then alert higher-level system of the short-circuit.
The board is driven by a 12V source and the outputs will also need 12V so the solution will have to be have a low dropout voltage.
I've found some simple solutions using JFET with bound Gate and Source, but I'm not sure what's the actual current limit level, or even if it's applicable in our project since it's mostly used as constant-current driver for LEDs:
Thanks alot for all the anwers! We made some changes to our original design, but your suggestions is really helpful in other cases. This is how we've done:
To keep it both simple and cheap we've changed the overall supply voltage to 24v and implemented a first-stage high-effective switch regulator which brings the voltage to ~14.5V and then we've added a simple linear regulator (LM7812 derivate) for each output stabilising it to 12V and makes each one independent from the others. The linear regulator has short circuit and over current protection built-in.