In diesem Projekt werden wir einen ROTARY ENCODER mit ARDUINO verbinden. ARDUINO UNO ist ein ATMEGA-Controller-basiertes Entwicklungsboard für Elektronikingenieure und Bastler. In ARDUINO haben wir 20 E / A-Pins, sodass wir 20 UNO-Pins so programmieren können, dass sie entweder als Eingabe oder als Ausgabe verwendet werden.
Ein ROTARY ENCODER wird verwendet, um die Position der Bewegung und die Winkelbewegung eines Motors oder einer Achse zu kennen. Normalerweise handelt es sich um ein Gerät mit drei Anschlüssen. Mit Strom- und Erdungsstiften gibt es insgesamt 5 Anschlüsse. Ein ROTARY ENCODER-Modul ist unten dargestellt.
Die Stifte eines Drehgebers sind:
- Boden
- Positiv an + 5V angeschlossen
- Ausgangssignal A Pin
- Ausgangssignal B Pin
- Clock Pin oder Common Pin
Der ENCODER liefert Impulse, die die Änderung der Wellenposition darstellen, damit die Systeme sie verstehen können. Stellen Sie sich vor, ein ROTARY ENCODER ist eingeschaltet und die Welle ist bewegt.
Beachten Sie, wie in der obigen Tabelle gezeigt, dass die Welle im Uhrzeigersinn bewegt wird. Damit wird es Falling Edge am A-Terminal und dann am B-Terminal geben.
Beachten Sie, dass die Welle gegen den Uhrzeigersinn bewegt wird. Damit befindet sich Falling Edge am B-Anschluss und dann am A-Anschluss.
Diese Kante tritt einmal für 360/20 = 18 Grad auf (Dies ist für einen Encoder mit 20 Positionen, dies ändert sich von Typ zu Typ, je höher die Anzahl, desto genauer).
Mit beiden oben genannten Bedingungen können wir Richtung und Grad der Drehung erhalten. Somit erhalten wir die erforderlichen Parameter, um die Position einer Welle zu ermitteln.
Erforderliche Komponenten
Hardware: Arduino Uno-Platine, Verbindungsstifte, 220 Ω-Widerstand, LED (acht Teile), 1 kΩ-Widerstand, 220 Ω-Widerstand (2 Stück), 100 nF-Kondensator (2 Stück), Steckbrett.
Software: Arduino jeden Abend
Schaltplan und Arbeitserklärung
Die Kondensatoren hier dienen zum Neutralisieren des Kontaktprelleffekts in ENCODER. Ohne diese Kondensatoren treten beim Lesen der Position einige ernsthafte Probleme auf.
Wenn die Welle bewegt wird, gibt es einen Zeitunterschied zwischen zwei Ausgangsstiften. Die Arduino UNO erkennt diesen Zeitunterschied für die Drehung gegen den Uhrzeigersinn.
Wenn die Drehung im Uhrzeigersinn erfolgt, wird die Binärzahl um eins erhöht, und diese Zahl wird im LED-Anschluss angezeigt (siehe Abbildung).
Wenn die Drehung gegen den Uhrzeigersinn ist, wird die Binärzahl um eins dekrementiert und die Binärzahl wird im LED-Byte angezeigt.
Die Arbeitsweise von Arduino mit dem Drehgeber wird im folgenden C-Code Schritt für Schritt erläutert.