Controller or servo problem?

Hi guys, i’m doing a small robotics project and i’m having some problems turning the servo’s on. Heres the setup:

5v power supply
USB -> Serial connection
8-bit pololu servo controller ss03a
Servos are Hi-Tec HS422, and Hi-Tec 5995TG

Everything performs exactly as expected, except for after a restart. The Servo is left in a position x and not moved by hand. The servo and controller are restarted. The first command sent to the servo then makes it move to 135 degrees, then on the reissuing of the command the servo moves to the correct position. I’ve tried everything i can think of to get the servo to behave itself, starting with ordering it to move to its current position at full speed before any other commands. I’ve tried ensuring the servo is switched on, and setting the neutral position incase that was somehow causing the problem. Commands are as follows:

Set servo position to 90
0x80 0x01 0x04 0x00 0xa 0x18

Power off servo controller

Set servo to 'on’
0x80 0x01 0x00 0x5f

Set neutral to 90
0x80 0x01 0x05 0x00 0xa 0x18

set position to 90 -> servo moves to 135 degrees
0x80 0x01 0x04 0x00 0xa 0x18

set position to 90 -> servo moves to 90 degrees
0x80 0x01 0x04 0x00 0xa 0x18

I’ve tried doing this using both C++ and a Python script but it always does the same thing!
I’m slowly comming tot he conclusion that either it’s broken, or i’m stupid!
ALL input welcome :stuck_out_tongue:

Hello.

The neutral setting shouldn’t matter since you’re using absolute mode, and the servo will turn on automatically when you send it a position command, so you should be able to shorten your sequence to three consecutive position 90 commands, with a power cycle after the first. Can you try that with our serial transmitter utility? Can you verify that after the first command after restart, the servo holds its position (the wrong position)?

- Jan