- What EPOS4 SSI configuration is required for maxon's EMT multi-turn encoder?
1.) EMT's SSI protocol specification
maxon's EMT multi-turn encoder uses the following SSI protocol:
The start of EMT's SSI data transmission is triggered by the clock signal (CLK) of the EPOS4.
- With the first CLK signal's falling edge the EMT encoder latches its current position.
- The first rising edge of the CLK signal sets the data line of the EMT encoder to “0”.
- The data line is kept low (= '0') for 8 CLK ticks then.
After this start phase the slave transmits the position data which consists of ...
- Multi-turn value (= number of turns): 16 bit
- Single-turn value (= position within one turn): 17 bit
The MSB is transmitted first. The transmission finally ends with the DATA line set to zero again.
2.) EPOS4's SSI configuration
2.1) Configuration of "Data bits" parameters
The 8 “starting bits” with zero state of the EMT data line have to be configured as “Special bits leading” by the EPOS4. Without such a configuration (resp. keeping the default "Special bits leading = 0) the evaluation of the multi-turn and single-turn position data by the EPOS4 goes wrong and results in an even strongly mismatching speed and wrong positioning (seen from the user's point of view checking the output shaft motion).
This means that the EPOS4 demands for the following configuration of the data bits in case of an ENT encoder:
or (recommended in case of position control):
It is mandatory to configure "Special bits leading" as 8 like by the screenshots above (and not 0 which is present as default)!
Due to the fact that the EPOS4 (like most other motor controllers) just processes 32 bit position data but the EMT encoder transmits 33 bit totally, at least one bit has to be ignored.
It will be suitable for most applications to reduce the processed number of single turn bits to 16 which is still a more than sufficient resolution (of 65536 inc./turn resp. 0.0055°) for extreme precise motor control and accurate positioning. The full multi-turn resolution (of 16 bits = 65536 can be kept in this case.
It must also be taken into account that the lowest 3 - 4 significant bits of the "Single-turn" resolution can be influenced by noise due to encoder's internal interpolation or any mechanical vibration of the mechanics during operation. It can occur then that the information of the "lowest significant bits" (= the transmitted position value) changes even at standstill and fluctuates around the target position. Finally this can lead to a slight but fast oscillation of the motor shaft around the target position and be perceived as "unsteady" control, especially in case of motor controllers (such as an EPOS4) with fast control cycle rates that react very dynamically to every bit change of the position data. This oscillation can be overcome if the 3 - 4 lowest significant bits of the "Single-turn bits / Position" are ignored by the control and not processed at at, i.e. "Single-turn bits / Position" is configured just as 13 or 14 bits.
Practical hint & best position control base:
In practice, an even lower configuration of only 13 or 14 bit "Single-turn bits / position" often results in a better, smoother standstill control. For precise positioning, 13 bits (= 8192 inc. per motor shaft revolution or 0.044°) are almost ever sufficient, since the mechanics (or a gear) mounted on the motor shaft have often a far greater backlash and the most relevant impact concerning position accuracy of the load.
2.2.) Configuration of "Encoding" parameters
Please take care to configure a "Data rate" of 1000 kBit/s in maximum because this is the data rate limit of the EMT.
2.3.) Configuration of "Advanced" parameters
Please keep the following main important points in mind concerning the configuration of a EMT multi-turn SSI encoder:
- Data rate: max. 1000 kBit/s
- Special bits leading: 8 (!)
- Multi-turn bits: 16
- Single-turn bits: 17
Recommendation: "Single-turn bits / Position" = 16
or even better in case of position control: 13 or 14 bits only!
Find some more information about EPOS4's SSI configuration features by this link: