Micro serial servo ctrl questions

I am a hobbyist trying to use a serial servo controller to control 2 servos (GWS Mini Std & S04 BBM) via Matlab serial i/o. I’m having some difficulties…

  1. What specifically causes some of the LED colors? I see the fatal error code (constant yellow, slow flashing red) very often and seemingly randomly. I also get the comm error (fast flashing green w/ constant red). That one comes in intermittently even when I’m doing the same action over and over. I checked the electrical connections, and they are fine. It seems to come in at every baud rate from 2400 to 57.6k…

  2. What happens if I send serial information faster than the servo can respond? I control serial output based on mouse position, and when I move the mouse very quickly I tend to get more errors.

  3. When I move very slowly w/o limiting the servo speed via “Set Speed”, the servos make small jumps in the wrong direction. Is this normal?

  4. With both servos connected, I can barely move them at all (especially the big one) without getting one of the LED errors. The power supply is a spare ATX computer supply at 5.2V w/ ~10A free. How much current do these servos draw (especially the S04 BBM)?

Any help would be appreciated.


It sounds like you have a power problem. The baud rate detection problem can only happen on power-up/reset, so if you are getting the baud rate error after sending a few bytes, the processor has reset. The other error you are seeing is most likely due to a framing error. The usual explanation for that is the reset I mentioned earlier, which causes the servo controller to come up in the middle of a serial stream. The controller tries to determine the baud rate based on the first thing it sees, which could be the middle of a packet. Once it has a bad baud rate, a framing error can occur on subsequent bytes.

The servo controller can handle the data as fast as you can send it, so you don’t need to worry about sending data too fast. If you have power problems that cause resets with a certain rate, sending more commands is likely to cause more errors.

How are you powering the servo controller? You only mention one supply, so it looks like you are using the same supply for the servos and for the servo controller. Do you have access to an oscilloscope?

- Jan

I was originally worried about loading down a single power supply with the big servos, so I am using a 5VDC 1A wall wart to power the controller - it is completely separate from the servo power supply. I don’t have a feel for what current the big servos draw at 5VDC, so my power supply may be inadequate. Any ideas on the current requirements?

Unfortunately, I don’t have a scope. If I manage to borrow one, what specifically would I be looking for, errors in the PWM signal?

Turns out it was a power problem. I upsized the servo supply and it works fine. Still confused why an inadequate servo supply would cause controller errors when the controller supply was completely separate, but it works so I’m happy. Thanks for the advice Jan.