L'électronique - Le codeur optique

Un codeur optique, c'est quoi ?

C'est un appareil qui permet de convertir une rotation en signal électrique. Il comporte un disque (généralement en verre) solidaire d'un axe. Lorsque l'axe tourne, le disque tourne avec lui. Sur ce disque sont tracés deux séries de petits traits, décalées l'une par rapport à l'autre. Une source de lumière se trouve devant chaque série de traits et de l'autre côté du disque (en face de chaque source lumineuse) se trouve un récepteur de lumière. Ce récepteur convertit le signal lumineux reçu en signal électrique. Lorsque un trait passe entre la source et le récepteur, ce dernier ne reçoit plus de lumière, il génère un signal à l'état bas (0V). Si le disque tourne, le trait est remplacé, devant la source lumineuse, par une zone transparente. Le récepteur reçoit alors de la lumière et il génère un signal à l'état haut (+5V). Ceci est vrai pour les deux séries de traits. Lorsque l'axe tourne, le codeur  optique génère donc deux séries d'impulsions (à 0V et à 5V) décalées dans le temps l'une par rapport à l'autre.

Comment l'utiliser ?

Un codeur optique à une caractéristique principale : c'est le nombre d'impulsions par tour. Ca représente le nombre de traits contenus dans chaque série. Plus ce nombre d'impulsions est élevé et plus le codeur optique est précis et cher ( et même très cher pour certains). Celui choisi pour le planétarium est un 500 impulsions par tour.

Ce nombre d'impulsions permet donc de savoir de quelle valeur d'angle tourne l'axe. En effet, pour 500 impulsions, chaque alternance "noir transparent" représente 360° / 500 = 0,72°.

Selon le sens de rotation on voit d'abord la phase A puis la phase B ou l'inverse. Ceci nous permet de dire dans quel sens tourne l'axe. Le chronogramme suivant montre comment on peut utiliser ces informations pour le codeur utilisé dans le planétarium.

Pour déterminer le sens de rotation il suffit de regarder, sur le front montant de la phase B, dans quel état se trouve le signal phase A. A 0V c'est un sens de rotation et à 5V c'est l'autre. Il faut ensuite ajouter ou soustraire, en fonction du sens de rotation, 0,72° à l'angle courant pour chaque front montant de la phase A. Pour avoir une valeur absolue de l'angle, il faut pouvoir initialiser le système électronique qui traite les informations du codeur. Un détecteur de passage à l'angle 0 remplit cette fonction. On peut augmenter la précision du codeur optique en utilisant les deux fronts (montant et descendant) des phases A et B. On a donc maintenant 2000 impulsions par tour et on multiplie par 4 la précision du codeur. Le chronogramme suivant indique comment faire.

On compte cette fois-ci le nombre d'impulsions régénérées  et chaque impulsions indique une évolution de 0,18° de l'angle. La détection du sens de rotation reste la même qu'auparavant. Une utilisation intermédiaire du codeur optique permet de multiplier par 2 le nombre d'impulsions. Soit dans notre cas 1000 impulsions par tour du codeur. On génère pour cela un signal qui est à l'état haut lorsque la phase A ou la phase B est à l'état haut mais pas lorsque les deux phases sont en même temps à l'état haut ou à l'état bas. Le chronogramme suivant indique comment réaliser ceci.

On compte le nombre d'impulsions régénérées  et chaque impulsions indique une évolution de 0,36° de l'angle. La détection du sens de rotation reste la même qu'auparavant.

Page précédente  

Page suivante