Go Down

Topic: Arduino to hold 15 servos (Read 1 time) previous topic - next topic

n0talentGEEK

Hello,

I need a guidance, I have project to making animatronic head.
It needs at least 10 servos and can be more.

I have considering some ways below:
http://iprototype.nl/products/arduino/boards/mega2560 Arduino Mega
http://www.pieterfloris.nl/shop/product.php?id_product=342 Mux Shield
http://www.renbotics.com/products/servoshield.php Servo Shield
http://itp.nyu.edu/physcomp/Tutorials/Multiplexer Multiplexer

But still I don't know yet about the power issue within above component.

What I want to ask you is the reliable way to control a lot of servos in one Arduino (will be obviously less than 15 but more than 10).  :)

DuaneB

Hi,
Power is your only problem there, a single Arduino UNO is good to control 12 servos with no additional components, but i cannot power even one servo - the same applies for all micro controller, they can generate the control signals just fine, but you will need a separate power source for the banks of servos.

You might get some ideas by searching around my blog for the term 'servo' there are quite a few posts on the servo library and also on servo problems which covers the power side.

Duane B

rcarduino.blogspot.com

MichaelMeissner

#2
Aug 09, 2012, 01:39 pm Last Edit: Aug 09, 2012, 01:54 pm by MichaelMeissner Reason: 1

Hello,

I need a guidance, I have project to making animatronic head.
It needs at least 10 servos and can be more.

I have considering some ways below:
http://iprototype.nl/products/arduino/boards/mega2560 Arduino MegaThis was posted some time ago, and it shows how to wire up external servos: http://rcarduino.blogspot.com/2012/04/servo-problems-with-arduino-part-1.html


The Mega should be able to control 15 servos (the UNO can only control 12).  However, in addition to the Mega, I would suggest getting a Mega Sensor shield, such as http://arduino-direct.com/sunshop/index.php?l=product_detail&p=195.  This shield sits on top of the Mega, and it provides 3 pin headers for each port which matches the servo's 3 pin connector.

In addition, the shield has a power terminal to power all of the servos.  Otherwise, you need to take care of doing the wiring, connecting all 15 ground wires to the common ground, connecting at 15 power wires to the servo power supply, connecting each individual signal to the appropriate mega port, and connecting the grounds of the two power supplies.

Quote

http://www.pieterfloris.nl/shop/product.php?id_product=342 Mux Shield
http://itp.nyu.edu/physcomp/Tutorials/Multiplexer Multiplexer


If you go with either of these multiplexors, I would verify that the Servo library actually supports it.  I would suspect the Servo library can only deal with the normal pins, and can't deal with extended pins (which you probably have to access using a library they supply).

Quote

http://www.renbotics.com/products/servoshield.php Servo Shield


This should work.  It too provides a separate power port for the servos, and presumably connects the grounds.  Note you will need to assemble it, so make sure your soldering skills are up to date.  I did notice that right now they don't have any in stock.

Quote

But still I don't know yet about the power issue within above component.

What I want to ask you is the reliable way to control a lot of servos in one Arduino (will be obviously less than 15 but more than 10).  :)

See the tutorial that I quoted at the beginning.  If you go with one of the two shields, you need to simply plug in your secondary power source to the two terminals with the correct polarity.

cr0sh

Another possibility would be to use one or more "serial servo controllers", such as Pololu sells.

This would enable you to use a regular Arduino, only a few digital pins (enough for the serial comms to the controller), and you can control more servos than you are ever likely to need. Furthermore, the servo controller has it's own microcontroller to continually send the pulses to the servos; this off-loads the processing from the Arduino, allowing you to do other things with it, without having to worry about running out of clock cycles (or timer conflicts - indeed, if you were really resourceful, you could build your own serial servo controller using a standalone Arduino setup).

The downside is that you have to write your own communication functions/library for it (using a software serial library) - but they are well documented, and others have done this - so it shouldn't be too difficult.
I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

Go Up