Forums

Help! PIC Controlled LED Array Circuit - 100 LED's??

Started by Scott Hooper November 9, 2004
I am new to electronics, but a programmer by trade. I am trying to
achieve a circuit of up to 100 independently controlled LED's (not
segmented display modules). Ideally the circuit would be controlled by
one or more PIC microcontrollers as I have a Willem II programmer. My
application is artistic in nature and requires the leds to be spread
out over a wide area as opposed to being in a grid formation.

I have heard a lot of conflicting reports about Maxim's MAX721xx chips
for this job. Some say it's the one I want, but others (including an
actual Maxim tech-supporter) say it's more suited to the segmented
displays. I have experimented with this chip with little success.

Has anybody achieved anything like this? I have scoured the Internet
and newsgroups for literally weeks looking for a matching schematic
and source module. I have found a few Basic Stamp modules but I'm not
setup for that at all and would rather stick with native PIC. The only
compiler I have is MPLab's MPASM.

Many thanks to anyone that can help
"Scott Hooper" <sfk.hooper@gmail.com> wrote in message 
news:991ca63c.0411082113.debbfba@posting.google.com...
>I am new to electronics, but a programmer by trade. I am trying to > achieve a circuit of up to 100 independently controlled LED's (not > segmented display modules). Ideally the circuit would be controlled by > one or more PIC microcontrollers as I have a Willem II programmer. My > application is artistic in nature and requires the leds to be spread > out over a wide area as opposed to being in a grid formation. > > I have heard a lot of conflicting reports about Maxim's MAX721xx chips > for this job. Some say it's the one I want, but others (including an > actual Maxim tech-supporter) say it's more suited to the segmented > displays. I have experimented with this chip with little success. > > Has anybody achieved anything like this? I have scoured the Internet > and newsgroups for literally weeks looking for a matching schematic > and source module. I have found a few Basic Stamp modules but I'm not > setup for that at all and would rather stick with native PIC. The only > compiler I have is MPLab's MPASM. > > Many thanks to anyone that can help
This is doubtless the cheapest way to control 52 leds from a single 8 bit port. http://www.tinaja.com/glib/muse152.pdf I'll leave it to you to scale it up. Peter
In article <991ca63c.0411082113.debbfba@posting.google.com>, Scott 
Hooper <sfk.hooper@gmail.com> writes
>I am new to electronics, but a programmer by trade. I am trying to >achieve a circuit of up to 100 independently controlled LED's (not >segmented display modules). Ideally the circuit would be controlled by >one or more PIC microcontrollers as I have a Willem II programmer. My >application is artistic in nature and requires the leds to be spread >out over a wide area as opposed to being in a grid formation. > >I have heard a lot of conflicting reports about Maxim's MAX721xx chips >for this job. Some say it's the one I want, but others (including an >actual Maxim tech-supporter) say it's more suited to the segmented >displays. I have experimented with this chip with little success. > >Has anybody achieved anything like this? I have scoured the Internet >and newsgroups for literally weeks looking for a matching schematic >and source module. I have found a few Basic Stamp modules but I'm not >setup for that at all and would rather stick with native PIC. The only >compiler I have is MPLab's MPASM. >
I have done it using 74HC595 serial to parallel chips. 8 leds off each chip, and you just chain them together, the whole thing becomes one big serial shift register requiring only 3 pins from the micro. They will drive low current LEDs directly or add a ULN2803 driver chip to drive up to 500mA per output. Cheap and it works. -- Tim Mitchell
On Tue, 9 Nov 2004 08:22:43 -0000, the renowned "Peter"
<moocowmoo@newprovidence.demon.co.uk> wrote:

