Arduino driving multiple high-power transistors

Hi there, I am working on a project where I use an Arduino UNO to control two RGB LED strips (12v 3A each) and a single 12v 10A power supply powering all of it. I am using a L7805 regulator instead of the built-in regulator as I thought it might heat up too much and wanted to add a heat sink just to be safe. The transistors used are TIP31C, as they were the ones I available.
Question:
I was doing some research but couldn't quite find how much current from the UNO it took to drive the transistors. I am afraid that, since I want to control a total of 6 transistors (I'm not sure I have to do this though, I used 6 because the rating said they could handle 5A max. and I might use more), plus a few other IO pins for sensors, it might exceed the 200mA max. rating of the board. Does anyone know how much current the transistors are actually pulling? Or a way around this issue?

Thanks in advance :smiley:

Use MOSFET transistors. The use almost no current.
Draw max 20 mA from a micro controller output. Note the maximum total current for the controller, saying overload if too outputs run at maximum.

TIP31C are ancient, low-gain power transistors.
Typically, there would be a driver stage preceding.

Nice, I was looking at the IRFZ44N as an option. I have very basic knowledge regarding hardware and electronics, how exactly I would go about calculating how much current the transistor/MOSFET will draw from the board?

Thanks

Also, I am using the transistors to give a variable intensity to the RGB leds (0 - 255), but I read that MOSFET gates are isolated from the drain-source current, so there is no "gain" related to it. Would I achieve the same result with a MOSFET? Or would it just act like a switch? Only digital output...

Edit:
I forgot about using PWM signal to create this variable intensity...

Oh okay, I took a look at that "driver stage" but couldn't find exactly what you meant by it. Could you elaborate on what you mean?

I thought about using logic-level transistors to drive the TIP31C but I'm not sure that's what you mean...

For the transistor

  1. Divide Ic by hFE to get to the current that has to flow through the base of the transistor; for the TIP31C, 3A / 25 equals 120mA. Not feasible !!
  2. VBE equals 1.8V for the TIP31C; so from a HIGH output (5V), you have 3.2V over the base resistor; according to Ohm's law, you will need a base resistor of V / I = 3.2V / 120mA equals 26 Ohm.
  3. Power dissipation in the base resistor will be P = V * I = I2 * R equals 375mW; you will need a .5W resistor.

I've never calculated for a MOSFET. Note that you need a logic level MOSFET; not sure if the IRFZ44N is one.

Ah that's very cool, thanks for showing the steps!

Since I'm splitting the control of each of the colors between the transistors (one transistor for each color) would'nt the current in each be of a max of 1A? Meaning they would draw ~40mA (still high though)

Regarding the IRFZ44N, the datasheet states that the Gate threshold voltage has max. of 4V, so it should work right?

Thanks for the help :slight_smile:

For a MOSFET, you can assume zero current. However, it is wise to put a current limiting resistor between the Arduino pin and the gate, e.g. 220R.

Not well. With 5V from the Arduino pin, you only have 1V above the gate threshold voltage, so the MOSFET may not be fully switched on and will drop some voltage and get hot.

Choose a logic level MOSFET. Ideally one with a gate threshold voltage of 2.5V or less.

Wow, that makes much more sense now, I read that the gate was in fact a capacitor, and then the current draw is only the necessary to charge it, I think.

Thanks for the tip.

That is the voltage it which it is just about starting to conduct NOT what it takes to be switched on fully. Instead look at the voltage that Rds(on) is measured at. In the case of the IRFZ44 that's 10V so it's NOT a logic level MOSFET. Have a look at the IRLZ44 (L for Logic level) instead.

Steve

Oh, I see. I'll keep an eye out for that then.

Thanks again.

That's awesome!

Thank you Steve.

You totally get it.

On not! :thinking:

In short, just forget about "bipolar" transistors such as the obsolete TIP31C. :grin: Just a waste of time.

The 220 Ohm series resistor to the gate limits the surge current when the PWM switches the FET on and off.

A 10k pull-down from the Arduino pin to ground, before the 220 Ohm resistor, will keep the LEDs off while the Arduino boots.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.