Rotary Encoders Information

Absolute-type rotary encoderRotary encoders convert a shaft's angular position into an analog or digital code. They are characterized as either incremental or absolute devices: incremental encoders are capable of tracking motion only, while absolute types encode both motion and position.


Rotary encoders are useful for providing feedback in many rotary applications and industries, such as process automation, robotics, photographic lenses, optomechanical mice and trackballs, and rotating radar shafts.






Mechanical rotary encoders consist of a metal disc with a ring of cut-out openings as well as a row of sliding contacts fixed to a stationary object. The metal disc is attached to a rotating shaft, and each stationary contact is connected to an electrical sensor. As the disc rotates, some of the contacts touch the disc and switch on, while others fall in the cut-out gaps. The combination of switched-on and switched-off contacts creates a unique binary code for each disc position.


Because contacts are susceptible to wear with heavy use, mechanical encoders are well-suitrotary encoders selection guideed to low-speed manual applications such as radio tuning knobs.


The image at right shows a mechanical encoder cross-section. In the left of the image, note the two rows of cut-out "teeth" labeled A and B. The top of the encoder, fits on top of the discs, and the brush contacts, also labeled A and B, make contact with the A and B disc tracks. The two sets of contacts labeled "common" are maintain contact with the inside of the discs. 




Optical encoders have glass or plastic discs with some transparent and some opaque areas. Using a light source and photo detector array, the encoder can read the disc's optical pattern, determine its position, and translate it into a code. The code is then read by a controller to determine the angle of the shaft. 


Optical encoders are fairly inexpensive, but because they use LEDs and glass components, they are rarely suitable for operation in extreme temperatures (greater than 70° C) and harsh environments. 




Magnetic rotary encoderMagnetic encoders consist of a plastic rotary drum with magnetic poles lining the circumference. The drum turns against a magnetic sensor, which then relays an electric signal indicating the drum's position. 


Magnetic encoders are relatively new devices and are expensive compared to optical encoders. They offer several advantages over the latter type: 

  • Improved temperature and environmental resistance due to the materials used
  • Smaller space requirements due to shorter axial direction
  • Lower cost of custom encoders  

The image below compares the operation of a magnetic and an optical encoder.  


Fiber Optic


Fiber optic encoders often use similar sensing technology as optical types, and transmit position information by light. Fiber optic transmission is advantageous in applications where noise or electrical interference could occur with signals.




Absolute Encoders


Absolute encoders indicate the current position of the shaft and produce a unique code for each distinct shaft angle. This contrasts with incremental encoders, which provide information about the motion of the shaft as opposed to the absolute position. 


Because absolute encoders use a unique code to describe each position, position data is not lost when power cycles through the device. When power is cycled through an incremental encoder, it loses position data until the "home" position is once again triggered.




An absolute encoder's output code is represented as one of several variations on binary language:


  • Binary output is simply represented as a series of ones and zeros.
  • Gray code, also known as reflected binary code, is a binary system in which two consecutive incremental values differ by only one bit. Because only one bit change accompanies each position change, a gray-code encoder is capable of simplified code reading and greater accuracy.
  • Binary coded decimal (BCD) outputs are decimal numbers in which each digit is signified by four bits.



Rotary encoders convert the angular position of a shaft or axle to an analog or digital code. Whereas absolute encoders can track both motion and position, incremental types can only track motion; this motion data can then be transmitted to external equipment to determine position and speed.


When power cycles through an incremental encoder, position data is lost until the "home" position is once again triggered. Some incremental encoders, however, feature an index channel which produces a single pulse per revolution to use a reference marker, eliminating this drawback. Incremental encoders are typically lower in cost and simpler to use when compared to absolute types.




Incremental rotary encoders may feature one of several different types of signal outputs.


Quadrature encoders employ two binary outputs, A and B, which are 90 dQuadrature output rotary encoderegrees out of phase. These signals are decoded to determine a count up pulse or a count down pulse.  


In the accompanying diagram, the lower position of both signals indicates '0', whereas the upper position indicates '1'. Therefore, during the first occurrence of the first phase, both the encoder code would read '00'. By moving one phase to the right, it is now apparent that the code would read '01'; the encoder reads moving from '00' to '01' as a half-turn clockwise.


Single channel encoders are also known as tachometer encoders. They have a single channel which allows for one count per physical line.


Pulse and direction output involves adding a direction channel to a traditional single-channel or quadrature encoder. 




The specifications listed below are common to all encoder types.


Resolution refers to the number of bits the encoder uses to encode the position. Resolution is calculated using the formula 2n, where n is the number of bits. For example, a 9-bit encoder yields 512 counts per disc revolution, whereas a 10-bit encoder yields 1,024 counts per revolution. The resolution of these two distinct encoders would be 9 and 10, respectively. The 10-bit encoder, with twice as many counts as the 9-bit one, would be capable of much more precise position measurement.


Absolute encoders fall into two groups according to resolution:


  • Single turn encoders are capable of up to 360° of revolution.
  • Multi-turn encoders can revolve many times, often up to 4096 turns.


Both single turn and multi-turn encoders retain their position information even after being powered off, but multi-turn encoders also retain their revolution count


Encoder accuracy is important to both types and is typically measured in arc seconds; one degree contains 3600 arc seconds. The accuracy specification refers to the maximum error of a position reading. 


Maximum update rate refers to the rate at which new position readings can be generated and updated, and is specified as a variation of Hertz or cycles (Hz, kHz, MHz, etc.).


Output Interface


The signal types listed below are commonly found as rotary encoder outputs for interfacing with data acquisition equipment and meters. 

  • Analog signals include voltage (such as 0-10 V) or current (such as 4-20 mA) outputs.
  • Serial signals include serial synchronous interface (SSI), FOUNDATION Fieldbus, CANbus, INTERBUS, and SUCOnet. SSI in particular represents a general standard for absolute encoders.
  • Digital output allows for direct interface with a processor. Square wave (as illustrated above) is the most common type of digital output. 



Rotary encoders may be specified, designed, and used according to published standards. Common encoder standards include: 



Anaheim Automation - Encoder Guide


Dynapar - Absolute rotary encoders


Image credits:

Baumer Ltd. | Robot Room/legal | Euchner USA


Already an Engineering360 user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your Engineering360 Experience

Category: Rotary Encoders
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.