Dans ce projet, nous allons interfacer un ENCODEUR ROTATIF avec ARDUINO. ARDUINO UNO est une carte de développement basée sur un contrôleur ATMEGA conçue pour les ingénieurs en électronique et les amateurs. Dans ARDUINO, nous avons 20 broches d'E / S, nous pouvons donc programmer 20 broches de UNO à utiliser comme entrée ou sortie.
Un ENCODEUR ROTATIF est utilisé pour connaître la position de mouvement et le mouvement angulaire d'un moteur ou d'un axe. Il s'agit généralement d'un appareil à trois bornes, avec des broches d'alimentation et de terre, il y a au total 5 bornes. Un module d'ENCODEUR ROTATIF est illustré ci-dessous.
Les broches d'un encodeur rotatif sont:
- Sol
- Positif connecté à + 5V
- Signal de sortie A pin
- Signal de sortie broche B
- Broche d'horloge ou broche commune
L'ENCODEUR fournit des impulsions représentant le changement de position de l'arbre pour que les systèmes les comprennent. Considérez qu'un ENCODEUR ROTATIF est sous tension et que l'arbre est déplacé.
Comme indiqué dans le tableau ci-dessus, considérez que l'arbre est déplacé dans le sens des aiguilles d'une montre. Avec cela, il y aura Falling Edge au terminal A puis au terminal B.
Considérez que l'arbre est déplacé dans le sens anti-horaire. Avec cela, il y aura Falling Edge au terminal B puis au terminal A.
Ce bord se produira une fois pour 360/20 = 18 degrés (Ceci est pour un encodeur avec 20 positions, cela change d'un type à l'autre, plus le comptage est élevé, plus la précision est élevée).
Avec les deux conditions ci-dessus, nous pouvons obtenir la direction et le degré de rotation. Ainsi, nous obtenons les paramètres nécessaires pour obtenir la position d'un arbre.
Composants requis
Matériel: carte Arduino uno, broches de connexion, résistance 220Ω, LED (huit pièces), résistance 1KΩ, résistance 220Ω (2 pièces), condensateur 100nF (2 pièces), carte à pain.
Logiciel: Arduino tous les soirs
Schéma de circuit et explication de fonctionnement
Les condensateurs sont ici pour neutraliser l'effet de rebond de contact dans ENCODER. Sans ces condensateurs, il y aura de sérieux problèmes de lecture de position.
Lorsque l'arbre est déplacé, il y aura une différence de temps entre la sortie de deux broches de sortie. L'Arduino UNO reconnaîtra cette différence de temps pour le sens horaire de rotation anti-horaire.
Si la rotation est dans le sens des aiguilles d'une montre, le compte binaire est incrémenté de un, et ce compte est affiché dans le port LED comme indiqué sur la figure.
Si la rotation est dans le sens anti-horaire, le compte binaire est décrémenté de un et le compte binaire est affiché à l'octet LED.
Le fonctionnement d' Arduino avec un encodeur rotatif est expliqué étape par étape dans le code C ci-dessous.