Optische und magnetische Drehgeber: Unterschiede, Funktionsweise und Beispiele mit KY-040 und AS5600

  • Drehgeber können optisch (wie der KY-040) oder magnetisch (wie der AS5600) sein und haben je nach Verwendung jeweils ihre eigenen Besonderheiten und Vorteile.
  • Der KY-040 zeichnet sich durch seine Einfachheit, seinen niedrigen Preis und seine nützlichen Benutzeroberflächen aus, während der AS5600 absolute Präzision bietet und sich ideal für die Motorsteuerung und Robotik eignet.
  • Die Wahl zwischen dem einen oder dem anderen hängt vom Bedarf an Präzision, Robustheit in der Umgebung und einfacher Integration in Arduino oder ähnliche Projekte ab.

Drehgeber

Die Welt der Elektronik und Robotik steckt voller kleiner Erfindungen, mit denen wir Bewegungen aller Art steuern und überwachen können. Eines der vielseitigsten und nützlichsten Elemente ist zweifellos der Drehgeber, sowohl optisch als auch magnetisch. Diese Geräte sind in Arduino-, Automatisierungs- und Motorsteuerungsprojekten unverzichtbar geworden. Wenn Sie sich schon einmal gefragt haben, was genau ein Drehgeber ist, werden Sie es wissen. Optischer oder magnetischer Drehgeber: Was es ist und Beispiele: KY-040 und AS5600Sie sind an der richtigen Stelle.

In diesem Artikel werden wir uns eingehend mit der Funktionsweise, den Anwendungen und praktischen Beispielen von Drehgebern befassen und uns dabei insbesondere auf zwei sehr beliebte Module konzentrieren: den KY-040 und AS5600Sie lernen, zwischen optischen und magnetischen Encodern zu unterscheiden, ihre physikalischen und elektrischen Eigenschaften kennenzulernen, sie mit Arduino zu verbinden und zu programmieren und welche Vorteile sie je nach Projekt bieten. Wir geben Ihnen außerdem Tipps zur Auswahl und Verwendung dieser Sensoren in Ihren eigenen Projekten. Alles wird anschaulich und ansprechend erklärt, ohne relevante Details auszulassen.

Was ist ein Drehgeber?

Un Drehgeber Es handelt sich um einen Sensor zur Messung der Winkelposition, Drehzahl und Drehrichtung einer rotierenden Welle oder eines rotierenden Elements. Dieses Gerät wandelt die Drehbewegung in elektrische Signale (typischerweise digitale Impulse oder analoge Signale) um, die dann von einem Mikrocontroller wie einem Arduino, einem Raspberry Pi oder sogar einem Industriecontroller interpretiert werden können.

Diese Sensoren sind unerlässlich für Anwendungen, bei denen die genaue Position einer Achse oder ihre Anzahl an Umdrehungen bekannt sein muss. Sie finden sich häufig in Druckern, Servomotoren, Robotern, numerischen Steuerungen und natürlich in Heimwerkerprojekten, von Menüoberflächen bis hin zu Geschwindigkeitsregelsystemen.

Drehgebertypen: optisch vs. magnetisch

Encoder

Drehgeber lassen sich im Wesentlichen unterteilen in optisch y magnetisch, obwohl es auch andere, weniger verbreitete Varianten gibt, beispielsweise kapazitive.

Optischer Drehgeber

Der optische Encoder ist wie der KY-040Es basiert auf einer Scheibe mit Markierungen oder Löchern und einem optischen Sender-/Empfängersystem (Fotodiode oder LED). Bei Rotation der Welle erzeugen die durch diese Markierungen erzeugten Unterbrechungen elektrische Impulse, die der Mikrocontroller zählt und so die Winkelverschiebung bestimmt. Der innere Aufbau besteht typischerweise aus einem statischen Teil (der Scheibe) und einem rotierenden Teil (der Welle, die mit dem zu messenden Element verbunden ist).

Dieser Encodertyp zeichnet sich durch hohe Präzision und schnelle Reaktion aus. Er eignet sich besonders für Anwendungen, bei denen mechanische Robustheit und einfache digitale Lesbarkeit entscheidend sind, wie beispielsweise bei Benutzeroberflächen, Lautstärkereglern, Drehmenüs und Lernrobotern.

