Objekterkennung mit Infrarotsensor mit Matlab/Simulink und EV3

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Autor: Christopher Brömse Betreuer: Prof. Schneider

Aufgabenstellung

In dem Fach Signalverarbeitende Systeme ist den Studierenden jeweils eine Aufgabe zugeteilt. Diese besteht darin, einen Lego EV3 Roboter mittels eines Sensors ca. 5 cm vor einen Karton stoppen zu lassen. Die Programmierung ist mit Matlab/ Simulink durchzuführen. In dieser Aufgabe ist ein Sharp GP2 Distanzsensor zu verwenden.

Sensor

Bei dem Sensor handelt es sich um einen Distanzsensor von Sharp, der aus drei Hauptelementen besteht. Zum einen aus einem optischen Positionssensor, einer Infrarotdiode und einer Signalverarbeitungsschaltung.

Dabei hat der Sensor folgende Spezifikationen:

  • Erkennungsbereich von 10 bis 80 cm
  • Analoges Ausgangssignal
  • Stromaufnahme von 30 mA
  • Versorgungsspannung von 4,5 bis 5,5 V
Abbildung 1: Abbildung des Sensors

Einer der Vorteile des Sharp GP2 ist, dass dieser gut mit unterschiedlichen Oberflächen funktioniert, unempfindlich gegen Temperaturänderungen sowie für den Dauereinsatz geeignet ist. Der Grund liegt in der Messmethode der Triangulation.








Funktionsweise

Wie bereits beschrieben verwendet der Sharp GP2 das Triangulationsprinzip zur Distanzmessung. Dazu wird ein schmaler Infrarot-Lichtstrahl ausgesendet. Dieser wird mittels einer Infrarotdiode und einer davor platzierten Linse erzeugt. Befindet sich nun ein Objekt in Reichweite, so wird das Licht von diesem reflektiert. Eine zweite Linse fängt dieses Licht ein und leitet es zu einem optischen Positionssensor (engl. PSD) weiter. Der optische Positionssensor gibt nun je nach Position des Lichtstrahls eine unterschiedlich hohe Spannung aus. Das Messprinzip ist gut in Abbildung 2 zu erkennen.[1]

Abbildung 2: Das Triangulationsprinzip












Ausgangssignal

Das Ausgangssignal des Sharp GP2 ist analog. Das heißt, es wird je nach gemessener Distanz eine unterschiedlich hohe Spannung ausgegeben. Des Weiteren ist das Signal anti-proportional. Darunter versteht man, dass die Spannung abnimmt desto weiter die gemessene Distanz ist. Die Kennlinie der Ausgangsspannung des GP2 ist in Abbildung 3 zu erkennen. Diese verdeutlicht auch, dass das Ausgangssignal unabhängig von der Farbe der gemessenen Oberfläche ist. Die Kurve für eine weiße Oberfläche ist deckungsgleich mit der einer grauen.

Abbildung 3: Ausgangssignal des Sharp GP2
Abbildung 4: Taktung Ausgangssignal

Die Taktung des Ausgangssignales ist in Abbildung 4 zu finden. Gemessen wird immer in Abständen von 38,3 ms ± 9,6 ms. Durch die Verarbeitung kann eine maximale Verspätung von 5 ms zwischen Messung und Ausgangssignal entstehen.[2]









Signalverarbeitung

Im folgenden wird die Signalverarbeitung vorgestellt. Dabei wird der Signalfluss vom Sensor bis zum EV3 erläutert.

Abbildung 5: Verschaltung Arduino mit Sharp GP2










Verbindung Arduino mit Sensor

Abbildung 6: Verschaltung Arduino mit Sharp GP2

Wie in der Abbildung 4 zu erkennen ist, wird der Sharp GP2 mittels drei Verbindungen an den Arduino UNO angeschlossen. Dabei handelt es sich um die Stromversorgung (VCC), die Masse (GND) und das Ausgangssignal (Vout). Da es sich bei dem Ausgangssignal um ein analoges und antiproportionales Signal handelt wird dieses mit dem Arduino verarbeitet. Eingelesen wird das analoge Signal des Sensors mit einem 10 Bit analog digital Konverter. Dabei handelt es sich um einen Wandler der die sukzessive Approximation zur Realisierung anwendet. Hierdurch werden analoge Eingangssignale mit den Werten zwischen 0 und 5 V in integer Werte von 0 und 1023 abgebildet. Hierdrüber lässt sich auch die Auflösung bestimmen. 5 Volt dividiert durch 1024 Einheiten ergibt eine Auflösung von 4,9 mV pro Einheit. Abgetastet wird hierbei jeweils 10.000-mal die Sekunde.[3]



Analog-Digital-Umsetzer

Bussystem

Digitale Signalverarbeitung

Darstellung der Ergebnisse

Projektplan

Quellen

  1. Infrarot-Entfernungsmesser [Robotic & Microcontroller Educational Knowledgepage - Network of Excellence]. URL http://home.roboticlab.eu/de/examples/sensor/ir_distance. – Aktualisierungsdatum: 2013-03-26 – Überprüfungsdatum 2017-06-09
  2. Datenblatt Sharp GP2 Datei:DS GP2Y0A21YK0F.pdf
  3. Arduino - AnalogRead. URL https://www.arduino.cc/en/Reference/AnalogRead – Überprüfungsdatum 2017-06-21