Abstands- und Farberkennungssensor: TCRT5000

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
TCRT5000-Modul

→ zurück zur Übersicht: WS 18/19: Sensortechnik (MTR)

Autor: Isaac Mpidi-Bita
Betreuer: Prof. Schneider

Aufgabe

In dieser Artikel werden folgenden Punkte abgearbeitet:

  • Auswahl eines Primärsensors
  • Analyse des Sensors anhand Literaturrecherche und praktisch
  • Signalverarbeitung
  • Bewertung der Sensordaten
  • Inbetriebnahme des Abstands- und Farberkennungssensor: TCRT5000

Einleitung

Der Abstandsensor IR TRCR5000 ist ein Abstandsmesser, der in der Kategorie von Lichtsensor bzw. optoelektronischen Sensoren gehört, weil er empfangene Licht in einem elektrischen Signal mit Hilfe des photoelektrischen Effekts umwandelt. Der Sensor kann verwendet sowohl um den Abstand zu messen, als auch um Information über die Helligkeitsgrad des gegenüber liegenden Objekt zu bekommen. Der Sensor kann in vielen Bereiche angewendet werden, wie z.B. Hinderniserkennung, Line Tracking, Materialerkennung und Schwarz-Weiß-Farbenerkennung, usw.

Technische Übersicht

Der Sensor besteht aus einem IR Sender und Empfänger (TRCR5000), einem Spannungsregler LM393 und einem Potentiometer. Der Potentiometer dient zu Empfindlichkeitseinstellung des Sensors.

Eigenschaft Daten
Abmessung
31.96 mm x 14.2 mm x 20.8 mm
Spannungsversorgung
3.3 V bis 5 V
Montage Schraubloch für einfache Befestigung
in z-Richtung
Messbereich zur
Entfernungsmessung
1 mm bis ungefähr 13 cm
Weiß-Schwarz-Unterscheidung
1 mm - 25 mm

Prinziperklärung

Das TRCR5000 Modul nutzt das photoelektrische Effekt zur Weg bzw. Abstandserfassung. Der Primärsensor ist mit einer Infrarot-LED und einem Phototransistor ausgestattet. Die Infrarot-LED sendet Licht im Infrarotbereich. Dies wird vom Objekt reflektiert und vom Phototransistor empfängt. Das Prinzip wird als Reflexion bezeichnet.

Equipment

Verwendete Software

Für die Abarbeitung der obgenannten Aufgabestellungen wurde folgenden Software verwendet:

  • Arduino Software IDE 1.8.1
  • MATLAB/Simulink 2018a
  • Fritzing
  • Microsoft Excel und OneNote 2016
  • Tortoise SVN

Verwendete Komponente

Für die Abarbeitung der obgenannten Aufgabestellungen wurde folgenden Komponente eingesetzt:

  • Abstands- und Farberkennungssensor: TCRT5000
  • LCD Display mit I2C Anschluss
  • Arduino UNO R3 (Sunfounder Edition)

Messkette

  • Primärsensor

Dient zur Umsetzung der Messgröße in elektrischen Signal.
Trifft das reflektierte Licht auf den Phototransistor, entsteht ein Basisstrom. Dementsprechend kann Strom zwischen Kollektor und Emitter fließen.

  • Verstärker

Das Modul ist mit eine OpAmp ausgerüstet. Dies dient zur Verstärkung des Signals.

  • Analog-Digital Umsetzer

Der Sensor selbst besitzt keinen integrierten A/D-Wandler. Der Sensor wird an einem analogen Anschluss angeschlossen. Die sind wiederum an einem der 6-Kanäle der verbauten 10 Bit Analog-Digital-Wandler verbunden. Der A/D Wandler wandelt die Eingang Spannung, der zwischen 0 V und 5 V liegt, in einem digitale Signal zwischen 0 und 1023.

  • Bussystem

Für den Sensor wird kein Bussystem benötigt.

  • Auswertung

Zur Auswertung der Messwerte, werden ein PC und ein Arduino-Mikrocontroller benötigt.

Hardwareaufbau

Datenblätter