Magnetischer Drehgeber

Der magnetische Encoder hingegen verwendet einen Sensor, der empfindlich auf das Magnetfeld reagiert (normalerweise einen Hall-Sensor oder einen speziellen Chip wie den AS5600), der die Winkelposition eines mit der Welle verbundenen Magneten erfasst. Diese Encoder bieten dank interner Analog-Digital-Wandlung eine höhere Auflösung und sind weniger anfällig für Schmutz und Staub, da sie keine optischen Komponenten verwenden. Darüber hinaus bieten sie typischerweise digitale (I2C oder PWM) und/oder analoge Ausgänge und lassen sich daher leicht in verschiedene elektronische Systeme integrieren.

Inkrementelle und absolute Encoder: Hauptunterschiede

Die Welt der Encoder ist weiter unterteilt in inkrementell y Absolutheiten.

  • Inkrementalgeber: Es liefert jedes Mal, wenn sich die Welle um einen bestimmten Bruchteil dreht, ein Signal in Form von Impulsen. Die Anzahl der Impulse pro Umdrehung hängt von der Bauform und dem Modell ab. Um die aktuelle Position zu bestimmen, muss das System diese Impulse von einem Referenzpunkt aus zählen und speichern.
  • Absolutwertgeber: Es liefert direkt die aktuelle Winkelposition der Welle, auch wenn diese sich bei ausgeschaltetem System bewegt hat. Es verfügt meist über eine spezielle Codierung auf der Scheibe oder einen hochauflösenden Magnetsensor.

In diesem Artikel konzentrieren wir uns auf Inkrementalgeber (wie den KY-040) und einen absoluten Magnetgeber (AS5600), da diese am häufigsten vorkommen und sich am einfachsten in Arduino-Projekte integrieren lassen.

Allgemeine Funktionsweise eines inkrementellen Drehgebers

Die Inkrementalgeber (wie der KY-040) bestehen aus zwei Ausgangskanälen, Kanal A und Kanal B, die digitale Impulse erzeugen, die um 90º gegeneinander phasenverschoben sind. Durch Vergleich der Reihenfolge, in der diese Kanäle wechseln, kann man ableiten die Drehrichtung (im oder gegen den Uhrzeigersinn) und zusätzlich das Zählen der zurückgelegten Schritte (Positionen).

Das erzeugte Signal wird als „Quadratur“ bezeichnet und ermöglicht unterschiedliche Präzisionen:

  • Einfache Genauigkeit: Aufzeichnen nur einer Kante in einem Kanal.
  • Doppelte Genauigkeit: Aufzeichnung beider Flanken in einem Kanal.
  • Vierfache Präzision: Aufzeichnung beider Flanken auf beiden Kanälen.

Drehgeber KY-040: Funktionen, Anschlüsse und Verwendung mit Arduino

El KY-040 Es handelt sich um einen der am häufigsten verwendeten inkrementellen Drehgeber in der Maker-Welt. Es handelt sich um ein kompaktes, kostengünstiges und leicht erhältliches Modul, das speziell für den direkten Anschluss an Arduino-Boards und andere Mikrocontroller entwickelt wurde.

Wichtigste technische Merkmale des KY-040:

  • Typ: Optisches Inkremental
  • Versorgungsspannung: 5V
  • Verbrauch: 10 mA
  • Zyklen pro Umdrehung: 30
  • Impulse pro Umdrehung: 20
  • Größe: 20 x 30 x 30 mm
  • Maximales Gewicht 10 Gramm
  • Integrierter Druckknopf: Es ist möglich, die Achse wie eine Taste nach innen zu drücken, was sehr nützliche Zusatzfunktionen in Menüs oder Schnittstellen hinzufügt.

Pinbelegung:

  • CLK: Kanal A (Impulsausgang)
  • DT: Kanal B (Impulsausgang)
  • SW: Integrierter Druckknopf
  • +: 5V Stromversorgung
  • Masse: Land

Wie verbindet man den KY-040 mit Arduino?

Die Verbindung ist direkt und einfach:

Stift KY-040 Arduino-Pin
CLK 2 (oder ein beliebiger digitaler Eingang)
DT 3 (oder ein beliebiger digitaler Eingang)
SW 4 (oder ein beliebiger digitaler Eingang)
+ 5V
GND GND

