9v battery power for arduino and led strip

So I've got a simple project set up with an arduino connected to an LED strip from adafruit. I have it powered with a 9v battery. I tested everything and it was working well. But I realized that if I leave the strip on for a while, it begins to go haywire. The battery is still full, but the lights seem to get dimmer, and the patterns stop and it just does a weird quick intermittent blink off and back on.

My research seems to lead me to believe that a 9v battery is not a good power source for this, but my question is why does it work fine for the first 10 minutes or so, then all of a sudden stop working correctly? Is AA or AAA my only option for this?

If it makes any difference, my wiring goes like this:
9vbattery -> rocker switch (illuminated, but intended for higher voltage so the light doesn't work) -> arduino
my arduino is wired as such:
5v -> strip 5v
gnd -> strip gnd
PWM2 -> strip DI
PWM3 -> strip CI

Is the illuminated switch the culprit? I have had issues connecting a 9v directly to my arduino so I doubt it, but just asking.

Thanks!

I don't know why but I always have issues with 9v batteries; even brand new ones. I just don't think they have enough MAH to power a decent sized circuit.

I use vex batteries... they work amazing and are a good price!

http://www.robotshop.com/productinfo.aspx?pc=RB-Inn-179&lang=en-US

Best of luck!

The documentation for the strip says to never go above 6V. Is that still relevant if I am not wiring the leads to the strip directly but rather going from the arduino's 5V pin?

How do you define 'the battery is still full'? open circuit voltage?

A 9v is rated at around 500 mAh. That means for an hour they should deliver about half an amp. The next hour, less. The next hour even less.

The voltage might still be reasonable after a heavy load is removed, but the battery might not be able to sustain the current demand of that load. So you could read 'full' in terms of voltage but 'empty' in terms of current output.

my arduino is wired as such:
5v -> strip 5v

Does your strip have a voltage regulator to convert 9 volts to 5 volts?

JohnHoward:
How do you define 'the battery is still full'? open circuit voltage?

A 9v is rated at around 500 mAh. That means for an hour they should deliver about half an amp. The next hour, less. The next hour even less.

The voltage might still be reasonable after a heavy load is removed, but the battery might not be able to sustain the current demand of that load. So you could read 'full' in terms of voltage but 'empty' in terms of current output.

You know, the scientific way... putting my tongue on the terminals.

No, I only say they are still full because when I turn it off for a while then turn it back on, it goes back to full brightness and repeats the patterns I have programmed it for. Then after a while it goes back to about 75% brightness and gets stuck on one frame of my light sequence, and randomly blinks a couple leds random colors

jackwp:

my arduino is wired as such:
5v -> strip 5v

Does your strip have a voltage regulator to convert 9 volts to 5 volts?

No I don't think so. it's this one: Digital RGB LED Weatherproof Strip - LPD8806 32 LED : ID 306 : $149.75 : Adafruit Industries, Unique & fun DIY electronics and kits
They say not to provide more than 6v or the strip will be destroyed

moracca:
No, I only say they are still full because when I turn it off for a while then turn it back on, it goes back to full brightness and repeats the patterns I have programmed it for. Then after a while it goes back to about 75% brightness and gets stuck on one frame of my light sequence, and randomly blinks a couple leds random colors

The battery is stressed, pure and simple.

why does it work fine for the first 10 minutes or so, then all of a sudden stop working correctly?

It’s getting hot, I wouldn’t wonder.

… an LED strip from adafruit.

Which one? Some of them have quite high current consumption.

Which is getting hot, the battery? Strip? Arduino?

Which one? Some of them have quite high current consumption.

this one: Digital RGB LED Weatherproof Strip - LPD8806 32 LED : ID 306 : $149.75 : Adafruit Industries, Unique & fun DIY electronics and kits

Thanks for the recommendation. I wonder what sort of battery life this would give me if I am powering the lights at almost full brightness the majority of the time?

It looks like the led strip you have, uses about 2 amps per meter. Did you get a full reel of 5 meters?
Way to much load for a small battery, and way to much to try to get from the arduino. You need a separate heavy duty power supply for the led strip, depending on how long your strip is, 2 amp to 10 amp.

Many battery chemistries are “deep” in that you can get a high output for a short time as the “surface charge” is used up, but the internal chemical conversion can only happen slowly so it falls behind and voltage/current are reduced as long as the battery is under load.

If you let the battery “rest”, the chemical conversion has time to catch up and replenish the surface charge.

This effect is most pronounced in carbon, alkaline, and lead acid chemistries.

The effect is also pronounced on batteries with many cells in series, i.e., a 9V battery with six AAAA (that’s quad-A) or prismatic cells inside of it.

So a carbon/alkaline 9V battery is the worst of all possible combinations for high current applications.

Even if the 9 volts had plenty of amps, you can’t draw that much current from the arduino onboard 5 volt regulator. If you are lucky, it’s over power circuit will make it turn off safely, and then back on when it cools. If you are not so lucky, something could fry.

I don’t think we have determined how much current the led strip is pulling, but it sounds like over an amp.

tylernt:
Many battery chemistries are "deep" in that you can get a high output for a short time as the "surface charge" is used up, but the internal chemical conversion can only happen slowly so it falls behind and voltage/current are reduced as long as the battery is under load.

If you let the battery "rest", the chemical conversion has time to catch up and replenish the surface charge.

This effect is most pronounced in carbon, alkaline, and lead acid chemistries.

The effect is also pronounced on batteries with many cells in series, i.e., a 9V battery with six AAAA (that's quad-A) or prismatic cells inside of it.

So a carbon/alkaline 9V battery is the worst of all possible combinations for high current applications.

Thanks for this concise explanation. It makes much more sense to me now.

jackwp:
It looks like the led strip you have, uses about 2 amps per meter. Did you get a full reel of 5 meters?
Way to much load for a small battery, and way to much to try to get from the arduino. You need a separate heavy duty power supply for the led strip, depending on how long your strip is, 2 amp to 10 amp.

jackwp:
Even if the 9 volts had plenty of amps, you can't draw that much current from the arduino onboard 5 volt regulator. If you are lucky, it's over power circuit will make it turn off safely, and then back on when it cools. If you are not so lucky, something could fry.

I don't think we have determined how much current the led strip is pulling, but it sounds like over an amp.

I have 1 meter of strip. Do you think a 7.4V 5000mAh Lithion Ion battery pack would be more suitable? Or am I still just unable to power this strip directly from the arduino?

One meter would be 2 amps (2000ma). You would not be able to power it from the arduino. The Onboard 5 volt regulator will not provide 2000 ma. It will provide about 500ma for an extended time under the best of conditions.
You should provide a power supply to the led strip, that has the needed amperage, connect all the ground wires together (new power supply, led strip, and arduino). Then just send the control signal from a data pin(s) on the arduino. That should work well.

interesting. I currently have mine powered by the 7.4V 5000mAh battery pack going to the arduino, and to the strip from the +5V and its been running for about 20 min so far without getting stuck like it was before. Does this risk damaging the arduino or the strip or both?

I am not clear where the power is connected. All power should have a common ground. Describe, or give a schematic, for the other side of the power. Is the led strip +5 connected to what? Where is the battery connected on the arduino?

Basicly, I am asking, is the arduino 5 volt regulator providing power to the 2 amp led strip.

yes, the strip is getting its +5V directly from the arduino 5V pin.

My battery pack is connected to the arduino's DC power input.

Then my strip is connected to the arduino on the 5V pin, GND pin, and 2 PWM pins.

That's pretty much the extent of it, I took the switch out of the equation for now as the batter pack I'm using only has a 2.1mm plug attached and I don't have a female plug at the moment which I could wire directly to the strip and the arduino.

Also, are there any recommended power sources that I can use that I don't have to worry about the battery dropping below 3V (such in li-ion and li-po? I'd like to be able to leave my project and let it run until the battery eventually dies.

So you are powering the 2 amp LED strip from the arduino onboard 5 volt regulator. I am amazed it would run that long. That is way to much current for the regulator. Don't do that. Provide the power to the led strip from another source.

As far as recommending a power source, there are so many options. You could use small batteries, large batteries, power supply that plugs into house voltage (and drops the voltage of course). If you don't have one already and have to buy it, consider, local source, order from around the world, price, etc.

But in summation, the reason the system was shutting down was probably because of to much current draw on the voltage regulator.

I don't mean to beat a dead horse here, but I was hoping someone could explain why I don't have these problems when the arduino is powered by my computer's USB port?