I need to control about 40 different individual incandescent bulbs (5-6V, 2.5ohm ea) from an Arduino. Everything I find is designed for LEDs, however. I'm thinking I might be able to hook them all manually to a MAX7219 if I also put a diode on each of them(?) but I really don't want to do that if I don't have to. The shift registers I've found can't handle anywhere close to the current needed for each light. Are there any chips or something would help here?
Incandescent lamps have a property that makes that difficult, an Incandescent lamps 'Cold' resistance is a small fraction of it's 'Hot' resistance. In other words the start-up current is much higher than it's operating current. This must be a part of the criteria for selection of a suitable driver transistor or transistor driver.
Bob
MOSFETs come to mind. Are these bulbs powered by AC or DC?
Do incandescents even multiplex? Even if they do, multiplexing them will probably make them very dim. Do an experiment before going any further.
At the end of the day you might be better replacing them with LEDs. 10 or 12mm LEDs make good replacements for little light bulbs.
Do you need to control individual lights?
Do incandescents even multiplex?
Yes they do. The thermal time constant makes them even easier to use than LEDs.
However you need to know the current these bulbs take when they are on. As stated before you can't tell that from the resistance, you need to measure it or get it from the markings. These are normally printed on the metal part of the bulb.
Typically they will take 330mA so compared to an LED it is very large. You will not find many ICs that can cope with that so the best bet is a transistor or FET on each bulb. Also having 40 bulbs needs just over 13 Amps, that is a lot of current and will need a very hefty power supply. This makes the project more complex than you might think.
The lamps GE44s, so 250mA accoriding to the internet. My power supply can handle 35A, so that's not a problem. However getting a transistor for each bulb, hooking them all up, etc is more than I was hoping to do. I may just give up and buy a whole bunch of LEDs instead ![]()
zacaj:
The lamps GE44s, so 250mA accoriding to the internet. My power supply can handle 35A, so that's not a problem. However getting a transistor for each bulb, hooking them all up, etc is more than I was hoping to do. I may just give up and buy a whole bunch of LEDs instead
Well driving a whole lot of leds directly from arduino pins tends to run up against the maximum total current that a AVR chip can handle so your back to using individual transistors or driver ICs. If you have a mega board and you limit current each led via series resistor to say 10ma or so you could drive 40 from a mega board OK.
Lefty
I do have a Mega, however most of the pins are already in use, so I'd need to do it through shift registers. Only 30 (max, usually less than that) can be on at one time, which comes out to 600mA. I haven't been able to find any concrete info on exactly what the 5V pin can put out, besides that on USB it's only 500mA (I won't be using USB though). I'm thinking of using this shift register: http://www.digikey.com/scripts/DkSearch/dksus.dll?WT.z_header=search_go&lang=en&keywords=TPIC6C596N&x=-1451&y=-51&cur=USD (data sheet: http://www.ti.com/lit/ds/symlink/tpic6c596.pdf ) which is open drain, 100mA continuous per drain. If I understand that correctly, I should be able to power the shift registers from the arduino, but use a separate, external DC hookup at the right voltage for the LEDs, as long as the external DC and the arduino use the same ground? If I found an open drain shift register that could handle 300mA continuously, could I just use that with the incandescent bulbs?
zacaj:
I do have a Mega, however most of the pins are already in use, so I'd need to do it through shift registers. Only 30 (max, usually less than that) can be on at one time, which comes out to 600mA. I haven't been able to find any concrete info on exactly what the 5V pin can put out, besides that on USB it's only 500mA (I won't be using USB though). I'm thinking of using this shift register: TPIC6C596N Texas Instruments | Integrated Circuits (ICs) | DigiKey (data sheet: http://www.ti.com/lit/ds/symlink/tpic6c596.pdf ) which is open drain, 100mA continuous per drain. If I understand that correctly, I should be able to power the shift registers from the arduino, but use a separate, external DC hookup at the right voltage for the LEDs, as long as the external DC and the arduino use the same ground? If I found an open drain shift register that could handle 300mA continuously, could I just use that with the incandescent bulbs?
That should work, just remember that when using leds you must have a series resistor between each shift register output pin and it's led then on to the positive voltage source. Resistor sized to maintain the desired current flow for the led being used.
Lefty
If I found an open drain shift register that could handle 300mA continuously, could I just use that with the incandescent bulbs?
You could but be aware that there will be a whole chip limit as well as an individual pin limit.
For example the TPIC6B595, which is the highest capacity shift register I know, has 150mA per pin but a total current of 500mA.
My power supply can handle 35A, so that's not a problem.
Yes but switching that much current is going to cause disturbances in the rest of the circuits so it needs good layout and strong decoupling.
Grumpy_Mike:
If I found an open drain shift register that could handle 300mA continuously, could I just use that with the incandescent bulbs?
You could but be aware that there will be a whole chip limit as well as an individual pin limit.
For example the TPIC6B595, which is the highest capacity shift register I know, has 150mA per pin but a total current of 500mA.
That's too bad.
That's too bad.
Yes but I don't know all the ICs out there you know. ![]()