Abstands- und Farberkennungssensor: TCRT5000: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 68: Zeile 68:


* Analog-Digital Umsetzer
* Analog-Digital Umsetzer
Der Sensor selbst besitzt keinen integriertes A/D-Wandler.   
Der Sensor selbst besitzt keinen integrierten A/D-Wandler.   
   
   
* Auswertung
* Auswertung

Version vom 1. Januar 2019, 16:38 Uhr

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.

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 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, in diesem Fall das TCRT5000.

  • Verstärker

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

  • Analog-Digital Umsetzer

Der Sensor selbst besitzt keinen integrierten A/D-Wandler.

  • 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

Schaltplan

Steckplatine

Steckplatine

Softwarearchitektur

Signalverarbeitung

Mathematisches Hilfsmittel

Zur Ermittlung der Kennlinie wird die stückweise lineare Interpolation [1] 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 der 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
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
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 Smart Car mit TCRT5000 ausgerüstet

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)
  • 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

Gesamtfazit

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 s und 1000 Messungen in 15 s. 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 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.

YouTube Video

Schwierigkeitsgrad

( ***** )

Quellenverzeichnis

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