Servo-CP.txt Servo CoProcessor - SCP - PIC-12C509A ----------------------- Controlled by BOS-4 program - ZHXBOS-4.pbp 1 Vcc 5v 2 Flow - high=ready 3 TR - Transmitt/Receive 4 x 5 2 - servo pulse, ~55Hz 6 1 - servo pulse, ~55Hz 7 0 - servo pulse, ~55Hz 8 Gnd ___ 5v Vcc -|1 |- Gnd Flow -| |- 0 servo TR -| |- 1 servo x -|___|- 2 servo 'Servo co-processor info: '9600 baud, 8 bits, no parity, inverted 'Send two bytes, 'Command byte format: XXXXYYZZ ' ZZ is servo number - 0,1,2 ' XXXX is speed 0 to 15 - extra increments per frame (0=slow,15=fast) ' YY is command : ' 00 - set servo end position ' 01 - report servo position ' XXXX ignored, ZZ =servo number ' response =0 to 255 =current servo position. ' 10 - report all servos ' XXXX ignored, ZZ must be %00 ' response = %STUVWXYZ ' where S,T,U,V,W,X,Y and Z may be 0 or 1 ' STUV ' S - (servo 4) always 1 on 3 servo chip ' T - servo 2 ' U - servo 1 ' V - servo 0 ' 0 => relaxed ' 1 => being pulsed ' WXYZ ' W - (servo 4) always 1 on 3 servo chip ' X - servo 2 ' Y - servo 1 ' Z - servo 0 ' 0 => not reached end point ' 1 => has reached end point ' (ie a quick way to read all servos) ' 11 - relax servo, ie stop pulsing it until 00 sent 'Position byte is from 0 to 255 '[pulse as measured by BS2, 0=>1018us, 255=>2042us ie 4us resolution] '[frame rate 19.5ms - scope] '[signals - servo1,servo2,servo3,frame delay - scope] '[Flow is low during servo pulses, high during frame delay - scope] =================================================================================