By roboteq on Tuesday, 27 June 2017
Category: How-To, Tips & Technics

How SSI Encoders Work

When operating brushless DC motors, knowing in real-time, and with precision, the position of the rotor is a prequisite to best performance in sinusoidal commutation. While numerous sensor techniques exist and are supported by Roboteq, Synchronous Serial Interface (SSI) is by far the best at is provides an absolute position with great resolution at very fast update rates.

Synchronous Serial Interface (SSI) is a point to point serial communication channel for digital data transmission. Synchronous data transmission is one in which the data is transmitted by synchronizing the transmission at the receiving and sending ends using a common clock signal. Since start and stop bits are not present, this allows better use of data transmission bandwidth for more message bits and makes the whole transmission process simpler and easier. 

The CLOCK and DATA signals are transmitted according to RS-422 standards. Data is transmitted using differential signalling i.e. the CLOCK and DATA are sent using a positive and inverted line for each signal. Differential signaling results in much higher imunity to electrical noise and allows longer wiring distances.

The actual angle sensing device can be using one of several technologies but the most common these days is a rotating magnet over a silicon chip with hall sensors. The angle can be captured with a resolution of 12-bit or better. At 12-bit, each bit irepresents 0.087 degrees of rotation.

As far as signal and timing waveforms, SSI is very similar to SPI. The main difference is that SPI uses a Chip Select signal to enable the sensor's data output synchronize the data frame. With SSI there is only a clock and data. The begining of a frame is determined by the amount of pause time between two clock streams.

In Roboteq controllers, the SSI transfers use a 200kHz clock, so a full 12-bit data frame is captured in 60us. Transfers are synchronized with the 16kHz PWM frequency. One frame is therefore captured during one PWM cycle, and another full PWM cycle serves as pause time. The controller intelligently compensates for the fact that the angle data is read a full 60us after it was captured by the sensor, and therefore is no longer a perfectly accurate measurement of the position at the time it is read. The controller also estimated the rotor position during the PWM cycle where it is the sensor is no read.

The result is a rotor angle capture that is very timely, accurate and of very high resolution. Precise, high resolution angle capture is critical for good performance in Sinusoidal commutation, especially with multiple poles motors. On the diagram below of a 2 poles motors, we can see that the 360 degrees mechanical turns is divided in two electrical turns. So the rotor positon measurement precision of 4096 points is cut in half to 2048 points when it comes to measuring the electrical angle. 

When the number of poles is higher, the encoder resolution is divided even more. The motor below has 22 poles and is equipped with a SSI encoder from RLS. Each electrical turn now only has 1096/22=186 subdivisions. This is marginal but still adequate for sinusoidal operation. However any other encoder technique would have failed in this situation.

Leave Comments