linear1 forums
[part of the linear1 network]
+ [linear1 case mods]
+ [LED Center]
+ [privacy policy]
Welcome, Guest. Please login or register.
March 21, 2010, 03:09:13 AM

Login with username, password and session length
Search:     Advanced search
* Home Help Search Login Register

linear1 forums  |  LED discussion  |  LED project showcase  |  Topic: RGB Superflux Array - Room Moodlighting v1.0 « previous next »
Pages: [1] Print
Author Topic: RGB Superflux Array - Room Moodlighting v1.0  (Read 1796 times)
Rhaikh
Smart like tractor
**
Offline Offline

Posts: 38


« on: January 11, 2008, 05:50:25 PM »

Figured I'd finally do a writeup of my project.

Originally, I had planned to design my own PCB, design my own switching regulator, and do all kinds of other things.  Turns out making your own switching regulator is hard, and my patience for hand soldering is greater than my patience for learning layout software.

Hardware
The array contains 50 red, 48 green, and 48 blue LEDs of the single-chip "Superflux" / "Piranha" / "UFO" variety.
I obtained a 58V 1.5A desktop switching regulator inexpensively to power this prototype.  The schematic is basically as follows.  The 58V rail is connected to the collectors of six optoisolators, whose emitters are connected to long strings of red, green, or blue LEDs followed by an appropriate current limiting resistor.  The optoisolator LEDs are being driven by PWMed pins on an FPGA development board I had lying around, which I programmed with the appropriate cpu/ pwm / uart modules.

The FPGA pins these signals out to a standard 40-pin connector, which is ribbon cabled over to the prototype board.

Firmware
The board runs some firmware that runs a command line interface on the UART, and has a timed callback feature that I use for the software LED handler state machine.  The state machine keeps track of how many colors are being used, how long each one should be shown, and performs the step calculations for blending two colors together over time.  It can also generate random colors.

The command line interface has a command with this format:

Code:
lds solid 0x<rgb>
lds strobe <wait> [0x<rgb>]
lds blend <blend speed> <wait> [0x<rgb>]
lds randomstrobe <wait> <maximum combined color value (50-765)> <number of colors (1-255)>
lds randomblend <blend speed> <wait> <maximum combined color value (50-765)> <number of colors (1-255)>


So to blend between red and blue with a lot of steps between them and a short amount of time with each final color displayed, you type in:

Code:
lds blend 40 4 0xFF0000 0xFF

OS Software
We have a lot of computers in our house, but the two important ones for this project are an old 400MHz G4 mac that runs the webserver, and a slightly newer eMac that is our livingroom computer (hooked up to the TV for movies and such).  The eMac has a Logitech webcam on it, and a USB to Serial adapter.  It's not Keyspan brand (it's a SIIG), but I got some sample code provided by them for their product to work with the one I have.  We have to use that adapter because macs don't usually have serial ports, of course.  The serial part is connected to the FPGA, and the USB part is connected to a 16ft USB repeater so we can get it across the room.

Two programs were written in C, a client and a server.  The server program runs on the webserver computer, and it waits for modifications to a specific file.  When the file is modified, it is read and the contents are sent across a TCP socket to the client.  The client program runs on the eMac, and when it receives the information from the server, it then relays it down to the serial connection.

Website
The webcam is being hosted by www.stickam.com, which takes the bandwidth load off our connection.  We basically stream the video to stickam from the eMac, and then stickam streams it off to our viewers looking at the embedded player on our website.   

Our site:  http://www.slugmud.net/webcam/
Please note that it's not up all the time, and if its down you'll just see some random images I put up there instead of the video feed.  Also since the project is fairly hazardous electrically, even if the video feed is up it might not be plugged in if I'm not around to supervise.

Next to the embedded player, we have a php iframe that contains some javascript.  The JS lets you choose the effect you wish to program into the LED project by way of input fields, drop down menus, and a fancy color picker.  The JS menus were initially made for me by my friend David but have since been edited, and the color picker is a free little plugin thing.  Once you click "submit," the PHP takes over and writes the output string to the file I spoke of earlier, causing the whole chain to react and, eventually, change the LEDs.

Photos







-----

I called this topic v1.0 because v2.0 is in the works.  v1.0 is unnecessarily complicated/expensive with the FPGA, requires a lot of wires and plugs and things like that, has a horrendous mechanical design, and is not color balanced at all.

v2.0 will instead feature a combined microcontroller/ZigBee RF module from www.jennic.com as the brains of the fixture.  These modules are about $20, which is cost competitive in that if I used a $4 uC instead, I would still have to pay for $10 worth of cables / discrete components / $4000 of my time trying to design an RF antenna and stuff.  ZigBee is a pretty cool standard for stuff like this, it's relatively long range but with less bandwidth.

I am planning to use 12v desktop style power adapters instead of the scary 58V thing.  It seems that the 12v flavor is pretty common at over 30W outputs, for about $10-$15.  I've done a lot of research into lm/$ and lm/W for different types of LEDs, and it still seems like Superflux is the way to go.  They are also easier to manage thermally, and because of the large number of source points, easier to avoid color banding.

Color balance is going to be an important part of v2.0, if you've seen my recent posts elsewhere on the topic.

v2.0 will also feature a real PCB, since I got my friend into it Smiley
Logged
BVnursery
Smart like tractor
***
Offline Offline

Posts: 210



« Reply #1 on: January 12, 2008, 08:43:03 AM »

PCB Wizard is an effective pcb layout software package.  Very short learning curve with no need to become an EE PHD to use it.
Logged
Rhaikh
Smart like tractor
**
Offline Offline

Posts: 38


« Reply #2 on: January 12, 2008, 03:29:35 PM »

PCB Wizard is an effective pcb layout software package.  Very short learning curve with no need to become an EE PHD to use it.

Honestly, it's the tedium of the whole process that turns me off.  Some day I'll do it, but for now, I can just get my friend to do it Tongue
Logged
Pages: [1] Print 
linear1 forums  |  LED discussion  |  LED project showcase  |  Topic: RGB Superflux Array - Room Moodlighting v1.0 « previous next »
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.7 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS!
Page created in 0.253 seconds with 17 queries.