ttkoshi:
Hello all-
So I'm working on a hexapod robot with the following stats, and need help choosing a battery. I've determined that the basics are 1200mAh and 6V, but that particular combo is hard to find in rechargeable battery packs. Can I go over the voltage or amperage by a certain amount without hurting the arduino?
12x HiTec HS-422 Standard Servos
Operating voltage range: 4.8V-6.0V
Current drain: 8mA idle and 150mA/no load running
Arduino Mega
Operating voltage: 5V
So I multiplied the 150mA by 12 for the servos, coming up with the 1200mA, and 6.0V total. How far can I go over without damaging the Arduino? Sorry if this is a beginner question, but that's why I'm asking, to learn. Thanks all!
So - you expect all of your servos to have "no load while running" - on a hexapod? That won't do...
You need to find out what the current drain is on a single servo - ideally when it is stalled (or close to it) - ie, maximum load. Then use that to figure out your "worst case" (ie, all servos on, and stalled - very unlikely to occur, I know - you might be able to shoot for something 10-20 percent lower) current needs.
Regardless - even if you only did need a 6V 1.2 Ah battery - you won't get an hour of run time; there's a little thing to factor in called "de-rating" with temperature (external temperature of the environment, as well as internal temperature of the battery as it heats up from being used due to its internal resistance). To figure out this - you would need to consult the data sheet for the battery (or, more likely, the individual cells of the battery).
As far as what the Arduino can tolerate - a battery doesn't "push" current; devices "pull" current from a battery. The battery can supply only so much current before it will toast itself (so - from your hypothetical 1.2 Ah battery - you could theoretically draw 4.8 amps from it - for 15 minutes; but that would likely violate its C10 rating badly, unless you don't care what happens to the battery). Your main concern is how fast can you discharge the battery at a given current and temperature, and how long at that temperature (realizing that it will rise as you pull from it) will it run?
Now - you would want to think about the output voltage of the pack - if you are running the Arduino off the pack with the on-board regulator, it will require at least 7-7.5 volts for it to operate properly (par for the course with a 7805); otherwise you would want to use a 4.8 volt pack running directly into the +5V pin to bypass the on-board regulator (stay around 5 volts - don't push up the voltage). If using the on-board regulator, don't go beyond 12 volts (even that's pushing it, IMHO) - the 7 volt diff in voltage is dumped as heat, and the 7805 isn't very efficient, and there isn't anything like a real heat-sink attached to it...
BTW - regarding the 7.2V / 1600 mAh battery: Besides the aforementioned issue with not knowing your loaded/stalled current of your servos; the 422 runs at a max of 6.0 volts. I don't know how well they would work at 7.2V or how long they would last at that voltage (based on the unknown load) - you might want to look for 7.2 volt servos if you plan on using such a battery.