Es kann auch mit Raspberry Pi verwendet werden, indem die Verbindungspins geändert werden, beispielsweise mit GPIO16 für CLK, GPIO15 für DT und GPIO14 für SW.

Innenleben

Im Gegensatz zu Potentiometern Der Drehgeber KY-040 hat keine Begrenzung seines Drehwinkels., wodurch die Welle unbegrenzt rotieren kann. Im Inneren gleiten zwei Metallbürsten über eine in Sektoren unterteilte Oberfläche und schließen den Kontakt in verschiedenen Kombinationen, die von den Kanälen A und B erkannt werden.

Der Encoder gibt digitale Signale an beiden Pins aus, und der Offset gibt die Drehrichtung der Welle an. Da er inkrementell arbeitet, ist die absolute Position nur bekannt, solange der Zählerstand vom Programmstart an erhalten bleibt. Bei einem Stromausfall wird der Zählerstand zurückgesetzt.

Grundlegendes Codebeispiel für Arduino

Ein klassisches Beispiel für die Verwendung des KY-040 ist das Inkrementieren oder Dekrementieren eines Zählers basierend auf der Drehrichtung. Das vereinfachte Schema wäre:

int A = 2; int B = 3; flüchtig int POSITION = 0; int VORHERIGER = 0; void setup() { pinMode(A, INPUT); pinMode(B, INPUT); Serial.begin(9600); attachInterrupt(digitalPinToInterrupt(A), encoder, LOW); } void loop() { wenn (POSITION != VORHERIGER) { Serial.println(POSITION); VORHERIGER = POSITION; } } void encoder() { static unsigned long letzterInterrupt = 0; unsigned long InterruptionTime = millis(); wenn (interruptionTime - letzteInterruption > 5) { // Entprellung wenn (digitalRead(B) == HIGH){ POSITION++; } sonst { POSITION--; } POSITION = min(50, max(-50, POSITION)); // Bereich begrenzen letzterInterrupt = InterruptTime; } }

Dieser Code enthält einen Entprellschutz, um fehlerhafte Messwerte aufgrund der mechanischen Beschaffenheit der Kontakte zu verhindern. Es wird empfohlen, diesen Schutz in jedem Projekt mit Inkrementalgebern zu implementieren.

Magnetischer Encoder: Funktionen, Anschlüsse und Verwendung mit Arduino

El AS5600 ein hochauflösender magnetischer Drehgeber, ideal für den präzisen Ersatz herkömmlicher Potentiometer, Motorsteuerungen und Roboter. Sein Hauptvorteil liegt in der magnetischen Erkennung, die ihn unempfindlich gegen Schmutz und mechanischen Verschleiß optischer Linsen macht.

Hauptmerkmale des AS5600:

  • Typ: Absolut, magnetisch
  • Auflösung: 12 Bit (4096 Positionen pro Umdrehung)
  • Nahrung: 3,3V oder 5V
  • Schnittstellen: I2C (digital) oder analoger Ausgang
  • flexible Konfiguration: Sie können die Richtung und den Ausgabemodus per Hardware auswählen
  • Analogausgang: Spannung proportional zum Winkel, nützlich für Mikrocontroller ohne I2C
  • Hohe Präzision und Wiederholgenauigkeit: Sein internes System ist darauf vorbereitet, selbst kleine Winkelbewegungen zu erkennen

Pinbelegung und Anschluss an Arduino

Stift AS5600 Funktion Arduino-Pin (I2C)
VCC Lebensmittel 5V
GND Land GND
SDA I2C-Daten A4
SCL I2C-Uhr A5
OUT Analogausgang (optional) A0
DIR/MODE Adress-/Modusauswahl Je nach gewünschter Konfiguration

Wichtiger Hinweis: Auf verschiedenen Tellern Arduino Uno, I2C-Pins können variieren. Überprüfen Sie unbedingt den Schaltplan Ihrer Platine.

Codebeispiel für digitales Lesen (I2C)

Um das Beste aus dem AS5600 mit Arduino herauszuholen, ist es am besten, die spezifische Bibliothek zu verwenden (Sie finden sie im Arduino IDE-Bibliotheksmanager, indem Sie suchen AS5600):

#enthalten #enthalten AS5600-Encoder; void setup() { Serial.begin(5600); Wire.begin(); if (!encoder.begin()) { Serial.println("AS9600 nicht erkannt. Verbindungen prüfen."); while (5600); } Serial.println("AS1 initialisiert."); } void loop() { float angle = encoder.getAngle(); Serial.print("Winkel: "); Serial.print(Winkel); Serial.println(" Grad"); delay(5600); }

Mit diesem Code können Sie den Winkel in Grad in Echtzeit ablesen. Er eignet sich ideal für Anwendungen, bei denen Sie die absolute Position bei maximaler Auflösung kennen müssen.

Codebeispiel für analoges Lesen

Wenn Sie eine einfachere Verbindung bevorzugen oder Ihr Mikrocontroller I2C nicht unterstützt, können Sie den analogen Ausgang des AS5600 nutzen:

const int analogPin = A0; void setup() { Serial.begin(9600); pinMode(analogPin, INPUT); } void loop() { int value = analogRead(analogPin); float angle = map(value, 0, 1023, 0, 360); Serial.print("Analogwinkel: "); Serial.print(Winkel); Serial.println("Grad"); delay(100); }

Auf diese Weise erhalten Sie einen Messwert, der proportional zum tatsächlichen Winkel der Achse entsprechend der Position des Magneten ist.

Praktische Anwendungen und Nutzungstipps

Beide Encoder haben sehr unterschiedliche Einsatzmöglichkeiten in Elektronikprojekten:

  • KY-040: Ideal für rotierende Benutzeroberflächen, Menüs, Helligkeits- und Lautstärkeregelung, Optionsauswahl, Steuerung von Lernrobotern, Heimautomatisierungsprojekte und Systeme, die eine Drehsteuerung ohne absoluten Winkelbezug erfordern.
  • AS5600: Perfekt für die Motorpositions- und Geschwindigkeitsregelung, industrielle Automatisierung, Positionserfassung in Robotergelenken, stabilisierte Kamerasysteme (Kardanringe), hochauflösende digitale Potentiometer und jede Anwendung, die eine präzise Winkelerfassung erfordert.

Einige Tipps zur Verwendung:

  • Immer implementieren Entprellfilterung (Entprellung) bei der Verwendung mechanischer Inkrementalgeber wie dem KY-040, um fehlerhafte Messwerte zu vermeiden.
  • Achten Sie beim AS5600 darauf, dass der Magnet richtig auf den Sensor ausgerichtet ist, um zuverlässige und stabile Messwerte zu gewährleisten.
  • Bedenken Sie, dass bei Inkrementalgebern die Positionsinformationen verloren gehen, wenn die Stromversorgung unterbrochen wird. Beim AS5600 passiert das nicht, da es sich um einen Absolutgeber handelt.
  • Nutzen Sie die vielfältigen Verbindungsmodi, die beide Encoder bieten, um sie an die spezifischen Anforderungen Ihres Projekts anzupassen.

Vergleich: Wann sollte man einen optischen und wann einen magnetischen Encoder wählen?

característica KY-040 (Inkremental Optisch) AS5600 (Absolut magnetisch)
Signaltyp Digital (Quadratur) Digital (I2C)/Analog
Auflösung 20 Impulse/Umdrehung 4096 Positionen/Runde
Funktioniert nach Stromausfall Nein (erfordert Neustart der Zählung) Ja (absolute Position)
Empfindlichkeit gegenüber Staub/Schmutz Empfindlich (mechanische Teile) Sehr robust
Preis Sehr sparsam Mäßig
Integrationsschwierigkeiten Sehr einfach mit Basiscode Erfordert I2C-Bibliothek oder Programmierung
Typische Anwendungen UX, Menüs, einfache Steuerung Motorsteuerung, fortgeschrittene Robotik

Die Wahl zwischen den beiden hängt von den Prioritäten Ihres Projekts ab: Einfachheit und niedrige Kosten im Fall des KY-040 und Präzision und Robustheit im Fall des AS5600.

Drehgeber
Verwandte Artikel:
Drehgeber: Was sie sind und welche Haupttypen sie haben

Starten Sie das Gespräch

Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.