Les codeurs absolus optiques
Remarque préalable : Différence entre codeur incrémental et codeur absolu
Un codeur incrémental signale une variation de position angulaire. C'est un capteur "relatif", il informe de la variation de la position par rapport à la position précédente.
Ainsi, un codeur incrémental ne rapportera sa position angulaire que s'il a déterminé au préalable sa position de référence. C'est pourquoi, il faut initialiser les systèmes comportant des codeurs incrémentaux, afin de rechercher la position de référence.
Cette initialisation peut se faire :
- automatiquement lors de mise sous tension, comme par exemple pour le volant (qui se met à tourner).
- en lançant un procédure initiale de mise en mouvement, comme par exemple pour le bras BETA, le robot Ericc, etc...
Un codeur absolu signale quant à lui une position angulaire par rapport à une référence déjà définie dans le codeur. C'est un capteur "absolu".
Ainsi, un codeur absolu informe directement de sa position angulaire sans nécessiter une recherche de position de référence.
Un moyen pratique de différencier expérimentalement un codeur absolu d'un codeur incrémental est de se poser la question « que se passe-t-il lorsque je mets le capteur sous tension ? » . S'il recherche une position de référence, c'est alors un codeur incrémental, sinon c'est un codeur absolu.
Principe
Comme son nom l'indique, un codeur absolu délivre directement une valeur correspondant à la position angulaire de l'axe qu'il mesure. Chaque valeur (ou mot de données ou codes) est unique et est codée sur un disque qui tourne avec l'axe. Le nombre de codes détermine la résolution.
Dès que le codeur est allumé, il lit le code à l'aide de détecteurs TOR photoélectriques et génère une sortie.
La fréquence du changement de code permet quant à elle de déduire la vitesse angulaire.
Exemple
Le disque des codeurs absolus optiques comporte un nombre « n » de pistes concentriques divisées en segments égaux alternativement opaques et transparents.
A chaque piste est associé un couple émetteur / récepteur optique. Chaque piste a donc son propre système de lecture.
La piste intérieure est composée d'une moitié opaque et d'une moitié transparente. La lecture de cette piste (« bit de poids le plus fort »), permet de déterminer dans quel demi-tour, l'axe se situe.
La piste suivante est divisée en quatre quarts alternativement opaques et transparents. La lecture de cette piste combinée avec la lecture de la piste précédente permet alors de déterminer dans quel quart de tour (1/4), l'axe se situe.
Les pistes suivantes permettent successivement de déterminer dans quel huitième de tour ( 1/8 ), seizième de tour ( 1/16 ), ... etc... l'axe se situe.
La piste extérieure donne la précision finale et est appelée (bit de poids le plus faible).
Cette piste comporte 2n points correspondant à la résolution du codeur.
Pour chaque position angulaire de l'axe, le disque fournit un « code binaire » de longueur « n » correspondant à 1/2n ème de tour.
Un codeur absolu délivre en permanence un code qui est l'image de la position réelle de l'axe.
NB : un codeur absolu à 8 pistes a la même résolution (soit 28=256 points/tr) qu'un codeur incrémental à 256 fentes.

Exemple d'un codeur avec 3 pistes ci-dessous :
Monotour ou multitours
Les codeurs absolus sont disponibles en monotour ou multitours. Les versions monotour fournissent des données de position pour un tour complet de 360°, qui se répètent à chaque tour de l'axe. Le multitours possède un compteur de tours qui permet au codeur d'indiquer non seulement la position de l'axe, mais également le nombre de tours.