DPRG
DPRG Events Shoptalk

Website design and hosting by NCC

Hacking the Tower Hobbies TS-53 Servo

9 May 2003, by Dale Wheat

Introduction

This is a short introduction to electric servo motors, specifically low-cost hobby or R/C servos. A simple method of "hacking" or modifying R/C servos to provide continous rotation is also described. The servo used in this article is the Tower Hobbies System 3000 TS-53. The hack should work on other, similar servos. Corrections, additions and suggestions are welcome.

Disclaimer
This information was collected for presentation to the Dallas Personal Robotics Group in May 2003. I hope this information is useful or helpful, however neither I nor the DPRG can be held liable for the accuracy, completeness or applicability of any of this information for any purposes whatsoever, or for any possible kind of damage the reader might suffer. Please use common sense when working with electricity and moving parts.

My understanding of these devices comes from research done online and from direct hands-on experience. I'm not an R/C guy, so any references to aircraft and other radio controlled devices is purely hearsay. My primary interest in servos is in robotic applications, so that will be the emphasis of this collection.

Definition A servo motor is any kind of electric motor whose speed or position is controlled by a closed loop feedback circuit. An example of a servo motor is the drive motor in a floppy disk drive, which must maintain an exact rotational speed no matter what kind of floppy disk is inserted. The speed of the motor is measured by a tachometer that is physically coupled to the output shaft of the motor. The tachometer produces a voltage that is proportional to the speed. This voltage is compared to a reference point and the difference, or error, is used to adjust the speed of the motor, either up or down. This allows the disk to spin at a relatively constant rate, which is required for the critical timing needed in a disk drive.

Basic Description
The type of servo motor discussed here is known as a hobby or R/C servo. There are several standard sizes of these units, with a wide range of performance characteristics. A decided advantage to the use of these servos is that because of their application in hobby vehicles they are mass-produced, and as a result are relatively inexpensive.

Figure 1. A common servo
This small package contains:
  • DC motor
  • Reduction gear set
  • Feedback potentiometer
  • Control electronics
    - Signal input
    - Error amplifier
    - Bidirectional motor driver

Intended uses
These devices were originally developed for adjusting the control surfaces of model aircraft in flight. The control interface had to be simple yet reliable, and several units had to be controlled simultaneously using simple radio signals. Battery life and production costs were also important criteria.

Since only a small movement was needed for most flight adjustments, the rotational range of servos was limited to 90 degrees. This was often translated to linear motion to move flaps up and down, raise and lower landing gear, etc. The reduction gear set allowed a relatively small motor to produce a large amount of torque across a short distance.

Specifications

Each type of servo has its own set of specifications, however there are several common specifications that allow different units to be used interchangeably. The advantage with this modular approach is that systems can be adjusted for optimum performance without complete redesign.

Power
Most servos are intended to be powered by recharageable batteries. The most common voltages are between 4.8 VDC and 6.0 VDC, although some more powerful servos use higher voltages.

Control Input
The control input of a servo is a series of square wave pulses, 1ms to 2ms long, repeating anywhere from 20Hz to 60Hz. The position of the output shaft is proportional to the width of the input pulse.

Figure 2. 1ms servo pulse
A pulse of 1ms moves the output shaft to the right, or clockwise.

Figure 3. 2ms servo pulse
A pulse of 2ms moves the output shaft to the left, or counterclockwise.

Figure 4. 1.5ms servo pulse
A pulse of 1.5ms moves the output shaft to the center of its rotation.

Mechanical Output
The internal DC motor is connected to the output shaft via a reduction set of gears. These gears translate the high speed of the motor to a workable range of rotation with much greater torque. The normal range of motion is 90°. Many servos can extend beyond these boundaries, some as much as a total of 180º. This, however, is never guaranteed, and can also vary from servo to servo. Exceeding the normal range of a servo can cause damage to the internal gears.

Figure 5. Splines on servo output shaft
The output shaft of most servos is splined; i.e., grooved. Different manufacturers use different splines, so not all attachments are interchangeable. There is normally a hole in the end of the shaft for a screw, which is used to secure any attachments.

Figure 6. Example servo horns, or attachments
Attachments are called "horns" and come in a variety of shapes and sizes. Their hubs are splined to mate with the output shaft of the servo, and provide good transfer of torque without slipping.

Control Circuits
The original, or traditional control circuit for a servo is a remote control unit that has one or more joysticks, knobs or levers. The control unit broadcasts a radio signal containing an encoded representation of the position of the various controls. The signal is picked up by a receiving unit in the plane and converted to the pulse train described above. Each servo is connected to a different output, allowing several flight parameters to be adjusted at the same time. Multichannel units are the norm, with between four (4) and eight (8) channels being the most common.

