Abstands- und Farberkennungssensor: TCRT5000: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(63 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 24: Zeile 24:


== Technische Übersicht ==
== Technische Übersicht ==
Der Sensor besteht aus einem IR Sender und Empfänger (TRCR5000), einem Spannungsregler LM393 und einem Potentiometer. <br/>
Der Sensor besteht aus einem IR Sender und Empfänger (TRCR5000), einem Spannungsregler LM393 und einem Potentiometer. Der Potentiometer dient zur Empfindlichkeitseinstellung des Sensors. <br/>


{| class="mw-datatable"
{| class="mw-datatable"
Zeile 42: Zeile 42:


== Prinziperklärung ==
== Prinziperklärung ==
Das TRCR5000 Modul nutzt das das photoelektrische Effekt <ref>https://de.wikipedia.org/wiki/Photoelektrischer_Effekt</ref> zur Weg bzw. Abstandserfassung. Der Primärsensor ist mit einer Infrarot-LED und einem Phototransistor ausgestattet.
Das TRCR5000 Modul nutzt das [https://de.wikipedia.org/wiki/Photoelektrischer_Effekt 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 <ref>https://de.wikipedia.org/wiki/Reflexion_(Physik)]</ref> bezeichnet.
Die Infrarot-LED sendet Licht im Infrarotbereich. Dies wird vom Objekt reflektiert und vom Phototransistor empfängt. Das Prinzip wird als [https://de.wikipedia.org/wiki/Reflexion_(Physik) Reflexion] bezeichnet.


==Equipment==  
==Equipment==  
Zeile 61: Zeile 61:


==Messkette==
==Messkette==
[[Datei:Messkette_TCRT5000_2_isMP.png|800px]]
* Primärsensor
* Primärsensor
Dient zur Umsetzung der Messgröße in elektrischen Signal, in diesem Fall das TCRT5000.  
Dient zur Umsetzung der Messgröße in elektrischen Signal.<br/>
Trifft das reflektierte Licht auf den Phototransistor, entsteht ein Basisstrom. Dementsprechend kann Strom zwischen Kollektor und Emitter fließen.  


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


* Analog-Digital Umsetzer
* Analog-Digital Umsetzer
Der Sensor selbst besitzt keinen integriertes A/D-Wandler. Zur weiteren Verarbeitung wird der A/D-Wandler des Arduino verwendet. Daraus folgt, dass die Rohdaten Werte zwischen 0 und 1023 sind.
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
* Auswertung
Zeile 74: Zeile 81:


==Hardwareaufbau==
==Hardwareaufbau==
===Datenblätter===
Datenblatt des Sensors: [https://www.mouser.de/datasheet/2/427/tcrt5000-240273.pdf TCRT5000]<br/>
Datenblatt des OpAmp : [https://www.st.com/resource/en/datasheet/lm193.pdf LM393]
===Schaltung des Bauteils===
===Schaltung des Bauteils===
<gallery class="left" caption="TCRT5000 Modul" widths="500" heights="500">
<gallery class="center" caption="TCRT5000 Modul" widths="400" heights="400">
Datei:Bauteil_TCRT5000_isMP.png|'''Pinbelegung des Bauteils'''
Datei:Bauteil_TCRT5000_isMP.png|'''Pinbelegung des Bauteils'''


Zeile 81: Zeile 92:
</gallery>
</gallery>


===Schaltplan===
===Schaltplan und Steckplatine===
 
<gallery class="center" caption="" widths="400" heights="400">
[[Datei:Schaltplan_Sensor_TCRT5000_IsMP.png|600px|Schaltplan]]
Datei:Schaltplan_Sensor_TCRT5000_IsMP.png|'''Schaltplan'''
 
Datei:Steckplatine_Sensor_TCRT5000_IsMP.png|'''Steckplatine'''
===Steckplatine===
</gallery>
 
[[Datei:Steckplatine_Sensor_TCRT5000_IsMP.png|600px|Steckplatine]]


==Softwarearchitektur==
==Softwarearchitektur==
Zeile 93: Zeile 102:


==Signalverarbeitung==
==Signalverarbeitung==
=== Mathematische Hilfsmittel ===
=== Mathematisches Hilfsmittel ===
Zur Ermittlung der Kennlinie wird die stückweise lineare Interpolation <ref>https://de.wikipedia.org/wiki/Interpolation_(Mathematik)</ref> verwendet. Dass heißt, es wird jedes mal einen gerade zwischen zwei diskrete Messwerte gezogen.
Zur Ermittlung der Kennlinie wird die [https://de.wikipedia.org/wiki/Interpolation_(Mathematik) 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 allgemeine Gleichung einer Gerade lautet:  


<blockquote><math>
<blockquote><math>
y(x) = mx + p  
 
y(x) = mx + p ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(1)
</math></blockquote>
</math></blockquote>


Zeile 108: Zeile 118:
Die Steigung lässt sich folgendermaßen berechnen:  
Die Steigung lässt sich folgendermaßen berechnen:  


<blockquote><math>m=\frac{y_2 - y_1}{x_2 - x_1}</math></blockquote>
<blockquote><math>m=\frac{y_2 - y_1}{x_2 - x_1} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(2)
</math></blockquote>


Die Verschiebung <math>p</math> lässt sich aus der allgemeine Gleichung wie folgt darstellen:  
Die Verschiebung <math>p</math> lässt sich aus der allgemeine Gleichung wie folgt darstellen:  
<blockquote><math>
<blockquote><math>
p = y(x) - mx
p = y(x) - mx ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(1.1)
</math></blockquote>
</math></blockquote>


Setzt man einer der Punkt der gerade in (2), erhält man:
Setzt man einer der Punkt der gerade in <math>(1.1)</math> , erhält man:


<blockquote><math>
<blockquote><math>
Zeile 122: Zeile 133:
<math>
<math>
   
   
p = y_1 - mx_1
p = y_1 - mx_1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(1.2)
</math><br/>
</math><br/>
</blockquote>
</blockquote>
Setzt man zusätzlich <math>m</math> ein, erhält man:  
Setzt man zusätzlich <math>m</math> in <math>(1.2)</math> ein, so erhält man:  
   
   
<blockquote><math>
<blockquote><math>
p = y_1 - \frac{y_2 - y_1}{x_2 - x_1}x_1
p = y_1 - \frac{y_2 - y_1}{x_2 - x_1}x_1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~(1.3)
</math></blockquote>
</math></blockquote>


Anschließend werden <math>m</math> und <math>p</math> in der allgemeine Gleichung eingesetzt. Mit ein Paar Umformungen erhält man:  
Anschließend werden <math>(2)</math> und <math>(1.3)</math> in die allgemeine Gleichung eingesetzt. Mit ein Paar Umformungen erhält man:  
<blockquote><math>
<blockquote><math>
y(x) = \frac{(y_2 - y_1)(x - x_1)}{x_2 - x_1}+y_1
y(x) = \frac{(y_2 - y_1)(x - x_1)}{x_2 - x_1}+y_1 ~~~~~~~~~~~~~~(3)
</math></blockquote>
</math></blockquote>
Softwaremäßig lässt sich der Zusammenhang so implementieren:
Softwaremäßig lässt sich die gleichung <math>(3)</math> so implementieren:


<source line lang="c" style="font-size:small">  
<source line lang="cpp" style="font-size:small">float lineareInterpolation(float x, float x_1, float x_2, float y_1, float y_2)
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;
   return (y_2 - y_1) *  (x - x_1)/ (x_2 - x_1) + y_1;
Zeile 153: Zeile 163:




[[Datei:TCRT5000_Messungen_weisse_Oberflaesche.png|500px|right|Kennlinie des Sensors für helle Oberfläche]]
[[Datei:TCRT5000_Messungen_weisse_Oberflaesche.png|400px|thumb|left|Kennlinie des Sensors für helle Oberfläche]]


{| class="mw-datatable"
{| class="mw-datatable"
Zeile 190: Zeile 200:




[[Datei:TCRT5000 Messungen schwarze Oberflaesche IsMP.png|500px|right|Kennlinie des Sensors für dunkele Oberfläche]]
[[Datei:TCRT5000 Messungen schwarze Oberflaesche IsMP.png|400px|thumb|left|Kennlinie des Sensors für dunkele Oberfläche]]
{| class="mw-datatable"
{| class="mw-datatable"
! style="font-weight: bold;" | Abstand in [cm]
! style="font-weight: bold;" | Abstand in [cm]
Zeile 221: Zeile 231:
|}
|}


<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
Zeile 227: Zeile 240:
[[Datei:Rohdaten_unterschiedlichen_Messungen_TCRT5000_isMP.png|600px|thumb]]
[[Datei:Rohdaten_unterschiedlichen_Messungen_TCRT5000_isMP.png|600px|thumb]]
Weitere Faktoren können Einfluss auf die Messung haben. Dies könnte z.B. die Umgebungstemperatur, die Raumbeleuchtung, die Betriebspannung, die Betriebstemperatur, usw sein.
Weitere Faktoren können Einfluss auf die Messung haben. Dies könnte z.B. die Umgebungstemperatur, die Raumbeleuchtung, die Betriebspannung, die Betriebstemperatur, usw sein.
 
<br/><br/><br/>
 
 
Hier kann man sehen, dass man verschiedenen sich ändert kontinuierlich.


====Umgang mit der Messunsicherheit====
====Umgang mit der Messunsicherheit====
Zeile 239: Zeile 249:
* soweit es geht konstante Raumbeleuchtung halten (z.B: gleiche Lichtquelle)  
* soweit es geht konstante Raumbeleuchtung halten (z.B: gleiche Lichtquelle)  
* soweit es geht konstante Raumtemperatur halten (z.B: mit Hilfe der Heizung einstellen)
* soweit es geht konstante Raumtemperatur halten (z.B: mit Hilfe der Heizung einstellen)
 
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>


===Farberkennung===
===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.
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.


[[Datei:Arduino_Smart_Car_isMP.png]]
===Arduino Quelltext===


===Code===
<source line lang="cpp" style="font-size:small">  
 
<source line lang="c" style="font-size:small">  
void loop() {
void loop() {
     // put your main code here, to run repeatedly:
     // put your main code here, to run repeatedly:
     float fAbstand = 0;  
     float fAbstand = 0;  
     int fAbstand_in_cm = 0;
     int nAbstand_in_cm = 0;
     int i = 1;  
     int i = 1;  


Zeile 271: Zeile 287:
     /* Ermittlung des Abstands        */
     /* Ermittlung des Abstands        */
     /*---------------------------------*/
     /*---------------------------------*/
     fAbstand_in_cm = abstandsberechnung(fAbstand);
     nAbstand_in_cm = abstandsberechnung(fAbstand);


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


     DisplayAusgabe(fAbstand_in_cm, value_D0);
     DisplayAusgabe(nAbstand_in_cm, value_D0);


     delay(50);
     delay(50);
Zeile 291: Zeile 307:


* Schnelle Messung (100 Messungen in 1,5 s)
* Schnelle Messung (100 Messungen in 1,5 s)
* Kein aufwendiges Bussystem
* Berührungslose Messung
* Berührungslose Messung
* Einfache Bauweise  
* Einfache Bauweise  
Zeile 296: Zeile 313:
* Schnelle Reaktionszeit
* Schnelle Reaktionszeit
* Geringe Platzbedarf
* Geringe Platzbedarf
* Kostengünstig
* Flexibel einsetzbar


=== Nachteile ===
=== Nachteile ===
Zeile 303: Zeile 322:
* Schwierigkeit bei der Erstellung eine Kennlinie
* Schwierigkeit bei der Erstellung eine Kennlinie


== Gesamtfazit ==
=== Alternative ===
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, Näherungssensor für Einparkhilfe oder Persondetektierung'''.
* [http://193.175.248.52/wiki/index.php/Objekterkennung_mit_Infrarotsensor_mit_Matlab/Simulink_und_EV3 Sharp GP2Y0A21YK0F]
* E18-D80NK Reflektions-Lichtschranke
* [http://193.175.248.52/wiki/index.php/Projekt_81:_Inbetriebnahme_und_Objekttracking_des_LiDAR-Lite_v3 LIDAR-Lite v3]
* [http://193.175.248.52/wiki/index.php/HC-SR04 Ultraschallsensor HC-SR04 ]
 
== 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 ==
== 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.
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 ==
== YouTube Video ==
 
[https://www.youtube.com/watch?v=naMtVfW6nrs Abstands- und Farberkennungssensor: TCRT5000]
 


== Schwierigkeitsgrad ==
== Schwierigkeitsgrad ==
( ***** )
( **** )


== Quellenverzeichnis ==
== 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
<references />
<references />



Aktuelle Version vom 21. November 2020, 18:11 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. Der Potentiometer dient zur 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)