Today's Deals (in


Choosing the right transistor for a switching circuit
  • darkadept

    I want to control a siren speaker (has a built-in driver) with an Arduino.

    The siren needs 12V and consumes about 480mA. The Arduino output pin is 5V and can source 40mA maximum.

    I would like to use a transistor to switch the siren on and off. Is this an OK application for a transistor? I'd rather not have to use a relay or a SSR because I don't have any on hand.

    Based off of those numbers I calculated my load (siren) resistance to be 25 ohms using Ohms law, R=E/I. (I'm using Amps, Volts, and Ohms as units)

    12V / 0.48A = 25Ohms

    I have found various calculations to determine what kind of transistor I need and I'm not quite sure which is the best one. One of them is like this:

    Minimum hFE = 5 * (Load Current / Arduino Pin Max Current)

    Which gives me a minimum hFE of 60.

    5 * (0.48 / 0.04) = 60

    This is where I get a little confused. I have a few transistors and their datasheets but I'm not quite sure how to read them. I have read many resources and I am just as confused now as before.

    I know I should probably use a NPN transistor but would it matter if I use a PNP instead? Do the same calculations apply? I understand that the circuit changes, active high instead of active low, but are there any drawbacks to PNP over NPN?

    The NPN's I have are PN2222A, BC337, BC547B and a BC517 darlington.

    The PNP's I have are PN2907, BC327 and a BC516 darlington.

    How would I go about choosing the right transistor for the job? I don't want to overload the transistor.

  •  Answers:

  • m.Alin

    When choosing the right transistor for this job, first I'll eliminate the PNP transistors. They're a bit more complicated to use in your case. As you said, for a PNP transistor, active high becomes active low, meaning the transistor will switch on when you apply 0V from your Arduino, but it won't switch off when you apply 5V from the Arduino. You'll need to apply 12V to the base of the NPN transistor to switch off (VEB = 0).

    Leaving PNP's behind, looking at the NPN's that you have availabe, only the BC547B (Ic = 100mA) couldn't handle the 480mA current that your siren needs. From the remaining 3 transistors, I'd choose the one that can handle the most current, just to be on the safe side. That would be the BC517 darlington, which can handle a maximum of 1.2A, more than enough for your siren.

    Only now you'll have to worry about the gain of the BC517. But, because BC517 is a darlington transistor, it has a huge gain (hFE = 30,000), so you can easily switch on the transistor with a very small base current. If you chose to drive the base of the transistor with a 1KOhm resistor, you'll have a 3.6mA base current, which is sufficient for your purposes.

    So the winner would be the BC517.

    enter image description here