Led Matrix Project

Thread Starter

Maketronic

Joined Mar 21, 2009
49
Hi all

I have been working on a custom made 7 x 11 led matrix for some time and have just got it fully functional.

I have 77 leds each with their own 100 ohm series resistor wired up in a 7 x 11 grid.

Each of the columns has its anodes commoned up then each of the rows has its cathodes commoned up.

I am using a pic16f877 micro to drive irf9630 p mosfets for the anodes and irf630 n mosfets to drive the cathodes, forgive the use of the word drive in this sentence because it may be a bit misleading but you know what I mean.

I have also written an application in vb.net which allows me to 'draw' my picture by switching on the led's pictorially then export the code, while this may seem basic, it saves huge amounts of work for animations.

My questions going foward to version 2 is has anybody got any experience with i2c port expanders eg the microchip 16 bit MCP23016 because larger and denser led arrays will soon chew up all of my available io (my 7x11 already uses most of my available io). Would they be effective for large led arrays (of course via mosfets still)
Also when using large scan rates rather than static images on the led array can you get away with using a smalled (or none whatsoever) series resistor. (I am using a 5 volt supply for the led's also)

Any suggestions would be appreciated

Bruce


 

DonQ

Joined May 6, 2009
321
I have 77 leds each with their own 100 ohm series resistor wired up in a 7 x 11 grid.
Is my understanding correct that you have used 77 resistors?

As far as using smaller resistors...

There are two limits that you have to meet. The average current and the peak current which is much greater than the average current limit.

The thing is, if you are strobing the LED, so that it is not on all the time, then you can strobe it at a peak current as long as your average current is less than the average limit. Here is the good part. Even though the light is only on say 1/7th of the time at the higher intensity, you eye "remembers" the peak brightness of the 'on' during the 'off' time (as long as the off time is less than ~1/20th second or so.)

This means that the light can appear brighter than if you lighted it continuously with the max average current like most LEDs are used.

It's probably best to test your software at the average current limit so that if your software locks up you won't blow the LEDs. But after you get it working you can change to the peak current and get a much brighter display.

One other point... if you use latches to latch the row/column values, you can use your 11+7=18 outputs to output and latch 18 rows, then send 18 columns (actually one or two less than this because you need to have some strobes for the latches.) This would give you, for example, 16x16=256 lights instead of 77.

Again about the number of resistors you use... You do understand that you only need 7 resistors for an 11x7 display matrix, don't you?
 

Thread Starter

Maketronic

Joined Mar 21, 2009
49
Yes you understand correct, I used 1 resistor per led.
Please can you explain as to why I need only 7 resistors.
What is the typical maximum current for a 12000mcd white led? I was only aware of the reccomended 20ma to run.

Is it easier for me to use latches to expand io on my micro or just use an i2c expander?

I think we covered latches and shift registers in electronics at university but that was a whaile ago. Thank goodness for google.
 

Thread Starter

Maketronic

Joined Mar 21, 2009
49
Thanks for the clarification Alberto, I now understand what is meant by only needing 7 resistors.

The project was originally not planned to light only one row at a time that is why I used leds on all of the led's

Now I am scanning the 7 columns, one at a time I think I need 11 leds, one per row.

Looking at the replies here as well as datasheets on the internet I have yet to decide exactly what form my io expansion will take.

Thanks everyone for your idea's

Bruce
 
Top