Abstands- und Farberkennungssensor: TCRT5000
→ 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 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.
- 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
-
Pinbelegung des Bauteils
-
Schaltung des Bauteils
Schaltplan
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.
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 |
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
- Sharp GP2Y0A21YK0F
- E18-D80NK Reflektions-Lichtschranke
- LIDAR-Lite v3
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 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
Schwierigkeitsgrad
( ***** )
Quellenverzeichnis
---
→ zurück zur Übersicht: WS 18/19: Sensortechnik (MTR)