Technical Article

A Look Into Rotary Encoder Types: Absolute and Incremental

April 28, 2020 by Muhammad Asim Niazi

This article looks at rotary encoders, covering the main types, introducing their characteristics, and introducing their key applications in control systems.

Rotary encoders are one of the most important elements of industrial automation. With their compact design, high reliability, and ability to withstand any type of environment, they have won the confidence of almost all players of every industry.


What is a Rotary Encoder?

A rotary encoder is an electro-mechanical device that gives feedback. This feedback is in response to the motion of the position of the attached mechanical assembly (in most cases, it is a shaft). Encoders are widely used in the industrial sector and their basic use is in controlling rotary movements.


Closeup of a rotary encoder

Figure 1. Closeup of a rotary encoder


The encoder gives output every time the assembly moves in a circular direction. The output is in the form of electrical signals. Depending on the type of encoder, the output can be a series of pulse trains or a fixed value that can be used for any type of task.

The output of the encoder must be connected to a controller or any interface circuitry to make use of its signal. It can be used to calculate speed, count, or position of the attached assembly.


Types of Rotary Encoders

Rotary encoders are classified according to the type of output they produce. There are two main types of rotary encoders:

  1. Incremental encoders
  2. Absolute encoders

It’s common to see both in many industrial applications. However, since each type of encoder produces different types of output, they are used in different areas of applications.


Incremental Encoders

Incremental encoders produce continuous square wave pulses when the shaft is moved.

If one position has a HIGH value, the next position will have a LOW value. After the LOW value, the next position will be HIGH again, and the final position will be a ZERO value. This signal pattern is repeated again and again for a full revolution. 

Keep in mind that every incremental encoder has a fixed number of pulses generated in a full revolution, more commonly called pulse per revolution (PPR).

Incremental encoders have three outputs:

  1. Channel A: Square wave in response to rotation.
  2. Channel B: Square wave pulse in response to rotation. But the output of channel B is 90 degrees out of phase with channel A.
  3. Channel Z: Generates an output when a complete revolution is completed. 


Applications for Incremental Encoders

Incremental encoders are widely used in many types of industries, due to their simplicity and robust design. Let’s look at a few.


Volume Control in Filling Applications

Incremental encoders are used to monitor and control the volume of liquid in a container. The encoder in this application is used as a counter.

The Encoder is attached to a rotary pump and the volume of liquid is calibrated by counting the pulses received from the encoder. The specific number of pulses represents the specific volume of a liquid.


Incremental encoders are used to monitor and control the volume of liquid in a container.

Figure 2. Incremental encoders are used to monitor and control the volume of liquid in a container.


The pulses from the encoder are compared by the reference number of counts. When the count received becomes equal to the reference count, the controller stops the pump and the container is transported to the next stage of the operation. This process is repeated for the next container.


Speed Monitoring in Wind Turbines

Incremental encoders are widely used in wind turbines to monitor the speed of the shaft attached to the wind blades. This is necessary to prevent the attached generator or motor from over-speeding and burning out. It is also used to stop the system when enough wind is not available to rotate the shaft.

In this application, the encoder is used as a counter. The number of pulses calculates the speed or velocity. This calculation is done internally by a controller, for example, a PLC.


Direction Control

As mentioned above, incremental encoders have three outputs. Two outputs are terminal A and terminal B. Both of these outputs are 90 degrees out of phase with each other.


90-degree out-of-phase signal A and B

Figure 3. 90-degree out-of-phase signal A and B


Monitoring these two outputs allows us to control the direction of the attached assembly. For example, if signal B arrives before signal A, we can trigger an alarm and stop the system, as compared to normal operation where signal A arrives before signal B.


Speed Control in Elevator fields

An incremental encoder is used in elevator and lift control applications for controlling speed. Encoders in these applications measure the rotational speed of the motor. The pulses received from the encoder are fed to a controller to take appropriate actions like speed reduction when the desired floor has arrived, or to prevent over-speeding.


Absolute Encoders

Absolute encoders give feedback in the form of unique value instead of pulse. Every position of the shaft is represented by a distinct code that is not repeated in the whole circular motion.

The main advantage of an absolute encoder is that it gives accurate information about the position of a shaft, which can be used by many different applications involving position control.

Other advantages include:

  • The unique value of the shaft is remembered even after the power is shut down. When you power-up the system, it will output the value of the last position at which it was powered-down.
  • No need for homing after the system stops or power is shut-off, which is required in systems developed with incremental encoders.
  • You can directly use the output to monitor and control the position without the use of additional reference inputs and calculations.


Applications for Absolute Encoders

Absolute encoders are the preferred choice for systems requiring position control. These include a variety of industries, so let’s look at a few.



Packaging requires strict position control to synchronize all of the steps. It is one of the most important parts of many industries, including food and beverages, pharmaceuticals, and oil and lubricants.

The absolute encoder determines the position of the main shaft of the machine and subsequent steps are dependent on the output of the absolute encoder. Each step — packaging material, product feeding, package sealing, cutting, indexing, and printing — must complete before the start of the next step. Otherwise, the operation will stop.


Wind Turbines

Absolute encoders are used in wind turbines to optimally position the blades to maximize output from the wind. The absolute encoder has the responsibility to remember the position of the wind blades. This position is also remembered even after power is shut down.


Absolute encoders are used in wind turbines to position blades, maximize output, and remember position even after shut down

Figure 4. Absolute encoders are used in wind turbines to position blades, maximize output, and remember position even after shut down. Image courtesy of Peter Dargatz.


Any change in the direction of the wind is picked up by the sensors which give input to the main controller. The controller, in turn, gives the command to change the direction of the blades. 


Solar Energy

Absolute encoders monitor the elevation and azimuth of solar panels. This monitoring is necessary to move the panels to mimic the position of the sun.

The data from the sun tracking system is compared with the data of the absolute encoders by the main controller. A change in the data from sun-tracking triggers the direction of the panels. The encoder monitors the actual position of the panel. When the input of the encoder and data of the tracking system satisfies the algorithm, subsequent actions can be performed.


Elevator and Lift Control

Absolute encoders are used to monitor the position of an elevator. Previously it was done through the use of mechanical switches.

The exact location of the elevator is then used to perform specific actions like elevator start/ stop on the arrival of the desired floor or when the elevator has reached its maximum or minimum position.