4. Interfacing to the world 57
4.4.1.1 Encoder hysteresis
The encoder module uses a threshold mechanism to ignore temporary direction reversals due to vibra-
tions and mechanical plays. The gures above show the operation of the encoder module, respectively
in the cases of constant rotational speed (Figure 4.18) and input jitter due to mechanical vibrations (Fig-
ure 4.19).
Figure 4.18: Ticks generated in normal operations
Figure 4.19: Ticks generated in the presence of jitter
4.4.1.2 Direction reversal
The IgnoreDirection property controls the behavior of the encoder module when an actual (permanent)
direction reversal occurs: when it is set to true, the module continues generating ticks regardless of the
direction of rotation (see Figure 4.20 and Figure 4.21).
As you can see, on T1 the backwards step is ignored due to the hysteresis effect. Therefore, no ticks are
generated, even if the encoder continues to rotate backwards (T2) and position counter is decreased.
When the encoder starts turning forward again (T3), the internal position counter will be increased
again. However, ticks will be generated again only at T4, i.e. when the counter reaches the value it
had just before the encoder direction inversion.