WS2025 - Sensortechnik - Drehimpulsgeber

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Abb. 1: Drehimpulsgeber KY-040
Dozent: Prof. Dr.-Ing. Schneider
Modul Mechatronik, Antriebs- und Sensortechnik (Wahlpflichtprofil „Systems Design Engineering“), Wintersemester
Modulbezeichnung: MTR-B-2-5.12
Modulverantwortung: Ulrich Schneider
Lehrveranstaltung: Sensortechnik
Lektion: 8: Digitale Sensoren zur Messung von Weg und Winkel

Einleitung

Der Drehimpulsgeber KY-040 wird im Wiki-Artikel beschrieben.

Aufgabe

Bearbeiten Sie alle Aufgaben und sichern Sie Ihre Ergebnisse in SVN.

Aufgabe 8.1 - KY-040 Drehencoder anschließen

Der KY-040 Drehencoder soll über Simulink und ein Arduino-Board eingelesen werden. Der Encoder liefert zwei phasenverschobene digitale Signale (A und B). Diese müssen ausgewertet werden, um die Drehrichtung und Schritte zu bestimmen.

Tabelle 1: Anschlussplan
KY-040 Pin Funktion Arduino Pin
CLK (A) Signal A D2
DT (B) Signal B D3
SW Taster (optional) D4
+ 5V 5V
GND Masse GND

Aufgabe 8.2 - Simulink Setup

  1. Öffnen Sie Simulink → Arduino Support Package, falls noch nicht installiert: über Add-On Explorer → MATLAB Support Package for Arduino Hardware installieren.
  2. Erstelle ein neues Modell:
    1. Library Browser → Simulink Support Package for Arduino Hardware → Common
    2. Ziehe zwei Digital Input-Blöcke für die Pins D2 und D3 ins Modell.

Aufgabe 8.3 - Quadraturdekoder aufbauen

  • **Zwei Digital Input Blöcke** für `A` und `B`
  • **Detect Change / Edge Detector**, um Flanken zu erkennen
  • **Logic-Blöcke** oder **Compare To Constant**, um die Richtung zu bestimmen:
 * Wenn `A` vor `B` → +1 (im Uhrzeigersinn)
 * Wenn `B` vor `A` → −1 (gegen Uhrzeigersinn)
  • **Integrator (Add Block)**, um die Schritte aufzusummieren

Beispielhafte Logik:

if rising_edge(A)
if B == 0  count++
else  count--
end

Tutorial

Drehimpulsgeber KY-040


→ zurück zum Hauptartikel: WS2025 - Sensortechnik