I recently purchased an assembled serial 8 servo controller from here. When I hook the controller up I get a constant yellow light.
Power Supply:
I am using a computer power supply as my power source for the controller. I have checked the voltages with a voltmeter and I am positive that the power supply is supplying 12V and 5V. I have the +12V line connected to the VIN, +5V to the servo power, and the ground jumped to both of the ground pins. I have also tried connecting a wire between the Vcc=Vs jumper and using only the +12V supply but this didn’t seem to make any difference.
Servos:
I have one small hobby servo connected to output 0.
Protocol:
I have been mainly trying to use Mini SSC II Mode (protocol jumper on), but I have also tried to use the Pololu mode also with no result. I currently have the DTS/RTS jumper set to the right position (DB9 connector up). What position should this be set too? However, I have tried it on the left and I have also tried just leaving it off alltogether.
COM Port Settings:
Reading my COM port properties from device manager (WinXP SP3): Bits Per Second=9600, Data Bits=8, Parity=None, Stop Bits=1, Flow Control=None, Advanced->Use FIFO buffers=Yes. I have tried using both ports on my computer, the main DB9 connector and the motherboard connector, and I have also tried two different computers with the exact same results.
Serial Data:
I have tried two different methods of communicating with the controller. First, I tried using the Pololu Serial Transmitter. First I hooked the controller up as noted above. This resulted in a solid yellow light and and no others displayed. Also, when I first hook the servo up, it produces a small twitch (~10deg). Then I changed the COM port to the correct number and tried to send it a 3 bit sequence [255 0 128] (Mini SSC II Mode), but the light does not change (still solid yellow) and the servo does not move. I have tried different servo numbers and different positions, but it does not seem to even be accepting the input.
The other method that I have tried is using Matlab. First I hooked it up as in the above paragraph which resulted in the same solid yellow light and small twitch in the servo. Then I created a serial object and attempted to send the same above commands. Here is the code that I used (from the command line in Matlab):
>> port = 'COM2'
port =
COM2
>> serobj = serial(port)
Serial Port Object : Serial-COM2
Communication Settings
Port: COM2
BaudRate: 9600
Terminator: 'LF'
Communication State
Status: closed
RecordStatus: off
Read/Write State
TransferStatus: idle
BytesAvailable: 0
ValuesReceived: 0
ValuesSent: 0
>> set(serobj, 'BaudRate', 9600);
>> set(serobj, 'StopBits', 1);
>> set(serobj, 'Parity', 'none');
>> set(serobj, 'DataBits', 8);
>> serobj
Serial Port Object : Serial-COM2
Communication Settings
Port: COM2
BaudRate: 9600
Terminator: 'LF'
Communication State
Status: closed
RecordStatus: off
Read/Write State
TransferStatus: idle
BytesAvailable: 0
ValuesReceived: 0
ValuesSent: 0
>> fopen(serobj)
>> fwrite(serobj, [255,0,128]);
>> fclose(serobj)
When I used the above commands I recieved slightly different behaviors. When I executed fopen(serobj), the solid yellow light went off (all lights off). When I exectuted fwrite(serobj, [255,0,128]), nothing happened. When I executed fclose(serobj), the yellow light came back on.
Sorry for the long post, I just wanted to provide enough detail to properly troubleshoot my problems. Any advice would be greatly appreciated. Thanks!
-Brent