I have made a LED strobe with 10W power LED. My setup was(code can be seen below): on three digital outputs I have made Darlington's pairs with 2n2222 transistors. So, total 6pcs of those. And outputs of every transistor pair I have chained together. That was my positive going to LED. Negative was directly from gnd. Additional pot was connected to control rate of blinking. Power supply was 12V. Since I'm using Boarduino, I have added heat sink to power regulator.
Now, the problem. Since it wasn't for me, my friend putted it on a aluminium surface and short-circled controller. Atmega was burned, transistors also. Next time I'm gonna put it in a box, for sure, but I am looking for some higher power transistor that could raise my voltage+amps so I can use only one output for this. So, from 5V 40mA(that many digital output on Arduino gives) to 12V 700mA, for example. Even more wouldn't be bad.
I have succeeded it with 2n2222, but it's unreliable. What other transistor could I use?
const int pot = 0;
const int led = 8;
const int led2 = 9;
const int led3 = 12;
int val = 0;
val = analogRead(pot);
val2 = map(val, 1, 1023, 30, 280);
Darlingtons such as TIP120 are best avoided because of their high saturation voltage. At low currents (up to about 500mA), a single transistor such as 2N2222 with a suitably-chosen base resistor will work better. At higher currents, the high saturation voltage causes Darlingtons to get hot (and you will need extra voltage from your power supply). Use a logic level mosfet instead.
A 100 to 200 ohm resistor is used on the GATE (treat like transistor Base)
Connect the LED positive side directly to power, meaning your driver circuit
Connect the LED negative terminal to the DRAIN
Connect the SOURCE to ground.
You are switching ground, in this case it is a dropin replacement for an NPN darlington like TIP120, but many times more efficient. I only recently started using these in replacement for things like the TIP series. If I were switching the same load with a TIP120 that I am with one of the MOSFETs, you would need a hefty heatsink on the TIP. The MOSFET is immensely more efficient.
Here's a good writeup:
I don't use a gate to source discharge resistor, as I have found that there's plenty of discharge path inherent in the logic gate of the microcontroller.
So, picture below'd be good setup? LED represent 10W power LED @ 12V, 900mA, resistor is 100-200ohm and MOSFET is RFD3055.
I'm worried because output on Arduino digital pin is positive, but DRAIN on mosfet is connected to negative.
There you go. The transistor acts as a switch, completing the circuit to ground. Much like "normal" bipolar transistors, NPN is used to switch the ground side, after the load.
As for current regulation, I use LM317 connected as a current regulator. If you place 1.2 ohms between the output and adjust pins, it creates a 1A current regulator. Refer to the spec sheet.. set the current by R=1.25/A .
I actually run those 10w LED's at 1.2A, using a 1 ohm resistor with the LM317, as they are available as power resistors (which are needed, due to inefficiency of the regulator) for fairly cheap. I would recommend you power your LED with a switching regulator, it's much more efficient, if you can afford them-- usually around five bucks. If you do overdrive your LED, use a bunch of heatsinking and realize it will reduce the life of the LED but be brighter. I don't sweat 20% over spec, as long as I am heatsinking it and running pulsed rather than continuous.
There is about a 3v drop across this setup, keep that in mind. This is a VERY inefficient way to limit current... but it is cheap and works.. only marginally better than a series resistor...
I just wanted to say thanks for all suggestions. RFD3055 + LM317 are great combination. I have got them running smoothly at first try. I will make some more strobes using those two, for sure. Thanks again