>"Scott Hooper" <sfk.hooper@gmail.com> wrote in message >news:991ca63c.0411082113.debbfba@posting.google.com... >>I am new to electronics, but a programmer by trade. I am trying to >> achieve a circuit of up to 100 independently controlled LED's (not >> segmented display modules). Ideally the circuit would be controlled by >> one or more PIC microcontrollers as I have a Willem II programmer. My >> application is artistic in nature and requires the leds to be spread >> out over a wide area as opposed to being in a grid formation. >> >> I have heard a lot of conflicting reports about Maxim's MAX721xx chips >> for this job. Some say it's the one I want, but others (including an >> actual Maxim tech-supporter) say it's more suited to the segmented >> displays. I have experimented with this chip with little success. >> >> Has anybody achieved anything like this? I have scoured the Internet >> and newsgroups for literally weeks looking for a matching schematic >> and source module. I have found a few Basic Stamp modules but I'm not >> setup for that at all and would rather stick with native PIC. The only >> compiler I have is MPLab's MPASM. >> >> Many thanks to anyone that can help > >This is doubtless the cheapest way to control 52 leds from a single 8 bit >port. >http://www.tinaja.com/glib/muse152.pdf >I'll leave it to you to scale it up. > >Peter
Better do some calculations first, that method is cute, but scales HORRIBLY. I suggest either the simple-Simon static drive by serial SR suggested by someone else, or a low multiplex ratio n x m array. No more than 8:1 mux ratio. For example, 8 high side drivers and 16 low side drivers, with a timer-triggered ISR controlling the drivers would work nicely. At 20mA each, 100 LEDs will draw 2A maximum. The drivers could be as simple as 4 SOIC-8 dual MOSFETs, 2 D-MOS power shift registers, and 16 resistors, for driving up to 128 LEDs at full brightness. Best regards, Spehro Pefhany -- "it's the network..." "The Journey is the reward" speff@interlog.com Info for manufacturers: http://www.trexon.com Embedded software/hardware/analog Info for designers: http://www.speff.com
Check out http://www.allegromicro.com/ for some nice LED driver
chips (up to 32 channels each I believe).  They are good with samples too.

Mike Anton

"Scott Hooper" <sfk.hooper@gmail.com> wrote in message
news:991ca63c.0411082113.debbfba@posting.google.com...
> I am new to electronics, but a programmer by trade. I am trying to > achieve a circuit of up to 100 independently controlled LED's (not > segmented display modules). Ideally the circuit would be controlled by > one or more PIC microcontrollers as I have a Willem II programmer. My > application is artistic in nature and requires the leds to be spread > out over a wide area as opposed to being in a grid formation. > > I have heard a lot of conflicting reports about Maxim's MAX721xx chips > for this job. Some say it's the one I want, but others (including an > actual Maxim tech-supporter) say it's more suited to the segmented > displays. I have experimented with this chip with little success. > > Has anybody achieved anything like this? I have scoured the Internet > and newsgroups for literally weeks looking for a matching schematic > and source module. I have found a few Basic Stamp modules but I'm not > setup for that at all and would rather stick with native PIC. The only > compiler I have is MPLab's MPASM. > > Many thanks to anyone that can help
Tim Mitchell <timng@sabretechnology.co.uk> wrote in message news:<LfM7uGCT8IkBFAuX@tega.co.uk>...
> I have done it using 74HC595 serial to parallel chips. 8 leds off each > chip, and you just chain them together, the whole thing becomes one big > serial shift register requiring only 3 pins from the micro. They will > drive low current LEDs directly or add a ULN2803 driver chip to drive up > to 500mA per output. Cheap and it works.
Hi Tim, This sounds like exactly the sort of thing I'm after. I google'd that chip and it does sound like the chip for the job. A few questions: What PIC did you use? Do you have a schematic of how it goes together? Do you have a source module available? What language/compiler was used? (I did say a few questions :) ) Lastly, something confuses the heck out of me... I can see that you can daisy chain the 74HC595 chips together, but how do you tell your PIC which one to address? To everyone that replied, thank you very much. But I am quite the novice and hoping that someone can provide me with a PIC-compatible schematic/source-code combo Thanks heaps

Scott Hooper wrote:

