I have a Scott Edwards Mini SSC (serial servo controller) in an older project of mine. I would like to replace the current controller with an Arduino. I have not been able to get communication established to the SSC. Scope tells me signal is there and I have checked the SSC with another computer. It wants to hear a wake up byte of "255", then a servo number (0-7) followed by a position byte (0-254).
The following is the program I am using:
//First attempt to use Scott Edwards SSC controller
// It uses serial input to control up to 8 servos.
// Wow, I have spent a LOT of time on this. Likely 5hrs so
// far and no joy yet.
// I wonder if my problems might be the level of the signal?
char sync = 255;
char pos = 127;
char servo = 4;
void setup() // run once, when the sketch starts
{
Serial.begin(9600); // set up Serial library at 9600 bps
}
That certainly looks correct, so I would definitely wonder if you are trying to drive PC RS232 levels on the SSC with the 5V TTL levels on the Arduino 0 and 1 pins.
Yes, there is a simple way to test it. RS232 logic is AC. It swings both positive and negative. It also has a larger voltage range, usually around 14V +-. 5V TTL logic swings between 0 and 5V. So using a scope you can view the communication between the current devices to see what the signal looks like. An RS232 signal will have a large swing plus and minus while a TTL level signal will not switch polarity and will have a lower voltage swing.
And, if you do need rs232 signalling then look into a MAX2322 chip (and get 5 capacitors of 1uf) or someone recently posted a little circuit board from Wulfden: http://wulfden.org/TheShoppe/pa/index.shtml