Sourcing more than 40mA

Hi all,

For some time now I've been looking for an effective way to drive higher loads than the Arduino outputs can source.
I should say right away that I'm not trained in electronics, I've just done my interweb research on the subject...

The options seem to be

  1. Individual NPN transistors
  2. Mosfets
  3. Darlington array
  4. Output expander

My application is this: I'm driving rows of LEDs that are controlled with a TLC5940, which is a current sink. I have 5 or 10 rows, of which only one will be on at any time.

The ideal solution would be able to source at least 320mA and have 5 or 10 outputs. If it's cheap, easily available and comes in a DIP package then that just makes it so much better.

Option 4 would have the big advantage of freeing up some IO pins, but it's difficult to find serial-in, parallel out drivers that can source enough juice. One I found is the MIC5891, which can source up to 500mA. It's 8 channels though, and not terribly cheap.

I've had difficulties finding an option 3 with good output current ratings, most seem to be designed for sinking current. Allegro's UDN2981 and 2982 Darlington NPN arrays otherwise seem like good contenders, also capable of 500mA. As with the MIC, these devices have 8 channels.
Otherwise the DS2003 (High Current/Voltage Darlington Driver) from National Semiconductors might be more suitable for me as it is 7ch, 350mA.

As for options 1 and 2 I'm not sure how or even if it would work in this application.

I'm hoping someone with insight and knowledge can help shed some light on the subject - please!

I think you might be confused about how the 5940 works (or I'm confused about how you are using it.)

You attach the anode (positive) side of the LED to power, and the (negative) to the 5940. It sinks all of the current, and the power supply sources it. (Make sure you put a current limiting resistor on the IREF pin)

The Atmel just talks digitally to the 5940, which uses very little current.

Yes, sorry, I forgot to explain one thing...

I multiplex the TLC5940 across either 5 or 10 rows of LEDs, therefore I need to turn the anodes on and off in sequence.
At the moment I'm driving the rows directly from the Arduino.

Here's my schematic, hope it won't confuse matter further!
Here the anodes of the LED matrices (shown as two boxes on the left) are called ROWS1-5, the cathodes A-H.

The options seem to be

  1. Individual NPN transistors
  2. Mosfets
  3. Darlington array
  4. Output expander

If you are switching the top rail then option 1 will not work you need PNP transistors not NPN.
Option 2 is good but again you need P-channel FETs not N channel ones. Look to see how I did it at:-
http://www.thebox.myzen.co.uk/Hardware/Mini_Monome.html
Option 3 Again as the Darlington are made from NPN transistors it won't work you need a Darlington made from PNPs and I haven't seen one of those (I am not saying they don't exist but I have not seen one)
Option 4 If you are using a TLC5940 then this doesn't really make sense.

One thing to search for is the term "high side driver". This seems to be the industry term for the kind of PNP transistor or P-channel MOSFET driver that Mike has described. A high side driver can source current from the positive power supply rail, as you wanted.

Thanks for the replies -

so I got the transistor bit completely backwards - it's PNP not NPN, stoopid!

I see you are using TPC6108 in your mini-monome Mike. I can't find a supplier for them in the UK. Farnell have lots of other P-channel mosfets though so I might try something similar.
They also do PNP Darlington pairs, e.g. this one. What would you say the advantage of FETs over Darlingtons is, that no current is lost through the gate? Is there even much point using Darlington pairs at this level of current (<500mA), compared to using single transistors?

@Anachrocomputer: I found a few things under high side drivers, although they mostly seem to be overkill for my simple application - automotive grade and expensive. Thanks for the tip though.

Yes that darlington looks ok, never seen one like that before but then never really looked either.

The advantage of a FET over a transistor is that the FET has a lower on resistance and so will burn less current. The transistor will have a Vsat or saturation voltage which usually has more effect on the power dissapation than the on resistance.

The FETs I used, I happened to find in a draw at work so it is nothing special. You have to make sure that they are fully turned on with the 5V you can apply to the gate. That should be in the data sheet.

If you decide to use MOSFETs, do check the turn-on voltage. Some MOSFETs need 8 Volts to switch on, while others are logic-level compatible and switch fully on with only 5 Volts.

FETs that have a low turn-on voltage are often called 'logic level' FETs.
If you're scavenging, then computer motherboards often have ones that can switch whopping currents.

Thanks for all the advice, and your patience!

Looking through lots of datasheets I've found P-channel MOSFETs with negative threshold voltages. I understand these are enhancement mode fets and require a negative voltage to open the channel. Correct?
Unfortunately that's the only type I can seem to find!

One example is this one which boasts:
? Very low threshold voltage (-0.4 to -0.68)
? Fast switching
? Logic level compatible

I suspect I'm wrong about enhancement mode fets and that they are simply opened with a voltage difference, either from +5 to gnd or gnd to -5v.

I' also found some through-hole alternatives on rapid online (though they've lower power rating):
ZVP2106A P CHANNEL MOSFET:
Gate source threshold voltage max -3.5V
So does that mean it will be opened by a voltage drop from +5V to +1.5V or lower (i.e. gnd)?

I guess I could always get some parts and experiment.

Okay so I've realised I'm mistaken as well as confused.

The part that Mike is using is a TPC6108 which is an enhancement mode fet, so that's clearly alright.
The datasheet says Enhancement-model: Vth = [ch8722]0.8 to [ch8722]2.0 V.

So what's an acceptable, or safe, gate threshold voltage? More than -4V maximum? And a low ON resistance is a good thing, right?

Sorry for being such a n00b!

And a low ON resistance is a good thing, right?

Yes the lower the better.

So what's an acceptable, or safe, gate threshold voltage?

It will say in the data sheet but it is usually what ever the maximum drain source voltage is.

I think you worked it out but the negativeness if the gate voltage to turn it on, is only with regard to the source connector of the FET. Therefore if the source is at +5V and the gate is at +3V then in effect the voltage on the gate is -2V which is enough to fully turn it on.