RGB LED Current Source/Sink Issues and transistor suggestions

Hi Guys,
I’ve been working on a 32x8 RGB LED matrix for quite a while. I’ve come a long way to finally understanding the way this works and I’m trying to bottom out some details before I begin assembling. Essentially my Arduino is going to be a controller to 3 LED drivers (namely the HT1632C) which in turn will drive the R,G and Blue pins of the LED. With some PWM I expect to get a small amount of colour variation

Unfortunately the HT1632C is not able to drive common anode RBG leds without a transistor buffer. I’m still uncertain as to how I will power this setup as of yet. I’m having difficulty in working out the current requirements and how to sink/source the current correctly. If someone could just check my logic below and let me know if they spot anything I’ve assumed is incorrect.

Logic Check:

The COM line is sourcing current. It will require an NPN Transistor capable of handling (32 rows x 3 IC x 20mA per LED) 1.96A - worst case scenario if all LEDS in a column were on.

The ROW lines are sinking current. It will require a PNP transistor (because as the Columns will be driven High a corresponding LOW signal will come from the ROW to light the correct LED, The transistor which will receive a low signal should allow the current to flow to ground.) which is capable of Handling (8 columns x 1 IC x 20mA per LED) 0.16A. I’m debating whether this should be 0.5A as there are 3 IC but I think each one deals with their respective LED currents individually.

I’ve attached a schematic of my design for reference. Ignore the Transistor models, i just used them for demonstration.

If the logic is correct and if anyone has experience with transistors could they recommend a model of transistor that would work. There is a space constraint on my final PCB so I’d like to keep the number of components to a minimum (something like the ULN2803 as opposed to 96+ individual transistors).

Cheers
-Daniel

Need NPN to sink current from cathodes, and PNP to source current to anodes.
NPN needs a high to turn it on, while PNP needs a low to turn it on. So you may need inverters in front of each if the HT1632C is expecting to drive High for anodes and low for cathodes.
SMD ULN2803 could be an option for NPN, and mic2981 for PNP arrays

You seem to be using a common collector form of drive you need to use a common emitter configuration.

Thanks for your input guys.
I can understand why I had the NPN and PNP transistors reversed as I assumed since the columns being driven high was to light an LED when in fact it appears to be the norm to drive it high when you don't want it lit up.

With these changes in mind I hope to use 12 ULN2803 for the 96 cathodes. Seeing as a cathode will only have 0.5A at any time and the current rating for a ULN2803 is 0.5A I think this is appropriate.

Could anyone confirm if 4 MIC2981s for the 8 anodes is sufficient? I plan to connect one anode to 4 pins of a single MIC2981 as a column can have up 2A. I'm making an assumption that this is similar to the ULN2803s configuration and that the 500mA limit per pin is increased by adding pins in parallel.

Mike which set of transistors should be common emitter? Both?
My understanding of a common emitter is that the the IC and the power supply will share a ground and that ground is connected to the emitter of the transistor. I think this will be the case in my final design I just did not include it in the schematic I posted.

Mike which set of transistors should be common emitter? Both?

Yes both.

My understanding of a common emitter is that the the IC and the power supply will share a ground and that ground is connected to the emitter of the transistor.

That is only true when you are sinking current with an NPN transistor.

When you are sourcing current with a PNP transistor the emitter is connected to +ve of the supply. In this mode the base must be taken up to the +ve of the supply to turn the transistor off, connecting the base to ground turns it on. So sometimes a PNP transistor is known as an upside down transistor.

Could anyone confirm if 4 MIC2981s for the 8 anodes is sufficient? I plan to connect one anode to 4 pins of a single MIC2981 as a column can have up 2A.

While paralleling up outputs will increase the maximum current the device can switch you then run into another limitation of the chip, that of thermal limiting. With 2A through that chip it will get hot and no amount of heat sink will stop the chip junctions over heating. For an explanation of this see:-
http://www.thebox.myzen.co.uk/Tutorial/Power.html
There is an example using the ULN2803 at :-
http://www.thebox.myzen.co.uk/Tutorial/Power_Examples.html
For your chip the relevant figures are:-
Package Thermal Resistance
PDIP θJA … 56°C/W
SOP θJA … 84°C/W
also look at the VCE sat figure of 2.2V for a current of 350mA to calculate how much heat you get from just one switch, then multiply by four.

