RC Servo Processor

  
Inside:
Repository
On a continuing mission to build an autonomous sailing robot we needed a way to more rapidly prototype boat designs and wanted to use a standard remote control model control system to save time by using off-the-shelf parts. When controlling servos with microcontroller based electronics you can use the full 180 degrees of rotation; however standard RC
RC Servo Processor - schematic

systems typically only support 90 degrees or less. We also needed a way to limit the rotational speed of the servos to prevent wear and damage to parts of the boat. The RC Servo Processor is a simple and small device which sits in between your RC receiver and servo which allows you to control both the rotation range and speed of a servo. Using only 4 components it is small, light and power efficient. The RC Servo Processor allows you to define the expected range of input from your RC controller and then map that range on to your desired output. This is performed by simply changing some #define statements in the PIC12F source code. The firmware takes care of calculating the required PWM output to the servo by scaling the available input range to the desired output. Note that the units are in 0. 5uS, so 400uS is 800 (which is why the definitions contain the *2 to make it clearer). Finally there are 2 more supported settings; the rotational speed limit - this can be set to 0 for no limit, or it represents the maximum difference in uS from pulse-to-pulse generated by the RC receiver (so this is typically the maximum change in 1/50th of a second). You can also set up the number of samples which are used to measure the RC controllers output. Since the PIC12F is using the internal oscillator, averaging the readings helps to prevent jitter in the output: // Rotational Speed limitation for output servo // Set to zero for no limit...



Leave Comment

characters left:

New Circuits

.