The Robot Group   Led Saber UserPreferences
 
Help Search Diffs Info Edit Print View
 MoinMoin Wiki   FrontPage   RecentChanges   TitleIndex   WordIndex   Help 

"LEDSaber" is a lighting display I created from scratch. It was conceived several years ago but remained an idea waiting for affordable LEDs (Light Emitting Diodes). In the later half of 2005 one of the Robot Group members came across an affordable Chinese vender and we placed an order for LEDs at 13 to 27 cent each (vs common internet vendors that can charge $2-3 per LED for some of the colors. Thus the design began. I decided to build the LED display inside a plastic tube

Hardware: 2 inch diameter X 3 foot plastic tube translucent enough to light up well with LEDs (disposable HP Plotter paper roll), standard and custom PVC pipe, buttons from DVD remote control, plexiglas strips to mount the boards on. Supply: 7805 Voltage regulator for 5V supply up to 1.5amp which can be powered by an AA pack or 9volt LED: 256 LEDs (64 each of Red, Green, Blue, Ultraviolet) powered at around 10mA each. Typically not all LEDs are on at once. This enabled the first demo of device to run for 4 hours from 4AA batteries. Main Controller: Microchip PIC16F877 - 40pin DIP 20Mhz clock, 8K program flash, 368bytes ram LED drivers: 32 SOIC chips # 74HC595 Assembly: All components except main controller are on custom surface mount boards. Cost: $75 LEDs $80 Circuit boards/chemicals $30 Developing/Etching tools $40 Electronic components

$25 PVC and plexiglas $00 Tube found by a plotter $00 Tools already had Grinder, saw, drill, wire, switches, NOPPP PIC programmer

How it works: The PIC has a timer that runs an interrupt service routine every 1.6ms for timekeeping. The keypad is debounced at 20ms presses. After a security code is entered on the keypad the main routine takes over and allows the user to select a pattern to perform. The pattern will 'Init' the first time any setup it needs to do and from then on will be entered in its 'Step' method. The step will call video methods such as ClearAll() to turn off all pixels; SetXY(x,y,color) to control an individual pixel; and MoveYUp() to scroll all the pixels up. Each pattern can control its speed by setting a PatternSpeed variable from 1 to 255 which equates to 1.6msec to 0.4178sec. It should handle the Speed and color button commands and perform all state changes and video changes hopefully within that time interval and then call Refresh() which will wait the remainder of the time and then using 2 clocked serial lines, drive all the data down the chain of 74HC595 chips and then strobe the latch pin on each chip (pic has 25ma outputs that can fan-out to many HC chips clock and latch inputs). Upon latch all LEDs are updated instantly, the timer is reset and the main loop is activated again.

Construction: A surface mount board was designed in free EagleCad board layout such that it would fit in the 2 inch tube and they are made to fit end to end so that traces overlap and connect together on one board or jumper easily to the next board with +5v, gnd, data, clock, and latch connectors.

In the mean time a test circuit was produced on solderless breadboard with DIP IC's equivalent to the SIOC ones and a test application for the PIC controller would light each LED in turn.

The layout was exported to TIFF image and mirrored and linked into 12 circuits printed onto transparency. The photoetch process was used with pre-sensitized boards and a 10 minute exposure under a UV lamp at 6 inches, the lamp occasionally moved for even exposure. Cool water was used with developer to develop the resist template under red LED light and low light (trial and error killed a few boards). The boards were then etched with Ferric-Chloride for 10-30 minutes and then cut with a crummy sabersaw and cleaned up on a grinder. The clear LEDs were frosted on the grinder, bent and cut for surface mounting. Parts were mounted with small pieces clear tape and soldered. Solder braid enabled me to remove excess solder from the SOIC leads for good connections even with a blunt $5 solder iron. Each segment after construction was tested under resistored power for shorts and breaks, 4 of 32 needed careful examination to find failure, none were fried.

In the mean time, the software was developed and the patterns could be studied in hexadecimal readout in the MPLAB free PIC compiler/debugger. Like in the Matrix I tell you!

The PIC IC socket was mounted on a strip of pre-punched perf-board with oscillator and connectors cut from an IDE cable. Then everything went into the tube.

A professional machinist, Rick, made a fitting so the 2inch light tube would fit snugly into the PVC base piece.

Total time: 00hrs to conceptualize (in my sleep, the shower, bank line, etc?) 50hrs to learn EagleCad and design board 40hrs = 5hrs per board (8 boards) to etch, cut, mount components, solder, test 10hrs to mount the boards onto a plexiglas strip and interconnect 10hrs to create a control panel with buttons and a PVC stand 90hrs to date software development

To-Do: Add audio input for patterns to react to sound/music Add a serial port for computer control Invent lots of cool patterns Sturdy the innards to the plastic pipe.

Go back to GrayMack page


PythonPowered EditText of this page (last modified 2006-11-10 11:15:12)
FindPage by browsing, searching, or an index
Or try one of these actions: LikePages, LocalSiteMap, SpellCheck