De nombreux appareils présentent des boutons rotatifs de réglage. On peut tourner dans un sens ou dans l’autre pour augmenter ou diminuer une valeur qui s’affiche à l’écran. La fonction est identique à deux boutons poussoirs (un bouton marqué « + » et un bouton marqué « -« ). Mais que se cache-t-il derrière le bouton rotatif ? Une roue codeuse, aussi appelée encodeur rotatif ou codeur incrémental…
Codeur incrémental démonté (c’est le réglage de volume d’un ampli home cinéma)
On pourrait croire à un potentiomètre sans butée (potentiomètre sans fin) mais ce n’est pas le principe d’une résistance ajustable. Si certains parlent de potentiomètre sans butée, c’est un abus de langage.
L’encodeur rotatif présente 3 bornes. Il y a une borne commune et deux autres bornes. Ces deux bornes sont tantôt reliées tantôt non reliées à la borne commune.
Schéma du codeur incrémental : association de deux interrupteurs
Lorsqu’on le tourne, il va tantôt faire contact, tantôt non contact entre la borne commune et une borne. La borne est donc tantôt reliée à la borne commune, tantôt flottante. La borne commune peut être la masse (0V). En fait, une résistance de tirage (pull up) est reliée chacune des bornes. La borne est au niveau de l’alimentation (5V par exemple) lorsque l’encodeur ne fait pas contact, et à 0V lorsque l’encodeur fait contact.
On peut appeler niveau logique « 0 » le 0V et niveau logique « 1 » le 5V.
Pour déterminer le sens de rotation, une autre borne est montée dans l’encodeur rotatif (appelons la la borne « B » et l’autre borne la borne « A »), mais avec un décalage des contacts. Lorsqu’on tourne l’encodeur rotatif, la borne « A » et la borne « B » vont toutes les deux passer de 0V à 5V et inversement. Mais il existe un décalage. Si on tourne dans un sens, c’est d’abord la borne « B » qui passe de 0V à 5V, si on tourne dans l’autre sens, c’est la borne « A » qui passe d’abord à 0V. Le système électronique interprète cela comme tourner vers la gauche ou tourner vers la droite pour augmenter ou diminuer le volume sonore, ou tout autre réglage numérique :
Principe de fonctionnement de l’encodeur rotatif
Si on lit dans l’ordre les valeurs logiques de la borne « A » puis de la borne « B », on forme un mot binaire à 2 caractères.
Lorsqu’on ne tourne pas l’encodeur, rien ne se passe d’un point de vue électrique.
Si on se déplace vers la droite (pour augmenter le volume de l’ampli), le mot binaire va successivement prendre ces valeurs :
Principe de l’encodeur rotatif : valeurs binaires
Quand on va vers la droite, on a donc AB = 11, puis AB = 10, puis AB = 00
On a ensuite l’enchainement AB = 00, puis AB = 01, puis AB = 11
Le système interprète donc comme « tourner vers la droite » ou « augmenter de 1 » les suites suivantes :
00 -> 0101 -> 1111 -> 1010 -> 00
Si on tourne l’encodeur dans l’autre sens, les enchainements suivants auront lieu :
00 -> 1010 -> 1111 -> 0101 -> 00
On peut imaginer pour plus de robustesse du système qu’il faille reconnaître 2 basculements successifs pour interpréter « augmenter de 1 » :
00 -> 01 -> 11
ou bien
11 -> 10 -> 00
et pour interpréter « diminuer de 1 » :
00 -> 10 -> 11
ou bien
11 -> 01 -> 00
Si l’encodeur passe brutalement de 00 à 11, il y a un problème ! Cette situation ne doit jamais se produire. Mais en pratique, physiquement, les deux contacts ne peuvent pas commuter exactement au même instant… Il y en a toujours un qui fait contact avant ou après l’autre. Donc fonctionnement erratique du système électronique possible. Ou bien l’électronique ne va pas prendre en compte la transition.
Boitiers des codeurs incrémentaux
les codeurs incrémentaux (encodeur rotatif) se présentent comme des potentiomètres à monter sur carte électronique. D’où la confusion avec les potentiomètres qui seraient sans butée… Voici quelques exemples de codeurs incrémentaux de chez Alps :
Codeurs incrémentaux : différents boitiers mécaniques
Réalisation physique d’encodeur rotatif (codeur incrémental)
Les encodeurs rotatifs forment une alternance de contact et d’absence de contact, décalée de 1/4 de période angulaire. Voici un encodeur qui a été démonté :
Après démontage (considérez que le démontage est définitif, ce codeur incrémental a été sacrifié pour la démonstration). Son prix est de 2 euros.
Codeur incrémental ouvert : curseurs et zones de contacts
Un curseur particulier à 3 languettes métalliques est fixé à l’axe rotatif. C’est ce curseur qui tourne quand on tourne le bouton :
Détails sur le curseur de l’encodeur rotatif (codeur incrémental)
Un support avec des alternances métalliques et isolantes :
Alternances conductrices et isolantes de l’encodeur rotatif
Une des languettes du curseur est toujours sur le tiers en métal plein (la borne commune). Chacune des deux autres languettes du curseur sont toujours dans le tiers respectif correspondant à la borne A ou la borne B. Si on tourne indéfiniment le codeur, ce ne sera pas toujours la même languette du curseur qui sera sur la borne commune, la borne A et la borne B, mais peu importe. L’essentiel est que les 3 languettes soient toujours reliées ensemble.
Il y a toujours une usure mécanique et une durée de vie à ces encodeurs rotatifs, étant donné qu’il s’agit d’un curseur qui se déplace lorsqu’on tourne le bouton (entre 10000 et 100000 tours). Il y a aussi une tension et un courant maximum à ne pas dépasser sur le codeur incrémental, sinon sa durée de vie sera sévèrement réduite.
On peut naturellement tourner le bouton indéfiniment (pas de butée, pas de fin), mais la durée de vie est là :
Codeur incrémental Alps série EC12
Codeurs incrémentaux sans contact
On peut réaliser des codeurs incrémentaux à partir de roues à fente : il faut une LED d’un côté de la roue et une photodiode de l’autre côté. L’alternance de matière opaque et de fente permet de créer des niveaux électriques binaires (0 et 1) sans contact. Mais il faut se rappeler qu’une LED présente aussi une durée de vie (sa luminosité faiblit avec les années d’utilisation).
On peut aussi créer des mots binaires et des divisions par deux en faisant un secteur angulaire d’une largeur double à côté d’un autre :
Mots binaires sur un codeur incrémental
B00P0BPMI4
Exemples de codeur incrémental
Voici quelques exemples d’appareils utilisant un codeur incrémental (encodeur rotatif) :
– réglage de minuteries sur les fours- guichets automatiques (la molette pour faire défiler vers le haut ou vers le bas un menu)- distributeurs automatiques- volume sonore des amplis home cinéma- applications et réalisation à base de cartes Arduino- etc…
Bouton de volume sans butée : codeur incrémental et son électronique cachés derrière
Bonjour Stéphane-67,Je viens de découvrir votre forum et je dois dire que pris par le temps je n’ai pas cherché si la réponse a ma question s’y trouvait. :(Pouvez vous cependant me donner cette info ?J’ai dessoudé le codeur de mon autoradio car il ‘grippait ». C’est un Mitsumi mais pas de ref. Donc je l’ai démonté.Il possède 4 « brosses » et 2×6 contacts.Deux question donc :Comment discerner un 12, 15, 24 positions, ainsi que Ec09 Ec12 afin de pouvoir commander le bon codeur ?Dans le cas ou, par exemple je met un 24 position a la place d’un 12 position, cela peut il fonctionner ?
Bonjour Khemiri, ici, il n’y a aucune différence entre encodeur, codeur ou roue codeuse. C’est la même chose
Bj
Merci Stéphane de m’expliquer s’il vous plait la différence entre codeur et encodeur c’est très urgent .
bonjour Stéphane . S’il vous plait je veux un cours pratique en électronique pour débutant ainsi que l’utilisation d’un multimètre pour tester les différentes valeurs sur une plaque électronique en PDF merci
Bonjour Stéphane,
Je rejoins la demande de Samy pour une tension de +-70V.
Je cherche un module pour alimenter un ampli de 2*250W / 8 ohm
Un détail du choix du transformateur et de son rebobinage ?
Cordialement,