A servo is a closed-loop control mechanism that drives an output (position, velocity, or torque) to match a commanded reference by continuously measuring the error between command and actual output and correcting it. The term traces to Joseph Farcot, the French engineer who patented the steam-powered ship-steering servo in 1868 and coined the word "servomoteur." The mechanism takes a command signal, subtracts the feedback signal from a sensor, and feeds the error through an amplifier to the actuator. That loop is what lets a 5 kg robot arm hold position to 0.01 mm under varying load.
Operating Principle of the Servo (mechanism)
A servo is built around one idea — measure the output, subtract it from the command, and let the error drive the actuator. The command might be a target angle, a target velocity, or a target torque. The feedback comes from an encoder, resolver, potentiometer, or tachometer mounted on the output shaft. The summing junction produces an error signal, the controller (usually PID) shapes that error, and the servo amplifier delivers current to the motor. As the output approaches the command, the error shrinks, and the drive current shrinks with it. That is the entire principle. Everything else is engineering around the edges.
The design choices come from what happens when the loop misbehaves. Push the proportional gain too high and the system oscillates — the output overshoots, the error reverses sign, the motor slams the other way, and you get a buzzing axis that never settles. Set the gain too low and the system is sluggish, with steady-state error you can measure with a dial indicator. Add integral action to kill the steady-state error and you risk integral windup, where the controller saturates during a long move and overshoots wildly when it finally arrives. Derivative action damps oscillation but amplifies encoder noise, so on a 4096-count encoder running a small servo motor you'll often see derivative kick that sounds like a hiss. Tuning is the craft.
Tolerances matter on the feedback side more than anywhere else. If your encoder has 0.05° backlash between the codewheel and the shaft, that backlash is the noise floor of your position loop — the servo cannot hold tighter than what it can measure. Loose encoder couplings, frayed feedback cables picking up VFD noise, and sticky brushes on a brushed servo motor are the three failure modes that account for most "my servo hunts" service calls we see. The control loop bandwidth typically runs 50-500 Hz for industrial drives, and the mechanical resonance of the load has to sit well above that or the loop will excite it.
Key Components
- Command Input (Reference Signal): Sets the target — a position, velocity, or torque. In analog systems this is a ±10 V signal; in modern digital drives it's a position count over EtherCAT or step/direction pulses. Resolution of the command must equal or exceed the resolution of the feedback, otherwise the drive dithers between counts.
- Feedback Sensor: Measures the actual output. Incremental encoders run 1000-10000 counts per revolution, absolute encoders push 17-23 bits, and resolvers are favoured in high-temperature aerospace work because they survive 200°C. The sensor's resolution and update rate set the ceiling for loop performance.
- Summing Junction: Subtracts feedback from command to produce the error signal. In a digital servo this is a single subtraction inside the drive's DSP, executed every loop cycle (typically 8-32 kHz). Any offset bias here shows up as steady-state position error.
- Controller (PID): Shapes the error into a drive command using proportional, integral, and derivative gains. Kp sets stiffness, Ki kills steady-state error, Kd damps overshoot. Tuning is iterative — start with Ki=Kd=0, raise Kp until it just oscillates, back off 30%, then add Ki to remove static droop.
- Servo Amplifier: Converts the controller's drive command into motor current using a current loop running at 8-20 kHz. The amplifier's current bandwidth must be at least 5× the velocity loop bandwidth, or the outer loops can't trust the inner one and the system goes unstable.
- Actuator (Servo Motor): Delivers torque to the load. Brushless DC and AC permanent-magnet motors dominate modern servo work because of their torque density and zero brush wear. Continuous torque ratings range from 0.05 Nm on a small RC-style servo up to 200 Nm on industrial direct-drive units.
Who Uses the Servo (mechanism)
Servos appear anywhere a system needs to follow a reference accurately under disturbance — load changes, friction, gravity, wind, current draw. The reason is simple: open-loop systems guess, closed-loop servos measure. If you've ever wondered why a CNC machine can hold ±0.005 mm while a stepper-driven 3D printer drifts on long moves, this is the answer. The closed loop catches the error before it accumulates. Across robotics, machine tools, aerospace, broadcast, and even hobby RC, the same control architecture scales from a 9-gram model-aircraft servo to a 50 kW direct-drive radar pedestal.
- Machine Tools: Yaskawa Sigma-7 and Fanuc αi-series AC servos drive the X/Y/Z axes on Mazak Integrex multi-task lathes, holding ±2 µm positioning over a 1 m travel during contour interpolation.
- Industrial Robotics: ABB IRB 6700 and KUKA KR Quantec robots use 6 brushless servo motors with 21-bit absolute encoders per arm to repeat ±0.05 mm at the tool flange under 235 kg payload.
- Aerospace Flight Controls: Moog hydraulic servoactuators position the rudder and elevator on the Boeing 777, taking flight-computer commands at 80 Hz and rejecting aerodynamic hinge-moment disturbances in real time.
- Broadcast and Film: Sachtler and Vinten remote pan/tilt heads use brushless servos with 17-bit encoders to deliver smooth, jitter-free camera moves down to 0.001°/s creep speeds for live sports and astronomy.
- Semiconductor Manufacturing: ASML lithography stages use linear servo motors with laser interferometer feedback to position 300 mm wafers to sub-nanometre accuracy at scan speeds above 1 m/s.
- Hobby and RC: Futaba and Hitec RC servos like the HS-5645MG use a potentiometer feedback loop and a small brushed motor to position control surfaces on model aircraft to roughly ±0.5° at 0.18 s/60° slew.
The Formula Behind the Servo (mechanism)
The single most useful equation in servo work isn't the full transfer function — it's the steady-state position error under a constant velocity command, which tells you whether your loop has the gain to follow a moving target without lagging behind. At low velocity commands the error is tiny and the system feels stiff. Push the velocity command up and the error grows linearly until either the motor saturates or the following error trips a fault. The sweet spot lives where your maximum commanded velocity produces a position error well below your application's tolerance budget — typically 1/4 to 1/10 of the spec. Below that you're over-built; above it you'll either drop counts or alarm out.
Variables
| Symbol | Meaning | Unit (SI) | Unit (Imperial) |
|---|---|---|---|
| ess | Steady-state following error (position lag at constant velocity) | mm | in |
| vcmd | Commanded velocity | mm/s | in/s |
| Kv | Velocity gain (loop gain) of the position loop | 1/s | 1/s |
Worked Example: Servo (mechanism) in a pick-and-place gantry for SMT assembly
An SMT line integrator in Penang is commissioning a Delta ASDA-A3 servo drive on the X-axis of a custom pick-and-place gantry that places 0402 passives on a PCB. The placement tolerance is ±0.05 mm. The drive is configured with a velocity loop gain K<sub>v</sub> of 30 s<sup>-1</sup>, and the production move profile commands a peak velocity of 600 mm/s during the rapid traverse between feeder and board. The integrator needs to know the steady-state following error during the rapid, the error during the slow approach, and whether the loop gain is sufficient for the placement tolerance.
Given
- Kv = 30 s<sup>-1</sup>
- vcmd,nom = 600 mm/s
- vcmd,low = 50 mm/s (slow approach)
- vcmd,high = 1500 mm/s (overspeed test)
- Placement tolerance = ±0.05 mm
Solution
Step 1 — at nominal 600 mm/s rapid traverse, compute the following error:
That number looks alarming until you realise it's only the lag during constant-velocity travel. The placement happens after the axis decelerates and settles, so following error during the rapid is irrelevant to placement accuracy — what matters is the settled error at the placement point, which for this loop gain is well under 0.005 mm.
Step 2 — at the low end of the typical operating range, the slow approach at 50 mm/s:
Still a meaningful lag, but again only during motion. If the integrator commands a creep into position rather than a stop-and-settle, the placement happens with this 1.67 mm offset baked in unless the motion controller compensates with feed-forward.
Step 3 — at the high end, an overspeed test at 1500 mm/s:
Most Delta drives default the following-error fault to 10 mm or so. At 1500 mm/s with this Kv, the drive will trip an AL.009 excessive-deviation fault before the move completes. To run that speed you'd need to either raise Kv to ≥150 s-1 (which the mechanical resonance of a typical gantry won't tolerate), add velocity feed-forward to cancel the lag, or accept the speed limit.
Step 4 — recommended fix: enable 100% velocity feed-forward in the Delta drive, which subtracts vcmd/Kv from the command before it hits the loop. Properly tuned, feed-forward drops following error by 95%+ and the 600 mm/s rapid lag falls from 20 mm to under 1 mm.
Result
At the nominal 600 mm/s rapid the steady-state following error is 20 mm — large in absolute terms but irrelevant to placement accuracy because the axis settles before the part is released. The low end (50 mm/s creep) gives 1.67 mm of lag, and the high end (1500 mm/s overspeed) gives 50 mm, which will trip the drive's following-error fault. The sweet spot for this build is the nominal rapid with velocity feed-forward enabled, which drops effective error below 1 mm during motion. If the measured following error on the scope is significantly higher than 20 mm at 600 mm/s, the three most likely causes are: (1) coupling backlash between the motor and ballscrew adding lost motion the loop sees as error, (2) a sagging 24 V control supply browning the drive's logic during peak current draw, or (3) Kv set lower in the parameter file than on the commissioning sheet — a surprisingly common copy-paste error when cloning configurations between machines.
Choosing the Servo (mechanism): Pros and Cons
Servo control isn't always the right answer. Steppers, open-loop VFDs, and pneumatic actuators each beat servos on cost, simplicity, or robustness in specific applications. The decision turns on accuracy required, disturbance rejection, duty cycle, and budget. Here's how the alternatives stack up on the dimensions that actually drive the buy decision.
| Property | Servo (closed-loop) | Stepper (open-loop) | VFD-driven AC induction |
|---|---|---|---|
| Position accuracy (typical) | ±2-50 µm with encoder | ±0.05° per step, drifts under load | ±0.5-2°, no inherent position feedback |
| Continuous holding torque | 100% of rated, indefinite | 60-70% of rated (derated for heat) | Requires brake or slip; not a holding device |
| Top speed (typical) | 3000-6000 RPM | 1000-1500 RPM before torque collapse | 1800-3600 RPM (4-pole, 50/60 Hz) |
| Loop bandwidth | 50-500 Hz position, 1-3 kHz current | Open loop, no bandwidth concept | 5-20 Hz with vector control |
| Cost (3-axis 750 W system) | $3000-7000 | $600-1500 | $1200-2500 (no position loop) |
| Disturbance rejection | Excellent — error is corrected actively | Poor — missed steps go undetected | Moderate with encoder feedback retrofit |
| Best fit | CNC, robotics, semiconductor, aerospace | 3D printers, low-cost positioners, light-duty CNC | Conveyors, pumps, fans, mixers |
| Typical service life | 20,000+ hours bearing-limited | 10,000-20,000 hours | 30,000+ hours with proper sizing |
Frequently Asked Questions About Servo (mechanism)
Almost never the encoder. Steady-state hunting at a few counts is a tuning symptom — typically integral gain (Ki) is high enough to keep winding up against static friction (stiction), then breaking free, overshooting, and repeating. Each count of hunt is the loop fighting itself.
Try this: drop Ki by 30% and see if the hunt amplitude shrinks. If it does, you've confirmed the cause. If the hunt persists, check for backlash in the load coupling — the loop sees the encoder, but a 5-count slip between encoder and load looks identical to electrical hunt. A dial indicator on the load while you wiggle by hand will isolate it in 30 seconds.
Long moves spend more time at peak velocity, which is where steady-state following error lives. A short jog accelerates, possibly never reaches commanded velocity, then decelerates — so the lag never has time to build to the fault threshold. A long move sustains vcmd for seconds, and the lag of vcmd/Kv sits there the whole time.
The fix is either velocity feed-forward (subtracts the predicted lag from the command), a higher Kv (limited by mechanical resonance), or raising the following-error fault threshold to a value still well below your safety envelope. Feed-forward is the right answer 90% of the time.
Two questions decide it. First — does the axis need to know its position at power-up without homing? If yes (vertical axes with brakes, multi-turn rotary tables, anything where homing risks crashing into a part), you need absolute. Second — what's the resolution math after gearing? A 17-bit absolute (131,072 counts/rev) on a 10 mm pitch ballscrew gives you 0.076 µm/count; a 2500 PPR incremental quadrature-decoded to 10,000 counts gives 1 µm/count.
For most general motion 1 µm/count is more than enough and the incremental is half the price. For semiconductor, metrology, or vertical loads, the absolute pays for itself the first time you avoid a crash on power loss.
That's the Stribeck friction signature — at low velocity the friction coefficient drops sharply as the bearing transitions from boundary lubrication to hydrodynamic, and that nonlinearity destabilises the loop right in the speed band where it shows up. The Ziegler-Nichols-style "raise until oscillation" tuning method assumes a linear plant and misses this.
Two practical fixes: add a small dither signal (a few counts at 200-500 Hz) to keep the bearing always sliding, or add a friction feed-forward term that injects extra current at the velocity sign change. Many modern drives (Yaskawa Sigma-7, Beckhoff AX5000) have a built-in friction compensation parameter for exactly this.
Catalogue Kv assumes a rigid mechanical load. Real loads have torsional compliance — couplings, ballscrews, belt drives, mounting brackets all flex. The position loop only sees the encoder; if the encoder is on the motor shaft and the load is on the far side of a flexible coupling, the load deflects under disturbance while the motor barely moves, and the loop never sees the displacement to correct.
The fix is either a stiffer mechanical path (oversized coupling, shorter ballscrew, direct-drive motor) or load-side feedback (a second encoder on the load with full closed-loop on that signal — "dual-loop" mode in most modern drives). Dual-loop typically recovers 60-80% of the lost stiffness.
Whenever the application is force-controlled rather than position-controlled. Tension control on a winding line, force-fitting a press, robotic polishing where contact pressure matters more than where the tool is — all of these want torque mode with an outer force loop, not a position loop trying to hit a target while a load cell screams.
The tell: if the right answer to "what should the axis do when it hits the workpiece" is "keep pushing with a defined force," you want torque mode. If the answer is "stop at this exact location," you want position mode. A position loop fighting a hard stop will either overshoot, fault out on excessive error, or destroy the part.
Auto-tune routines inject a test signal and measure the response, then back-calculate the inertia and resonance. The result depends on where the axis is in its travel (load inertia varies on a robot arm), the temperature of the lube (cold grease changes friction by 3-5×), and any mechanical play that changes between runs. A 20% gain spread between auto-tune runs on a typical industrial axis is normal.
For repeatable production behaviour, run auto-tune at operating temperature, at the worst-case load configuration, and then lock the gains. Don't let the drive re-tune itself in service unless you have a specific reason — auto-adapting gains in a production cell is how mysterious 3 a.m. shutdowns are born.
References & Further Reading
- Wikipedia contributors. Servomechanism. Wikipedia
Building or designing a mechanism like this?
Explore the precision-engineered motion control hardware used by mechanical engineers, makers, and product designers.