Author Topic: RGB LEDtriks Ideas  (Read 11581 times)

Offline RocketRick

  • Jr. Member
  • **
  • Posts: 4
RGB LEDtriks Ideas
« on: April 07, 2008, »
I've been putting a fair bit of thought into how to design a RGB LED sign that fixes some of the drawbacks that I have seen in the current LEDTriks design, and makes a few different trade-offs in the process.

Before I get into my ideas, I want to first thank RJ for coming up with the current LEDtriks design, as he has proved that it is not just possible, but also feasible, for amateurs to put together a professional-looking "moving-message" LED sign from scratch, and synchronise it with their existing computer-controlled christmas light and music system.  It is a brilliant minimalist design, and construction from his plans is well within the capabilities of motivated amateurs.  That is a HUGE achievement, and I'm suitably impressed by it.

However, because LEDtriks is so minimalist, it puts a quite heavy CPU load on the PC running the show, requiring huge numbers of updates just to keep the display refreshed and updated.  Constant-current drivers do a great job of evening out the brightness of the individual LEDs, but preclude dimming.

To go from monochromatic LEDs to an RGB display would require, at a minimum, three times the number of updates as a standard LEDtriks, assuming we only wanted to have a maximum of 8 colors (including "black" when the LEDs are all turned off) to work with.  Still, with a fast PC, it would be possible, simply by essentially wiring three LEDtriks circuits together, each feeding one of the three colors within a panel wired up from RGB LEDs.

However, I want to have more than just "on-off" control of each color; I want to be able to set multiple brightness levels, allowing the use of a larger color palette.  So-called "full-color" displays take 24 bits per pixel, specifying 8 bits of brightness information for each of the three colors that make up each pixel.  24-bit color gives you 16.7 million colors to play with, at the cost of 24 times as much data to handle.

There are all sorts of compromises that can be made, here, while retaining some color choice.  Going to 8 bits per pixel gives you 256 colors, which might be sufficient to produce a "decent" color display, with 1/3 the data bandwidth requirement of "full-color".  Going to some sort of "smart" display controller would also reduce the CPU load, as updates could be sent to the controller, which would then continue to display whatever it was told without further commands from the PC.

My idea is to design a small pixel matrix controller that has independent control over, for example, an 8 x 8 matrix of RGB LEDs.  It will use PWM techniques to set any one of 256 brightness levels for each color of each pixel under its control.

For discussion, imagine an 8x8 array of common-anode RGB LEDs, with 24 "column" inputs and 8 "row" inputs.  The columns are labeled R1-R8, G1-G8, and B1-B8.  The rows are labeled A1-A8 (for "anode").  When an "A" input to the matrix is energized, it turns on power (through a transistor and appropriate current-limiting resistor set to provide full brightness) to the chosen row.  The column inputs are connected via an open-collector driver to ground to "energize" them.  All 24 columns can be driven simultaneously in whatever combination is desired.  At most one row out of 8 will ever be driven at once.

To drive the display, you need two counters: a 3-bit Row Counter (RC), and an 8-bit Brightness Counter (BC).

The main program loop does the following:

Increment RC
Turn on the Row corresponding to RC, turn off all other rows.
If RC = 0, increment BC
For each pixel column in that row, compare the programmed brightness level to BC:
   If BC > programmed brightness, turn off that column
   If BC <= programmed brightness, turn on that column
Go back to the start

A separate, interrupt-driven routine handles I/O requirements.  Packets of data arrive via serial input.  Each packet has a row and column address, as well as pixel data in some format (there are a few options here, but I want to keep the conceptual discussion general).  Each packet is processed as follows:

If the row address is not zero, discard the packet and exit without doing anything.
If the column address  is not zero, decrement the column address by one, and retransmit the packet before exiting.
If the column address is zero, process the pixel data, storing the brightness levels in memory.
Exit.

The serial output of one 8x8 matrix is connected to the serial input of the next 8x8 matrix in the same row.

A secondary interface circuit is needed to handle multiple rows of 8x8 matrices.  It has a single serial input, and multiple serial outputs (only one of which is ever active at a given time).  It processes data packets received as follows:

Assume that there are "N+1" outputs, labeled Out0 to OutN .
For packets with row addresses 0 through N, set the row address to zero, and retransmit the packet on the appropriate output.
For packets with a row address > N, subtract N from the row address, and retransmit the packet on OutN.

This way, you can extend the system to more rows by simply adding more interface circuits, OutN to In, as needed.