Direct control (i.e., not remote control) of servos can be accomplished in a number of ways. One of the simplest methods is to use an astable multivabrator to provide the correct timing for the pulses. A pair of 555-style timers can be connected to provide the appropriate, adjustable pulse widths at the correct intervale. Werner Soekoe presents a very detailed description of such a circuit in an article in the Seattle Robotics Society newsletter, the Encoder (Fall 2002 edition), along with links to several related articles. To summarize Werner's enlightening article, one half of a 556 (a dual 555) timer is used as the 50Hz carrier which triggers the other half, which produces adjustable pulses from 1ms to 2ms.

Direct digital control of a servo is relatively simple if a stable, accurate timebase is available. A microprocessor or microcontroller with a quartz crystal driven clock will do nicely. Processors that use RC (resistor + capacitor) timing are sensitive to voltage and temperature fluctuations and are not as reliable.

The logic level outputs of most available microcontrollers are more than adequate to drive the input of most servos. I suggest a series resistor for good luck. This helps keep away evil spirits by somewhat isolating the two circuits, which are often driven by separate power supplies.

Take a look at my version of a Servo Tester. It is a simple circuit for producing a variable width pulse that will accurately position a servo. It can also be used for calibrating hacked servos. Another interesting application is to use two (2) Servo Testers to run a servo-driven robot platform around, such as the ScooterBot or DeskBot from Budget Robotics. Since these platforms come with modified servos, the left & right buttons can be used for forward & reverse speed controls, allowing you to point the little bots forward, backward, or in a circle. The schematic of the Servo Tester is available from my web site.

To control more than one servo at a time, you might want to consider a dedicated servo controller. There are several on the market, including:

There are also a lot of freely available designs out there on the internet. Google sez: "Results 1 - 10 of about 126,000" when searching for "servo controller".

Modifying (aka hacking) a servo for continuous rotation

Before You Begin
First of all, I should mention that there are plenty of other web sites with much better directions for performing this procedure. Think of a servo hack like a vasectomy. In theory, it's reverible. In practical terms, it's not. You will certainly be voiding whatever warranty your little subject might have carried. If you're sure you want to go on, let's dive in.

You will need at least the following items:

  • #1 Phillips screwdriver
  • Diagonal cutters
  • Needle-nose pliers, or really tiny fingers
  • A clean, well-lighted work place
  • Reasonable patience
  • You might need a small drill, if your servo is stubborn

Some Servos Don't Hack
There are some servos that use gears that only have teeth around the 180° of normal rotation. It seems a hard way to shave a few micro-pennies, but nevertheless, it happens. The only way to modify these servos is to replace the output gear with a gear that has teeth all around. It's usually easier to find another servo that can be hacked.

Step 1: Remove the servo horn, if attached
Step 1A - Remove the screw
Step 1B - Pull the horn off the output shaft
Step 1C - Set horn and screw aside for now
Step 2: Take off the cover
Step 2A - Loosen the four case screws
Step 2B - Pull screws out slightly
Step 2C - Remove top cover
Step 2D - Remove middle gear
Step 3: Adjust feedback potentiometer
Step 3A - Connect to servo tester
Step 3B - Adjust potentiometer until motor stops
Step 4: Modify output shaft
Step 4A - Remove output shaft

Step 4B & 4C - Clip gear stop
Step 4D - Drill out the output shaft
Step 4E - Clean out any loose bits
Step 5: Re-assemble
Step 5A - Replace output shaft
Step 5B - Replace middle gear
Step 5C - Replace top cover
Step 5D - Tighten case screws

Testing
At this point, if the servo is still connected to the Servo Tester, you can try it out. It should stop when "centered", and proceed to the left and right in a continuous fashion when the corresponding buttons are pressed. Check to make sure that the output shaft rotates completely around with no interference. If it wants to "stick" anywhere in its rotation, you must go back in and trim the gear stop some more.

Variations
Some servos have a simple clip inside the output shaft that engages the feedback potentiometer. This clip can be easily slipped out, obviating the need for the drill operation.

Several other servo hackers suggest replacing the feedback potentiometer with a pair of resistors. This seems to me like a lot of work for very little gain. The "null" point of your newly modified servo is going to wander around anyway, due to changes in voltage and temperature. It's also possible that the feedback potentiometer could be shaken enough to move a little on its own. A good software driver should include the ability to adjust for this in a convenient manner.

REFERENCES

Manufacturers

Vendors

Glossary & Acronyms
DC - direct current
Hz - Hertz, or cycles per second; a measure of frequency
ms - millisecond, one thousandth of a second (1/1,000 second); a measure of time
R/C - radio controlled, or remote controlled
torque - twisting force, measured in various units, including ft/lbs, oz/in, etc.
VDC - voltage, direct current; a measure of electromotive force

Copyright © 1984 - 2014 Dallas Personal Robotics Group. All rights reserved.