> I am new to electronics, but a programmer by trade. I am trying to > achieve a circuit of up to 100 independently controlled LED's (not > segmented display modules). Ideally the circuit would be controlled by > one or more PIC microcontrollers as I have a Willem II programmer. My > application is artistic in nature and requires the leds to be spread > out over a wide area as opposed to being in a grid formation. > > I have heard a lot of conflicting reports about Maxim's MAX721xx chips > for this job. Some say it's the one I want, but others (including an > actual Maxim tech-supporter) say it's more suited to the segmented > displays. I have experimented with this chip with little success. > > Has anybody achieved anything like this? I have scoured the Internet > and newsgroups for literally weeks looking for a matching schematic > and source module. I have found a few Basic Stamp modules but I'm not > setup for that at all and would rather stick with native PIC. The only > compiler I have is MPLab's MPASM. > > Many thanks to anyone that can help
Why not several PICs 1 master and the rest slaves.
Have you looked into using some kinda FGPA?
sfk.hooper@gmail.com (Scott Hooper) banged on the keyboard until
producing news:991ca63c.0411091854.1c820bdb@posting.google.com: 

> Tim Mitchell <timng@sabretechnology.co.uk> wrote in message > news:<LfM7uGCT8IkBFAuX@tega.co.uk>... >> I have done it using 74HC595 serial to parallel chips. 8 leds off >> each chip, and you just chain them together, the whole thing becomes >> one big serial shift register requiring only 3 pins from the micro. >> They will drive low current LEDs directly or add a ULN2803 driver >> chip to drive up to 500mA per output. Cheap and it works. > > Hi Tim, > > This sounds like exactly the sort of thing I'm after. I google'd that > chip and it does sound like the chip for the job. A few questions: > What PIC did you use? Do you have a schematic of how it goes together? > Do you have a source module available? What language/compiler was > used? (I did say a few questions :) ) Lastly, something confuses the > heck out of me... I can see that you can daisy chain the 74HC595 chips > together, but how do you tell your PIC which one to address? > > To everyone that replied, thank you very much. But I am quite the > novice and hoping that someone can provide me with a PIC-compatible > schematic/source-code combo > > Thanks heaps >
Get yourself some 74154 decoder chips. 4 inputs to 16 outputs; active-low on the output. A couple of these as a matrix would give you 16^2 capability for only 8 output pins (or even only 5 if you commoned the inputs and used a line for device select). -- * * * * * * * * * * * * * * * * * Dorsai - Author of Erotic Fiction http://www.asstr.org/~Dorsai * * * * * * * * * * * * * * * * * "Making fun of born-again christians is like hunting dairy cows with a high powered rifle and scope." -- P.J. O'Rourke
In article <991ca63c.0411091854.1c820bdb@posting.google.com>, Scott 
Hooper <sfk.hooper@gmail.com> writes
>Tim Mitchell <timng@sabretechnology.co.uk> wrote in message >news:<LfM7uGCT8IkBFAuX@tega.co.uk>... >> I have done it using 74HC595 serial to parallel chips. 8 leds off each >> chip, and you just chain them together, the whole thing becomes one big >> serial shift register requiring only 3 pins from the micro. They will >> drive low current LEDs directly or add a ULN2803 driver chip to drive up >> to 500mA per output. Cheap and it works. > >Hi Tim, > >This sounds like exactly the sort of thing I'm after. I google'd that >chip and it does sound like the chip for the job. A few questions: >What PIC did you use? Do you have a schematic of how it goes together? >Do you have a source module available? What language/compiler was >used? (I did say a few questions :) ) Lastly, something confuses the >heck out of me... I can see that you can daisy chain the 74HC595 chips >together, but how do you tell your PIC which one to address? >
Didn't use a pic, used an 8051. Code was 8051 assembler but it's really simple. You address the chips just by clocking the bits out. Say you're controlling 64 LEDs, you clock out 64 data bits (set the value to the data pin, take the clock pin low then high, 64 times). The first data bit goes to the LED furthest from the pic, then each bit goes to the next LED, the 64th bit going to the LED nearest the pic in the chain. On the 595 chip, once you've clocked all the bits into position, you toggle a latch line to set the bits to the outputs (display them). -- Tim Mitchell