RC_SSC_2 Theory and operation - by Mike Berg

Mike Berg asked me to include these files here to allow anyone to access them.  They are also contained on Yahoo UAV E-Groups page, under Files/RC_serial.  If you have questions on this interface, please contact Mike Berg at mikeberg@midstate.tds.net

r_c_ssc2.jpg  - schematic image
r_c_ssc2.asm - assembly language for the PIC
r_c_ssc2.txt - description of construction and use
rc_theop.txt - theory and operation (text version of this file)

Theory of operation:
The interface is designed to convert the multi-channel output of a R/C transmitter into RS-232 serial data formatted to operate a Scott Edwards SSC II multiple servo controller.

Pulsetrain analysis - calculate channel number and duration.
The servo position information for all channels is availible at the R/C transmitter's trainer port in the form of a TTL level pulse train. These pulses vary in width according to where the input sticks are positioned and are sequenced in a set order. The input portion of the encoder samples this pulse train,
synchronizing to the first channel and measuring the duration of each pulse.

Delta Compression - send initial position(s), then only changes.
At this point, the PIC's store and compare routines come into play. Each channel's pulsewidth is stored in memory. This information is compared to that of the next group of pulses arriving from the transmitter. If any of the channels have changed, the new data is stored and marked for transmission. After the last channel has been measured and compared, the program checks for data to be sent. If none is found, it goes back to the measure routine and waits for the next pulse group from the transmitter. If there was change in any of the controls, only those changed channels new positions will be sent with a maximum of 4 channels per transmission. The first four channels are prioritized which quickens primary controls. Serial transmissions can occur as often as every 30 mS, thereby insuring all channels will be serviced in a timely manner.

The data output is RS232 serial configured for 9600,8,N,1 and contains the h'255' flag, servo ID(0-7) and position (0-254). The data, if any, varies from 3 to 12 bytes per group. A Maxim MAX232 IC is used to provide the TTL to RS232 translation.

Power to operate the converter is taken from the R/C transmitter via a switched 9 volt pin also at the trainer port. A 5 volt regulator is used to supply Vcc to the PIC 16F84 and MAX232.

The Scott Edwards SSC II decoder - The datasheet for complete info on this device is availible at:

Briefly, the SSC II is a very small package (1.5"x1.5") that's designed to serially control up to eight R/C type servos. It's powered by a nine volt battery with a separate servo battery connection. It requires a three byte sequence to position each servo which includes a FLAG (FFh), channel number (0-7h) and desired position (00-FEh). Serial speed is jumper selectable 2400/9600 baud.

In experiments, we first tested the encoder/SSC II combination directly wired (null modem) then through spread spectrum RF modems. Tho not tested, I see no reason this couldn't also be done through a phone modem as well for certain applications. In these tests, the controls operated perfectly with very fast response.

In conclusion:
This method of remote servo control is very promising for applications where longer range than conventional R/C systems is required at a
reasonable cost. By keeping the original (and familiar) controls, cost is reduced and the learning curve isn't as steep.

- Mike Berg