Servo-Trim - A device to adjust RC-servos

RC-controlled Servos are connected by a 3-wire cable with the RC-receiver. Adjustments (trimming) are usually done at the transmitter ore mechanically behind the servo.

This project features an additional method for fine tuning the response curve of the servo. A small PCB containing an Atmel ATtiny2313 microcontroller is inserted in the cable between rceiver and servo (or any other RC components that work with the standard 50hz RC-protocol).

Here is a photo of the protoype. The input connector should be female rather than male. A ribbon cable connector helped to build the necessary adapter. A 10-pin programming connector is also present.

The eeprom of the microcontroller stores a freely definable transfer curve through 64 vertices. Linear spline interpolation is done over that curve to achive smooth transitions. The eeprom data can either be externally generated and loaded into the microcontroller via SPI programming, or can be manipulated using two on-board Push-buttons UP and DOWN.

Several additional parameters can be tuned at compile time. Ususally the code is compiled with a low pass filter to smooth out receiver noise. It also makes the servo react a bit slower than usual. If the RC-signal is missing or invalid for less than half a second, it keeps its last position. If this condition remains for more than half a second, a watchdog reset occurs in the microcontroller and the servo is driven to its center position. It can also switch off the servo (assert PWM output to low), if the servo position does not change for a a while.

Upload with

using a STK200 compatible cable. (Schemtics: minimal or standard).


2006-08-01, jw@suse.de