NXT Lichtsensor mit Matlab/Simulink

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Signalverarbeitungskette eines Lego Mindstorms NXT/EV3 Lichtsensor 9844 und auslesen in Matlab Simulink


Autor: Eileen Hinners

Einleitung

Hier kommt die Einleitung rein.

Projektplanung

Hier kommt der Teil zur Projektplanung rein.

Auswahl des Primärsensors

Funktionsweise des Sensors

Der Lego Lichtsensor besteht aus einer roten LED mit Vorwiderstand, sowie einem Foto-transistor mit Arbeitswiderstand. Der Lichtsensor kann in zwei verschiedenen Betriebs-modi benutzt werden. Im ersten Modus ist die LED ausgeschaltet. Der Fototransistor agiert als Empfänger und nimmt die vom Umgebungslicht reflektierten Strahlen des da-vorstehenden Gegenstandes auf. Je nach Intensität der eingehenden Strahlung, verän-dert sich die Gleichspannung im Fototransistor. Für den zweiten Betriebsmodus wird die rote LED dazugeschaltet. Die LED ist dabei in die gleiche Richtung ausgerichtet, wie der Fototransistor. Deshalb kann die LED ein Hilfslicht ausstrahlen, das von dem betreffen-den Gegenstand reflektiert wird und auf den Fototransistor trifft. Um betrieben werden zu können bietet der Sensor das NXT Sensor Interface Pinout an. Dieses ist in sechs verschiedene Pins aufgeteilt. [Vgl. Bild]. Der erste Pin (weiß) über-nimmt dabei die Funktion der Übertragung des analogen Outputs. Am zweiten (schwarz) und dritten (rot) Pin liegt die Erde an. Über den vierten Pin (grün) wird die Betriebsspan-nung angelegt. Die Steuerung des Modus lässt sich über den fünften Pin (gelb) des NXT Sensor Interface Pinouts steuern. Um den zweiten Modus zu wählen, wird an dem Pin eine Spannung von 5 V angelegt. Der sechste Pin ist beim Lichtsensor nicht belegt.

Inbetriebnahme des Sensors

Die Inbetriebnahme des Sensors ist über mehrere Varianten möglich. Die erste Variante ist die direkte Messwerterfassung über den EV3. Dabei wird zunächst ohne Computer-anbindung eine Messwerterfassung gestartet. Auf dem Display wird der Graph mit den Messwerten in Echtzeit angezeigt. Zusätzlich können der Ist-Wert, die Dauer, Minimum und Maximum, sowie der Durchschnittswert angezeigt werden. Nach Beenden der Er-fassung wird eine Messwertdatei auf dem Brick gespeichert, die über die Lego Mindstorms EV3 Education Software geöffnet werden kann. In der EV3-Software wird der Lichtsensor zu den Farbsensoren gezählt und kann über den Farbsensor-Block ge-steuert werden. Trotz der unterschiedlichen Versionen ist die Nutzung des NXT-Sensors mit dem neueren EV3 möglich. Da dieses Projekt in Matlab bzw. Simulink umgesetzt werden soll, muss eine Verbindung vom EV3 zu Matlab hergestellt werden. Für Matlab und Simulink ist jeweils ein Add-On verfügbar um den EV3 zu steuern. Nach Herstellen der Verbindung zwischen Matlab und dem Roboter können die verbundenen Sensoren ausgelesen werden. Die Kategorien sind analog zur EV3-Software. Der Lichtsensor wird allerdings nicht als „color“-Sensor, sondern als „NXT-Light“ angezeigt. Für das Auslesen des NXT-Lichtsensors ist keine eigene Funktion vorhanden. Auch ein Verbinden über die Funktion des Farbsensors, wie in der EV3-Software, ist nicht möglich. Für den NXT ist eine ähnliche Toolbox in Matlab verfügbar, die auch eine Funktion zum Aufrufen des NXT-Lichtsensors besitzt. Die Tool-box ist allerdings nicht mit dem EV3-Brick kompatibel, sodass keine Verbindung zum Brick hergestellt werden kann. Aus diesem Grund scheidet die Verwendung des EV3-Bricks im Nachhinein aus. Um trotzdem eine Umsetzung in Matlab bzw. Simulink zu ermöglichen, wird als Mikrocontroller nicht der EV3-Brick, sondern ein Arduino Uno genutzt. Da der Arduino nicht über einen Anschluss für das NXT Sensor Interface Pinout musste das Verbindungska-bel aufgetrennt werden. Um nicht das hochschuleigene Kabel zu nutzen, wurde ein ei-genes gekauft, aufgetrennt und die einzelnen Adern mit Jumperkabeln, den Isolierungs-farben entsprechend, verbunden.

Rohsignale des Sensors

Die Rohsignale des Sensors liegen im Voltbereich. Nach der Verarbeitung sollen Werte zwischen 0 (dunkel) und 100 (hell) ausgegeben werden. Die Signale sind einheitenlos.

Signalvorverarbeitung

Hier kommt der Teil zur Signalvorverarbeitung rein.

Analog-Digital-Umsetzer

Hier kommt der Teil zum ADU rein.

Bussystem

Hier kommt der Teil zum Bussystem rein.

Digitale Signalverarbeitung

Hier kommt der Teil zur Signalverarbeitung rein.

Darstellung der Ergebnisse

Hier kommen die Ergebnisse rein.

YouTube-Video

Zu dieser Ausarbeitung ist auch ein YouTube-Video erstellt worden. Dieses zeigt die grundlegenden Ergebnisse des Projektes, sowie eine Echtzeit-Datenerfassung des Sensors in Matlab.

Herausgeber: Eileen Hinners
Hochschule: Hochschule Hamm-Lippstadt
Studiengang: Business and Systems Engineering, 1. Fachsemester
Projektkurs: Signalverarbeitende Systeme
Ziel: Sensordaten in Echtzeit auslesen und in Matlab verwenden
Ergebnis: Der Sensor konnte mit einem Arduino Uno ausgelesen und in Matlab/Simulink verwendet werden.
Beschreibung: Dieses Video zeigt die grundlegenden Ergebnisse des Projektes, sowie eine Echtzeit-Datenerfassung des Sensors in Matlab
Betreuer: Prof. Dr. Ulrich Schneider

SVN Projektordner

In dem nachstehenden Ordner im SVN sind alle Unterlagen zum Projekt abgelegt.

Literaturverzeichnis


→ zurück zum Hauptartikel: SigSys SoSe2018