![]() | Acroname Servos: Theory, Operation, and Comparison Last Modified: 2013-06-28 | | |
Acroname Robotics |
Servo Motors Servo
motors are extremely common in robotic applications. They act as
controllable joints, and turn wheels, sensors, heads, arms, and much
more. The purpose of this article is to describe the basic theory behind servos, answer common questions about servo operation, and compare the servos Acroname has to offer. ![]() The Acroname family of servos Theory of Operation Servos
are small motors used to control either the orientation or rotational
velocity of an axis, which may be a servo arm, wheel, or other object
attached to the servo. Servos typically consist of a printed
circuit board, a small motor, and several reduction gears inside a
housing. Most require a PWM signal (discussed below), power, and
ground lines to operate. Servos derive from analog RC controls,
and have been widely used in RC for decades. It is only recently
that servos have begun to be designed for and integrated into robotics
applications. Servos typically come in two flavors:
standard servos and continuous servos. Standard servos attempt to
reach (and hold) a position specified by the user, while continuous
servos attempt to reach (and hold) a velocity specified by the
user. Standard servos usually have a limited range of movement,
while continuous servos can move a full 360 degrees. Both
kinds of servos are typically internally closed-loop, meaning that they
will fight against opposing forces using an internal logic loop to try
to attain the desired position / velocity. However, the servos are
externally open loop, meaning that the user has no way of knowing if
the servo was actually successful. Furthermore, continuous servos
do not contain internal encoders, so there is no ready way to tell their
position (though you can employ external encoders separately). The
servos available through Acroname use a splined shaft, pictured below,
to connect between the servo and any attachments. The servos ship
with a number of servo horns of various shapes that lock on to this
spline. These horns come with holes that can be used to attach
wheels or turrets, or these parts can simply be epoxied directly to the
horn. In addition, the center of the servo shaft is threaded,
meaning that attachments may be screwed directly to the servo
shaft. Servo horns from a single manufacturer are typically
interchangeable servo-to-servo, but this is not always the case between
manufacturers. The Acroname servos also come with four in-plane mounting holes for attaching the servo to a base. These can be seen below and are shown in the part drawings on the individual product pages. ![]() A close up of a servo showing the spline and a round servo horn Digital Servos Digital servos are the latest generation of servo motors. Digital servos have the same motors and geartrains as standard servos, and accept the same PWM signal for operation (discussed below). The difference lies in the addition of a microprocessor and Mosfet amplifier built into the control circuitry of digital servos. This gives the servos two distinct advantages over standard servos. The first advantage is that digital servos are externally programmable, meaning that their parameters may be adjusted to optimize a given task. The second advantage lies in the way these microprocessors are able to pulse the motor to move the servo. Typically, when a servo needs to apply torque, it sends varying-width pulses of power at 50 Hz to the motor as shown below, left. Digital servos, on the other hand, pulse at 300 Hz, with the pulses reduced to 1/6th the standard pulse width. Because the pulse width is reduced in proportion to the period, digital servos deliver the same amount of power as standard servos but with a significantly higher resolution. This allows for a much faster and more accurate response, as well as smoother servo operation overall. ![]() A standard servo (left) versus a digital servo (right) Powering a Servo Servos
typically come in a three-wire configuration, with black or brown being
ground. The servos available through Acroname all use standard
0.1" 3-heading connections which plug straight into most
controllers. Typically, the three wires are set up with the
lightest wire being signal, the middle wire power, and the third wire
(brown or black) being ground, as shown below. Servos, like any motor, can introduce noise on the ground and power planes due to inductive spikes caused by the large coils in the motors, as shown below. These spikes appear whenever the servo is applying a torque, and can interfere with and even reset microcontrollers. There are many ways to mitigate this effect, the most basic of which is assuring the correct gage of wire for the servos. In addition, it is important to give each servo its own path to ground, or, stated another way, to make sure that the servo grounds connect to the controller ground downstream of the controller. Finally, it is good practice to use separate servo batteries on a common ground with the controller. ![]() An oscilloscope reading of a spike in the servo ground plane Care
should also be taken in choosing a power source for a servo. Most
servos accept a small range of voltage inputs (typically 4.8 to 6V),
with a requirement for around 100 mA of available current. Within
this voltage range, higher voltage values will give the servo more
available torque and speed. However, you cannot simply give the
servo a higher voltage than its maximum to give it more available
torque; doing so will typically damage the servo or cause it to exhibit
jerk. Likewise, when less than the minimum voltage is supplied the
servo may not work properly or may not work at all. Many
controllers provide three-pin servo connections with a 5V power line
that will work for most (but not all) servos. If for some reason you need to use a higher power source for your servos than is recommended for the servo, it is possible to reduce the incoming voltage. One possibility is to use high-current diodes (such as 1N4001) to reduce the input voltage. Two power diodes in series, for instance, can drop the 7.2V produced by 6 NiMH AA batteries down to the 6V maximum for many servos, though the extra voltage will need to be dissipated as heat. It is also possible to use a voltage divider to lower the voltage, but again this will result in a proportion of wasted battery energy. Care must be taken in designing the divider since the servo internal resistance will be in parallel with the voltage divider resistance. ![]() Servo wire colors and their meanings. Top wire (white, yellow, or grey) is signal, middle is power, bottom (black or brown) is ground. PWM Signals The
majority of servos require a pulse-width modulation, or PWM signal to
operate. As shown below, these signals are square wave (digital)
signals at CMOS levels (0 to 5V). The wave period is typically on
the order of 20 ms (50 Hz) and can be chosen by the user within limits,
while the pulse width itself modulates between a minimum and maximum set
by the servo manufacturer. The industry standard neutral pulse
length is 1500 µs, with 400 to 500 µs modulation on each side. The
'minimum' pulse width corresponds to the counterclockwise extreme of a
standard servo, or the maximum negative velocity of a continuous
servo. 'Neutral' corresponds to the middle position, or no
velocity, while 'maximum' corresponds to the clockwise extreme or
maximum positive velocity. Giving a servo a PWM signal outside its
recommended pulse width may cause the servo to exhibit jerk and
otherwise undesirable behaviour. Many controllers, including our BrainStem GP and Moto
controller, have servo output pins and take care of PWM signal
generation. However, it is also entirely possible to use a
function generator to create the signal. There is no difference in the PWM signal between standard and digital servos, which are discussed above. If you are interested in learning more about PWM signals, we have an article available here . ![]() A servo PWM wave with typical values Comparing the Acroname Servos The
following table is a side-by-side comparison of the various servo
motors available through Acroname. Unless otherwise noted, each
sensor requires a Vcc (voltage) input of between 4.8 and 6 volts.
Voltages higher than this should not be used, as they will likely damage
the servo. The torque listed is the maximum torque available at
the low and high end of the voltage spectrum, and intermediate voltages
will yield intermediate values. The maximum servo speed is also a
variable that increases with voltage. The range listed is the
total range available for movement, evenly split around the neutral
position. Note that 360 degree movement denotes 180 degrees from
neutral, and is not synonymous with continuous (listed as n/a in this
column). Different types of servos are designed for different applications, as noted:
*: Condition: no applied load **: This is the total range. The range in each direction from neutral is half of this value unless otherwise denoted. Servo Control Options While it is entirely possible to control a single servo directly from a function generator such as an oscilloscope, using visual feedback to guide the servo, this is not often practical. Most robotic applications require the automatic control of several servos, and we offer a number of tools to fill this need. Microcontrollers
Other Interface Options In addition to the specialized systems above, any digital I/O pin on a controller or a converter (such as a USB to I2C adapter ) can be set up to transmit PWM signals and therefore control a servo, though it is an exercise for the reader to figure out how to do this with a given controller or host computer. Revision History:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related Links: How to provide servo power for CMUCam2+ and BrainStem GP 2.0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
voice: 720-564-0373, email: sales@acroname.com, address: 4822 Sterling Dr., Boulder CO, 80301-2350, privacy © Copyright 1994-2012 Acroname, Inc., Boulder, Colorado. All rights reserved. |