large irregular shaped LED matrixs

Thread Starter

Member02

Joined Mar 23, 2010
28
First let me introduce myself, I'm a crazy guy, like most of us. I am building and designing a fun project now and wish to share it with everyone here, as well as learn from you all.

I am looking for some advice on the more efficient methods of larger LED matrix controlling, we're talking 80x20, in the shape of a letter, so there will be areas where LEDs won't exist, but that is no issue.


  • Only one color, no RGB.
  • Speed around 30-60hz refresh rate needed.
  • Dimmable control needed.


Anyhow, I understand the three basic requirements necessary to drive and control these things and I have created large arrays already, but this will be much larger than anything I've done.


Two simple questions:

1. Would an Arduino Mega 2560 be ok? Or should I seriously consider some Matrix drivers?

I can learn and use any code quickly, but I currently have decent knowledge with C/C++ and the arduino.

2. Suggestions on shift registers/demuxers?




Thanks for any help, this will be show cased this new years as the drop 'ball' and will be fully documented for you guys, with all source code up for grabs when done. Will be composed of two 8 ft tall "F" and a "P" for Noah Larmz/Fantastic Planet, we produce DJ shows in eastern Virginia.

There will also be CO2 tubes to shoot out confetti, and a laser show machine to compliment the other larger array of lasers. all-in-all a decent production piece that gets to sit in my living room after the party!
 

tom66

Joined May 9, 2009
2,595
Do you want each LED to be individually controlled? You mentioned 80x20, which is a rather odd aspect ratio.

You could consider charlieplexing. It is possible with lots of wire and patience to drive your 1,600 LED's individually with just 40 IO's. This might be doable with some bigger microcontrollers. Unfortunately, with charlieplexing, if a single LED becomes faulty it can render the entire array useless until the faulty LED is found.

However, if you only want to go with certain patterns (fixed letters) then it would simply involve wiring each LED to a power supply. You could possibly have several fixed combinations per supply if you used the LED's as diode OR gates, but I'd need to think about how this could be implemented, if at all.
 

Thread Starter

Member02

Joined Mar 23, 2010
28
Do you want each LED to be individually controlled? You mentioned 80x20, which is a rather odd aspect ratio.

You could consider charlieplexing. It is possible with lots of wire and patience to drive your 1,600 LED's individually with just 40 IO's. This might be doable with some bigger microcontrollers. Unfortunately, with charlieplexing, if a single LED becomes faulty it can render the entire array useless until the faulty LED is found.

However, if you only want to go with certain patterns (fixed letters) then it would simply involve wiring each LED to a power supply. You could possibly have several fixed combinations per supply if you used the LED's as diode OR gates, but I'd need to think about how this could be implemented, if at all.
I've always been afraid of charlieplexing for that reason and would rather veer away.

But now, this thing will be fully animated, I will have a mini light show comming from it, including a countdown for new years. So yes I am trying to drive them individually as I have already done on my smaller 4x14 grid, which was fun to figure out the arrays for harder animations, lol.... But I'm fine with coding, I can code fast.

Maxim makes some nice LED driver ICs.

I will check them out right now.
 

Thread Starter

Member02

Joined Mar 23, 2010
28
Is there a more efficient way to use the max6960, it appears I would need about 13 of these for my project, and I'm worried about what my duty cycle would be and if these chips can sink enough current for said duty cycle. Also, Can someone educate me on figuring out if the speeds necessary for a good refresh rate can be done with the arduino and these led drivers?
 

thatoneguy

Joined Feb 19, 2009
6,359
You would need more than 13 of the ICs to individually drive each LED. As the IC is an open collector output, it can't be used for charlieplexing, which would need 6 17 output devices.
 

Thread Starter

Member02

Joined Mar 23, 2010
28
well, the max6960 is too expensive for my budget as well. looks like I'm going back to normal mutiplexing. I now need help figuring out how much delay I will be introducing into the matrix and if the arduino mega 2560 can work fast enough for the eye not to notice. Can anyone lead me in the direction to figure this out?

and yes blueroomelectronics, I was actually going to use a multiple of 8, but rounding up, not down, and ignoring all those that I wouldn't have on the matrix when programming the light show.
 

tom66

Joined May 9, 2009
2,595
Lightuino.

It can control 1,120 LED's individually.

