LED driver type application: want to control Christmas lights
|
|
Thread rating:  |
ohspamit@aol.com - 16 Sep 2006 19:42 GMT How do I? I want to use a personal computer to switch 2.5 V Christmas bulbs on and off, individually. First, let me state: I have a very crudimentary knowledge of electronics and an in-depth knowledge of computer programming (of some kinds).
I understand there are "microcontrollers" and probably other kinds of devices which are programmable. I know a computer must be capable of turning on and off hundreds or thousands of switches. I'd prefer not to break into my computer but to use an external i/o such as a USB port. But I want it to control hundreds or thousands of light bulbs, individually.
HKJ - 16 Sep 2006 20:24 GMT > How do I? I want to use a personal computer to switch 2.5 V Christmas > bulbs on and off, individually. First, let me state: I have a very [quoted text clipped - 7 lines] > But I want it to control hundreds or thousands of light bulbs, > individually. A computer might be capable of that, but it might be cheaper to use many microcontrollers, each with a few (10-50 depending on design) lamps and then link them together on a bus (RS485) that is controlled from a PC.
Then the PC can send commands to each controller or to groups of controllers. Storing preprogrammet patterens in the controllers it is possible to make coordinatet effects on 1000's of lamps.
ohspamit@aol.com - 16 Sep 2006 23:28 GMT > A computer might be capable of that, but it might be cheaper to use many > microcontrollers, each with a few (10-50 depending on design) lamps and [quoted text clipped - 3 lines] > controllers. Storing preprogrammet patterens in the controllers it is > possible to make coordinatet effects on 1000's of lamps. Thanks for your response. I see I might have to build a stack or hierarchy of controllers. But first I'm going to have to learn what controllers I can use and how to link them to my PC. I have a minimal knowledge of electricity/electronics; however many times I have to review the basics (components, E=IR, voltage drop across one component is the determiner of what's happening in the rest of the circuit, etc.), which I have to do every time I start thinking seriously about an electronics project, I still need to do it each time. I think I'll look into tutorials on microcontrollers and any similar devices.
Right now, I'm guessing that each bulb has to be controlled by a transistor and its supporting components (one or more resistors, etc.) I guess this transistor has to handle 2.5 volts, as to the circuit it turns on and off, and be operable on whatever voltage/amperage matches some kind of connection into some kind of pin on a microcontroller or other chip-based device. So I might have to build a little circuit for each bulb, plus hook each bulb-circuit into a controller. Is that a good theory, so far? Yes, I have to do more research/ask more questions!
HKJ - 17 Sep 2006 06:58 GMT > Right now, I'm guessing that each bulb has to be controlled by a > transistor and its supporting components (one or more resistors, etc.) If your are using LED's and a microcontroller like Atmel ATmega48, your can have maybe 15 LED's connected with only a resitor for each. The microcontroller will also need a RS485 interface and a xtal. This is a very simple schematic.
Here is a schematic for one I did som years ago: http://hjem.get2net.dk/hkj/Flasher.png And some photos: http://hjem.get2net.dk/hkj/FlasherComponent.png http://hjem.get2net.dk/hkj/FlasherLed.png The microcontroller I used is obsolente today and the interface is not made for linking many units together.
Remark: If your want to place all the lamps very close together, some sort of matrix is a better way to do it.
For helping with ohms law and other electronic calculations, your might try this program: http://www.miscel.dk/MiscEl/miscel.html
Homer J Simpson - 16 Sep 2006 21:07 GMT > But I want it to control hundreds or thousands of light bulbs, > individually. Holy crap! That's a hell of a wiring job. Why?
ohspamit@aol.com - 16 Sep 2006 23:12 GMT .
> Holy crap! That's a hell of a wiring job. Why? I know; I have to wire each lightbulb with its own circuit. But I want to do it to create marvelous effects!
Homer J Simpson - 16 Sep 2006 23:47 GMT >> Holy crap! That's a hell of a wiring job. Why? > > I know; I have to wire each lightbulb with its own circuit. But I want > to do it to create marvelous effects! Design back from the array and find a way to address the leds with minimum circuitry. In a square array of 10,000 say, you only need 100 * 100 wires if you switch both anodes and cathodes.
John Fields - 17 Sep 2006 14:09 GMT >>> Holy crap! That's a hell of a wiring job. Why? >> [quoted text clipped - 4 lines] >circuitry. In a square array of 10,000 say, you only need 100 * 100 wires if >you switch both anodes and cathodes. --- The problem with that method is that while any single pixel is addressable (with the inconvenience of 10,000:1 multiplexing) multiple pixels are not, without interference, depending on the pattern.
Consider, for instance, a simple 4X4 array with rows A,B,C,D and columns 1,2,3,4.
The upper right hand corner will contain LEDs A3,A4,B3, and B4, and if you try to turn on A3 and B4 simultaneously, you'll also wind up turning on A4 and B3.
 Signature John Fields Professional Circuit Designer
Homer J Simpson - 17 Sep 2006 17:14 GMT > The problem with that method is that while any single pixel is > addressable (with the inconvenience of 10,000:1 multiplexing) [quoted text clipped - 7 lines] > if you try to turn on A3 and B4 simultaneously, you'll also wind up > turning on A4 and B3. That's where the fun comes in! Obviously you'll need to do some strobing anyway. However any project that requires that much wiring is going to be a PITA unless you carefully think it through.
ehsjr - 17 Sep 2006 07:36 GMT > How do I? I want to use a personal computer to switch 2.5 V Christmas > bulbs on and off, individually. First, let me state: I have a very [quoted text clipped - 7 lines] > But I want it to control hundreds or thousands of light bulbs, > individually. Are you talking about incandescant bulbs? Your power supply requirements will get real ugly, in a hurry. What is the current required to light one of these bulbs? Multiply that by the number of bulbs you intend to control. Ignoring inrush current (when the filament is cold the bulb will draw many times the current it draws when hot), your supply will need to be capable of delivering at least that much current.
Ed
James Thompson - 17 Sep 2006 18:29 GMT > How do I? I want to use a personal computer to switch 2.5 V Christmas > bulbs on and off, individually. First, let me state: I have a very [quoted text clipped - 7 lines] > But I want it to control hundreds or thousands of light bulbs, > individually. I think what you are wanting to do is treat the bulbs as a big memory matrix, and in that you may look into a static memory controller. The bulbs will be the bits in the array. Each bulb will need a set/reset flip flop to light it or turn it off. Then you will just need to send the pattern from you pc to the crude latch board to set what lights are on and then send the next pattern to load it. Research into older static memory controllers. You may have a big project on you hands. my 2c worth. JTT
petrus bitbyter - 17 Sep 2006 23:34 GMT > How do I? I want to use a personal computer to switch 2.5 V Christmas > bulbs on and off, individually. First, let me state: I have a very [quoted text clipped - 7 lines] > But I want it to control hundreds or thousands of light bulbs, > individually. First, did you realize some numbers: A thousend LEDs using 20mA each (a common current for LEDs) require 20A of current and at 2.5V they will produce 50W of heat? You can of course lower the current or use some kind of matrix control (multiplexing) but at the cost of the amount of light. Most LEDs function well enough with less then 20mA. As an alternative you may look at low power LEDs.
To address 1024 LEDs you require 128 pieces of 8 bits registers. One approach is using shiftregisters. The MC74HC595 for instance can do the job. As it can provide enough current, you need only one resistor/LED. So you will have 128 registers in series, shift in the 1024 bits and active the latchclock pins to store the bits. You can use for pins of the parallel output port to control data-in, shiftclock, latchclock and reset. You will have to buffer the clocks and the reset as one output will not easily drive 128 inputs. Drawback: To change one LED you have to reload all the others as well. You also may consider to make two strings of 64 shiftregisters and control them simultaneously with the 8 bits output pins of the parallel port.
To address the LEDS immediately you can use 128 pieces of 74HCT374. Also able to provide enough current to the LEDs. But you will need an address register and a 1 out of 128 address decoder (plus some gating) to access them.
To avoid the huge amount of hardware, you can go multiplexing. This requires microcontrollers otherwise the amount of standard logic required will become enormous. As an example, a PIC16F628 can control up to 40 LEDs and can be controlled by a serial interface using the on board UART. Drawbacks: You will need some buffering for the rows (or columns) that have to sink the current of eight LEDS and you loose brightness due to the relative short time the LEDs are powered. A great deal of the software can be left to the micro but you'll have to write it. You can build - let's say - 32 LEDs units around the micro and make a protocol to controll them. Each unit will need it's own address which can be stored in EEPROM.
petrus bitbyter
jasen - 20 Sep 2006 09:58 GMT >> How do I? I want to use a personal computer to switch 2.5 V Christmas >> bulbs on and off, individually. First, let me state: I have a very >> crudimentary knowledge of electronics and an in-depth knowledge of >> computer programming (of some kinds).
> To avoid the huge amount of hardware, you can go multiplexing. This requires > microcontrollers otherwise the amount of standard logic required will become [quoted text clipped - 6 lines] > around the micro and make a protocol to controll them. Each unit will need > it's own address which can be stored in EEPROM. with incandescent lamps a short power duration isn't a problem, just up the voltage until they see the correct RMS.
I reckon I can address 1024 2.5V 1/4W lamps with a microcontroller (with 36 io pins) and more tha 1024 bits of ram) three 12-way serial-in parallel out shift registers, a bunch of transistors (probably fewer than 100) a 300W 24V power supply and a big bag of rectifier diodes (1024).
I'd push a single high bit across the shift registers to select a column and then drive the apropriate rows with 32 other directly connected IO pins. (they'd all need buffering for the lamps, especially the columns)
a ULN2003 would be strong enough to drive the rows and to drive the base of the PNP power transistors to drive the columns, 9 uln2003s gets you 63 outputs so the last output may be best done using discretes.
Bye. Jasen
Si Ballenger - 18 Sep 2006 02:32 GMT >How do I? I want to use a personal computer to switch 2.5 V Christmas >bulbs on and off, individually. First, let me state: I have a very [quoted text clipped - 7 lines] >But I want it to control hundreds or thousands of light bulbs, >individually. The below link is for a DIY setup to control 320 strings of christmas lights from the parallel port.
http://computerchristmas.com/index.phtml?link=how_to&HowToId=4
ohspamit@aol.com - 19 Sep 2006 00:02 GMT > http://computerchristmas.com/index.phtml?link=how_to&HowToId=4 Actually, I wanted to post this response at the top level for this topic, not as an indented reply, here. I can't see how to do that using Google groups, yet. Each reply seems to have to be indented below someone else's. ANYWAY:
I am only beginning to digest the respones, so far. I certainly appreciate all the input! I have to allocate my time carefully and at the moment am only managing this reply, which is very general...
As to concerns about all the current drawn and the heat...well, normal strings of Christmas lights, with hundreds of bulbs, work fine on household current and produce an acceptable level of heat. But modifying all the wiring for what I want to do could raise new concerns about amperage and heat, I suppose.
I appreciate all the input about various controllers, flip-flops, etc., including suggestions that some older devices may be most suitable. And I appreciate links to educational sites and sites with existing cicuitry that is similar. Especially, Si Ballenger 's link to the "Computer Christmas" site with the system using parallel ports looks awfully close to what I'm trying to do.
Thanks, all, and I have lots of digesting to do!
Homer J Simpson - 19 Sep 2006 01:26 GMT > As to concerns about all the current drawn and the heat...well, normal > strings of Christmas lights, with hundreds of bulbs, work fine on > household current and produce an acceptable level of heat. But > modifying all the wiring for what I want to do could raise new concerns > about amperage and heat, I suppose. Didn't the guy who did that display last year post info on how to do it? Looks like it's gone now.
http://www.wonderlandchristmas.com/wizardsofwinter.php
http://www.snopes.com/photos/arts/xmaslights.asp
ehsjr - 19 Sep 2006 03:09 GMT >>http://computerchristmas.com/index.phtml?link=how_to&HowToId=4 > [quoted text clipped - 12 lines] > modifying all the wiring for what I want to do could raise new concerns > about amperage and heat, I suppose. Don't suppose. It is a *painful* fact. If you insist on using thousands of individually controlled Christmas light *bulbs*, you may find that you need 100 or 200 mA per bulb, and your supply will need to be 200 to 400 amps *mimimum*, to operate 2000 bulbs. A string of bulbs in series needs a whole bunch less current than the same number of bulbs, individually controlled. For example, 50 bulbs in series in a Christmas bulb string will need the same amount of current as one of those bulbs, individually. If you intend to control 50 of them individually, you will need a power supply that provides 50 times the current that the whole string uses.
Ed
Bill Bowden - 19 Sep 2006 06:22 GMT > How do I? I want to use a personal computer to switch 2.5 V Christmas > bulbs on and off, individually. First, let me state: I have a very [quoted text clipped - 7 lines] > But I want it to control hundreds or thousands of light bulbs, > individually. Well, you may have a problem with thousands of Xmas lights since each on requires about 150mA of current, so you need about 150 amps for 1000 lights all on at the same time.
I have a scaled down version I use at Christmas that controls 32 lights from the serial port, but you can expand it by adding additional 74HC164 shift registers. The drawings showing the basic hookup for 16 lights is at:
http://ourworld.compuserve.com/homepages/Bill_Bowden/page3.htm#spr
-Bill
jasen - 19 Sep 2006 12:04 GMT > How do I? I want to use a personal computer to switch 2.5 V Christmas > bulbs on and off, individually. First, let me state: I have a very [quoted text clipped - 7 lines] > But I want it to control hundreds or thousands of light bulbs, > individually. microcontrollers are probably the simplest solution
if the string is 10W for the string that'd be about 90mA (assuming 110V) to light the lamps, so you'd need transistors (or something more expensive) in there to switch the lamps as regular logic chips won't do it.
one way to handle the large number would be to drive them may be to matrix them using diodes and drive power them from a 12V supply (the bulbs will see actually closer to 10.5V after the diode and transistors drops are included) at that voltage they'll burn 17.6 times as energy so you drive them for 1/17.6 the duration...
meaning you can do 17 columns and n (for 17 times n lamps) rows and control them all with 17+n wires which could make the wiring simpler. the current will be in the ballpark of 1A so 1N4000 diodes would suit. a microcontroller with n+6 pins and a couple of other cheap chips (shift registers or johnson counters) to scan the columns and a bunch of transistors 17 big ones for columns and n smaller ones for the rows
and as many 1N4000 diodes as lamps (should cost less than $5us for 100 retail) (you can use 1N4001 1N4002 etc instead - anything rated for atleast 12V 1A)
Bye. Jasen
ohspamit@aol.com - 22 Sep 2006 21:49 GMT > microcontrollers are probably the simplest solution > [quoted text clipped - 23 lines] > Bye. > Jasen I am still in the early stages of digesting all this info, in all of these replies.
> light the lamps, so you'd need transistors (or something more expensive) Something more "expensive" than transistors? Such as?
Microcontrollers appear to be very useful. I did go over the tutorial on the PIC on Bill Bowden's site. I am familiar with assembly language programming (mainly on IBM mainframes), so I get the idea. But here's a more general question, since my electronics, in general, is rudimentary, at best:
Does anyone know of EDUCATIONAL KITS that teach BASIC electronics, while, as quickly as possible, leading up to circuits with microcontrollers, and including the programming of the microcontrollers? That could get me some hands on experience in this, and maybe I would even end up using networks of the SAME microcontroller that's in the kit.
jasen - 29 Sep 2006 12:34 GMT sorry for the delay my news provider fell over and dropped this one.
22 Sep 2006 13:49:59 -0700 <ohspa...@aol.com> wrote
>I am still in the early stages of digesting all this info, in all of >these replies. > >> light the lamps, so you'd need transistors (or something more expensive) > >Something more "expensive" than transistors? Such as? Relays, X-10 modules....
>Microcontrollers appear to be very useful. I did go over the tutorial >on the PIC on Bill Bowden's site. I am familiar with assembly language [quoted text clipped - 6 lines] >microcontrollers, and including the programming of the >microcontrollers? There are kits out there, most most kits seem to teach little more than how to follow schematics; Which while an important fundametal skill, is perhaps not the one you want to focus on.
If you want to learn microcontoroller interfacing some good resources are hobby robotics web-sites (the one's with hardware photos usually have better content), and also hobby robotics books.
The component manufacturers data sheets and application notes typically have very good information, but it is written for a higher-skilled target audience.
>that could get me some hands on experience in this, and maybe I would even >end up using networks of the SAME microcontroller that's in the kit. Networks! that'll test your programming skills.
Bye. Jasen
|
|
|