SHARP IR Abstandsensor GP2Y0A21YK0F: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(93 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Datei:SHARP IR Abstandssensor GP2Y0A21YK0F.png|510px|thumb|rechts|Abbildung 1: SHARP IR GP2Y0A21YK0F. [1] ]]
[[Datei:SHARP IR Abstandssensor GP2Y0A21YK0F.png|510px|thumb|rechts|Abbildung 1: SHARP IR GP2Y0A21YK0F. [1] ]]
→ zurück zum Hauptartikel: [[ST WS2020|Sensortechnik WS 20/21]]
----
'''Autor:''' [[Benutzer:Patricio-emiliano hernandez-murga| Patricio Emiliano Hernandez Murga]]
'''Autor:''' [[Benutzer:Patricio-emiliano hernandez-murga| Patricio Emiliano Hernandez Murga]]


Zeile 16: Zeile 18:
= Technische Übersicht =
= Technische Übersicht =
Der Sensor besteht aus einem IR Sender (Infrarot LED) und einem positionsempfindilchen Detektor ( engl. PSD - position sensitive detector). <br/>  
Der Sensor besteht aus einem IR Sender (Infrarot LED) und einem positionsempfindilchen Detektor ( engl. PSD - position sensitive detector). <br/>  
Das Datenblatt für [https://global.sharp/products/device/lineup/data/pdf/datasheet/gp2y0a21yk_e.pdf GP2Y0A21YK0F]  ist es im Internet zu finden <br/>
Das Datenblatt für [https://global.sharp/products/device/lineup/data/pdf/datasheet/gp2y0a21yk_e.pdf GP2Y0A21YK0F]  ist im Internet zu finden <br/>


=== Pinbelegung===
=== Pinbelegung===
Zeile 46: Zeile 48:


= Funktionsprinzip=
= Funktionsprinzip=
Der Abstandsensor IR GP2Y0A21YK0F ist ein infraroter Triangulationssensor. Er besitzt einen integrierten positionsempfindlichen Detektor ( engl. position sensitive detektor, PSD ), und einem IRED (infrared emmiting diode). Das IRED strahlt ein infrarotes Licht aus, welches von dem zu detektierenden Objekt reflektiert wird. Das reflektierte Licht geht durch das Detektionslens und wird von dem PSD-Element empfangen. Die Abstand zum Objekt wird dann abhängig vom Schwerpunkt des Lichtflecks berechnet. Durch das geometrischen Messverfahren, Triangulation kann die Abstand zu dem zu detektierenden Objekt berechnet werden.  
Der Abstandsensor IR GP2Y0A21YK0F ist ein infraroter Triangulationssensor. Er besitzt einen integrierten positionsempfindlichen Detektor ( engl. position sensitive detektor, PSD ), und einem IRED (infrared emmiting diode). Das IRED strahlt ein infrarotes Licht aus, welches von dem zu detektierenden Objekt reflektiert wird. Das reflektierte Licht geht durch das Detektionslens und wird von dem PSD-Element empfangen. Der Abstand zum Objekt wird dann abhängig vom Schwerpunkt des Lichtflecks berechnet. Durch das geometrischen Messverfahren, Triangulation kann der Abstand zu dem zu detektierenden Objekt berechnet werden.


=Grundlagen=
=Grundlagen=


=== Funktionsprinzip  des positionsempfindlichen Detektors===
== Funktionsprinzip  des positionsempfindlichen Detektors==


Ein positionsempfindlicher Detektor funktioniert Ähnlich wie eine normale [https://en.wikipedia.org/wiki/Photodiode Photodiode]. Das Licht  auf dem aktiven Gebiet des PSD generiert einen Photostrom. Dieser Photostrom fließt in Richtung des p- und n-Gebietes ab. Der PSD kann von drei bis fünf Kontakten je nach Dimensionen haben. Beim IR Abstandsensor GP2Y0A21YK0F befindet sich ein eindimensionaler PSD. Daher besitzt er drei Kontaktierungen. Durch die erste Kontaktierung fließt ein gesamter Strom I. Durch die anderen zwei Leitungen kommt zu einer Aufteilung des Photostromes unter der Kontakten. Diese Aufteilung ist proportional zu der Position des Schwerpunkts des Lichtflecks.  
Ein positionsempfindlicher Detektor funktioniert ähnlich wie eine normale [https://en.wikipedia.org/wiki/Photodiode Photodiode]. Das Licht  auf dem aktiven Gebiet des PSD generiert einen Photostrom. Dieser Photostrom fließt in Richtung des p- und n-Gebietes ab. Der PSD kann drei bis fünf Kontakte je nach Dimensionen haben. Beim IR Abstandsensor GP2Y0A21YK0F befindet sich ein eindimensionaler PSD. Daher besitzt er drei Kontaktierungen. Durch die erste Kontaktierung fließt ein gesamter Strom I. Durch die anderen zwei Leitungen kommt es zu einer Aufteilung des Photostromes unter den Kontakten. Diese Aufteilung ist proportional zu der Position des Schwerpunkts des Lichtflecks.


===Vorteile der PSD===
==Vorteile der PSD==
Im Gegensatz zu Pixelelementen ([https://en.wikipedia.org/wiki/Charge-coupled_device CCD]) ist bei positionsempfindlichen Detektoren die Auflösung nicht durch die Pixelgroße begrenzt und es ist keine aufwendige Analyse durch einen Computer nötig.
Im Gegensatz zu Pixelelementen ([https://en.wikipedia.org/wiki/Charge-coupled_device CCD]) ist bei positionsempfindlichen Detektoren die Auflösung nicht durch die Pixelgroße begrenzt und es ist keine aufwendige Analyse durch einen Computer nötig.
Darüber hinaus sind bei positionsempfindlichen Detektoren Parameter wie Form, Große und Intensivitätsverteilung des Lichtflecks unbedeutend. Denn der Schwerpunkts des Lichtflecks gibt seine Position an.  
Darüber hinaus sind bei positionsempfindlichen Detektoren Parameter wie Form, Große und Intensivitätsverteilung des Lichtflecks unbedeutend. Denn der Schwerpunkts des Lichtflecks gibt seine Position an.  


===Ermittlung  der Position===
==Ermittlung  der Position==
Die Position wird durch die Bildung der Stromdifferenz zwischen zwei gegenüberliegenden Kontakten. (Siehe Abbildung 2)
Die Position wird durch die Bildung der Stromdifferenz zwischen zwei gegenüberliegenden Kontakten ermittelt (siehe Abbildung 2).
Um die Diferenz der Verteilung des gesamten Photostromes unabhängig der Intensität von der einfallenden Lichtintensität zu machen, wird ein Verhältnis daraus gebildet:
Um die Differenz der Verteilung des gesamten Photostromes unabhängig der Intensität von der einfallenden Lichtintensität zu bilden, wird ein Verhältnis daraus gebildet:
Durch die folgende Gleichung lässt sich dann die Lage des Schwerpunkts des Lichtes auf der aktiven Fläche des PSD:
Durch die folgende Gleichung lässt sich dann die Lage des Schwerpunkts des Lichtes auf der aktiven Fläche des PSD ermitteln:




Zeile 68: Zeile 70:
\end{align}</math>
\end{align}</math>


== Optik==
Optische Abstandsensoren strahlen sichtbares bzw. unsichtbares Licht (z.B. infrarotes Licht) aus. Das Licht wird vom Objekt reflektiert und dann vom Sensor erfasst. Aus der vom Sensor erfassten Information kann dann ein Abstand d bestimmt werden. Störungen können bei dem auszuwertenden Signal entstehen. Denn es kann passieren, dass der Sensor nicht nur das reflektierte Licht empfängt, sondern auch ein externes Licht mit dazu. Um dieses Phänomen zu reduzieren, besitzt der IR Sensor einen besonderen Lens, welches das infrarote Licht filtert.


 
Für den Strahlenverlauf besitzt der IR Abstandsensor  GP2Y0A21YK0F eine biaxiale Optik (siehe Abbildung 3). Bei einer biaxialen Optik sind die optischen Achsen des Sende- und Empfangsstrahls voneinander getrennt. In der Regel liegen diese nebeneinander, um die abstandsabhängige Energie zu optimieren. Dabei besitzt die biaxiale Optik einen typsichen Verlauf (siehe Abbildung 4).
 
=== Optik===
Optische Abstandsensoren strahlen sichtbares bzw. unsichtbares Licht (z.B. infrarotes Licht) aus. Das Licht wird vom Objekt reflektiert und dann vom Sensor erfasst. Aus der vom Sensor erfassten Information kann dann eine Abstand d bestimmt werden. Störungen können bei der auszuwertenden Signal entstehen. Denn es kann passieren, dass der Sensor nicht nur das reflektierte Licht empfängt sondern auch eine externe Licht mit dazu. Um dieses Phänomen zu reduzieren, besitzt der IR Sensor einen besonderen Lens, welches das Infrarotes Licht filtert.
 
Für den Strahlen verlauf besitzt der IR Abstandsensor  GP2Y0A21YK0F eine biaxiale Optik (siehe Abbildung 3). Bei einer biaxialen Optik sind die optischen Achsen des Sende- und Empfangsstrahls voneinander getrennt. In der Regel liegen diese nebeneinander, um die abstandsabhängige Energie zu optimieren. Dabei besitzt die biaxiale Optik einen typsichen Verlauf (siehe Abbildung 4).


<gallery widths="300" heights="200" perrow="3">
<gallery widths="300" heights="200" perrow="3">
Zeile 82: Zeile 81:
</gallery>
</gallery>


=== Messprinzip der Triangulation===
== Messprinzip der Triangulation==
Triangulation ist ein rein geometrisches Messverfahren. Das Sender ( infrarotes LED oder IRED) erzeugt Licht und dieses wird auf den zu detektierenden Objekt reflektiert. Das reflektiertes Licht geht durch das für die Detektion verantwortliche Lens mit einer bestimmten Winkel je nach Abstand d. Anhängig von der Eingangswinkel des Lichtes ist dann die Stelle x auf dem PSD-Element.  Durch das Messen der stelle x ergibt sich dann den Abstand d.  
Triangulation ist ein rein geometrisches Messverfahren. Das Sender ( infrarotes LED oder IRED) erzeugt Licht und dieses wird auf dem zu detektierenden Objekt reflektiert. Das reflektierte Licht geht durch das für die Detektion verantwortliche Lens mit einem bestimmten Winkel je nach Abstand d. Die Stelle x auf dem PSD-Element ist dann abhängig von dem Eingangswinkel des Lichtes .  Durch das Messen der Stelle x ergibt sich dann der Abstand d.  


[[Datei:Prinzip triangulation.png|350px|thumb|links|Abbildung 5: Prinzipielles Schema bei Triangulation [2]]]
[[Datei:Prinzip triangulation.png|350px|thumb|links|Abbildung 5: Prinzipielles Schema bei Triangulation [2]]]
Zeile 94: Zeile 93:


=Equipment=
=Equipment=
===Verwendete Software ===
==Verwendete Software ==
=== Verwendete Hardware ===
Für die Ausarbeitung der Aufgabenstellungen wird folgende Software benutzt:
=Messkette=
* MATLAB/ Simulink 2020b
==Primärsensor==
* Tortoise SVN
Für den IR-Abstandsensor GP2Y0A21YK0F wird ein PSD benutzt, um die Messgröße, das reflektiertes infrarotes Licht, in ein elektrisches Signal umzuwandeln. Die innere integrierte Schaltung vom Sensor ( distance measuring IC) übernimmt sowohl das Lichterzeugung mittels des IREDs als auch die Umwandlung des vom PSD empfangenen infraroten Lichtes in ein analoges Signal. Das analoge Signal kann einen Wert von 0 V bis 5 V besitzen. Daher wird keinen Verstärker benötigt, um das Signal zu verarbeiten. Es wird alles von der integrierten Schaltung des IR-Abstandssensors unternommen.  
* Fritzing
==Analog-Digital-Umsetzer==
 
Um das analoges Signal digital zu verarbeiten, kommt ein Analog-Digital-Umsetzer(ADU, auch bekannt als AD-Wandler) zum Einsatz. Durch den ADU wird die Aplitude des rohen analogen Signals in bestimmten Abständen geteilt. Diese Werte werden dann in digitale Werte umgewandelt.
== Verwendete Hardware ==
Für die Ausarbeitung der Aufgabenstellungen wird folgende Hardware benutzt:
* SHARP IR Abstandsensor GP2Y0A21YK0F
* Funduino Uno R3
 
=Primärsensor=
Für den IR-Abstandsensor GP2Y0A21YK0F wird ein PSD benutzt, um die Messgröße, das reflektierte infrarote Licht, in ein elektrisches Signal umzuwandeln. Die innere integrierte Schaltung vom Sensor ( distance measuring IC) übernimmt sowohl die Lichterzeugung mittels des IREDs als auch die Umwandlung des vom PSD empfangenen infraroten Lichtes in ein analoges Signal. Das analoge Signal kann einen Wert von 0 V bis 5 V besitzen. Daher wird kein Verstärker benötigt, um das Signal zu verarbeiten. Es wird alles von der integrierten Schaltung des IR-Abstandssensors unternommen.
 
Die integrierte Schaltung liefert in Zeitspannen von 28,7 ms bis 47,9 ms einen analogen Wert. Dabei ist zu beachten, dass die allererste Messung als instabil gilt und daher die zweite Messung als die erste zu sehen ist. Darüber hinaus ist auch zu beachten, dass die integrierte Schaltung des IR-Abstandssensors eine Zeitverzögerung von 5 ms (maximal) zwischen den Messungen hat.
 
=Analog-Digital-Umsetzer=
[[Datei:Ein Analog Digital Umsetzer.png|300px|thumb|rechts|Abbildung 6: Ein N-bit Analog-Digital-Umsetzer ]]
Um das analoge Signal digital zu verarbeiten, kommt ein Analog-Digital-Umsetzer (ADU, auch bekannt als AD-Wandler) zum Einsatz. Durch den ADU wird die Amplitude des rohen analogen Signals in bestimmten Abständen geteilt. Dabei wird das am Eingang des ADU anliegende analoge Signal in eine ganze Zahl umgerechnet und in binäre Darstellung an den N digitalen Ausleitungen ausgegeben. Die Auflösung des AD-Wandlers wird durch die Anzahl N an Bits ermittelt (siehe Abbildung 6) .
Als erstes findet das sogenannte Sampling statt. Dies bezeichnet das Verfahren zur Entnahme von Verstärkungswerten des analogen Signals in diskreten Zeitintervallen. Danach werden numerische Werte zu den getesteten Verstärkungswerten zugewiesen. Nach ihrer Quantisierung werden die Verstärkungswerte anhand eines Encoders kodiert. Im Fall vom Arduino Uno ist ein 10-Bit AD-Wandler vorhanden. Das bedeutet, dass eine Menge von 1024 Werten mit dem an Arduino verbauten AD-Wandler diskretisiert werden können. Bei dem Fall von Arduino Uno besitzen die Quantisierungsstufen eine Höhe von ungefähr 4,89 mV.
 
=Bussystem=
Es wird kein Bussystem benötigt.
 
=Signalvorverarbeitung=
 
Dadurch dass der IR-Abstandssensor ein analoges Signals liefert, muss zu jedem Spannungswert ein Abstand zugewiesen werden. Dies erfolgt anhand einer Kennlinie. Die Kennlinie des IR-Abstandssensors GP2Y0A21YK0F kann im Datenblatt [4] gefunden werden (siehe Abbildung 7). Seine Kennlinie entspricht der allgemeinen Kennlinie eines Triangulationssensors mit einer biaxialen Optik. Dabei gibt es kein monoton wachsendes oder fallendes Verhalten über den gesamten Messbereich. Daraus folgt, dass einer Spannung mehrere Abstände zugeordnet werden. Dadurch kann eine Verfälschung von Daten vorkommen.
 
Um dieses Verhalten zu bekämpfen, kann die umgekehrte Zahl jedes Elements des Messbereichs gebildet werden. Danach werden diese neuen Werte zu den Ausgangswerten des Sensors zugeordnet (siehe Abbildung 8). Diese neue Kennlinie kann in Simulink bei einer Look-Up-Tabelle benutzt werden. Dabei ist der Eingabewert der Rohwert aus dem analogen Pin und die Ausgabe ist der Abstand. Das lässt sich nur dann anwenden, wenn die ursprüngliche Kennlinie aus der Kalibration über den gesamten Bereich monoton wachsend ist. (Siehe [https://de.wikipedia.org/wiki/Umkehrfunktion Umkehrfunktion]). 
 
<gallery widths="600" heights="400" perrow="3">
Kennlinie aus Datenblatt.png|'''Abbildung 7: Kennlinie aus Datenblatt''' [4]
Kennlinie aus Datenblatt umgekehrt.png|'''Abbildung 8: Kennlinie aus Datenblatt (umgekehrte Elemente der Abstände)'''[4]
</gallery>
Für die Neukalibrierung der Kennlinie muss beachtet werden, dass der Sensor mit reflektiertem Licht arbeitet. Am besten sollte in der gleichen Umgebung neukalibriert werden, in dem der Sensor im Betrieb gesetzt wird. Das für diese Hausarbeit benutzte Exemplar des IR Abstandssensors GP2Y0A21YK0F wurde mit zwei unterschiedlichen Oberflächenfarben und mit zwei unterschiedlichen Umgebungsbeleuchtungen kalibriert. <br/>
==Kalibrierung==
===Kalibrierung mit heller Umgebungsbeleuchtung ===
[[Datei:Erste Messung.png|400px|thumb|links|Abbildung 9: '''Messung mit heller Umgebungsbeleuchtung''' ]]
 
 
{| class="mw-datatable"
! style="font-weight: bold;" | Abstand in cm
! style="font-weight: bold;" | Analoge 10-Bit-Rohewerte Schwarz
! style="font-weight: bold;" | Analoge 10-Bit-Rohewerte Weiss
|-
| 6<br/> ||625<br/>||625<br/>
|-
| 10<br/> || 527<br/>||499<br/>
|-
| 15 <br/> || 364||349<br/>
|-
| 20<br/> ||274<br/>|| 270<br/>
|-
| 25<br/> || 224<br/>|| 220<br/>
|-
| 30 <br/> || 189||185 <br/>
|-
| 40<br/> ||142<br/>|| 142<br/>
|-
| 50<br/> || 116<br/>|| 118<br/>
|}
 
[[Datei:Erste Messung u.png|400px|thumb|links|Abbildung 10: '''Messung mit heller Umgebungsbeleuchtung und umgekehrten Abständen''' ]]
<br/><br/><br/><br/><br/><br/>
 
{| class="mw-datatable"
! style="font-weight: bold;" | Umgekehrter Abstand in 1/cm
! style="font-weight: bold;" | Abstand in cm
! style="font-weight: bold;" | Analoge 10-Bit-Rohewerte Schwarz
! style="font-weight: bold;" | Analoge 10-Bit-Rohewerte Weiss
 
|-
| 0.02<br/> ||50||116<br/>||118<br/>
|-
| 0.025<br/> ||40|| 142<br/>||142<br/>
|-
| 0.0333<br/> ||30|| 189||185<br/>
|-
| 0.04<br/> ||25||224<br/>|| 220<br/>
|-
| 0.05<br/> ||20|| 274<br/>|| 270<br/>
|-
| 0.0667<br/> ||15|| 364||349<br/>
|-
| 0.1 <br/> ||10||527<br/>|| 499<br/>
|-
| 0.1667<br/> ||6|| 625<br/>|| 625<br/>
|}
<br/><br/><br/><br/><br/><br/><br/>


==Bussystem==
===Kalibrierung mit dunkler Umgebungsbeleuchtung ===
==Signalvorverarbeitung==
[[Datei:Zweite Messung.png|400px|thumb|links|Abbildung 11: '''Messung mit dunkler Umgebungsbeleuchtung''' ]]
==Digitale Systemverarbeitung==
 
==Bewertung der Sensordaten==
 
{| class="mw-datatable"
! style="font-weight: bold;" | Abstand in cm
! style="font-weight: bold;" | Analoge 10-Bit-Rohewerte Schwarz
! style="font-weight: bold;" | Analoge 10-Bit-Rohewerte Weiss
|-
| 6<br/> ||624<br/>||624<br/>
|-
| 10<br/> || 530<br/>||526<br/>
|-
| 15 <br/> || 363||352<br/>
|-
| 20<br/> ||274<br/>|| 265<br/>
|-
| 25<br/> || 219<br/>|| 220<br/>
|-
| 30 <br/> || 185||185 <br/>
|-
| 40<br/> ||138<br/>|| 142<br/>
|-
| 50<br/> || 110<br/>|| 118<br/>
|}
 
[[Datei:Zweite Messung u.png|400px|thumb|links|Abbildung 12: '''Messung mit dunkler Umgebungsbeleuchtung und umgekehrten Abständen''' ]]
<br/><br/><br/><br/><br/><br/>
 
{| class="mw-datatable"
! style="font-weight: bold;" | Umgekehrte Abstand in 1/cm
! style="font-weight: bold;" | Abstand in cm
! style="font-weight: bold;" | Analoge 10-Bit-Rohewerte Schwarz
! style="font-weight: bold;" | Analoge 10-Bit-Rohewerte Weiss
 
|-
| 0.02<br/> ||50||110<br/>||118<br/>
|-
| 0.025<br/> ||40|| 138<br/>||142<br/>
|-
| 0.0333<br/> ||30|| 185||185<br/>
|-
| 0.04<br/> ||25||219<br/>|| 220<br/>
|-
| 0.05<br/> ||20|| 274<br/>|| 265<br/>
|-
| 0.0667<br/> ||15|| 263||352<br/>
|-
| 0.1 <br/> ||10||530<br/>|| 526<br/>
|-
| 0.1667<br/> ||6|| 624<br/>|| 624<br/>
|}
<br/><br/><br/><br/><br/>
 
=Hardwareaufbau=
==Schaltung des IR-Abstandssensors GP2Y0A21YK0F==
[[Datei:Schaltung GP2Y0A21YK0F.png|400px|thumb|center|Abbildung 13: '''Schaltung GP2Y0A21YK0F''' ]]
 
==Schaltplan und Steckplatine==
<gallery class="center" caption="" widths="400" heights="400">
Analog ir sensor Steckplatine.png|Abbildung 14: '''Steckplatine'''
 
Datei:Analog ir sensor Schaltplan.png|Abbildung 15:'''Schaltplan'''
</gallery>
 
=Softwarearchitektur=
[[Datei:Software Architektur.png|500px|thumb|center|Abbildung 16: '''Ablauf der Abstandsmessung''' ]]
 
=Digitale Signalverarbeitung=
[[Datei:Modell Simulink.png|500px|thumb|rechts|Abbildung 17: '''Simulink Modell für die Abstandsmessung''' ]]
Die Messung ist anhand Simulink und des Abstandsensors GP2Y0A21YK0F relativ einfach. In Abbildung 17 ist auch deutlich, dass die Rohwerte des Sensors durch einen Median-Filter gefiltert werden müssen. Danach ist eine Look-Up-Table anzuwenden.
Bei der "1-D Look-Up-Table" sind die folgenden Einstellungen zu wählen: <br/>
* Table data: Dialog-''Variable aus dem Workspace, die die umgekehrten Abstände enthält.''Die Werte dieser Variable müssen '''aufsteigend''' sortiert sein!
*Breakpoints 1: Dialog- ''Variable aus dem Workspace, die die Abstände enthält.'' Die Werte dieser Variable müssen den Werten der Abstände entsprechen!
 
=Bewertung der Sensordaten=
==Vorteile==
* Sehr einfache Bedienung
* Es wird kein Bussystem benötigt
* Reaktions- und Messungszeiten sind schnell
* Messungen bis 80 cm
* Kostengünstig 
* Es gibt wenige Störfaktoren bei der Messung
 
==Nachteile==
* Keine sehr präzise Messung. Bei kleinen Abständen (10 cm bis 20 cm) ist die Auflösung etwa 1 cm. Bei größeren Abständen etwa 1,5 cm
* Die Kalibrierung kann aufwendig sein
 
==Empfehlungen bei der Kalibrierung==
* Die Kennlinie soll nur mit den Werten realisiert werden, die tatsächlich gebraucht werden und die in dem zu verwendenden Messbereich liegen.
* Die Farbe der zu detektierenden Oberfläche spielt eine große Rolle, wenn eine gute Genauigkeit erwartet wird. Es ist empfiehlt sich die gleiche Umgebungsbeleuchtung zu benutzen, die auch bei der Messung eingesetzt wird.


=Literatur=
=Literatur=
[1] Bananarobotics. URL: https://www.bananarobotics.com/shop/Sharp-GP2Y0A21YK0F-IR-Distance-Sensor
[1] Bananarobotics. URL: https://www.bananarobotics.com/shop/Sharp-GP2Y0A21YK0F-IR-Distance-Sensor <br/>
 
[2] Schönfelder, G.; Hering, E.: ''Sensoren in Wissenschaft und Technik''. Wiesbaden: Viewg+Teubner, 2012,S. 166-171 ISBN 978-3-8348-0169-2<br/>
[3] Wüst, K.: ''Mikroprozessortechnik: Grundlagen, Architekturen, Schaltungstechnik und Betrieb von Mikroprozessoren und Mikrocontrollern''. Wiesbaden:  Viewg+Teubner-Verlag, 11. Auflage 2011, S. 267-368. ISBN:978-3-8348-0906-3<br/>
[4] Global Sharp: Datasheet GP2Y0A21YK0F. URL: https://global.sharp/products/device/lineup/data/pdf/datasheet/gp2y0a21yk_e.pdf<br/>
----
----
→ zurück zum Hauptartikel: [[ST WS2020|Sensortechnik WS 20/21]]
→ zurück zum Hauptartikel: [[ST WS2020|Sensortechnik WS 20/21]]

Aktuelle Version vom 22. Januar 2021, 22:58 Uhr

Abbildung 1: SHARP IR GP2Y0A21YK0F. [1]

→ zurück zum Hauptartikel: Sensortechnik WS 20/21


Autor: Patricio Emiliano Hernandez Murga

Betreuer: Prof. Dr.-Ing. Ulrich Schneider

Aufgabe

In dieser Artikel werden folgenden Punkte behandelt:

  • Auswahl eines Primärsensors
  • Analyse des Sensors praktisch und anhand von passender Literatur
  • Signalverarbeitung
  • Bewertung der Sensordaten
  • Inbetriebnahme des Analoger Abstandssensors: Sharp IR GP2Y0A21YK0F

Einleitung

Technische Übersicht

Der Sensor besteht aus einem IR Sender (Infrarot LED) und einem positionsempfindilchen Detektor ( engl. PSD - position sensitive detector).
Das Datenblatt für GP2Y0A21YK0F ist im Internet zu finden

Pinbelegung

Pin Belegung
1
Ausgang
2
Masse
3 Versorgungsspannung

Eigenschaften

Technische Daten Wert
Abmessung
44,5 mm x 13 mm x 13,5 mm
Versorgungsspannung
4,5 V bis 5,5 V
Betriebstemperatur -10 °C bis 60 °C
Messbereich zur Entfernungsmessung (Optimal) 10 cm bis 80 cm

Funktionsprinzip

Der Abstandsensor IR GP2Y0A21YK0F ist ein infraroter Triangulationssensor. Er besitzt einen integrierten positionsempfindlichen Detektor ( engl. position sensitive detektor, PSD ), und einem IRED (infrared emmiting diode). Das IRED strahlt ein infrarotes Licht aus, welches von dem zu detektierenden Objekt reflektiert wird. Das reflektierte Licht geht durch das Detektionslens und wird von dem PSD-Element empfangen. Der Abstand zum Objekt wird dann abhängig vom Schwerpunkt des Lichtflecks berechnet. Durch das geometrischen Messverfahren, Triangulation kann der Abstand zu dem zu detektierenden Objekt berechnet werden.

Grundlagen

Funktionsprinzip des positionsempfindlichen Detektors

Ein positionsempfindlicher Detektor funktioniert ähnlich wie eine normale Photodiode. Das Licht auf dem aktiven Gebiet des PSD generiert einen Photostrom. Dieser Photostrom fließt in Richtung des p- und n-Gebietes ab. Der PSD kann drei bis fünf Kontakte je nach Dimensionen haben. Beim IR Abstandsensor GP2Y0A21YK0F befindet sich ein eindimensionaler PSD. Daher besitzt er drei Kontaktierungen. Durch die erste Kontaktierung fließt ein gesamter Strom I. Durch die anderen zwei Leitungen kommt es zu einer Aufteilung des Photostromes unter den Kontakten. Diese Aufteilung ist proportional zu der Position des Schwerpunkts des Lichtflecks.

Vorteile der PSD

Im Gegensatz zu Pixelelementen (CCD) ist bei positionsempfindlichen Detektoren die Auflösung nicht durch die Pixelgroße begrenzt und es ist keine aufwendige Analyse durch einen Computer nötig. Darüber hinaus sind bei positionsempfindlichen Detektoren Parameter wie Form, Große und Intensivitätsverteilung des Lichtflecks unbedeutend. Denn der Schwerpunkts des Lichtflecks gibt seine Position an.

Ermittlung der Position

Die Position wird durch die Bildung der Stromdifferenz zwischen zwei gegenüberliegenden Kontakten ermittelt (siehe Abbildung 2). Um die Differenz der Verteilung des gesamten Photostromes unabhängig der Intensität von der einfallenden Lichtintensität zu bilden, wird ein Verhältnis daraus gebildet: Durch die folgende Gleichung lässt sich dann die Lage des Schwerpunkts des Lichtes auf der aktiven Fläche des PSD ermitteln:


Optik

Optische Abstandsensoren strahlen sichtbares bzw. unsichtbares Licht (z.B. infrarotes Licht) aus. Das Licht wird vom Objekt reflektiert und dann vom Sensor erfasst. Aus der vom Sensor erfassten Information kann dann ein Abstand d bestimmt werden. Störungen können bei dem auszuwertenden Signal entstehen. Denn es kann passieren, dass der Sensor nicht nur das reflektierte Licht empfängt, sondern auch ein externes Licht mit dazu. Um dieses Phänomen zu reduzieren, besitzt der IR Sensor einen besonderen Lens, welches das infrarote Licht filtert.

Für den Strahlenverlauf besitzt der IR Abstandsensor GP2Y0A21YK0F eine biaxiale Optik (siehe Abbildung 3). Bei einer biaxialen Optik sind die optischen Achsen des Sende- und Empfangsstrahls voneinander getrennt. In der Regel liegen diese nebeneinander, um die abstandsabhängige Energie zu optimieren. Dabei besitzt die biaxiale Optik einen typsichen Verlauf (siehe Abbildung 4).

Messprinzip der Triangulation

Triangulation ist ein rein geometrisches Messverfahren. Das Sender ( infrarotes LED oder IRED) erzeugt Licht und dieses wird auf dem zu detektierenden Objekt reflektiert. Das reflektierte Licht geht durch das für die Detektion verantwortliche Lens mit einem bestimmten Winkel je nach Abstand d. Die Stelle x auf dem PSD-Element ist dann abhängig von dem Eingangswinkel des Lichtes . Durch das Messen der Stelle x ergibt sich dann der Abstand d.

Abbildung 5: Prinzipielles Schema bei Triangulation [2]
– Basisabstand zwischen der optischen Achse der Sende- und der Empfangsoptik.
– Abstand zwischen Detektionsebene und Optik
– Schwerpunkt des Lichtflecks
– Objektabstand








Equipment

Verwendete Software

Für die Ausarbeitung der Aufgabenstellungen wird folgende Software benutzt:

  • MATLAB/ Simulink 2020b
  • Tortoise SVN
  • Fritzing

Verwendete Hardware

Für die Ausarbeitung der Aufgabenstellungen wird folgende Hardware benutzt:

  • SHARP IR Abstandsensor GP2Y0A21YK0F
  • Funduino Uno R3

Primärsensor

Für den IR-Abstandsensor GP2Y0A21YK0F wird ein PSD benutzt, um die Messgröße, das reflektierte infrarote Licht, in ein elektrisches Signal umzuwandeln. Die innere integrierte Schaltung vom Sensor ( distance measuring IC) übernimmt sowohl die Lichterzeugung mittels des IREDs als auch die Umwandlung des vom PSD empfangenen infraroten Lichtes in ein analoges Signal. Das analoge Signal kann einen Wert von 0 V bis 5 V besitzen. Daher wird kein Verstärker benötigt, um das Signal zu verarbeiten. Es wird alles von der integrierten Schaltung des IR-Abstandssensors unternommen.

Die integrierte Schaltung liefert in Zeitspannen von 28,7 ms bis 47,9 ms einen analogen Wert. Dabei ist zu beachten, dass die allererste Messung als instabil gilt und daher die zweite Messung als die erste zu sehen ist. Darüber hinaus ist auch zu beachten, dass die integrierte Schaltung des IR-Abstandssensors eine Zeitverzögerung von 5 ms (maximal) zwischen den Messungen hat.

Analog-Digital-Umsetzer

Abbildung 6: Ein N-bit Analog-Digital-Umsetzer

Um das analoge Signal digital zu verarbeiten, kommt ein Analog-Digital-Umsetzer (ADU, auch bekannt als AD-Wandler) zum Einsatz. Durch den ADU wird die Amplitude des rohen analogen Signals in bestimmten Abständen geteilt. Dabei wird das am Eingang des ADU anliegende analoge Signal in eine ganze Zahl umgerechnet und in binäre Darstellung an den N digitalen Ausleitungen ausgegeben. Die Auflösung des AD-Wandlers wird durch die Anzahl N an Bits ermittelt (siehe Abbildung 6) . Als erstes findet das sogenannte Sampling statt. Dies bezeichnet das Verfahren zur Entnahme von Verstärkungswerten des analogen Signals in diskreten Zeitintervallen. Danach werden numerische Werte zu den getesteten Verstärkungswerten zugewiesen. Nach ihrer Quantisierung werden die Verstärkungswerte anhand eines Encoders kodiert. Im Fall vom Arduino Uno ist ein 10-Bit AD-Wandler vorhanden. Das bedeutet, dass eine Menge von 1024 Werten mit dem an Arduino verbauten AD-Wandler diskretisiert werden können. Bei dem Fall von Arduino Uno besitzen die Quantisierungsstufen eine Höhe von ungefähr 4,89 mV.

Bussystem

Es wird kein Bussystem benötigt.

Signalvorverarbeitung

Dadurch dass der IR-Abstandssensor ein analoges Signals liefert, muss zu jedem Spannungswert ein Abstand zugewiesen werden. Dies erfolgt anhand einer Kennlinie. Die Kennlinie des IR-Abstandssensors GP2Y0A21YK0F kann im Datenblatt [4] gefunden werden (siehe Abbildung 7). Seine Kennlinie entspricht der allgemeinen Kennlinie eines Triangulationssensors mit einer biaxialen Optik. Dabei gibt es kein monoton wachsendes oder fallendes Verhalten über den gesamten Messbereich. Daraus folgt, dass einer Spannung mehrere Abstände zugeordnet werden. Dadurch kann eine Verfälschung von Daten vorkommen.

Um dieses Verhalten zu bekämpfen, kann die umgekehrte Zahl jedes Elements des Messbereichs gebildet werden. Danach werden diese neuen Werte zu den Ausgangswerten des Sensors zugeordnet (siehe Abbildung 8). Diese neue Kennlinie kann in Simulink bei einer Look-Up-Tabelle benutzt werden. Dabei ist der Eingabewert der Rohwert aus dem analogen Pin und die Ausgabe ist der Abstand. Das lässt sich nur dann anwenden, wenn die ursprüngliche Kennlinie aus der Kalibration über den gesamten Bereich monoton wachsend ist. (Siehe Umkehrfunktion).

Für die Neukalibrierung der Kennlinie muss beachtet werden, dass der Sensor mit reflektiertem Licht arbeitet. Am besten sollte in der gleichen Umgebung neukalibriert werden, in dem der Sensor im Betrieb gesetzt wird. Das für diese Hausarbeit benutzte Exemplar des IR Abstandssensors GP2Y0A21YK0F wurde mit zwei unterschiedlichen Oberflächenfarben und mit zwei unterschiedlichen Umgebungsbeleuchtungen kalibriert.

Kalibrierung

Kalibrierung mit heller Umgebungsbeleuchtung

Abbildung 9: Messung mit heller Umgebungsbeleuchtung


Abstand in cm Analoge 10-Bit-Rohewerte Schwarz Analoge 10-Bit-Rohewerte Weiss
6
625
625
10
527
499
15
364 349
20
274
270
25
224
220
30
189 185
40
142
142
50
116
118
Abbildung 10: Messung mit heller Umgebungsbeleuchtung und umgekehrten Abständen







Umgekehrter Abstand in 1/cm Abstand in cm Analoge 10-Bit-Rohewerte Schwarz Analoge 10-Bit-Rohewerte Weiss
0.02
50 116
118
0.025
40 142
142
0.0333
30 189 185
0.04
25 224
220
0.05
20 274
270
0.0667
15 364 349
0.1
10 527
499
0.1667
6 625
625








Kalibrierung mit dunkler Umgebungsbeleuchtung

Abbildung 11: Messung mit dunkler Umgebungsbeleuchtung


Abstand in cm Analoge 10-Bit-Rohewerte Schwarz Analoge 10-Bit-Rohewerte Weiss
6
624
624
10
530
526
15
363 352
20
274
265
25
219
220
30
185 185
40
138
142
50
110
118
Abbildung 12: Messung mit dunkler Umgebungsbeleuchtung und umgekehrten Abständen







Umgekehrte Abstand in 1/cm Abstand in cm Analoge 10-Bit-Rohewerte Schwarz Analoge 10-Bit-Rohewerte Weiss
0.02
50 110
118
0.025
40 138
142
0.0333
30 185 185
0.04
25 219
220
0.05
20 274
265
0.0667
15 263 352
0.1
10 530
526
0.1667
6 624
624






Hardwareaufbau

Schaltung des IR-Abstandssensors GP2Y0A21YK0F

Abbildung 13: Schaltung GP2Y0A21YK0F

Schaltplan und Steckplatine

Softwarearchitektur

Abbildung 16: Ablauf der Abstandsmessung

Digitale Signalverarbeitung

Abbildung 17: Simulink Modell für die Abstandsmessung

Die Messung ist anhand Simulink und des Abstandsensors GP2Y0A21YK0F relativ einfach. In Abbildung 17 ist auch deutlich, dass die Rohwerte des Sensors durch einen Median-Filter gefiltert werden müssen. Danach ist eine Look-Up-Table anzuwenden. Bei der "1-D Look-Up-Table" sind die folgenden Einstellungen zu wählen:

  • Table data: Dialog-Variable aus dem Workspace, die die umgekehrten Abstände enthält.Die Werte dieser Variable müssen aufsteigend sortiert sein!
  • Breakpoints 1: Dialog- Variable aus dem Workspace, die die Abstände enthält. Die Werte dieser Variable müssen den Werten der Abstände entsprechen!

Bewertung der Sensordaten

Vorteile

  • Sehr einfache Bedienung
  • Es wird kein Bussystem benötigt
  • Reaktions- und Messungszeiten sind schnell
  • Messungen bis 80 cm
  • Kostengünstig
  • Es gibt wenige Störfaktoren bei der Messung

Nachteile

  • Keine sehr präzise Messung. Bei kleinen Abständen (10 cm bis 20 cm) ist die Auflösung etwa 1 cm. Bei größeren Abständen etwa 1,5 cm
  • Die Kalibrierung kann aufwendig sein

Empfehlungen bei der Kalibrierung

  • Die Kennlinie soll nur mit den Werten realisiert werden, die tatsächlich gebraucht werden und die in dem zu verwendenden Messbereich liegen.
  • Die Farbe der zu detektierenden Oberfläche spielt eine große Rolle, wenn eine gute Genauigkeit erwartet wird. Es ist empfiehlt sich die gleiche Umgebungsbeleuchtung zu benutzen, die auch bei der Messung eingesetzt wird.

Literatur

[1] Bananarobotics. URL: https://www.bananarobotics.com/shop/Sharp-GP2Y0A21YK0F-IR-Distance-Sensor
[2] Schönfelder, G.; Hering, E.: Sensoren in Wissenschaft und Technik. Wiesbaden: Viewg+Teubner, 2012,S. 166-171 ISBN 978-3-8348-0169-2
[3] Wüst, K.: Mikroprozessortechnik: Grundlagen, Architekturen, Schaltungstechnik und Betrieb von Mikroprozessoren und Mikrocontrollern. Wiesbaden: Viewg+Teubner-Verlag, 11. Auflage 2011, S. 267-368. ISBN:978-3-8348-0906-3
[4] Global Sharp: Datasheet GP2Y0A21YK0F. URL: https://global.sharp/products/device/lineup/data/pdf/datasheet/gp2y0a21yk_e.pdf


→ zurück zum Hauptartikel: Sensortechnik WS 20/21