Datenblatt des Sensors: TCRT5000
Datenblatt des OpAmp : LM393

Schaltung des Bauteils

Schaltplan und Steckplatine

Softwarearchitektur

Signalverarbeitung

Mathematisches Hilfsmittel

Zur Ermittlung der Kennlinie wird die stückweise lineare Interpolation verwendet. Dass heißt, es wird jedes mal einen gerade zwischen zwei diskrete Messwerte gezogen.

Die allgemeine Gleichung einer Gerade lautet:

 : die Steigung
 : die Verschiebung.


Die Steigung lässt sich folgendermaßen berechnen:

Die Verschiebung lässt sich aus der allgemeine Gleichung wie folgt darstellen:

Setzt man einer der Punkt der gerade in , erhält man:




Setzt man zusätzlich in ein, so erhält man:

Anschließend werden und in die allgemeine Gleichung eingesetzt. Mit ein Paar Umformungen erhält man:

Softwaremäßig lässt sich die gleichung so implementieren:

float lineareInterpolation(float x, float x_1, float x_2, float y_1, float y_2)
{
  return (y_2 - y_1) *  (x - x_1)/ (x_2 - x_1) + y_1;
}

Abstandsmessung

Der Abstand wird durch den analogen Eingang zur Verfügung gestellt. Anhand mehreren Testen hat sich rausgestellt, dass das Modul Änderung bis zu 12 cm erkennen kann. Dies sind jedoch schwierig zu bewerten da mehreren Faktoren Einfluss auf der Messung haben.

Einfluss der Farbe auf die Messung

Der TCRT5000-Sensor nutzt Licht und das Reflexion für die Abstandsmessung. Daher hängt der gemessene Wert vom das Objekt zurückgesendeten Licht ab. Daraus folgt, dass man beim hellen unterschiedliche Messwerte hat als beim dunkelen Objekten.


Kennlinie des Sensors für helle Oberfläche
Abstand in [cm] Rohdaten des Sensors
1
92
2
223
3
600
4
750
5
829
6
870
7
870
8
899
9
918
10
931
11
941
12
957
13
965




Kennlinie des Sensors für dunkele Oberfläche
Abstand in [cm] Rohdaten des Sensors
1
700
2
800
3
900
4
919
5
930
6
935
7
936
8
937
9
939
10
940
11
940
12
941






Umwelteinflüsse auf die Messung

Weitere Faktoren können Einfluss auf die Messung haben. Dies könnte z.B. die Umgebungstemperatur, die Raumbeleuchtung, die Betriebspannung, die Betriebstemperatur, usw sein.


Umgang mit der Messunsicherheit

Um die Messunsicherheit zur bekämpfen, sollte man:

  • mehreren Testmessung in folge durchführen (immer neu kalibrieren)
  • der Mittelwert von mehrere Werte bilden und dies als Referenzpunkt nutzen
  • Nachkommastellen vernachlässigen
  • soweit es geht konstante Raumbeleuchtung halten (z.B: gleiche Lichtquelle)
  • soweit es geht konstante Raumtemperatur halten (z.B: mit Hilfe der Heizung einstellen)










Farberkennung

Die Farberkennung-Modus wird die LED hinter dem Modul angekündigt. Das Module sendet ein digitale Signal: 1 für dunkele Objekten und 0 für helleren Objekten. Dies stellt eine gute Möglichkeit den Sensor als Line Tracker zur verwendet. Die Spurverfolgung ist eine der relevante Thematik im Bereich Autonome Mobilität. Stellt man mehreren Modulen in Verbindung, kann man somit auch eine Richtung bestimmen.

