Sink Current to Ground

Thread Starter

Circuits101

Joined Feb 24, 2010
11
I am building my first project, a LED matrix. The matrix is controlled by a pic18F4550 and the rows are driven using a TLC5940 led driver (chose this chip for RGB later down the road). Right now I have a single line of LEDs working with each LED connected to ground. For a matrix would the best way to connect each column to ground be by using a shift register to drive transistors connected to each column?? If so what kind of transistor should I use and how do I tell that is the right transistor for future reference.
 

SgtWookie

Joined Jul 17, 2007
22,230
Take a look a the STPIC6C595, which is a Power Logic 8-Bit Shift Register.
Datasheet:
http://www.st.com/stonline/products/literature/ds/7726.pdf

If you use something like that, you won't need transistors/MOSFETs for your low side drivers, as they are right in the IC itself. Cool, huh?

However, you say you are using a TLC5940, which is also a current sink type driver.

It would help a great deal if you posted an image of your schematic, even if it's just a rough concept. Schematics are the "language" of electronics; the viewer can get nearly all of their questions answered in short order without wordy explanations that can result in confusion.
.PNG format is preferred, use the [Go Advanced] and [Manage Attachments] buttons to upload the image from your computer.
 

Thread Starter

Circuits101

Joined Feb 24, 2010
11
Sorry SgtWookie I don't have a schematic and I did mean sourcing (Still new to this stuff). I was thinking that I should multiplex my source and possibly use a shift register to hold the multiplexer so that I am not using all the pins on the uC and for better scallability if I decided to expand the array.

Do you think that would be the best possible solution for me to take.
 

SgtWookie

Joined Jul 17, 2007
22,230
Well, you'll need something that has open-collector outputs.

You could use a 595 shift register with 07 open-collector buffers on the outputs to switch PNP transistor on the high side. You'll need pull-up resistors from the PNP's base to +V.

The pull-up resistors should be about 4 to 10 times the resistance of the base resistors.

The base resistors for the PNP transistors should be calculated as:
Rbase <= (V+-Vbe)/(Ic/10)
where:
V+ = your high-side supply voltage.
Vbe = 0.7V (typical for small signal /switching transistors at light to medium load).
Ic = your desired maximum collector current.
Note that Ic/10 should not exceed 10mA, or you risk burning out the transistor or the '07 buffer.
 

tom66

Joined May 9, 2009
2,595
If you have enough pins on your µC, I suggest discrete transistors or a 74**07 type chip. The 74**07 has 6 open collector or open drain (depending on whether you get the TTL or CMOS versions) outputs. The advantage with discrete transistors like an n-MOSFET is that you can have 30mA+ bright LEDs (you could even go to power LEDs if you wanted), while the 74HCT07/etc are generally limited in current to about 20mA, with overall limits for the power supply pins...

Since you have a PIC18F4550, you don't seem to be too limited in pins, as you have 40 of them, but if you are driving a large array it could be tough and you could end up needing a shift register or other suitable chip.
 
Last edited:
Top