Sensors are one the fundamental components in every control system. In other words you can control a parameter just when you can measure it or its effects. In a motion control system, where you are dealing with controlling and adjusting position, the main parameter which should be measured is position. Encoders are sensors which are used to measure position. They are available in the market in different models with different accuracies. If you are interested in digging deeper into their structures, you can read the article about “Servo Motors”.
Inorder to integrate an encoder to a control system, There are multiple absolute position encoder standards. Some of them use RS485 or RS422 based serial digital interfaces with, like Biss or EnDat 2.2. Some others use ethernet-based protocols like PROFIBUS, PROFINET or CAN.
There are two main types of encoders which are incremental and absolute encoders. Incremental encoders can measure only the change in angular position. They output the angular displacement using pulses. Another type of encoder is absolute encoders. These encoders can output the position as soon as they power up and don’t need a change in position.
In Order to understand how incremental and absolute encoders work, let’s take a look at their internal structure.
Optical encoders have a round disc. They use optic sender and receiver to detect obstacles. In an incremental encoder there is an potice sender on one side and an optic receiver on the other side of the disc. The optic sensor detects the crossing of the obstacles in front of it and generates a pulse each time it detects one. By counting the number of pulses, we can calculate the amount of angular displacement of the encoder.
In an absolute position encoder, on the other hand, there are more rows of obstacles. In every position there is a specific pattern of obstacles. In the picture above, there are three rows of obstacles, so there can be eight different patterns around the disc distinguishing a specific section of the disc. Every one of these sections has its own three bit data value. In other words we can say, the absolute encoder encodes every section with three bit data. More rows of obstacles lead to more precise data values.
Another way to increase the precisisty of the encoder data, is to couple the disk by a gearbox to the shaft.
One of the most common sensors used for encoders is optic sensors. Using them we can detect the presence of an obstacle. Using this technique, encoders can measure position or displacement.
Absolute encoders data streams to send the position. There are some protocols that are used to send data out of encoders.
Using digital interfaces has significant advantages compared to sending pulses, especially over long distances. Usually, raw pulses of an encoder are not trimmed well and over large distances can cause voltage spikes due to the series inductance. In addition, they can provide verification like CRC to show whether the signal has been read correctly or not. And last but not last don’t contain specific methods to consider the propagation delay and which can be so slippery. So it’s strongly recommended to use a digital interface to communicate with an encoder even when you don’t need the absolute position.
Here we get to know some of the most common digital interfaces to communicate to a digital encoder.
BiSS is a synchronous serial interface widely used in encoder products. It’s an open source protocol introduced by iC-Haus GmbH.
This protocol is mostly used in point to point configuration, when reading an encoder value. This configuration is based on two signals which are MA and SL. Every signal consists of two differential signals which are MA+, MA- and SL+, SL-. MA is the clock signal and also is used to synchronise the data transfer between master and the slave. The SL signal is used to transfer data from the sensor (slave) to the controller (master). Since this is an isochronous protocol, the gap between data frames is controllable and is determined by the MA signal. The data frame is illustrated in the following image
SSI is an acronym which stands for Synchronous Serial Interface. It’s unidirectional data transfer protocol over RS422 and is widely used for transferring data by encoders.
The clock is generated by the master and can be in the range of 80 kHz to 2 MHz. This protocol does not support propagation delay.
This protocol has a relatively simple data frame. In idle state the clock signal is kept high. The data transfer starts with the first clock. With the first falling edge of the clock, the encoder stores the position to be sent. Then with the first rising edge, the encoder shifts the data out. It sends the most significant bit, MSB, first. After sending all the data, the encoder goes into the idle state again.
EnDat 2.2 is another type of serial data standard used by encoders. Like other serial communication we have discussed, This interface uses differential signals to transmit data. Two differential signals, CLOCK+ and CLOCK- to transmit clock and two others ,DATA+ and DATA-, to transmit data.
In idle state the clock signal is high. With the first falling edge of the signal, the encoder saves the position value. Then after two clocks, master sends the command to slave and request for transmistin of the position value. The slave first send three bits which are as follows:
S1: Start bit
F1: Error 1
F2: Error 2
After sending these bits, the encoder sends the position data with the LSB first. And the last section is the CRC value which has five bits, the ENDAT technology is offered by HEIDENHAIN.
HIPERFACE DSL is another digital protocol for absolute position encoders introduced by Sick. The main feature of this protocol compared to the other mentioned earlier, is its strong robustness which makes it possible to integrate power and signal cables. This feature makes wiring simpler and more neat. Some other features and characteristics of this protocol are listed below:
– The data can be sent using RS485 standard
– Half duplex communication to encoder is available
– The two differential signals are sent on encoder power lines which makes cabling simple. All the wires can be of one cable.
– The cable length can be up to 100 meters.
This protocol can be used in two or four wire configurations. When used in two wire configurations, some considerations on the frequency driver side are made. First a signal transformer is implemented to increase common mode rejection ratio. In addition a pair of inductors are used two couple the dc power to the signal lines and a couple of capacitors to decouple this power the dc voltage from the transformer. In the following image you can see the circulatory and component values recommended by HIPERFACE DSL.
Let’s have an overview on the Absolute encoder digital interfaces
Along with the digital interfaces discussed in the previous chapter, there are some other types of encoders that generate an analog signal in their output. In this chapter we are going to study some of the convenient analog rotary position sensors.
Resolvers are used to measure position and angular displacement of motors. They somehow are like electric motors aknv have windings. They have two main parts which are the stator and rotor. These devices,like encoders, connect to the shaft of a motor and to rotate.
– Rotor: Is the rotating part of the resolver. It has a winding that is fed by a high frequency sinusoidal signal. The winding is also called the excitation winding.
– Stator: It is the fixed part of the resolver. It has two windings which have a 90 degree displacement to each other.
Resolvers are multipole, meaning they can have multiple pairs of these poles. If a resolver has 2p number of these poles, its winding waveform cycles p time in every rotation of the shaft.
In the following picture, you can see a schematic of windings of a resolver.
Hall Effect Sensor
Another type of sensor to measure rotary position is the hall effect sensor. This type of sensor uses hall effect to measure rotation.
Let’s see what the hall effect is. Consider a plate which is part of a circuit and a current is flowing through it. If there is a magnetic field near to the conductor, positive and negative charges rearrange due to the magnetic force to the opposite slides of the plate. So there is a tint amount of voltage different across the plate now. The amount of the voltage difference is dependent on the amount of the current and the magnetic field. So the hall effect sensor creates a voltage signal in presence of a magnetic field.
A hall effect sensor can be used to measure rotary position. To the task, there are magnets around the rotary part of the encoder and a hall effect sensor on the stationary part. As the rotary part rotates, the hall sensor detects magnets that pass. By couling the encoder to the motor shaft, the position and velocity of the shaft can be measured.
Image references wikipedia.
Sin/Cos encoder is another type of encoder that uses analogue signals to transfer data. IT generates two sinusoidal waveforms that have 90 degrees phase shift compared to each other. So one of them is called sin and the other is called cos output. It can provide much higher resolutions of position, which makes it suitable for precise motion control tasks done by servos. Since the output is an analogue sinusoidal waveform, the amplitude could be read in the controller side using high speed ADCs. This makes higher resolution measurement possible. Butr in an incremental digital encore, we are limited to the number of pulses it can produce in each rotation. Sin/Cos encoders use differential signals in order to decrease noise effects along the transition.
These devices call Tachometer are frequently used in industry to measure speed. A tachometer is a device that its output is dependent on the speed of the motor it is connected to and can not be used to measure position of a shaft. There are two main types of tocamoetrs. A tachometer with infrared inoyt uses a plus coming or reflecting from the shaft of the motor to measure its rotation speed. Devices using this technique are mostly portable and don’t need a mechanical cou;ling to the motor. Another type of tachometer, which is also called tachometer generator, generates a dc voltage in the output. These devices are kind of small dc motors that are used as a generator. In these motors, the output voltage is proportional to the velocity. Therefore by coupling this tacomotr to a motor shaft, it generates output voltage which increases by velocity almost linearly. So by measuring the voltage the velocity is measured.