| Acroname Servos: Theory, Operation, and Comparison |
Last Modified: 2011-05-06
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 purchase 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 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.
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.
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.
| voice: 720-564-0373, email: email@example.com, address: 4822 Sterling Dr., Boulder CO, 80301-2350, privacy |
© Copyright 1994-2012 Acroname, Inc., Boulder, Colorado. All rights reserved.