Micro serial servo contoller problems

Have not been able to get serial data sent to the controller successfully.

  1. power up the controller after all connections have been made, the 2 connected servo’s “bump” on.
  2. Yellow, Green, Red Leds are on.
  3. send data to port with c++ program. Yellow on, green off, red flashing.
  4. read multiple posts, seems this indicates problem with the serial data sent.
  5. Abandon the C++ program and in linux send following commands:

$ stty -F /dev/ttyUSB0 2400
$ stty -F /dev/ttyUSB0 cs8
$ stty -F /dev/ttyUSB0 -cstopb
$ stty -F /dev/ttyUSB0 -parenb
$ echo -ne “\128\1\0\1\79” > /dev/ttyUSB0

results in yellow on, green off, red flashing.

I power down the converter after each failure to reset the device.

I am using a USB to serial cable from US converters (sx8801) to connect the controller to the PC and not a standard serial port

I have an oscilloscope but have not been able to see very well what is sent out the port.

The first linux command I sent was

echo -ne “\128\1\0\1\79” > /dev/ttyUSB0

which resulted in the red led on, green flashing indicating port was configured to fast.
I slowed the port down with the above commands and get yellow on, red flashing…

Any help would be appreciated.

Not able to send commands via serial port on Micro Serial Servo controller…

Centos 7, C++

  1. connect all cable and power up in Pololu mode --> yellow ,red, green LEDs on.
  2. initialize serial port /dev/ttyUSB0–> no problems.
  3. send command 0 with
    unsigned char send_bytes[] = {128, 1, 0, 1, 79};
    wr = write (Port1,send_bytes, 5);

Immediately yellow on, green off, red flashing.
4)internet search, change multiple setting, try sending data single byte at a time, always resetting the controller by powering down and back up resulting in all LEDs on; get the same results.
5) abandon c++ program and try issuing linux commands
6) first issue ’ echo -ne “\128\1\0\1\79” > /dev/ttyUSB0’ results in green led lit, red flashing, yellow off.
7) slow the port down with ‘stty -F /dev/ttyUSB0 speed 9600’
’ echo -ne “\128\1\0\1\79” > /dev/ttyUSB0’
results in yellow on, green off, red flashing
8) issue commands
stty -F /dev/ttyUSB0 speed 9600
stty -F /dev/ttyUSB0 speed
stty -F /dev/ttyUSB0 cs8
stty -F /dev/ttyUSB0 -cstopb
stty -F /dev/ttyUSB0 -parenb
echo -ne “128” > /dev/ttyUSB0
results in yellow on, green off, red flashing.
9) am using a USB to serial converter( US converter model xs8801), not a standard serial port as this mother board does not have an output the back plane.

Any ideas would be appreciated.

Hello.

All LEDs on is not good for the starting point; it indicates your serial line is being held low (on the TTL side). It looks like your adapter is an RS-232-level adapter, so I am concerned you are applying the high voltages (relative to a microcontroller) to the logic-level input. Can you confirm that when you disconnect everything else and only apply power to the servo controller, you get just the yellow LED on?

You should also really get the oscilloscope going.

By the way, why are you using this old servo controller instead of the newer Maestros?

- Jan

Hello.

We have merged your two posts since they are about the same issue.

We tested echo -ne "\128\1\0\1\79" on a Linux computer and the format is invalid. We suggest you to send the commands in hexadecimal format \xNN, where NN represent a two digit hexadecimal value.

By the way, you might consider the newer Maestro USB Servo Controllers (that Jan mentioned), which are better in almost every way.

- Amanda

I can confirm the yellow LED lights when the serial port is not connected…

Is this USB to serial adapter (XS8801) not compatible with the controller…

I’m not using the Maestro because I wanted all the logic on a PC and the simple serial device appeared to be easy to use…

jim

The micro serial servo controller can accept RS-232 signals, so it should work with your USB to serial adapter cable if it sends RS-232 signals. Are you connecting to the COM (RS-232) pins on the board?

By the way, did you try sending the command bytes and values in hexadecimal format? If you did, can you let us know the results?

The Maestro has a TTL serial interface that you can use if you only want to send serial commands. You can learn more about the Maestro’s serial interface under the “Serial Interface” section of the Maestro’s user’s guide. The Maestro can also be controlled from your computer via USB, and you can use our Pololu USB Software Development Kit to write your own software using more advance native USB commands for the Maestro. The SDK includes examples written in C#, Visual Basic .NET, and Visual C++, so you can get an idea of how to call its functions. Also, there are various customer-contributed examples for the Maestro that might be useful to you, which you can find in the “Related Resources” section of the Maestro’s user’s guide.

- Amanda

got rid of the XS8801 USB to serial cable and plugged in the serial port on the motherboard and all seems to work fine…Guess that cord is not compatible.

Thanks for your help!