Un encodeur (générateur d'impulsions) est un appareil électronique doté d'un arbre rotatif qui génère des impulsions lorsque l'arbre tourne. Il existe également des versions qui génèrent des impulsions le long d'un axe de translation.
Il existe essentiellement deux types d'encodeurs :
· codeurs incrémentaux
· codeurs absolus
Un codeur incrémental produit un simple train d'impulsions. Les impulsions sont comptées et converties en angle de rotation (ou distance de translation). En utilisant deux trains d'impulsions (A, B) déphasés de 90 degrés, l'électronique du codeur peut également déduire la direction du mouvement à partir des trains d'impulsions. De plus, il existe souvent un troisième signal qui donne une seule impulsion à 0 degré (Z ou C). Dans de nombreux codeurs, l'inverse de ces signaux est également présent (A, /A, B, /B, Z, /Z).
Un codeur absolu dispose de plusieurs signaux et indique directement l'angle de rotation. Il n’est donc pas nécessaire de compter les impulsions ici. Il existe également des codeurs dits multitours. Ce sont bien des encodeurs qui comptent également le nombre de tours.
Pour une résolution plus élevée, un signal sinusoïdal et cosinusoïdal peut également être utilisé à la place d'une onde carrée : un codeur sincos. De nos jours, de plus en plus de codeurs dotés d'une sortie série sont également utilisés. Pour des conditions difficiles, des résolveurs sont utilisés à la place des codeurs.