Mini Maestro 24 problem

I am attempting to build a Hexapod using an Arduino Mega, mini-Maestro 24 and 18 servos. The problem I am having is that when I try to control all 18 servos at one time, some or all of the servos jerk erratically.

I went back to the Maestro control center and built a script to move all 18 servos from center, move all to the right and then move all back to the left then back to center. This worked just fine. All servos moved smoothy.

I then took the SmoothServoControl example and modified it to move 18 servos and removed the Speed and Accel commands so that the servos moved at full speed. I am communicating between the Arduino and the Maestro on Serial port 1 of the Mega at 9600 Baud. I found that if I limit the servo count to 12 the servos moved smoothly. With 15 or 18 servos the jerky motion returned. Since this example was running at 9600, I changed it to 19200 baud. This helped but did not totally eliminate the problem. Since the original software design would rapidly send intermediate movements to the servos, I added the Speed and Accel control back into the example for all servos(Speed = 10, Accel = 127). This made the problem even worse until I called a subroutine to wait until the servo stopped moving with the getMovingState().

A Baud rate of 38400 did not help.

It seems from my testing that the maestro is having trouble receiving new commands while it is moving more than a few servos. Is there a configuration setting that I missed that will help me overcome these problems.

Thank you


From your description, it suspect you are seeing a power issue. What are you using as a power supply and how are you powering your servos?

You might try splitting your servos into separate banks if you have not done so already. Note that you will still need a common ground connection from those servos to the Maestro. You can see more details about splitting the power rail into banks in this forum post by jon.