A servomotor (or servo motor or simply servo)[1] is a rotary or linear actuator that allows for precise control of angular or linear position, velocity, and acceleration in a mechanical system.[2] It constitutes part of a servomechanism, and consists of a suitable motor coupled to a sensor for position feedback and a controller (often a dedicated module designed specifically for servomotors).
Servomotors are not a specific class of motor, although the term servomotor is often used to refer to a motor suitable for use in a closed-loop control system. Servomotors are used in applications such as robotics, CNC machinery, and automated manufacturing.
A servomotor is a closed-loop servomechanism that uses position feedback (either linear or rotational position) to control its motion and final position. The input to its control is a signal (either analog or digital) representing the desired position of the output shaft.
The motor is paired with some type of position encoder to provide position feedback (and potentially also speed feedback in more sophisticated designs). The controller compares the measured position with the desired position to generate an error signal, which when fed back causes the motor to rotate in the direction needed to bring the shaft to the desired position. The error signal reduces to zero as the desired position is approached, stopping the motor.
Simple servomotors use position-only sensing via a potentiometer and bang-bang control of their motor; the motor only rotates at full speed or is stopped. This type of servomotor is not widely used in industrial motion control, but it forms the basis of the simple and cheap servos used for radio-controlled models.[3]
More sophisticated servomotors make use of an absolute encoder (a type of rotary encoder) to calculate the shaft's position and infer the speed of the output shaft.[4] A variable-speed drive is used to control the motor speed.[5] Both of these enhancements, usually in combination with a PID control algorithm, allow the servomotor to be brought to its commanded position more quickly and more precisely, with less overshooting.[6]
Servomotors are generally used as a high-performance alternative to the stepper motor. Stepper motors have some inherent ability to control position, as they have built-in output steps. This often allows them to be used as an open-loop position control, without any feedback encoder, as their drive signal specifies the number of steps of movement to rotate, but for this, the controller needs to 'know' the position of the stepper motor on power up. Therefore, on the first power-up, the controller will have to activate the stepper motor and turn it to a known position, e.g. until it activates an end limit switch. This can be observed when switching on an inkjet printer; the controller will move the ink jet carrier to the extreme left and right to establish the end positions. A servomotor can immediately turn to whatever angle the controller instructs it to, regardless of the initial position at power up if an absolute encoder is used.
The lack of feedback of a stepper motor limits its performance, as the stepper motor can only drive a load that is well within its capacity, otherwise missed steps under load may lead to positioning errors and the system may have to be restarted or recalibrated. The encoder and controller of a servomotor are an additional cost, but they optimize the performance of the overall system (for all of speed, power, and accuracy) relative to the capacity of the basic motor. With larger systems, where a powerful motor represents an increasing proportion of the system cost, servomotors have the advantage.
There has been increasing popularity in closed-loop stepper motors in recent years.[7] They act like servomotors but have some differences in their software control to get smooth motion. The main benefit of a closed-loop stepper motor is its relatively low cost. There is also no need to tune the PID controller on a closed loop stepper system.[8]
The first servomotors were developed with synchros as their encoders.[9] Much work was done with these systems in the development of radar and anti-aircraft artillery during World War II.[10]
Simple servomotors may use resistive potentiometers as their position encoder. These are only used at the very simplest and cheapest level and are in close competition with stepper motors. They suffer from wear and electrical noise in the potentiometer track. Although it would be possible to electrically differentiate their position signal to obtain a speed signal, PID controllers that can make use of such a speed signal, generally warrant a more precise encoder.
Modern servomotors use rotary encoders, either absolute or incremental. Absolute encoders can determine their position at power-on but are more complicated and expensive. Incremental encoders are simpler, cheaper, and work at faster speeds. Incremental systems, like stepper motors, often combine their inherent ability to measure intervals of rotation with a simple zero-position sensor to set their position at start-up.
Instead of servomotors, sometimes a motor with a separate, external linear encoder is used.[11] These motor + linear encoder systems avoid inaccuracies in the drivetrain between the motor and linear carriage, but their design is made more complicated as they are no longer a pre-packaged factory-made system.
The type of motor is not critical to a servomotor, and different types may be used.[12] At the simplest, brushed permanent magnet DC motors are used, owing to their simplicity and low cost. Small industrial servomotors are typically electronically commutated brushless motors.[13] For large industrial servomotors, AC induction motors are typically used, often with variable frequency drives to allow control of their speed. For ultimate performance in a compact package, brushless AC motors with permanent magnet fields are used, effectively large versions of Brushless DC electric motors.[14]
Drive modules for servomotors are a standard industrial component. Their design is a branch of power electronics, usually based on a three-phase MOSFET or IGBT H bridge. These standard modules accept a single direction and pulse count (rotation distance) as input. They may also include over-temperature monitoring, over-torque, and stall detection features.[15] As the encoder type, gearhead ratio, and overall system dynamics are application specific, it is more difficult to produce the overall controller as an off-the-shelf module, and so these are often implemented as part of the main controller.[16]
Most modern servomotors are designed and supplied around a dedicated controller module from the same manufacturer. Controllers may also be developed around microcontrollers in order to reduce cost for large-volume applications.[17]
Integrated servomotors are designed to include the motor, driver, encoder, and associated electronics into a single package.[18] [19]