home castoo
Description de l'encodeur rotatif KY-040

Retour

Encodeur rotatif en plaquette

L'encodeur rotatif KY-040 est un composant électronique couramment utilisé dans les projets d'électronique et d'automatisation. C'est un capteur qui permet de détecter la rotation d'un arbre ou d'un disque, généralement pour contrôler la position, la vitesse ou d'autres paramètres dans divers systèmes.


1. Structure de base :
- L'encodeur rotatif KY-040 est généralement constitué d'un boîtier en plastique, d'un arbre rotatif et d'un codeur rotatif optique.
- Il peut être équipé de deux canaux de sortie, "CLK" et "DT", qui génèrent des signaux en quadrature pour détecter la direction de rotation.
- Il comporte souvent un bouton-poussoir "SW" intégré qui peut être enfoncé pour effectuer des actions supplémentaires.

2. Fonctionnement :
- L'encodeur rotatif utilise un disque ou un codeur rotatif optique avec des fentes ou des marquages.
- Lorsque l'arbre est tourné, les fentes ou les marquages passent devant des capteurs optiques à l'intérieur de l'encodeur.
- Les capteurs détectent ces changements de lumière et génèrent des signaux électriques en fonction des mouvements de rotation.
- Les signaux "CLK" et "DT" sont en quadrature, ce qui signifie qu'ils ont un décalage temporel qui permet de déterminer la direction de rotation. Ce décalage permet également de compter précisément les impulsions.

3. Utilisations courantes :
- L'encodeur rotatif KY-040 est souvent utilisé pour mesurer la position ou la rotation d'un arbre dans les projets électroniques.
- Il peut être utilisé dans des applications telles que le contrôle de la position d'un moteur, la régulation de la luminosité, la navigation de menu sur un écran, etc.
- Le bouton-poussoir intégré peut être utilisé pour activer des fonctions spécifiques ou pour valider des sélections.

4. Connexion électrique :
- L'encodeur rotatif KY-040 est généralement connecté à un microcontrôleur ou à d'autres circuits électroniques.
- Les broches typiques comprennent "CLK", "DT", "SW" (pour le bouton-poussoir), "VCC" (tension d'alimentation) et "GND" (masse).
- Les signaux "CLK" et "DT" générés par l'encodeur sont généralement des signaux numériques qui peuvent être lus par le microcontrôleur.

Attention différents modèles :
Il y a quelques années la version en plaquette pré-soudée souvent utilisée avec l'Arduino était équipée de trois résistances de rappel (une sur chaque signal), je ne sais pas si c'est par souci d'économie ou pour permettre une liberté à l'utilisateur mais maintenant, il est courant de trouver ce circuit équipé seulement de deux résistances. L'une sur le signal DT et l'autre sur le signal CLK et le circuit SW qui correspond au bouton n'en est plus équipé. Souvent l'emplacement pour installer une résistance SMD (composant de surface) est tout de même présent.

Retour

L'encodeur rotatif est disponible sur une plaquette qui inclue 3 résistances.

Encodeur rotatif 3 resistances en plaquette Encodeur rotatif 3 resistances en plaquette

L'encodeur rotatif est également disponible sur une plaquette qui n'inclue que 2 résistances, un emplacement vide est prévu pour la 3eme.

Encodeur rotatif 2 resistances en plaquette Encodeur rotatif 2 resistances en plaquette Encodeur rotatif 2 resistances en plaquette

Il est facile d'ajouter une résistance de 10k entre le positif et le signal "SW"
soit si vous êtes à l'aise avec les composants de surface directement sur le circuit ou avec une résistance traditionnelle entre les deux signaux sur la face avant.

Encodeur rotatif 2 resistances en plaquette

Il existe également une autre solution pour remplacer la résistance manquante, cette solution est logicielle et elle implique la modification du code que vous désirez utiliser.
On utilise alors la résistance "pull-up" interne du microcontrôleur. Pour s'assurer que la tension ne fluctue pas lorsque le bouton n'est pas pressé, on insère une résistance pull up (résistance de tirage vers le +). Son rôle est d'assurer que l'entrée est positive lorsque le poussoir n'est pas pressé.
Il est également possible d'utiliser un "pull-down" pour s'assurer qu'en cas de non stabilisation du signal d'entrée il est forcé à un niveau bas.
cela est réalisé avec une commande de déclaration de la broche sous la forme ->
pinMode(Nom_de_votre_sortie, INPUT_PULLUP); à la place d'un simple pinMode(Nom_de_votre_sortie, INPUT);
ou
pinMode(Nom_de_votre_sortie, INPUT_DOWN); à la place d'un simple pinMode(Nom_de_votre_sortie, INPUT);
Cette solution peut impliquer des modifications du code à plusieurs emplacements dans le code.

Retour