Slowly and fluidly control 40 servos from an arduino mega

Hello Pololu servo controller forum,

I am building a sculpture that is moved by 40 servos. I was using
sd-84 servo controller but I am running into a problem where servos
are moving when I move other servos, kind of like a chatter. I tried
to get in touch with the maker of that controller and they were not
very helpful. So I am down with that controller and onto you since I
have heard nothing but positive things.

Like I said, I need to control 40 servos. I want them to move slowly
and fluidly. The sculpture is similar to a 40 armed sea anemone, but
with lights on the tips. My questions are simple:

Can I daisy chain enough of your controllers to be able to control 40 servos?
Will the servos be shaky and not fluid?
I was interested in either the Pololu Micro Serial Servo Controller (8
servos, so I will need 5) or the Micro Maestro 6-Channel(6 servos, so I will need 7 with 2 blank channels).

I have an Arduino Mega that I will be using to drive LEDs and was
planning on using that to run the servo controllers as well.

Help me Pololu… your my only hope :slight_smile: (Princess Leia reference)

Sincerely,

Matt Richard

PS. my apologies to www at pololu com, I posted my email here because I am very eager to spend my money at your store :slight_smile:




Hello, Matt,

I just replied to your email, but for anyone else interested, here’s what I wrote:

Thank you for your interest in our servo controllers (and for explaining the reference, since I’m probably the only one in the company not to have seen Star Wars). I am a bit surprised about the chatter problem with the other servo controller; are you sure it’s not a power problem? Powering 40 servos isn’t trivial, and I can imagine some of them moving could cause power fluctuations that make others move as well.

In general, I strongly recommend our Micro Maestro servo controller, which is far superior to our earlier units. The easiest way to use several of them would probably be to use a USB hub; a 7-port hub and seven servo controllers would get you to the 40-servo target. The servo controller should give you the smoothest possible motions from your servos, and it has built-in acceleration and speed features so that you can get nice transitions without having to send tons of commands to the servo controller.

- Jan

Thanks Jan for the advice in using a usb hub to run the servo controllers, but I think it would be ideal to not have a dedicated computer attached to the sculpture. The idea being that computers would require an additional start up and then launching programs not to mention the addition of a monitor to allow you to see what your doing. I want for this to exist easily in any gallery, with only the need to turn on and off a switch or two get the whole shabang up and running.

So to answer your question, I have been assured that there are no power issues as far as noise is concerned. The chattering is highly predictable. Move the 1 servo, the 9 servo wiggles. I move the 2 servo, the 10 servo wiggles. This seems very logical to me. As for my code… I am having it looked into, but in the mean time, I still am interested to know:

Can I daisy chain 7 of the Micro Maestros?
And can 7 daisy chained Micro Maestros be controlled by an Arduino Mega?

Sincerely,

Matt R

Hi Matt,

Cool installation :slight_smile:

It is possible to daisy-chain the Micro Maestro, I have done it on the robot I am currently building. I am only using two, but 7 should be no problem according to the documentation.

I have written some Arduino code to use the Micro Maestro that you can find in this other post. Just copy the code into a .pde next to your main sketch file, set the serial parameters to match your installation and you should be good to go.

Also, you can have a look at here for complete documentation on daisy-chaining the Micro Maestro.

– Xevel

The only thing I would add to Xevel’s nice post is that splitting your serial transmit line to seven units might be problematic, depending on your wire lengths and serial baud rate. If you see that a few units work but adding more makes communications flaky, you might need to buffer the serial output from your Arduino.

- Jan

Thanks gentlemen,

I have been able to successfully daisy chain 7 controllers together and they are running off an an Arduino Duelminove that is also controlling 240 channels of LEDs (80 rgb leds). You can check out a video below.
http://vimeo.com/11068342

Very cool! Congratulations on getting it working!

Now that you have the basic features working, are you going to experiment further with different programs? I’d like to see a rotating oval shape, or a little ripple that circumnavigates the ring. I wonder whether you could create the illusion of rotation by doing something like that.

–David