Large always-on LED array -- Overdraws power supply??

Greetings everyone. Have some experience with electronics and coding, but I think my question may be answerable by some clarifications pertaining to the total capabilities of an arduino.

The circuit:
Using the arduino Duemilanove. Wiring up to it 80 LED's in parallel. The array is 8x10, but they are always on; I am not attempting to make them addressable. (The arduino exists to operate some associated logic; I would like to use it to power the entire project if possible).

Specs declares LED maximum forward current of 100 mA. I decided to hit 40 mA to get good brightness and within tolerance. With the 5V supply on the arduino, 220 Ohm resistors would draw a total of ~41mA / LED, for a total of 3.3 Amp. Each LED is wired to its own resistor.

Problem description: I tracked the supply voltage of the arduino (it is being powered at this time via the computer USB connection). As I individually connected each of the 8 rows of 10 (row by row), the total voltage supplied by the arduino dropped. I expected this to a small degree, but unfortunately, once I had wired my 6 or 7th row, the voltage supplied by the arduino dropped below about 3V, and the arduino shut off (my computer made the 'disconnect' sound it plays when a USB connected device is removed). The LEDs stayed on, but the arduino no longer operates and cannot power other chips.

After this! I tried using a 6V wall-wart. Same issues, except odder circumstances; once the 10 rows were connected, I somehow acheived a sinusoidal supply voltage with about a 1.5 Vpk-pk centered on maybe 3 V.

My thoughts:

  1. The LEDs are hotglued into pegboard holes to regularly space them. Perhaps there is a slow short, BUT seeking these out would be VERY cumbersome, so I am hoping someone could tell me if...

  2. The total attempted current draw is 'overdrawing' the power supply. I am not sure if the arduino uses a regulated/unregulated power supply, or what the maximum current draw is. Naturally, if the arduino can only supply a "certain amount" of current before its power supply ratings are exceeded... well, perhaps this is my problem.

I tried a few searches for "arduino current limits" and similar phrases. I actually had a hard time finding solutions. If someone has an idea what might be going on, I would definitely appreciate the input!

Ideally, I hope someone might be able to answer my problem before I tear apart my entire project to debug it!

Thanks guys,
J

The USB port is only good for 500mA.

The 5V regulator on the arduino is only rated for 800mA, if properly heatsinked - if not it will go into thermal shutdown.

You're not gonna get there needing 3.3A.

Get yourself a real supply. This one works great, I have it in a couple of my projects.
http://www.mpja.com/prodinfo.asp?number=18520+PS

You should have wired up your LEDs smarter - say strings of 5 running from 12V, each string sharing the same current.
Typical LEDs are happy at 20mA, above that they start burning out and will not have long life.
Do you have a spec on yours? 100mA sounds like a pulse current mode, like for 10mS or something. You have to watch out for them overheating also.

Great replies guys; this is exactly the info I am looking for. I am aware that the arduino can power low power IC's and a good number of LEDs, but never quite knew its limitations.

The LEDs Im using are infrared: http://www.vishay.com/docs/81303/tshf5410.pdf
The max forward current was declared 100 mA, and many of the other specs were rated at it. Was aware of the 20mA "happy zone", but decided to bump it up a little higher to have a good dominant peak wavelength (I selected a 'detector' photodiode whose current peaks at the same wavelength).

Also, thank you for the power supply links; these will be invaluable.

Inspecting the datasheet more closely, they do mention switched mode applications, and the rating is actually at a pulsed time.

I will drop the voltage when I re-do the supply.

Figure 4 and the table on page 2 shows that Vforward is ~1.4V typically.
With 5V supply, 220ohm resistor, that will be
(5V-1.4V)/220ohm = 16.3mA of current per LED.
1.3A total current for 80, if you have them all wired up already.

You may have lucked out not destroying them by overheating. The 100mA is for 20mS pulses:
Forward voltage: IF = 100 mA, tp = 20 ms

Thanks for pointing out the voltage drop... completely missed that.

I suppose it's a good thing I decided not to run these at my perceived "rated" current, then. In that case, sticking with my current arrangement, I could conceivably power the LEDs with the power supply you linked (good price, too!), and draw a lead from the +5V to the arduino to supply the power for the project.

Is it that easy, or am I overlooking something simple for practical integration of this power supply?

Rather than look for a 5v 1.6A power supply (assuming 20mA per LED), I suggest connecting chains of several LEDs in series and using a higher voltage supply. If the forward voltage is 1.4v you could connect 5 in series (total 7v), then for 20mA current a 270 ohm series resistor brings that up to just over 12v. Repeat 16 times to get 80 leds. Total power required 12v @ 320mA. Or use 10 chains of 8 LEDs each and a 15v supply.

dc42, I think he's already got them wired up tho.