Arduino Quelltext

 
void loop() {
    // put your main code here, to run repeatedly:
    float fAbstand = 0; 
    int nAbstand_in_cm = 0;
    int i = 1; 

    /*---------------------------------*/
    /* Sensorwerte einlesen            */
    /*---------------------------------*/
    value_D0 = digitalRead(SENSOR_DIGITAL_PIN);   // digitale input vom IR distance sensor auslesen
    
    //Mittelwertwertermittlung der analogen Messwerte --> Zuverlässigkeit erhöhung
    for (i = 1; i <= 50; i++)
    {
      value_A0 = analogRead(SENSOR_ANALOG_PIN);   // analoge input vom IR distance sensor auslesen
      fAbstand = fAbstand + value_A0;
    }
    fAbstand = fAbstand / i;               
    
    /*---------------------------------*/
    /* Ermittlung des Abstands         */
    /*---------------------------------*/
    nAbstand_in_cm = abstandsberechnung(fAbstand);

    /*---------------------------------*/
    /* Ausgabe                         */
    /*---------------------------------*/
    SerielleAusgabe(value_A0, nAbstand_in_cm, value_D0)

    DisplayAusgabe(nAbstand_in_cm, value_D0);

    delay(50);
    
}

Bewertung des Sensors

Vorteile

  • Schnelle Messung (100 Messungen in 1,5 s)
  • Kein aufwendiges Bussystem
  • Berührungslose Messung
  • Einfache Bauweise
  • Geringe Leistungsaufnahme
  • Schnelle Reaktionszeit
  • Geringe Platzbedarf
  • Kostengünstig
  • Flexibel einsetzbar

Nachteile

  • Temperaturabhängigkeit
  • Helligkeitsabhängigkeit
  • Materialabhängigkeit
  • Schwierigkeit bei der Erstellung eine Kennlinie

Alternative

Zusammenfassung

In dieser Artikel wurde das TCRT5000-Abstands- und Farberkennungssensor vorgestellt. Nach Durchführung mehreren Testen hat sich rausgestellt, dass der Sensor in kürzer Zeit sehr schnell messen könnte, 100 Messung in 1,5 Sekunde und 1000 Messungen in 15 Sekunden. Außerdem lässt sich der Sensor durch seine einfache Steckverbindung und seine geringe Platzbedarf merken. Darüber hinaus lässt sich der Sensor für die Abstandsmessung und für die Farberkennung einsetzen. Dagegen spricht eine große Messunsicherheit, die entweder durch externe Faktoren, wie die Raumtemperatur oder die Raumbeleuchtung, usw. oder durch interne Faktoren, wie die Betriebsspannung, das und Betriebstemperatur, verursacht werden können. Dementsprechend ist die Erstellung einer allgemein gültigen Kennlinie sehr schwierig. Daher wird der Sensor zur präzise Abstandsmessung nicht angewendet. Der Sensor kann jedoch Anwendungen genutzt werden: Line Tracking für mobilen Roboter, Lichtschranke, Hinderniserkennung, Näherungssensor für Einparkhilfe oder Persondetektierung.

Lernerfolg

Für der Auswahl des Sensors hat man sich Gedanken gemacht, welche Sensor bereits im Lager steht und welche man gebrauchen könnte. Ein weiteren Kriterium des Auswahl des Sensor war die Herausforderung der Erarbeitung. Da die Arbeit semesterbegleitend war, war es wichtig ein Sensor auszuwählen, mit dem man nach und nach Anhand Kenntnisse der Sensortechnik-Vorlesung in Verbindung bringen könnte. Grundsätzlich wäre es einfacher und schneller gewesen einen Sensor mit bereitgestellten Bibliotheken oder mit einen schon vorgefertigten Lösung im Internet auszuwählen. Dieser Weg wäre für der Lernerfolg widersprüchlich und wäre keine Herausforderung. Während des Semester kam es zur Korrelation zwischen Theorie und Praxis, D.h. die besprochenen Themen in den verschiedenen Veranstaltungen, wie Sensortechnik, Numerischen Mathematik, wurden innerhalb des praktischen Teils impliziert.

YouTube Video

Abstands- und Farberkennungssensor: TCRT5000

Schwierigkeitsgrad

( **** )

Quellenverzeichnis

Hesse, Stefan; Schnell, Gerhard: Sensoren für die Prozess- und Fabrikautomation. Funktion - Ausführung - Anwendung. Wiesbaden: Viewg+Teubner, 2009, ISBN: 978-3-8348-0471-6


--- → zurück zur Übersicht: WS 18/19: Sensortechnik (MTR)