Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

LED Wall Tile Project

Status
Not open for further replies.

joeman112

Junior Member level 2
Joined
Jun 11, 2011
Messages
22
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,459
Hello,

Got a nice "little" project that I need some help with.
I'm making a 1m square tile that I plan to have 100 white LEDS in 10 x 10.
I then plan on putting 16 of these tiles together (4m x 4m).
I need to individually tell each LED to change brightness through PC based software (so custom patterns can be made on the PC then sent to the wall of tiles).

My idea was to make each tile modular and have a serial bus running in an E shape.
So my data packet would be:
Tile Address [5 bits] | (LED Address [8 bits] | Brightness [5 bits] x 100)

Problem 1: How can I support my custom protocol and 1Mbs?

5 + (13 x 100) = 1305
The minimum update rate of a tile should be 24Hz (although recommendations are welcome)
1305 * 24 = 31320 bits/second
31320 * 16 tiles = 501,120 bits/second = 1Mbs needed.
RS422? - Reading up there is a maximum device limit of 10.

Problem 2: Controlling 100 LEDs.

I was thinking of using a PIC because I am familiar with them. However, there are not 100 IO ports on any pic. Also, I have read that there is a possibility of overloading the chip 100 LEDs at 20ma and apparently PICs can only output 200ma (10 LEDs).
I have also looked at shift registers, but I think this might affect the PWM signal that change the brightness of the LED.

I know there is a lot to take in here, but any help would be gratefully received.

Many thanks,
Joe
 

Hi,
I think that you will use a master control MCU to receive global pattern from PC and a local slave MCU for each tile.
For fast transfer to the master MCU, I suggest you to use a USB port. As you sure know, you can use a MCU with high speed USB device to obtain a peak transfer of 12Mbps.
To send data to each leds control , I suggest to use a synchronous interface (for example 2wire SPI)

To drive the LED panel you can use a multiplexer scheme. For example connect the leds in a matrix and drive sequentially the rows, having in the columns the correct PWM value.
In this way you must change the PWM values every time you switch a row. The 'off time' inserted between the LED rows must be compensate with more driving current, so the max number of row depend on the max LED peak current. In any way to get a good LED brightness you must add a power driver on each MCU output.

I hope to have given you some usefull idea for your project.
 
Notwithstanding what alex_r's typed, I take you're driving each of your 'tile's from some sort of power supply and switching circuit. It would be be great to have more details of these features, please.

Suggestions for the digital control of the tiles will come best from this information.
 
Hi Alex,

Ive been doing some more thinking. I am probably going to use a usb to RS485 converter, then I can directly send commands from the pc using a virtual COM port, without any custom master hardware. A MAX485 chip works at 2.5Mbs and are relatively cheap.
Would multiplexing have the effect of dimming the LEDs though?
If I use a 10 x 10 matrix - the led would get serviced 10 times less, meaning the update rate would drop?
So my new plan is to run 25 LEDs off a 32 pin PIC and have 4 PICs per Tile. Does this sound feasible?

Hi Tony,
Those details are a bit sketchy, any advice in that area would be greatly appreciated.
I was hoping to feed in a 5v supply to power everything, but I realize that 20mA per LED. 1600 LEDs. 18 Amps+. I was hoping for this to be a portable system as well (i.e. plug into a standard wall socket). Could really use some help in this area.


Many Thanks,

Joe
 

Hi,

Make carefully do not excede the chip maximum rating values when all the 25 LEDs are on !

In any way, if you can rearrange the tile in a matrix , and your LED have a high peak current limit, you can drive with a fast multiplexer rate without have a flicker effect.
The result depend only on your firmware and MCU speed, to switch row every PWM cycle and change all the columns PWM values.
For the human eye persistance effect, a LED flashing at the right speed, appear as a fix light. Also the average power will be further reduced.
 

Hi,

Make carefully do not excede the chip maximum rating values when all the 25 LEDs are on !

In any way, if you can rearrange the tile in a matrix , and your LED have a high peak current limit, you can drive with a fast multiplexer rate without have a flicker effect.
The result depend only on your firmware and MCU speed, to switch row every PWM cycle and change all the columns PWM values.
For the human eye persistance effect, a LED flashing at the right speed, appear as a fix light. Also the average power will be further reduced.


OK, Ill give this a go.

If I bought a 100w 240vac to 5vdc 20A, this should power all my LEDS. What type of circuitry would I need to to use this power line, but drive it from a PIC. Is there any good tutorials or links for this?

Joe
 

Joe,

alex_r's giving you good advice. To your earlier questions to me...

Have a read of www.avagotech.com/docs/5980-3132EN and search Google if you're not sure you fully understand multiplexed LED driving.

Ignoring the brighter 'look' of muxed LEDs (see below), let's stick with your drive current of 20mA per LED. If you try and drive only one LED at a time in your 10x10 array, each LED can only be on for 0.01 of the time max. That means each would have to be pulsed with 2A which is probably too high for the LEDs (bang!). Instead, drive 10 at a time (1 row) with 200mA each. I don't know your application but this could be too bright and (guess) 100mA each could be fine. That's just something you'll find out by doing it.

Also, have a read of the Maxim app note 1883 at **broken link removed** This includes the text:

When driving more segments, static drive demands an larger number of drive outputs, 1 per LED. Multiplex, or pulse
drive reduces the drive connections by strobing only a small number of segments (typically a complete digit) at a
time. The strobing is done at a high enough repetition rate that the eye perceives continuous illumination. However,
the LEDs require a higher current to compensate for the reduced duty cycle.

An advantage of pulse drive is that the human eye behaves as a partially integrating and partially peak-reading
photometer. As a result, the eye perceives rapidly pulsed light somewhere between the peak and the average
brightness. This means that a low-duty-cycle, high-intensity pulse of light looks brighter than a DC signal equal to the
average of the pulsed signal. An advantage of multiplexed operation, therefore, is an improvement in display
intensity for a given average power consumption.


I'd never have guessed that a muxed display actually looks brighter for a given current consumption than a non-muxed one but I live and learn. For you, it's a nice by-product of what you need to do.

Hope this is of some use...
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top