Hello,
I have an arduino mega and a sensor shield V4 which has lots of digital i/o pins nicely set up to run servos. I can easily get a hobby servo to run using a USB connection for power, but need to have many more hobby servos (10 in total) driven by this arduino. My question is how I should power all these servos? Should I try to power them all through the shield with a 10C 7.4V 850mAH lipo battery and just solder a jst connector to the arduino? If my math is correct I should be able to draw 8.5 amps from this battery. The servos will not all be running at peak loads at the same time. I have a couple of these batteries laying around, so I could wire them in parallel and increase the capacitance.
Would it be better to output the PWM signals from the arduino through optocouplers (I have a bunch of 4N25s...I would use an NPN transistor to correct the inverted signal) to a higher voltage circuit?
Thank you very much in advance for any help you may give me.
I ran 5 servos for an arm off a duemilanove pulling the signals directly from the arduino and powering them all from the 5V power on the board (plugged into my laptop) without issue.
While this isn't a good/safe set up it does seem to work fine. Since it sounds like you're just getting started, you can certainly use optocouplers to protect your mega I/O pins, as far as power goes why not just use a switching power supply with enough current? If you want it to be mobile then use your battery as you had planned, just make sure whatever your power source is that you don't exceed the ~6V maximum for your servos (unless you have higher rated ones?)
I know you can usually run them up into the 7.2V range but they typically aren't rated for that high of a voltage and may have reduced life expectancy. . . YMMV
Depending on how long you're planning on running you definitely don't need to wire your batteries in parallel, but do keep in mind that your 8.5A rating is 10*0.850A and that's an instantaneous rating, not a continuous rating. You'll only be able to pull 0.850A for an hour out of the pack, not 8.5A or that would be one crazy large battery.
A lot depends on the specific servos you obtain and the amount of mechanical load attached to the servos. Many users have no problem running one servo from the Arduino's +5vdc, but many have problems when trying to power more then one. As servos have motors in them and their current requirments vary with model and load it is really best to power them with an external regulated +5vdc power source. If using a external 7.5vdc battery then it would have to be wired to a additional +5vdc regulator before wiring it to the servo(s) power pin and should be rated for at least 5 amps for powering 10 servos. Be sure your external power source ground is wired to the Arduino's ground pin by wiring it to a ground point on the shield.
If you are using an external shield to attach many servos, like 10, then you should somehow disconnect the +5vdc pin from the Arduino (possibly by just removing the +5vdc pin from the shield that plug into the Arduino power connector. You can then solder +5vdc and ground wires from your external power source directly to your shield pins or traces somehow.
Lefty