First of all, i'm sorry for my english, it's not good
As we say 'round here - good 'nuff...
Hi friends, i'm currently taking my first arduino project, it is a humanoid robot for a investigation project of the school, my problem beggin when I started to build the hardware part of these project, I need connect 8 or 10 servos in Arduino Duemilanove board, but the problem is thath this board does not have much power to conect all servos, and it need to conect a external power supply. The best solution for my robot is a 2 cells of 9 volts, but I can't get the way to conect all the servos. Have you a solution? Thanks, and keep in mind that my english is very bad, and my knowledge of electronics are worst.
Your best and easiest solution would be to use one (or two) of these boards:http://www.pololu.com/catalog/product/208
(this is the partial-kit version; they also sell a fully assembled version for slightly more)
...and the Software Serial library to communicate with it.
What these boards do is allow you to plug in the servos easily on a row of 3-pin headers, and an external power-supply (whatever you need) plugs into the board as well. You then route the 5V TTL serial lines and ground to the Arduino, and use the Software Serial library to send formatted command strings to the board, which uses those strings to position the servos as commanded. If you use two of boards, you only need one serial connection, as the boards can be daisy chained (up to 254 servos can be controlled this way, IIRC).
The board has an embedded PIC processor programmed to control the servos (just like the Arduino's servo library works) based on those command strings. Each servo is addressable.
Note that you have to use a serial interface with your custom command string implementation (there are Arduino examples to use if you look around, by the way); you cannot use the Servo library to communicate with this device. So - it is a little more complicated, but the benefit is that you can just send and set the command, and forget it; the Pololu board will hold the position of the servo for you, and you don't have to worry about servo jitter or other timer related issues that some have encountered using the Servo library and a lot of servos.
I'm not against the Servo library - it has its purpose, and if you want to use it instead of purchasing another board, that's your choice; what you'll want to do then is set up a piece of perfboard or something with those same three-pin headers for the servos, then wire the ground and power buses of the headers together and break them out to the servo power supply. The other pins would be routed to the Arduino; remember to hook the servo ground bus and the Arduino ground together as well.
As far as using two 9 volt batteries: You didn't say whether you intend to wire them in series (for 18 volts - I hope not!) or parallel (for double the current); but unless you have some super-special servos, most servos can only run on 4.8-6.0 volts (I know there are 7.2 servos out there as well; and I suspect 9.6 volt servos, but I haven't looked - if you're using the latter 9.6 volt servos, then using 9 volts for the power supply will work, I suppose).
However, if you are planning on using two PP3 9-volts (or similar) - you won't get very much run-time; you need to use something with a much greater current capacity, especially to run a humanoid robot. Servos take a lot of current to run.