Fly Electric!

Servo Controller

This device uses a pot to move a servo or to operate a speed controller without Tx/Rx. This type of gadget is often called a server tester. Technically, it generates a pulse width of between 1 and 2 milli-seconds every 20 ms. It uses Microchip's 12F683 although many others in their range would work as well.


Source code in C | PIC Projects | Beginners Guide

The operation of the circuit is described in detail in the above C file but here are some further notes.

* The circuit has a variable resistor (pot) which divides the 5v operating voltage according to its position. The PIC's ADC converts this into a value which the program arithmetically converts into a pulse width which varies between 1 and 2ms every 20ms. These are standard pulse characteristics for R/C equipment. The 'pot' you see in the photo was an old trim mechanism from a broken transmitter.

* The circuit starts the output low because I've been using it with speed controllers and I wanted them to be low on startup for safety. However, line 84 'SERVO = 0' is not really appropropriate for use with servos and should be removed.

* The circuit is powered by an internal 9v battery which drives the device via a 5v regulator. The regulator also provides the reference voltage for the ADC conversions so is needed for accuracy. The regulator can be any 5v device rated for 9v input. 0.1A is more than sufficient. The regulator's data sheet will suggest appropriate capacitor values. The LED is simply to remind you it is on.

* Every pot will be different and exact values are not important. So to set it up correctly I have code which is commented out which stores the values of the ADC conversions in the chip's EEPROM memory. The values of the pot's extremes are used to perform the arithmetic conversion into a pulse width.

Click on the links below for other pages.

Home Art of the Possible Absence of Matter Links Updates Email