Servomotor

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Industrial servomotor
The grey/green cylinder is the brush-type DC motor. The black section at the bottom contains the planetary reduction gear, and the black object on top of the motor is the optical rotary encoder for position feedback. This is the steering actuator of a large robot vehicle.
Industrial servomotors and gearboxes, with standardised flange mountings for interchangeability

A servomotor is a rotary actuator or linear actuator that allows for precise control of angular or linear position, velocity and acceleration.[1] It consists of a suitable motor coupled to a sensor for position feedback. It also requires a relatively sophisticated controller, often a dedicated module designed specifically for use with 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 or automated manufacturing.

Mechanism

As the name suggests, a servomotor is a servomechanism. More specifically, it is a closed-loop servomechanism that uses position feedback to control its motion and final position. The input to its control is some signal, either analogue or digital, representing the position commanded for the output shaft.

The motor is paired with some type of encoder to provide position and speed feedback. In the simplest case, only the position is measured. The measured position of the output is compared to the command position, the external input to the controller. If the output position differs from that required, an error signal is generated which then causes the motor to rotate in either direction, as needed to bring the output shaft to the appropriate position. As the positions approach, the error signal reduces to zero and the motor stops.

The very simplest servomotors use position-only sensing via a potentiometer and bang-bang control of their motor; the motor always 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.

More sophisticated servomotors measure both the position and also the speed of the output shaft. They may also control the speed of their motor, rather than always running at full speed. 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.

Servomotors vs. stepper motors

A servomotor consumes power as it rotates to the commanded position but then the servomotor rests. Stepper motors run warm to the touch because they continue to consume power to lock in and hold the commanded position.

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 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 will immediately turn to whatever angle the controller instructs it to, regardless of the initial position at power up.

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 optimise 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. They act like servomotors but have some differences in their software control to get smooth motion. The top 3 manufacturers of closed loop stepper motor systems employ magnetic encoders as their feedback device of choice due to low cost, and resistance to vibration. The main benefit of a closed loop stepper motor is the cost to performance ratio. There is also no need to tune the PID controller on a closed loop stepper system saving time.[2]

Many applications, such as laser cutting machines, may be offered in two ranges, the low-priced range using stepper motors and the high-performance range using servomotors.[3]

Encoders

The first servomotors were developed with synchros as their encoders.[4] Much work was done with these systems in the development of radar and anti-aircraft artillery during World War II. [5]

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.[6] 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.

Motors

The type of motor is not critical to a servomotor and different types may be used. 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.[7] 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.[8]

Drive modules for servomotors are a standard industrial component. Their design is a branch of power electronics, usually based on a three-phase MOSFET 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.[9] 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.

Control

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.

References

  1. http://www.princeton.edu/~mae412/TEXT/NTRAK2002/292-302.pdf
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. "Naval Ordnance and Gunnery, Volume 1", 1957, U.S. Navy Manual, Chapter 10.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.