16 bit common cathode led driver

QuIcK

Senior Member
Heya,
I've got my hands on some 100-seg led bargraphs.
they are split into 10 segments of 10 leds.
anodes address the segments, cathodes address the individual leds in that segment, if that makes sense.

my plan is to readadc, then output onto the bargraph

doing a common anode driver is easy, there are many off-the-shelf parts for this, and allows me to address the leds individually, as opposed to 1 at a time.

how do I do a common cathode driver tho? i can't find any off-the-shelf type parts that can drive 10 leds. I've thought about a johnson decade counter, as it only needs to address 1 segment at a time, and that only uses 2 pins, and works really well for a fast loop. but after that, how do i make a constant current driver? is there a dip18 style thing (like a darlington array?) that would do this?
 

eclectic

Moderator
Heya,
I've got my hands on some 100-seg led bargraphs.
they are split into 10 segments of 10 leds.
anodes address the segments, cathodes address the individual leds in that segment, if that makes sense.

my plan is to readadc, then output onto the bargraph

doing a common anode driver is easy, there are many off-the-shelf parts for this, and allows me to address the leds individually, as opposed to 1 at a time.

how do I do a common cathode driver tho? i can't find any off-the-shelf type parts that can drive 10 leds. I've thought about a johnson decade counter, as it only needs to address 1 segment at a time, and that only uses 2 pins, and works really well for a fast loop. but after that, how do i make a constant current driver? is there a dip18 style thing (like a darlington array?) that would do this?
First off, can you post a link for
the bargraphs?
e
 

QuIcK

Senior Member
dreadfully sorry. unfortunately its a bespoke part from an old calrec digital mixing desk.
it came with some interfacing board, however i quickly deduced it was not gonna do what i wanted it to.
so i cut the 26 wire ribbon from the board to the actual bargraph, and beeped it out/run voltage through it to see what each wire does.

im just looking for a 16 bit source driver to control from a picaxe (any, i was thinking 14m).

attached is a proposed layout, using (essentially) the opposite of a darlington array (source driver, not sink) to LEDS to a darlington array.
if there is a 16bit source driver chip out there that runs on SPI (for example) then i am more than happy to do away with the johnson counter.

hope it clears things up
 

Attachments

Last edited:

moxhamj

New Member
I have some hardware designs using discrete transistors for either common anode or common cathode, but you need a fast multiplexer, and the picaxe is not fast enough.

Two chips might be worth looking at - the max7219 which can do 64 discrete leds, and the max6954 which can do 128.

But if you have arrays that are 10x10 it might be more difficult.

I wonder if you could daisy chain 13 74HC595 chips and drive the leds without multiplexing? That would only use 3 picaxe pins.
 

QuIcK

Senior Member
unfortunately the leds are already multiplexed. i'll see if i can get some pictures on the go, but the leds dont have any plastic around them. 10 dice are very closely packed in glass 'bulbs'. the multiplexing is done inside the 'bulbs', then enammel wired to the pcb.
100 leds fit into a space of about 9cm, to give you an idea.

im pretty sure i could bump a 28x up to 40mhz to run it, no?

also, i dont need to readadc each display cycle, which will cut down on overhead time.

the program should be really really simple.
in psuedo code
Code:
do
 readadc adc_value
 reset johnson counter
 for counter = 0 to 10
  if adc_value > 10
   output to darlingtons '$FF'
   adc_value = adc_value - 10
  else
   temp = $FF << adc_value
   temp = not temp
   output to darlingtons 'temp'
  end if
  increment johnson counter
 next counter
loop
that should run pretty fast at 40mhz, right?

im genuinely just looking for either a circuit for a driver, or a 8/16 bit driver package. I can't find any that are suitable. they are all sink drivers.
 
Last edited:

QuIcK

Senior Member
the micrel MIC2981 looks spot on. thanks so much for finding that!!!!
altho, i'm finding it hard to believe there is only 1 IC out there that does this. I'd rather not go down the serial path for a source driver, as I recon the program will be a lot faster with a johnson counter.

i'll just wait until i need to put in a big order, and sneak them on top.
looks like this project will be on ice for a while. cheers for your help. ill drag this topic out when i get round to it!
 
Last edited:
Top