This lets you reach a 64x16 matrix (1,024 LED's.)

If you wanted a 80x20 matrix, you could try two Lightuinos, each driving 40x20 LED's, communicating over some serial bus, e.g. I2C, SPI, UART, CAN.
 
Last edited:

Thread Starter

Member02

Joined Mar 23, 2010
28
wow, sounds like a dream! My only issue is that no one appears to have any in stock and can't tell me when they will!!!!
 

tom66

Joined May 9, 2009
2,595
wow, sounds like a dream! My only issue is that no one appears to have any in stock and can't tell me when they will!!!!
Yeah, I can't find any anywhere either. Perhaps contact the seller and ask if they are still being made, and if not if they can produce 1 or 2 for you on special order.

If not you'd have to find some other solution. One solution would be to use the 64x16 display with 16 rows and 64 columns. You could get away with 80 IO's then. That would require only a very large (TQFP-100) chip, for example the PIC24FJ256GB210 has 84 IO's. You could do it with that chip because the maximum output current is 20mA per pin and about 300mA in total. You'd have to drive each of the 64 rows using power transistors, though, they'd need to sink 20mA per LED so 0.32A, so it would be a very large solution unless you used driver IC's.
 

Thread Starter

Member02

Joined Mar 23, 2010
28
also here's a weird question, I was hoping to be able to make the matrix semi colored, in a 2x2 grid, each led would be a different color, r,g,b and white, in nwhich programming would be fun. I would give constant current supplies, but would the low forward voltage RED leds cause problems in the matrix? or since they would be constant current should it not matter?
 

tom66

Joined May 9, 2009
2,595
also here's a weird question, I was hoping to be able to make the matrix semi colored, in a 2x2 grid, each led would be a different color, r,g,b and white, in nwhich programming would be fun. I would give constant current supplies, but would the low forward voltage RED leds cause problems in the matrix? or since they would be constant current should it not matter?
Well, that would multiply the complexity by 4, but you could get away with just 4 extra IO's. You'd be pushing it, though. It's already very complex.
 

Thread Starter

Member02

Joined Mar 23, 2010
28
so I hate SMD components, could anyone help me find a suitable replacement non SMD version of the n-channel mosfet Si2312bds?
 

tom66

Joined May 9, 2009
2,595
This was the closest I could find in a TO-220 package: IRF620PBF

As long as you're not going too fast and too powerful it should be alright.

You shouldn't hate surface mount, it's what's probably going to allow this project to work. These fets are *very* big TO-220's.
 

Thread Starter

Member02

Joined Mar 23, 2010
28
This was the closest I could find in a TO-220 package: IRF620PBF

As long as you're not going too fast and too powerful it should be alright.

You shouldn't hate surface mount, it's what's probably going to allow this project to work. These fets are *very* big TO-220's.

well, the LEDs will be spaced out, 8foot tall and 3 ft wide in the shape of a letter, and there will be plenty of room to hide stuff in the object. But alas, I decided you are right.


also, what do you mean by "As long as you're not going too fast and too powerful it should be alright" ? Is the SMD version faster or more powerful?
 
Last edited:

tom66

Joined May 9, 2009
2,595
also, what do you mean by "As long as you're not going too fast and too powerful it should be alright" ? Is the SMD version faster or more powerful?
A MOSFET is not a perfect switch. It has a gate pin, and the gate pin has a capacitor to the source and drain pins. Imagine it like a tank filling. You apply a signal to the gate and the voltage slowly rises, turning the fet from the off position to the on position. But it has an in-between state, it is at this point where the fet is half conducting and lets some, but not all current flow. This dissipates heat, in fact, this is the point at which the most heat is wasted in a fet. As you go faster and faster this becomes more noticeable and more heat is produced. This is also why computers get hotter when doing more processing. Surface mount technology is designed for space constrained and fast applications; that is why surface mount fets are usually better. They are also newer technology.
 

Thread Starter

Member02

Joined Mar 23, 2010
28
I see, thanks for clearing that up! well, the good news, is the surface mount chips are also 1/10 the cost considering I need over 32 between my two signs!
 

Thread Starter

Member02

Joined Mar 23, 2010
28
in this circuit here, the current appears to be for lower power LEDs, I'm powering 20ma 5mm LEDs at 3.1v, and obviously need to use drivers on them.

in the circuit above, I feel I need something like the ULN2803 behind each shift register for extra current sinking, but I'm not sure if that is correct, I feel that it needs to be a PNP, please correct me if I am wrong.

Also, to drive more power, would the Nfets for the rows need to be more powerful?
 
Top