What are Rotary Encoders

Rotary encoders

What are rotary encoders?

A device or process that translates data from one format to another is known as an encoder.A rotary encoder is specific to sensing position data. It is a position sensor used to measure rotation. The angular position or motion of a shaft or axle is converted to digital or analog output signals by a rotary encoder. Depending on the sensing technology it can be divided into categories like: magnetic, optical, laser, whereas depending on its output signal it can be subdivided into incremental and absolute.

What is it used for?

As mentioned earlier, rotary encoders are used for position sensing. So, their application is mainly in areas where position sensing is required, for eg: operating motors in a bot. In this we use a rotary encoder to track the speed and direction of the motor.

Working of rotary encoder:

The rotary encoder is a disk with evenly spaced contact zones, which are connected to the three pins, pin a,b,c. Pin c is the ground pin. Now when this disc would start its rotations, the pins a and b which are stationary, would eventually come in contact with the contact zones. When this contact happens current would flow through that pin, thus giving output 1, and 0 otherwise. By doing this we have two waveforms generated, one corresponding to pin a and other one corresponding to pin b.

If we just want to know the position, then analysing any one of these waveforms would suffice. But if we want to know the direction in which the disc is rotating then we would need both the waveforms to analyse this.

To best understand this, let us see an animation made by “How to Mechatronics”.

With the help of this type of encoder the displacement is calculated by counting the number of times that transitions occur between logic levels “0” and “1”. Thus, we get an electrical signal as output, for a physical rotation, which can be further mapped to concerned logical values, using other electronic circuits.

Difference between incremental and absolute encoders

The output of an incremental rotary encoder corresponding to the rotation angle is received when the disc is rotating. A counting measurement method then adds up these pulses from the beginning point, and that’s how we get the rotation angle by mapping these pulses to the sectors.

       Absolute encoder structure

Seems scary!! Don’t worry here’s what it exactly does……

In case of an absolute rotary encoder, the position is decided based on a static reference point. It is a setup with two discs, both having concentric rings with offset markers.One of which is fixed to the central shaft, while the other one is free to move.Each position of the disc, denotes a unique binary code. Hence, given any configuration, by analysing the binary code corresponding to it, you can easily determine the absolute position of the object.

Curious about which is better?

In comparison to incremental encoders, absolute encoders provide a number of benefits. Because no two points on a track are the same, they have a unique code for each shaft position, allowing them to deliver unique position information. In incremental encoders since the increments happen on a single track, and since the number of pulses that can be decoded, and also the speed of the encoder, has limitations, we cannot increase resolution to greater extent. Whereas in case of absolute encoders, more tracks are added in order to overcome this issue, and they also don’t continuously output pulses.

But in applications, where you want to determine the position of the shaft, with respect to a reference point then incremental encoders are used. When the incremental encoder is turned on, it starts counting from zero. Because the incremental encoder starts counting at zero at startup or power interruption, a reference point is established. Also, incremental encoders are more cost-effective and less complex than an absolute encoder. So they are good for applications involving simple pulse counting or frequency monitoring such as speed, direction, and position monitoring.


This blog has been submitted by KRSSG, IIT-Kharagpur under the Robocraze Club Outreach Program.

Author: Tanaya Ramane

Leave a comment

Please note, comments must be approved before they are published