Author Topic: LED display driver using darlington array?  (Read 12429 times)

0 Members and 1 Guest are viewing this topic.

Offline vamp666Topic starter

  • Newbie
  • Posts: 6
  • Country: ro
LED display driver using darlington array?
« on: September 18, 2014, 07:10:45 am »
Hello.

I want to make a 3D LED display (basicaly a 5x5x5 LED cube).

This display will be controled by a PIC16LF1517 via SPI witch controls 4 * 74HC595 shift registers witch controls some ULN2003A darlington array.

I want a LED to light when i set high 2 pins of shift registers (1 pin for column and 1 pin for layer)

I want to use those darlingtons to drive my LED cube because I dont have any PNP or mosfets. So i plan to use 2 darlington pairs  LED anode and one for cathode. Something like in the circuit below (.png file).

So when i set anode driver input high, first darlington will saturate and will set the second darlington base low, allowing the LED to light up if the third darlington base is driven high.

My question is : Is this possible?

The PDF has full PCB schematic.

On J2, pins 2,4,6,8,10 will go to cube layers, witch are common cathodes. the rest will go to cube colums (anodes)

I am new in electronics and this is my first project.  Probably the schematic has some glitches..

Sorry if my english is not perfect..

 

Offline george graves

  • Super Contributor
  • ***
  • Posts: 1257
  • Country: us
Re: LED display driver using darlington array?
« Reply #1 on: September 18, 2014, 07:17:14 am »
I assume you're already familiar with "charlieplexing"?

Offline vamp666Topic starter

  • Newbie
  • Posts: 6
  • Country: ro
Re: LED display driver using darlington array?
« Reply #2 on: September 18, 2014, 07:18:21 am »
I saw some videos about it.

I want to use multiplexing...
 

Offline mariush

  • Super Contributor
  • ***
  • Posts: 5134
  • Country: ro
  • .
Re: LED display driver using darlington array?
« Reply #3 on: September 18, 2014, 08:21:12 am »
ULN2003A is an array of darlington transistors with resistors on the base of each transistor.   

So you can connect one output of the shift register directly to the base of one transistor in ULN2003A and then use a resistor to limit current that goes through the led.

You have 5 layers  of 5x5 leds... you can use one ULN2003A to choose which layer receives power.  You can use 4 shift registers connected together (4x8 outputs = 32 leds max) and 4 uln2003A chips (4x7 = 28 leds max) to turn on or off individual leds in a layer.

So you'll light up one layer at a time for a few ms by shifting the 25 bits into the shift registers, then turn on the particular layer to show it.  If you want, since you have to use 4 shift registers anyway and you have 32 bits, you can use 5 of those to turn on the particular layer you want to turn on or off. So you send the 5 bits to turn on/off layer, then the 25 bits for each led in the layer.
 

Offline Falcon69

  • Super Contributor
  • ***
  • Posts: 1482
  • Country: us
Re: LED display driver using darlington array?
« Reply #4 on: September 18, 2014, 08:46:59 am »
ULN2803 adds one more output, if needed
 

Offline vamp666Topic starter

  • Newbie
  • Posts: 6
  • Country: ro
Re: LED display driver using darlington array?
« Reply #5 on: September 18, 2014, 08:57:04 am »
What i see in http://embedded-lab.com/blog/wp-content/uploads/2011/04/ULN2003A.jpg schematic a darlinton pair can only sink current. I can use this for layer.

But to drive current i cant use just one darlington pair(i could use some NPN,s but i dont have any). As i said i want to set two pins high in order to light one LED.

I set output of shift registers to 1 for column and for layer. so 2 pins will be high if i want to light one LED.

 

Offline hexpope

  • Contributor
  • Posts: 40
Re: LED display driver using darlington array?
« Reply #6 on: September 18, 2014, 09:16:07 am »
Hi Vamp,

To cut down on components, you could use the TI  TPIC6B595 Power shift register. You can order three of them from TI samples shop for free to try out and they will ship them to you via Fedex all free of course.
 

Offline mariush

  • Super Contributor
  • ***
  • Posts: 5134
  • Country: ro
  • .
Re: LED display driver using darlington array?
« Reply #7 on: September 18, 2014, 09:17:45 am »
You can connect the leds something like this (the below is just something i found quickly on google images) :



Just connect 7 leds to it with resistor for each led, to limit current to each led.  So you have 25 leds, 7 transistors per chip,  easy to use 5 uln2003a for everything.

A small note... the uln2003A is a bit "slow", well... compared to mosfets or individual npn/pnp transistors. It will take a few (tens of) microseconds for the darlington transistors to actually close and turn on. So when you turn off a layer and turn on the other, you may have to write code in your microcontroller to turn off a layer, wait a ms or so, then send command to turn on the leds and then send power to all 25 leds in the layer by enabling the layer.
 

 

Offline vamp666Topic starter

  • Newbie
  • Posts: 6
  • Country: ro
Re: LED display driver using darlington array?
« Reply #8 on: September 18, 2014, 11:24:51 am »
but how do in connect the positive lead to ULN2003?

i think i will just use pull-up resistors,  and i will invert the output of shift registers for anode columns. so if i want an led to light up, i make the ULN input low for column and high for layer.

That way i will use only 4 shift registers, 5 ULN2003 and a bunch of resistors (50 i guess).
 

Offline kony

  • Regular Contributor
  • *
  • Posts: 242
  • Country: cz
Re: LED display driver using darlington array?
« Reply #9 on: September 18, 2014, 11:49:36 am »
It amazes me, that noone yet mentioned dedicated LED drivers - http://www.ti.com/lsds/ti/power-management/signage-linear-products.page for example, choose what you need. No resistors, LEDs driven by current sources. Then just add display "layer" anodes switching and you are done.
 

Offline hexpope

  • Contributor
  • Posts: 40
Re: LED display driver using darlington array?
« Reply #10 on: September 18, 2014, 11:57:48 am »
It amazes me, that noone yet mentioned dedicated LED drivers - http://www.ti.com/lsds/ti/power-management/signage-linear-products.page for example, choose what you need. No resistors, LEDs driven by current sources. Then just add display "layer" anodes switching and you are done.

I totally forgot about those, I haven't had the chance to use them yet. Good choice
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf