power transistor as relay

I am going to turn on/off a 55W, 12V H4 bulb from a 3.3V Arduino. Can I use a power transistor, like the 2N3055 for this ? And what are the calculations I must do ?

I know that the transistor can work as an on/off switch if it gets saturated.

What makes me a bit insecure is, that we are using different voltages here. But I can use the same GND for the 3S battery powering the bulb that I use to the 3.3V Arduino.

Or would I need a 2-stage to get enough amplification ?

I have some 5V relays, but they would also need some sort of amplification.

povlhp:
Can I use a power transistor, like the 2N3055 for this ? And what are the calculations I must do ?

That’s a real dinosaur.

When I doubt myself I just test it out empirically. Build the circuit without an Arduino.

The hFE of that transistor is 80. (actually I see now, it is “20-70”, see below)

55W/12V = 4583mA/80=57mA

To get 57mA from a 3.3V source: 3.3V/57mA = 58 ohm

Connect the lamp to 12 V and to the collector of the transistor. Connect the emitter of the resistor to the ground. Provide 57mA to the base of the transistor. See if it all works out and doesn’t get too damn hot. Maybe throw an ammeter on it and make sure you are getting the amount of current through the transistor that you are expecting. Check the voltage drop around the lamp versus around the transistor to make sure the transistor isn’t being too inefficient and the lamp is dropping most of the voltage before it even hits the transistor. If you like it, then figure out how to get 57mA out of an Arduino pin that is only rated at 40mA (I suppose you could use two pins for this).

For your next project, try a FET.

P.S. I am assuming this is a DC circuit. I guess those lamps are sometimes used with low voltage AC but I am guessing you are not doing that.

EDIT: I read something wrong. Now I see that the hFE is “DC current gain hFE= 20 to 70 @ IC = 4 Adc” Well, that isn’t very confidence-inspiring, is it? I would certainly try different base currents and meter the circuit before I connected it to my Arduino so I knew what I was getting.

JoeN: The hFE of that transistor is 80.

I get 20, and as low as 5 @ 10A http://www.onsemi.com/pub_link/Collateral/2N3055-D.PDF

I don't say it has to be a 2N3055, just that I have a few of these, and they can handle the current and the voltage (which might be 4S for larger lipos = 15V)

if hFE is 20, then for 5A, I need 250mA. This is why I asked about 2-stage. Use a smaller transistor to drive the larger power transistor. The BC548 is only rated for 100mA, so it is no good as a first stage.

Can I get a simple sketch using a FET to do it ? It must be something lots of people are doing, driving a load from Arduino. Ad how to calculate supporting components.

IRFZ44N seems to be the cheapest I can find. 55V, 35A continously. $1.05 for 5 pcs. Lots of sellers. But I have no FET knowledge at all. The other popular cheap one seems to be: IRF840N, 8Amp peak, 500V, so could be used for mains applications.

Seems like I need logic level MOSFET, like this:
http://www.ebay.com/itm/10pcs-FQP30N06L-FQP30N06-60V-LOGIC-N-Channel-MOSFET-TO-220-/18102671838

According to this datasheet https://www.fairchildsemi.com/datasheets/FQ/FQP30N06L.pdf

looking at Fig 2, transfer characteristics, it looks like it will do ID 10A @ < 3.0V, so should be fine for my purpose here. Needs 5V for 50A. So looks fine. So how to calculate other components ?

High Power MOSFET Control

VGS  RDS      Load  Dissipation  Part#        Comments
5    0.0450Ω  4A    0.72W        [url=http://www.digikey.com/product-search/en?keywords=FQP30N06L]FQP30N06L[/url]    "hot"
5    0.0064Ω  4A    0.10W        [url=http://www.digikey.com/product-search/en?keywords=BUK9506-40B]BUK9506-40B[/url]  "cool"

Need a heatsink if you use the FQP30N06L. Many others available with lower RDS. Should use a series 270Ω or 330Ω resistor to the gate to limit the peak switching current.

Seems like I need logic level MOSFET, like this:

Well, you don't need one. It could make it easier in the end... but there is nothing wrong with using what you have if you accept the fact that it might be a small bit more complicated (IE; requires more parts).

But how do I calculate the resistor ?

I am going for the FQP30N06L, they are cheap and easily available I can live with the heat as the bulb will give way more heat, so it all needs to run in a ventilated area anyway. And cooling is no problem. 0.72W isn't too bad.

The 330 Ohm resistor is that to keep current down to 3.3/330 = 0.01A ? What determines the size ?

The 330 Ohm resistor is that to keep current down to 3.3/330 = 0.01A ? What determines the size ?

I only chose the resistor to limit the switching current through the Arduino pin. Although the MOSFET's gate is high impedance, there are switching transients and gate capacitance effects while switching the gate at high speeds (the rise/fall time of the Arduino pin). https://www.fairchildsemi.com/application-notes/AN/AN-9010.pdf

hFE isn't meaningful for switching, its only meaningful for the active region. Switching goes from cutoff to saturation and back again.

Typical BJTs need about 5% to 10% of the collector current through the base to saturate properly. The 2N3055 is pretty typical - to switch 15A you might use 1A of base current.

Noone ever uses BJTs for high power switching any more, its gone out with the arc. MOSFETs and IGBTs are vastly superior in nearly every parameter.

povlhp: But how do I calculate the resistor ?

I am going for the FQP30N06L, they are cheap and easily available I can live with the heat as the bulb will give way more heat, so it all needs to run in a ventilated area anyway. And cooling is no problem. 0.72W isn't too bad.

The 330 Ohm resistor is that to keep current down to 3.3/330 = 0.01A ? What determines the size ?

I just wanted to add onto what dlloyd said. When you are switching current using an NPN BJT keep in mind the transistors' base is basically a diode to ground. If you don't limit current into the base it will take as much as the source can provide so you can kill your Arduino's output pin. So you need a resistor to limit that current. For a FET, the gate (analogous to the base) isn't a quick trip to ground anymore. It looks like a capacitor with the other side grounded. So while that capacitor charges, it still can suck a lot of current, but it charges up quickly and then pulls no more current (can be a few ns with a lot of current available or a few us otherwise). So it is still best to have a resistor there just so there is no shock to the Arduino's output pin in that case too. 330 ohm is fine, that is 1/4th of the pin rating, you could actually go as low as 82 ohm and you would be OK, but I doubt it will ever matter.