Encoder Front Page
SRS Home | Front Page | Monthly Issue | Index
Search WWW Search seattlerobotics.org

Radio Control Servos and Speed Control
By Lee Buse (c) August 2000   (Edited by Steven D. Kaehler)

(Technical Reference Information)

Return to Speed Control Hack Article

Most radio control servos are controlled by a pulse width modulated signal with the pulse width varying from 1 mS to 2 mS and 1.5 mS representing the nominal zero center position. One of the early successful RC servo control ICs that used this pulse standard was the Signetics NE544 IC, provided in a Dual In-line Package. Figure 1 is a copy of the detailed NE544 internal circuit drawing and Figure 2 shows the suggested external connections when the device is used in a typical RC servo. Click here to load a full size version of Figure 2.  In recent years the NE544 has been replaced by the Mitsubishi M51660L, provided in a smaller Single In-line Package (SIP). The block diagram for the M51660L chip is shown in Figure 3 and the suggested external connections are shown in Figure 4.  Except for minor component value changes and a different pinout, the M51660L appears to be nearly identical with the earlier NE544. The circuit drawing of the NE544 in Figure 1 provides the most detailed information on servo ICs that I have yet seen.

I have found very little additional technical information on the M51660L, but there is more technical material available on the older NE544. The following is a description, distributed by Ace R/C, of the NE 544 servo chip operation with references to Figures 1 and 2.

"A positive input signal applied to the input pin (4) sets the input flip-flop and starts the one-shot time period. The directional logic compares the length of the input pulse to that of the internal one shot and stores the result of this comparison (called the error pulse) and also feeds this pulse to a pulse stretcher, deadband, and trigger circuit. These circuits determine three important parameters:

DEADBAND – The minimum difference between input pulse and internally generated pulse to turn on the output.

MINIMUM OUTPUT PULSE – The smallest output pulse that can be generated from the {Schmitt} trigger circuit.

PULSE STRETCHER GAIN – The relationship between error pulse and output pulse.

Adjustment of these parameters is achieved with external resistors and capacitors at pins 6, 7, and 8. Deadband is controlled by resistor Rdb. Minimum Output Pulse is controlled by Rmp. The Pulse Stretcher Gain is adjusted by capacitor Cs and resistor Rs. The trigger circuit activates the gate for a precise length of time to provide drive to the bridge output circuitry in proportion to the length of the error pulse.

Resistor Rf determines the amount of feedback required for good closed loop damping.

TA and TB are external PNP transistors for increased motor drive, which make a faster, more powerful servo with better resolution.  The amount of servo travel is controlled by resistor Rt and can be varied to change the amount of servo rotation.  If you find it necessary to change the amount of servo travel, increase the value of Rt to decrease servo travel or decrease the value of Rtto increase servo travel."

Additional Comments:
Refer to Figure 1 below.  The input R-S flip-flop (gates H and I) along with the switched current source charging Ct, form a linear one-shot with the period proportional to the voltage from the feedback potentiometer Rp. Gates A and B detect the difference in pulse width between the input pulse and the linear one-shot. This pulse difference is fed to a R-S flip-flop (gates C and D) for direction control and to a pulse stretcher through gate G for servo gain. The output of the pulse stretcher is combined with the direction information in gates E and F and drives the motor through an H-bridge.


Current through Rf from the motor back-EMF (output generated between power pulses or when coasting) also modifies the charge on Ct and the resulting one-shot pulse width. This additional input normally provides servo damping since the motor voltage (when coasting) is directly proportional to speed. When a servo is used as a motor drive, the feedback potentiometer is disconnected and replaced with fixed resistors. The servo becomes a low quality speed control servo with the speed control range set by Rf. With the value normally used (560K), the full range of motor speed occurs over only 10-20% of the input pulse width range. This makes it difficult to accurately control the speed of these modified servos.

The drive circuit can be improved by changing the value of Rf to increase the velocity feedback. The circuit components for an NE544 servo have been breadboarded and tested. With Rf changed to 180K, the drive provides full speed control over the 1.0-2.0 mS input pulse width range. The speed verses input pulse width is somewhat non-linear and a bit unstable at zero speed but at least the control is smooth and the input control range is much improved.

While I have modified an old ACE Bantam Midget and a Futaba S3003 servo for improved speed control, these changes have not been tried on any servos which use the M51660L chip. At least some of the low cost Hobby Shack (now Hobby People) Cirrus series servos use the M51660L. The CS-71 sells for less than $10 and would make a very good candidate for speed control modification.

Return to Speed Control Hack Article