aruino power help for engineering project

Hi! I am attempting to use the arduino to power a continuous rotation servo and a micro-servo as well as a single LED. Right now I have both servos and the LED connected to the arduino 5V pins and ground, and am routing all power through the arduino micro. I am using a lithium 9v battery.

The issue almost always occurs when the second servo (not continuous rotation) is commanded to move. Up to that point everything runs fine, however, when the servo is supposed to move, the code appears to stop and the built in arduino LED begins to pulse (I am assuming signaling it is resetting itself). The arduino then begins back at the beginning of the code and continuously repeats this process.

Is the system underpowered? How can I fix this?

I appreciate the help!

You should never really power a servo- or for that matter anything other than a few LEDs- from the Arduino. Control them from the Arduino of course, but you need to give them their own power.

Attached schematic shows how.... note the common ground connection.

Welcome to ArduinoVille....

edit: in your case you'll need to find a way of getting your 9V down to 5-6V for the servos though. And you can also power the Arduino from the 9V as you already do: it's just that you mustn't consider your Arduino as a power supply.

servo power.png

I kind of figured that may be the case. I was hoping I could get this to work just so I didn't have to worry about scaling my voltage, and because there is a VERY small space constraint (The entire device has to fit in a 2.25" tube). I can probably compensate for an additional battery by extending the length of the chassis though. How would I go about down scaling the voltage?

Considering my servos are not constantly running, the draw on the battery is going to change constantly. I am assuming that this means I can't simply add a resistor in series with the servos? I measured the draw of the servos while running the sequence by connecting it to the usb power supply (in which case powering servos through the arduino gave me no problems) and found that at its max, the servos draw slightly less than 400ma, but at times draw as little as 100ma. How should I convert this to work?

You might consider using a UBEC to do the voltage conversion.