Thanks for pointing out the thermal limitations of these drivers, I would never have envisaged such an increase in temperature from such low power devices.

Interesting. With some estimate calculations (I'll do more detailed ones tomorrow) it appears I will not be able to drive the LEDs at my preferred current of 20mA. This project seems to become more difficult as I progress ha.

I stand at a crossroads, should I look for a PNP driver that has the ability to deal with my required current and thermal requirements? If I have to reduce the current of the CA LEDs I might as well buy some common cathode RGB LEDs and drive them directly with the HT1632C rather than add buffers. I'd like to keep the current high enough to allow maximum brightness as the LEDs will be shown from behind a tinted screen.

should I look for a PNP driver that has the ability to deal with my required current and thermal requirements?

With a current requirement of 2A I would look at p-channel FETs, like PNP transistors only in FET form.

Where as a transistor has a Vsat x Current determining the power dissipation an FET has I2R determining it. For a FET R ( called Ron in the data sheet ) can be very low, in the order of milli ohms, which means more current switched for less heat generated.

Good tip Mike. I’ve done a small bit of research on P-channel FET arrays.
I was wondering if I could use the pins in parallel to increase the current sourcing of the FET much like the way I was planning to do with the other PNP array? I know I would have the same issue regarding the temperature but the heat should be a lot smaller now.

There appear to be arrays which can handle more than 2A on each pin but these seem to have higher voltage requirements than what I will be providing.

I’ve attached a datasheet of a chip that I think will work. Bad thing is that it has 4 seperate FETs in the one chip.

ALD1107-10401.pdf (123 KB)

I'm just coming out with a 32 P-channel MOSFET version of this board, with NDP6020P P-channel FETs, in larger TO-220 package.
Hope to have a picture to post later today, MrsCrossrRoads is assembling it now.
Have 1 kit sold already.

Thanks Crossroads but I don't think it would be much use to myself. My final PCB has to be very small and I only require to drive 8 com lines as opposed to 32. My main concern now is to get something similar to NDP6020P but in a DIP or SMD that will allow me to minimize PCB space in comparison to using 8 TO-220 packages.

Didn't you start off with 32x8 RGB LED? Now you're down to just 8 channels?
There are lots of P-channel MOSFETs.
Filter away ...
http://www.digikey.com/product-search/en?FV=fff40015%2Cfff8007d%2Cefc0005&k=p-channel+mosfet&mnonly=0&newproducts=0&ColumnSort=612&page=1&stock=1&pbfree=0&rohs=0&quantity=&ptm=0&fid=0&pageSize=25

May have to tweak the link, can't seem to post without extra http and possibly " stuck on the ends.

I've attached a datasheet of a chip that I think will work.

No that will not work, it is not designed for switching high currents and the on resistance is 1K=8 !
That chip is for amplifier front ends.

Apologies I meant that the 32*3 rows would be accomplished using the ULN2803 and the remaining 8 channels I need P channel MOSFETs for. I had used digikey to find the previous chip but clearly I must have filtered something wrong.

So my understanding is I need a P channel FET. Preferably in a DIP package.
A drain source voltage > 5V (5V may be the voltage I run this circuit at)
Continuous drain current > 2A (2A is the max current from a COM)
Rds (on) as low as possible to keep the chip from heating up too much when switching.
Gate Threshold voltage < 5V.

Gate Threshold voltage < 5V.

No that is not what to look for.

You will see a figure that gives the drain / source resistance when the FET is on, it is often called Ron. By that value will be a gate voltage the measurement was taken at, it is this gate voltage that needs to be 5V.

Ignore the Gate Threshold voltage, you are not interested in it.

Just a question as to why that value needs to be 5V. If I supply a different voltage than 5V will I not just get a different resistance? Closest number I can seem to find is 4.5V. And all the values are negative. Should I be concerned with negative numbers?

Closest number I can seem to find is 4.5V

That will do fine. Giving the gate more than this will not be an issue. It means that you can fully turn it on direct with an Arduino output.

And all the values are negative.

Of course they are negative numbers it is a P-channel FET so it is working "upside down" to the n-channel ones.

Thanks for the help Mike. I can’t seem to find any arrays that I would be completely confident will do the job
So the NDP6020P mentioned earlier by Crossroads appears capable including for the thermal resistance.

Why do you want an array? Simply stick to individual FETs.

I had it in my head that two or 3 packages would be less complex of a pcb design than 8. I will just have to deal with it I suppose.