AF: Abstandssensorik (SenAbs): Unterschied zwischen den Versionen
Zeile 69: | Zeile 69: | ||
<br> | <br> | ||
=== Analoge | === Analoge Signalverarbeitung === | ||
* ADU | * ADU | ||
Um das analoge Signal digital zu verarbeiten, wird ein Analog-Digital-Umsetzer verwendet. Durch den ADU werden Spannungen in bestimmten diskreten Stufen wahrgenommen. Diese Spannungsstufen werden im Fall der DSPACE Karte, in dem ein 12-Bit Wandler verbaut ist, in 2^12= 4096 Spannungsstufen unterteilt. Dabei hat eine Spannungsstufe, durch den maximalen Ausgang von 3.2 V und minimalen Ausgang von 0 V des IR-Sensor, eine Breite/Auflösung von: <math>U_{LSB}=\frac{3.2\,V - 0\,V}{4096}\approx 7,8125\,mV</math>. | Um das analoge Signal digital zu verarbeiten, wird ein Analog-Digital-Umsetzer verwendet. Durch den ADU werden Spannungen in bestimmten diskreten Stufen wahrgenommen. Diese Spannungsstufen werden im Fall der DSPACE Karte, in dem ein 12-Bit Wandler verbaut ist, in 2^12= 4096 Spannungsstufen unterteilt. Dabei hat eine Spannungsstufe, durch den maximalen Ausgang von 3.2 V und minimalen Ausgang von 0 V des IR-Sensor, eine Breite/Auflösung von: <math>U_{LSB}=\frac{3.2\,V - 0\,V}{4096}\approx 7,8125\,mV</math>. |
Version vom 25. April 2023, 16:29 Uhr
Autoren: Niklas Reeker & Oliver Scholze
Primärsensor
In dem Fahrzeug sind vier Infrarotsensoren verbaut um beim Einparken des Fahrzeugs den Abstand zu verschiedenen Objekten zu messen. In diesem Fall ist der Sensor Sharp GP2D120 verbaut. Weitere Informationen zu diesem Sensor sind in dem Artikel Infrarotsensoren und im Datenblatt im Web[1] oder im SVN[2] zu finden.
Messkette
Die Messkette erfolgt wie in Abb. 02. Das elektrische Signal von IR-Sensor wird vom ADC in ein digitales Signal gewandelt. Darauf folgt die Signalverarbeitung, die durch einen Filter für Signalspitzen und einen PT1 Tiefpassfilter realisiert wird. Nachdem das Signal bearbeitet ist, folgt ein Lookup Table. Dieser wird anhand der Kennlinie im Datenblatt aufgestellt oder selbst eingemessen und dient zur Umwandlung digitaler Messwerte, welche eine Spannung repräsentieren, in ein Abstandsmaß, in diesem Fall Meter. Die genaue Messkatte kann in der Abbildung 2 nachverfolgt werden.
Systementwurf
Einbauposition
Die genaue Position der Infrarotsensoren wird in der folgenden Tabelle (Positionsbestimmung durchgeführt am 25.04.2023) dargestellt und lässt sich durch das Fahrzeugkoordinatensystem in Abb. 04 nachverfolgen:
IR_Sensor | x-Position | y-Position |
---|---|---|
xVR (rechts vorne) | -2.5 cm | -10 cm |
xHR (rechts hinten) | -31 cm | -10 cm |
yHR (hinten links) | -36 cm | -9 cm |
yHL (hinten rechts) | -36 cm | 9 cm |
Sensoranschlussplan (vgl. Abb. 3)
Der Sensoranschlussplan, welcher der Tabelle zu entnehmen ist, beschreibt die Pinbelegung des Sensors anhand der Farbe des Kabels. Des Weiteren werden die Anschlusspins der DSpace Karte aufgeführt die im nächsten Unterpunkt spezifiziert werden.
PIN | Farbe des Kabels | Pin am Sensor | DS1104-Pin |
---|---|---|---|
1 | Gelb | Sensor_IR_V0 | ADCH5 … 8 |
2 | Orange | Sensor_IR_GND | GND |
3 | Rot | Sensor_IR_VCC | '-0,3 V ... +7 V |
Analoge Signalverarbeitung
- ADU
Um das analoge Signal digital zu verarbeiten, wird ein Analog-Digital-Umsetzer verwendet. Durch den ADU werden Spannungen in bestimmten diskreten Stufen wahrgenommen. Diese Spannungsstufen werden im Fall der DSPACE Karte, in dem ein 12-Bit Wandler verbaut ist, in 2^12= 4096 Spannungsstufen unterteilt. Dabei hat eine Spannungsstufe, durch den maximalen Ausgang von 3.2 V und minimalen Ausgang von 0 V des IR-Sensor, eine Breite/Auflösung von: .
Schnittstelle zur DS1104
- Pinbelegung/Anschlussplan
Sensor Pin | Belegung | Farbe | Sensorposition | Anschluss auf der Adapterplatine | Anschluss auf DS1104 | Signal |
---|---|---|---|---|---|---|
1 | Ausgang | Gelb | rechts vorne | J21_IR_V | P1A-46_ADCH5 | SenAbs_xVR_K_f64
|
1 | Ausgang | Gelb | rechts hinten | J22_IR_H | P1B-46_ADCH6 | SenAbs_xHR_K_f64
|
1 | Ausgang | Gelb | hinten links | J20_IR_HL | P1B-44 ADCH8 | SenAbs_yHL_K_f64
|
1 | Ausgang | Gelb | hinten rechts | J19_IR_HR | P1A-44_ADCH7 | SenAbs_yHR_K_f64
|
2 | Masse (GND) | Schwarz | ||||
3 | Versorgungsspannung VCC | Rot |
Sensorblock - SenAbs
Die Signalverarbeitung erfolgt ausschließlich im Block SEN.
In der Abbildung 05 zeigt Lage der SenAbs - Abstandssensorik (in blau markiert) abgebildet.
Die Ausgangssignale haben die Bezeichnungen SenAbs_LookUpxVR_f64
, SenAbs_LookUypxHR_f64
, SenAbs_LookUpyHR_f64
und SenAbs_LookUpxHL_f64
. Diese werden nach dem Filter für Signalspitzen abgegriffen.
Die anderen Ausgangssignale sind die Messwerte umgewandelt in Meter und haben die Bezeichnungen SenAbs_xVR_K_f64
, SenAbs_xHR_K_f64
, SenAbs_yHL_K_f64
und SenAbs_yHR_K_f64
.
Die darauffolgende Abbildung 06 zeigt die Signalverarbeitung im Block SenAbs - Abstandssensorik. Die Beschreibung findet sich in der nachfolgenden Tabelle:
Simulink Block | Funktion |
---|---|
DS1104ADC_C5 ... C8 | Ist der Ausgang gewandelter analoger Signale in digitale Signale. |
Infrarotsensor | Vorfilterung des Messsignals zur Reduzierung von Signalspitzen. |
PT1 (Ohne Beschriftung) | Erneute Filterung des Messignals mithilfe eines Tiefpassfilters. |
Lookup Table | Digitale Signale, welche eine Spannung repräsentieren, in ein Abstandsmaß (Meter) umwandeln. |
IR_Sensor | Signalfarbe ROT | Signalfarbe BLAU | Signalfarbe GRÜN | Signalfarbe GELB |
---|---|---|---|---|
xVR | ADC |
SenAbs_LookUpxVR_f64 |
In1 |
SenAbs_xVR_K_f64
|
xHR | ADC |
SenAbs_LookUypxHR_f64 |
In1 |
SenAbs_xHR_K_f64
|
yHR | ADC |
SenAbs_LookUpyHR_f64 |
In1 |
SenAbs_yHL_K_f64
|
yHL | ADC |
SenAbs_LookUpxHL_f64 |
In1 |
SenAbs_yHR_K_f64
|
Signalanalyse
Die Signalanalyse umfasst einen Funktionstest aller vier Sensoren auf eine bestimmte Referenzentfernung und anhand eines Sensors werden sämtliche Ein- und Ausgangsignale der Signalverarbeitungsblöcke dargestellt (vgl. Messkette).
Vorgehensweise der Messung
-
Abb.: 07 Messaufbau für den Funktionstest und die Darstellung der Messkette
Werkzeuge:
- Zollstock
- Rollwagen
- Karton (Messobjekt)
Für den Funktionstest aller vier Sensoren wird ein Messobjektauf eine Entfernung von 15 cm vom jeweiligen Sensor aufgestellt. Daraufhin erfolgt die Messung mit ControlDesk und der Konvertierung der Messdaten in Matlap.
Für die Darstellung der Messkette, werden Messobjekte auf verschieden Entfernungen zum Sensor gemessen. Dazu wurde ein Messobjekt auf einem Rollwagen montiert, welches passend zur Entfernung bewegt werden konnte. Die Messung erfolgte somit kontinuierlich, von der geringsten Entfernung bis zur maximalen messbaren und logischen Entfernung (siehe Artikel des Primärsensors) des Infrarotsensors. Alle weiteren Informationen zur Messung befinden sich in der Tabelle 6 Messdatenbeschreibung.
Beschreibung | Referenzentfernungen | Dateiname | Signalnamen |
---|---|---|---|
Funktionstest der x-IR-Sensoren | 15 cm | 2023_04_18_IR_Test002.mat | SenAbs_xVR_K_f64 SenAbs_xHR_K_f64
|
Funktionstest der y-IR-Sensoren | 15 cm | 2023_04_18_IR_Test003.mat | SenAbs_yHL_K_f64 SenAbs_yHR_K_f64
|
Messkette des Sensors yHL | 4, 10, 20, 25, 30 cm | 2023_04_18_IR_Test006.mat | ADC SenAbs_LookUpxHL_f64 In1 SenAbs_yHR_K_f64
|
Funktionstest aller 4 Sensoren auf Referenzentfernung 15 cm
-
Abb.: 07 Funktionstest aller vier Sensoren [5]
Der Funktionstest der vier Sensoren in einem abstand von 15cm ist in Abbildung sieben dargestellt. Als Referenz würden die Abstände gemessen und die einzelnen Tests schriftlich festgehalten.
Kennlinientest eines Sensors auf die Referenzentfernungen 4 cm .. max. Reichweite
-
Abb. 5: Einheitssprung und Sprungantwort [6]
Der Kennlinientest ist in Abbildung acht dargestellt. Dabei wurden die Entfernungen von 4cm, 10cm, 20cm, 25cm und 30cm eingemessen. Als Referenz würden die Abstände gemessen und die einzelnen Tests schriftlich festgehalten.
Liste offener Punkte (LOP)
# | Problem | Analyse | Maßnahme | Freigabe | Wirksamkeit | Dokumentation |
---|---|---|---|---|---|---|
1 | SenAbs-Block ist schlecht kommentiert | Signale benennen, Kommentare einfügen | x | |||
2 | IR Abstand berechnen wird nicht verwendet | Toter Code | löschen | x | ||
3 | FilterIRSpikes komplexer m-Code | zu komplex | Ersetzen durch Simulink-Median-Block | x | ||
4 | PT1 | Wozu dient der? | löschen | x | ||
5 | Knicks in Lookup-Table | |||||
6 | Namensgebung yHR und xHR sind vertauscht | Signale korrekt umbennen | x | |||
7 | Sensor xHR ist nicht immer funktionstüchtig |
Legende
- Problem: Was genau ist das Problem? Wo tritt das Problem auf? Wie zeigt sich das Problem? Wann tritt das Problem auf? Warum ist es ein Problem?
- Analyse: Was ist die Ursache des Problems?
- Maßnahme: Maßnahme zur Beseitigung der identifizierten Ursache
- Freigabe: Abstimmung der Maßnahme mit Prof. Schneider
- Wirksamkeit: Beschreibung Nachweis Wirksamkeit (Dummy-Prüfung, Versuche, Kurzzeitfähigkeit, Kennzahlen, Audit, etc.)
- Dokumentation: Doku der Lösung im HSHL-Wiki
Zusammenfassung
Alle Sensoren sind teilweise funktionsfähig und die Genauigkeit der Messwerte ist ausreichend für die Abstandsbestimmung zum autonomen Einparken. Der IR-Sensor xHR ist nicht immer funktionsfähig, nach einem Neustart des Fahrzeugs und ControlDesk kann dieser wieder verwendet werden. Außerdem müssen ein paar Änderungen vorgenommen werden um den Code zu optimieren und ihn mit Kommentaren verständlicher zu gestalten.
Datenblätter
Der Hersteller Sharp stellt Datenblätter zu dem Sensor bereit. Diese sind sowohl in SVN[2] als auch im Web[1] abrufbar.
Literatur
- Stefan Hesse, Gerhard Schnell: Sensoren für die Prozess- und Fabrikautomation. Wiesbaden 2018, ISBN 978-3-658-21173-8, S. 78–80, 371f.
Einzelnachweis
Dokumentation in SVN
Die Messdaten, sowie die für die Auswertung verwendeten Matlabskripte können hier aufgerufen werden.
→ zurück zum Hauptartikel: Praktikum SDE | SDE-Team 2023/24 | Lernzielkontrolle 1