The interface circuit is only needed if you want more than one row of 8x8 matrices.  Each row can be made as long as desired by daisy-chaining 8x8 matrices horizontally, Output to Input.  All matrix circuits and code are identical and interchangeable.

The PC only has to send updates, and doesn't concern itself with maintaining the display during times when it doesn't change.

What's everyone think?

 - Rick


Offline RJ

  • Administrator
  • Sr. Member
  • *****
  • Posts: 8519
Re: RGB LEDtriks Ideas
« Reply #1 on: April 07, 2008, »
Rick, What you have described is the Original Ledtriks II design except I used 5940 led controllers as it drops the work load to where the pic can handle it and is very cost effective. I simply used 9 - 5940 to control the columns levels which is 48col  * 3 colors. It give me 8 bit color. I used a 4 to 16 decoder to trigger the mosfets that contolled the power to the 16 rows.

I made a small scale test and it worked.

BUT!

I looked at it and desided I wanted to go to a design that dropped the cost and work to build.
Anyone having built one knows "There has to be a better way to do this."  (remember folks multiply this by 3 to do one color LedTriks).

What you are planning is not only able to be done it has been. It just cost so much for the LED's and takes so much work for the 1536 legs to be soldered. The circuit is easy to do.

Building it and getting a Plugin made until KC gets back on his feet will be the work.

RJ
Innovation beats imitation - and it's more satisfying

Offline NOLAlights

  • Sr. Member
  • ****
  • Posts: 164
Re: RGB LEDtriks Ideas
« Reply #2 on: April 07, 2008, »
Rick, there's always more than one way to skin the cat but I think one of the goals was to reduce the complexity.

Something like this is more what I'm thinking...

You are not allowed to view links. Register or Login

Now imagine it with RGB lasers....

Offline RJ

  • Administrator
  • Sr. Member
  • *****
  • Posts: 8519
Re: RGB LEDtriks Ideas
« Reply #3 on: April 07, 2008, »
You are not allowed to view links. Register or Login
Rick, there's always more than one way to skin the cat but I think one of the goals was to reduce the complexity.

Something like this is more what I'm thinking...

You are not allowed to view links. Register or Login

Now imagine it with RGB lasers....

Exactly!

RJ
Innovation beats imitation - and it's more satisfying

Offline RJ

  • Administrator
  • Sr. Member
  • *****
  • Posts: 8519
Re: RGB LEDtriks Ideas
« Reply #4 on: June 13, 2008, »
Ok an update,

  I have overcome one milestone. I recieved a part that I was not sure would be able to be used for this project but was what I had planned. I have found that it appears it will work and so this puts me that much closer to having a completed design. This will not be ready this season but should be by early next year. I expect it to be the cats meow in cheap color medium resolution animated screens. It will require extremely low work load from your computer and will take a small fraction of the work of a current ledtriks to build. The cost will be less than that of the leds alone of a color version of the current ledtriks. Looks to be an exciting design.

RJ
Innovation beats imitation - and it's more satisfying

Offline tconley

  • Sr. Member
  • ****
  • Posts: 105
    • Conley Family Christmas
Re: RGB LEDtriks Ideas
« Reply #5 on: August 18, 2008, »
has anyone seen this project?  This is for a network based led matrix display

You are not allowed to view links. Register or Login
« Last Edit: August 18, 2008, by tconley »
Pinky, are you pondering what I am pondering?

 

I think so, Brain, but this time, you put the trousers on the chimp.

 


You are not allowed to view links. Register or Login

Offline lightsoncallaway

  • Full Member
  • ***
  • Posts: 88
Re: RGB LEDtriks Ideas
« Reply #6 on: January 10, 2010, »
Here's a crazy idea.  VGA input for LEDTriksII.  this way instead of sequencing for Triks, you can just send video out a second vga port on a dual display graphics card.  Not sure how this is supported in Vixen or LSP, but Aurora already has the ability to assign a second monitor to the sequence and attach video.

Would this be possible?  I've been searching the internet for information on VGA signaling and it looks like from the pinout that there is separate red, green and blue pins.

-Curt

Offline tconley

  • Sr. Member
  • ****
  • Posts: 105
    • Conley Family Christmas
Re: RGB LEDtriks Ideas
« Reply #7 on: January 15, 2010, »
LSP support a second monitor for video as well.  That would be the ultimate option.
Pinky, are you pondering what I am pondering?

 

I think so, Brain, but this time, you put the trousers on the chimp.

 


You are not allowed to view links. Register or Login