click here to get back home  
Buy-a-Bot Product_Details Robots Tech_Center Links Consulting Blue Bell Design
Tech Center - Guide to Servos

Index:
<= Back to Tech Center
<= Back To home page

Links below are on this page.
=> What is a servo?
=> Pot
=> What's the point of it?
=> How does it work?
=> Hacked?
=> Dead band?
=> Ball Bearing Bits and directions
=> Proportional Band
=> Typical ratings


<= What is a servo?


A servo, in this context, is a positioning device made for use in model airplanes and cars. It contains a DC motor, gear set, feedback potentiometer (or pot), and control electronics to drive it. Most servos are made to control the rotary position of an output wheel or arm. The gears are there to increase the torque (force) of the motor and reduce its speed. Servos are usually specified to travel over a 90° arc.

<= You can't cook in this pot!

An example of a pot is a common volume control. In that case, the volume changes in response to your input of shaft position. In the case of the servo, the pot gives an output signal proportional to the position of the servo output shaft.

<= What's the point of it?

The idea is to give the servo a desired position from a control system and it will try to get to that position and stay there. The control signal is in the form of a pulse that can come from a radio control (RC) receiver or a microcontroller.

<= How does it work?

A servo works by comparing its current position (as read by the pot on the output shaft) to the position requested by the input pulse. A 1 millisecond (ms) input pulse says go to one extreme position, 2 ms says go to the other extreme. A 1.5 ms pulse says go to the center position. When the servo sees a difference between where it is and where it is supposed to be, it moves the motor to fix it - that is, reduce that difference to zero. It needs those pulses every 20 ms or so to keep the position corrected. If you don't send them often enough, the servo electronics shut down and quit trying to power the motor. If you don't try to force it one way or the other you might not notice. If you do try to force it, you'd notice it becomes easy to turn after the input control pulses stop.

<= Hacked?

To use a servo as a continuously rotating motor, it must be modified or "hacked". When you hack a servo, you set the feedback pot to mid scale so you effectively tell the servo that the output shaft is always in the center position. You also remove the mechanical stops that prevent the servo output shaft from full rotation.

Servos are a type of feedback circuit. What you are doing in the hack is "opening the loop". In other words, the feedback no longer represents the state of the system. A similar example would be if you mounted a house's furnace/AC thermostat outside the house. If it was hot outside, the AC would turn on and stay on regardless of the inside temperature. If it got cold out, the heat turns on and again, ignores the fact that the furnace has made it very hot inside. If outside is just right, nothing runs.

On a hacked servo, if you send a 1.5 ms pulse, the servo "sees" no error so the motor doesn't need to move to correct it. A longer pulse says to the controller go toward the one side so the motor gets turned on one way to go toward the side commanded. Since you disconnected the internal pot, it can't tell that any movement happened so it just keeps going in that direction trying to get there. Correspondingly, a shorter pulse is trying to get the servo to go the other way so the motor runs in reverse.

If you would like to see a picture of a disassembled servo, the Seattle Robotics Society has a servo technical description including a picture of a dissasembled servo. They also have directions on how to hack a servo yourself.

<= Dead band?

There is a "dead band" around the 1.5 ms because, if there wasn't, the servo would "hunt" around at a given point and the motor would never stop trying to correct any small differences. That dead band gives the tolerance in the 1.5 ms where the motor is still stopped.

<= Ball Bearing Bits and directions

I wasn't clear as to which direction a servo goes in response to a short or long pulse because they are different. When I started using Hitec ball bearing servos in my Libby robot I found that they ran "backwards" from the servos that were in my previous robot, TRaCY. I tried an experiment and, sure enough, the two different models of Hitec ball bearing servos I had were the same as each other but opposite of the GWS servos in TRaCY. Since I only had those three servo types to test, I assigned the difference to being ball bearing even though it may be more of a vendor thing than a ball bearing thing. There is actually a bit in Libby's Co-Processor to select ball bearing servos or not. It reverses the assumed direction vs pulse width in the internal subsumption engine.

<= Proportional Band

By sending pulse widths close to 1.5 ms but not quite, the servo control electronics "thinks" that there only a small error so the motor is driven slower. That can be used for speed control and is why the ramping functions work for speed control in servo controllers like Libby's. In feedback systems this is called the "proportional band". It is also different in different servos.

<= Typical ratings

Different servos have very different ratings. To give you an idea of what to expect, here are the specifications of the servos we use in Libby. Except for using dual ball bearings on the output shaft, they are relatively typical of what to expect for a standard hobby servo. HitecRCD HS-425BB.

Click Here or on the Blue Bell Logo at the top to return to Home.

Copyright © 2002, 2003, 2004 Blue Bell Design, Incorporated. All rights reserved.

Blue Bell Design Inc.
Post Office Box 446
Gwynedd Valley, PA 19437-0446 USA
215-643-7012
email us harry@bluebelldesign.com
on the web www.bluebelldesign.com


Valid HTML 4.01!