I am using a Micro Maestro 6-Channel USB Servo Controller and seem to have a problem with controlling one, two or three, the servos. When sending commands to the controller, the processing of the commands on the controller will appear to pause (up to 30 seconds) and the servo will suddenly jump (most of the time) to the last position sent to the controller. The problem occurs with a single servo, or multiple servos. I have a three servo setup and all three servos will freeze at the same time and then jump to the position of the last command sent. The red error led never comes on when the problem occurs.
From outward appearances, it would appear that the Maestro Controller seems to accept the incoming commands, but for some reason randomly stops processing of the commands. Then suddenly executes the last command sent for each servo. Just guessing, this will happen with 1 in 100 movement commands. The length of the delay is one second to thirty seconds.
I can create the issues when using the Maestro Control Center using the sliders in manual mode, or with a custom C program running under Linux. I have not played with the Maestro scripting.
With the C program I have tried to poll if the motors are still in motion reading in a blocking mode, but it seems to hang on the read randomly (maybe 1 in 25 reads) and never recovers. The hang is on the read (I am assuming it is blocked). I am not sure if this is related to the freeze/jumping issue. This could be a issue with my program.
There is very little load (weight) on the servos. The power supply is 5.1 volts measured and is a converted ATX power supply so it should have enough power to drive the servos.
Since I can recreate the problem with the Control Center running under windows I am excluding my programming as being the issue.
All three servos will freeze at the same time, so I am excluding the servo as being physical bad. (this may be a bad assumption).
I am at a loss as to what might be wrong. Does anyone have any thoughts?
Pololu Maestro Control Center Version 18.104.22.168
Windows 7/Ubuntu Linux
Micro Maestro 6-Channel USB Servo Controller
USB Dual Port
Enable CRC: No
Device Number: 12
Mini SSC Offset: 0
Never Sleep: Tried enabled and disabled
Firmware version 1.01
Power Supply: ATX power supply 5.1 V
Three Servos: GWS S689-2B/MG