Gyrosensor (LPR510AL)

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Ansicht des ST LPR510AL auf dem Entwicklungsboard

Verbesserungen im SS2020: Julin Horstkötter, Levin Baumeister

Der Gierratensensor (oder auch Gyrosensor bzw. Drehratensensor) des Autonomen Fahrzeugs stellt unter anderem einen Teil der Einparksensorik dar, die Ermittlung der Rotationsgeschwindigkeit des Fahrzeugs erfolgt über diesen. Verwendet wird der LPR510AL des Herstellers STMicroelectronics, dessen Einsatz wird in diesem Artikel genauer erläutert. Die ermittelten Sensordaten werden in verschiedensten Teilen des gesamten Softwareprojekts verwendet. Der Sensor LPR510AL wurde während des SDE-Praktikums im Sommersemester 2014 das erste Mal eingesetzt und auf seine Funktion überprüft. Die Simulink-Modele sind ältere Versionen, mit denen erste Tests durchgeführt worden sind.

Kurzinformation

Abmessungen und Rückseite des LPR510AL Boards.

Der Gierratensensor LPR510AL ist ein Gyroskop (bzw. Drehratensensor) mit einer Doppelachse zur Messung von der Winkelgeschwindigkeit entlang der Nick- und Rollachse mit einem geringen Leistungsbedarf. Der LPR510AL hat einen maximalen Messbereich von ±100 °/s und ist in der Lage, Raten mit einer Bandbreite von -3 dB bis zu einer Frequenz von 140 Hz zu erkennen. Das Gyroskop besteht aus einer Kombination aus einem Aktuator und einem Beschleunigungsmesser integriert in einem Chip. Es enthält ein Sensorelement, das aus einzelnen Antriebsmasse besteht, die in ständiger schwingender Bewegung gehalten werden und in der Lage ist eine Winkelgeschwindigkeit auf der Grundlage der Coriolis-Kraft zu detektieren. Eine integrierte Auswertungseinheit stellt die gemessene Winkelgeschwindigkeit über eine analoge Ausgangsspannung zur Verfügung. Die Versorgungsspannung beträgt 2,7 V bis 3,6 V. In der Ruhelage befindet sich das Ausgangssignal bei 1,23 V. [1]

Funktionsweise

Zusammenhang zwischen Drehrate, Schwingungsbewegung und Coriolis-Beschleunigung an einer Punktmasse m.

Wie bereits erläutert enthält der verwendete Gierratensensor ein Sensorelement, das mit Hilfe der Coriolis-Kraft und einer schwingenden Masse die Winkelgeschwindigkeit des gesamten Fahrzeuges erfasst. Somit handelt es sich bei dem eingesetzten Sensor um ein Schwingungsgyrometer. Diese Variante der Gyrometer messen die Coriolis-Beschleunigung mit Hilfe der in folgendem Abschnitt beschriebenen Methode.

Wird der Abstand einer Masse zur Drehachse vergrößert, so muss diese wegen des höheren Radius in der Zeit einer Umdrehung einen größeren Weg zurücklegen. Der Umfang steigt mit dem Radius. Die Masse muss somit eine höhere Tangentialgeschwindigkeit erreichen und zu diesem Zweck beschleunigt werden. Diese Beschleunigung (Coriolis-Beschleunigung) wird gemessen, indem die Masse federnd aufgehängt ist, die Biegung der Aufhängung wird gemessen.

Wird nun der Abstand der mit höherer Tangentialgeschwindigkeit umlaufenden Masse zur Drehachse verringert, muss die Masse langsamer werden, da diese pro Umdrehung einen kleineren Weg zurücklegen muss. Die erforderliche Bremsbeschleunigung wird ebenfalls über die Biegung der Aufhängung gemessen. Bei den Schwingungsgyrometern wird der Abstand einer oder mehrerer Massen zur Drehachse durch eine Schwingungsanregung periodisch vergrößert und wieder verkleinert (Abbildung rechts, Bewegung in y-Richtung). Dadurch muss die Masse im gleichen Takt beschleunigt und wieder abgebremst werden (Bewegung in x-Richtung). Die dafür erforderlichen Kräfte hängen von der Amplitude der Schwingungsanregung und der aktuellen Drehrate ab. Hält man die Schwingungsanregung konstant, kann aus den Beschleunigungskräften die Drehrate ermittelt werden. [2]

Die Coriolis-Kraft wirkt senkrecht zur Drehbewegung und Geschwindigkeit der bewegten Masse (Bild rechts). Daraus ergibt sich die Coriolis-Beschleunigung zu:

Die Geschwindigkeit ändert sich entsprechend der Schwingbewegung sinusförmig:

Eine sinusförmige Coriolis-Beschleunigung gleicher Frequenz wird bei konstanter Drehrate gemessen. Der Amplitudenwert ist dann:

Die ebenfalls an der Masse angreifende Beschleunigung in Schwingrichtung ist dem Betrag nach meistens um mehrere Zehnerpotenzen höher als die Coriolis-Nutzbeschleunigung:

Das zu nutzende Signal (Drehrate) kann durch die Multiplikation von Anregungs- und Coriolis-Signal mit anschließender Mittelwertbildung bestimmt werden, da die Coriolis-Beschleunigung die selbe Frequenz wie die Anregungsfunktion hat. Dabei werden die Störsignale anderer Frequenzen heraus gefiltert. Die Mittelwertbildung entfernt das Ausgangssignal von der Anregungsfrequenz. Schlussendlich ergibt sich eine Ausgangsspannung, die der Drehrate proportional ist:

[3]


Interner Aufbau des ST LPR510AL

Blockschaltbild des Gierratensensors

Der interne Aufbau ist Abbildung „Blockschaltbild des Gierratensensors“ zu entnehmen. Es handelt sich um einen IC (Integrated Circuit), der insgesamt zwei Ausgänge hat. Der Aufbau des ICs untergliedert sich wiederum in

  • eine federnd gelagerte Masse,
  • eine Schaltung für die Auswertung der Bewegung in x-Richtung,
  • eine Schaltung für die Auswertung der Bewegung in y-Richtung,
  • mit jeweiligem Ladungsverstärker,
  • Tiefpass-Filter,
  • und vierfachen Verstärker pro Ausgang.

Nullratenpegel und Offsetkalibrierung

Der Nullratenpegel beschreibt das tatsächliche Ausgangssignal, wenn keine Winkelgeschwindigkeit vorhanden ist. Das Nullratenniveau von des Sensors ist durch die Stärke der maximalen Belastung des Sensors abhängig. Daher kann sich das Nullratenniveau, nach der Montage des Sensors auf einer Leiterplatte oder nachdem dieser einer starken mechanischen Beanspruchung ausgesetzt wurde, verändern. Dieser Wert ändert sich ebenfalls ein wenig über Temperatur und Zeit. [4]

Aus diesem Grund ist es wichtig, dass vor einer Messung, also einer Fahrt eine Kalibrierung vorgenommen wird, wie diese implementiert ist, wird im Artikel Offsetkalibrierung des Gyrosensors im Detail behandelt, dort ist auch die notwendige Software im Online Simulink-Projekt beschrieben. Im Artikel Offset-Kompensation Gyro Sensor ist die Implementierung der Kompensation zu dem zuvor verwendeten Gierratensensor beschrieben, ebenfalls ist dort die Entscheidung für den neuen in diesem Artikel beschriebenen Gierratensensor ST LPR510AL erläutert.

Selbsttest

Veranschaulichung der den Sensor beeinflussenden Rotationen und den resultierenden Ausgangssignal. Weitere Informationen im Datenblatt[5].

Der Selbsttest ermöglicht das Testen des mechanischen und elektrischen Teils des Sensors, wodurch die seismische Masse, mit Hilfe einer elektrostatischen Testkraft bewegt wird. Die Selbsttest-Funktion ist deaktiviert, wenn der ST-Pin (siehe Pinbelegung) mit GND verbunden ist. Wenn der ST-Pin mit Vdd verbunden ist, wird eine Betätigungskraft wird auf den Sensor aufgebracht, wodurch eine bestimmte Corioliskraft emuliert wird. In diesem Fall wird der Sensorausgang einen Spannungspegel aufweisen, der der Versorgungsspannung entspricht. Wenn der Selbsttest aktiviert ist, ist das Ausgangssignal die Summe des Signals das aus wirkende Geschwindigkeit und der elektrostatische Prüfkraft resultiert. Wenn sich die Ausgabe der Signale innerhalb dem in Datenblatt angegebenen Bereich befindet, dann funktioniert das mechanische Element ordnungsgemäß und die Parameter des Chips sind innerhalb der definierten Spezifikationen. Die Drehachsen des verwendeten Sensors sind in der Abbildung rechts zu finden, es ist spezifiziert bei welcher Achse es sich um die x-Achse und y-Achse handelt.[6]


Pinbelegung und Anschluss an das Fahrzeug

Anschlusspins des LPR510AL Boards.

In der folgenden Tabelle ist die Pinbelegung des Gierratensensors dargestellt.[7] Der Anschluss des ST LPR510AL auf dem gezeigten Entwicklungsboard erfolgt über die Adapterplatine, die die Verbindung zwischen den Sensoren und der DS1104 ermöglicht. Die Verbindung zwischen dem Board und der DS1104 ist ebenfalls in der Tabelle dargestellt. Die Wahl des Ausgangs des Sensors und die Wahl des Verstärkungsfaktors kann über die Jumper der Adapterplatine erfolgen.

Pinnummer Pinname Funktion DS1104-Pin
1 VIN Spannungseingang des Boards 5V
2 GND Masse - 0V GND
3 VDD 3,3V Eingangsspannung des Sensors
4 Y Verdrehung um die Y-Achse ohne Verstärkung ADCH4
5 4Y Verdrehung um die Y-Achse mit 4x Verstärkung ADCH4
6 Vref Referenzspannung
7 4X Verdrehung um die X-Achse mit 4x Verstärkung ADCH4
8 X Verdrehung um die X-Achse ohne Verstärkung ADCH4
9 PD Power-down (logic 0: normal mode; logic 1: power-down mode)
10 GND Masse - 0V GND
11 ST Self-test (logic 0: normal mode; logic 1: self-test)
Einbauposition der Adapterplatine im Fahrzeug, mit Fokus auf den Gierratensensor, aufgenommen von der linken Fahrzeugseite
Blick auf den eingebauten Gierratensensor und die zugehörigen Jumper.

Visualisierung der Messergebnisse in Controldesk

Bevor die Visualisierung in Controldesk erfolgen kann, wurden die elektrische Verbindungen zwischen dem Gieratensensor und der DS1104 geprüft, um somit diese Verbindung als mögliche Fehlerquelle auszuschließen. Es wurde der elektrische Durchgang zwischen dem Signalpin des Boards des Sensors und dem Stecker der DS1104 gemessen, zusätzlich wurde gegen die Masse und die Versorgungsspannung geprüft, sowie ein Durchgang zu benachbarten Signalpins der DS1104. Die Tests haben ergeben, das kein Fehler vorhanden ist, das aktuelle Prüfprotokoll ist im SVN hinterlegt.

Nach der Prüfung der elektrischen Verbindung zwischen dem Gieratensensor und der DS1104, sollen die rohen Messdaten des Sensors mit Hilfe von Controldesk und Simulink dargestellt werden, um somit das Messsignal des Gierratensensors betrachten zu können. Das zu den folgenden Bildern zugehörige Simulinkmodell und Dashboard in Controldesk ist in SVN hinterlegt. Es handelt sich nicht um die Software für den Endeinsatz, sondern um ein Modell zum Test der Sensoren und Aktoren des Fahrzeugs. Es wurden alle Tests bestanden, es ist kein unerwartetes Verhalten in den Signalverläufen aufgetreten, das Testprotokoll ist in SVN hinterlegt.

Signalverlauf des Messsignals der Infrarotsensoren in Simulink.
Darstellung des Signals des Gierratensensors in Controldesk während einer schwenkenden links-rechts Bewegung um den Fahrzeugmittelpunkt.


Prüfung der Signalverarbeitung in Controldesk

Für einen erfolgreichen Einsatz des Sensors am Fahrzeug ist die Umrechnung des analogen Messwertes in die Einheit Radiant notwendig, diese Umrechnung ist in dem Simulinkmodell realisiert. Das zu den folgenden Bildern zugehörige Simulinkmodell und Dashboard in Controldesk ist in SVN hinterlegt. Es handelt sich um die Software für den Endeinsatz. Um die gesamte Signalverarbeitung des Gierratensensors zu prüfen, muss die Funktionalität in Onlinemodell und Onlineexperiment getestet werden. Das Dashboard befindet sich ebenfalls in SVN

Signalverlauf des ungefilterten Messsignals des Gierratensensors in Simulink (CCF_online/SEN - Sensoren - online/SenGier - Gierrate).
Signalverlauf des Messsignals des Gierratensensors in Simulink (CCF_online/SAB - Signalaufbereitung/SabGier - Gierrate).
Darstellung des Signals des Gierratensensors in Controldesk nach einem Kalibiervorgang und keiner Drehung.
Darstellung des Signals des Gierratensensors in Controldesk nach einer Drehung von 270°.
Drehung des Fahrzeuges zur Prüfung des Gierratensensors.

Das Testvorgehen sieht folgende Schritte vor:

  • Inbetriebnahme des Fahrzeuges mit dem entsprechenden Simulinkmodel
  • Starten von Controldesk, Aufrufen des entsprechenden Experiments
  • Starten einer Messung
  • Betätigung des AEP-Tasters für eine Bestimmung des aktuellen Offsets
  • Betrachtung der Messergebnisse am Nullpunkt
  • Rotation des Fahrzeuges um den zu prüfenden Winkel
  • Betrachtung der Messergebnisse

Das Signal des Gierratensensors ist an den Eingang ADCH4 der DS1104 angeschlossen. Der aktuelle Offset wird während einer Messung von dem Sensorwert abgezogen. Das Messsignal wird in Radiant ausgegeben, sodass eine Umdrehung des Fahrzeuges um seinen Mittelpunkt von 180° als 1π (≈ 3,1416) ausgegeben wird. Die Genauigkeit sollte unter einem Grad liegen. Es wurden alle Tests bestanden, es ist kein unerwartetes Verhalten in den Signalverläufen aufgetreten. Es wurden bei der letzten Überprüfung alle Tests bestanden, somit wurde die Signalverarbeitung nicht überarbeitet, das Testprotokoll ist in SVN hinterlegt.

Erste Inbetriebnahme

Die im folgenden Abschnitt dargestellten Informationen bilden einen veralteten Wissensstand ab, im SS2020 konnten die Informationen nicht auf Ihre Aktualität überprüft werden. Für den Gierratensensor ist keine Simulation in dem Offline-Modell vorgesehen. Die im Folgenden beschriebenen Inhalte beziehen sich nur auf das Online-Modell.

Funktionsverdrahtung

Verdrahtung des LPR510AL[8]
Versuchsaufbau Gyro

Beim der Inbetriebnahme des Sensors ist wie bereits beschrieben zu beachten, dass die Eingangsspannung nicht 16V überschreitet, die Plus-Leitung der Spannungsquelle muss an den Pin: VIN (Pin 1) angelegt werden. An den Pin: GND (Pin 2) wird die GND-Leitung der Spannungsquelle angelegt werden. Weiter muss eine Verbindung zwischen dem Pin: 3,3V (Pin 3) und dem Pin: Vref (Pin 6) angebracht werden.

Zum Ablesen der Daten des Sensors, kann die Verbindung der Connector Box (dSPACE) zum Gyrosensor, wird über denn Channel 4 des Analog-Digital-Converters (ADCH4) verbunden werden, dieser wurde bei den Tests augesucht und im Simulink-Model ebenfalls ausgewählt. Die Plus-Leitung der Connector Box Verbindung wird an den Pin gelegt, an dem das Signal abgegriffen werden soll. Pin 4 und Pin 5 für die Y-Richtungsbewegung und Pin 7 und 8 wird X-Richtungsbewegung. Die GND-Leitung der Connector Box Verbindung wird an GND (Pin 2) geschlossen.

Autor: Martin Berysztak (Diskussion) & Adem Hadziric (Diskussion) 21:36, 5. Feb. 2015 (CET)

Verarbeitung in Simulink / ControlDesk

Um die Daten in Simulink zu Verarbeiten ist der Block (MUX ADC9 der dSpace-Libery notwendig. Zum Konvertieren des analogen Ausgangssignals in ein digitales Signal notwendig, welches die Connector Box verarbeiten kann. Die konvertierten Daten (Spannungswerte) werden mithilfe eines Out-Blocks ausgeben. Diese Spannungswerte müssen integriert werden (siehe Simulink-Model: "Ausgabe_in_Grad"), um daraus die Gradänderung zu erhalten. Für den Parameter: "Constant" muss der berechnete Offsetwert (Mittelwert) eingefügt werden.

Ausgabe in Grad

Die Signale, welche in die Out-Blocks gehen, können via ControlDesk mithilfe des Ploters dargestellt werden.

Autor: Martin Berysztak (Diskussion) & Adem Hadziric (Diskussion) 21:36, 5. Feb. 2015 (CET)

Auswertung der Daten

Erreichbare Auflösung im Zusammenspiel mit der DS1104:

  • Der Gierratensensor gibt ein analoges Ausgangssignal aus. Dementsprechend ist die Auflösung nicht bestimmbar und kann als unendlich klein angenommen werden.
  • Die Auflösung des Analog-Digital-Converter gibt die Auflösung vor.

Drift:

  • Errechnet kann der Drift durch eine Messung über einen längeren Zeitraum werden. Diese müssten entsprechend analysiert werden.
  • Der Drift beträgt 0,0004°/sec.

Empfindlichkeit:

  • Die Empfindlichkeit lässt sich über die Formel: Empfindlichkeit = Eingang / Ausgang berechnen.
  • Die Sensor Empfindlichkeit beträgt: 2,5mV/(°/sek).
  • Errechnet wurde der Wert, durch konstantes Schwenken des Sensors um 90°. Über die Zeit gemessen, ist die Empfindlichkeit zu berechnen.
  • Aus dem Datenblatt ist dieser Wert ebenfalls zu entnehmen.

Unsicherheit:

  • Zur Bestimmung der Unsicherheit wird der Offsetwert des Ruhesignals (keine Bewegung) benötigt. Über das Simulink-Model: "Ausgabe_Mittelwert_Berechnung" wird der Offsetwert berechnet.
  • Für den Messmodus Y ist beispielhaft, folgender Offset bestimmt worden:
    • y = 1,25336
  • Dieser Wert muss im Simulink-Model: "Ausgabe_in_Grad", unter dem Parameter: "Constant" eingetragen werden.
  • Mithilfe des Offsets lässt sich die Standardabweichung (Varianz) bestimmen. Die dazugehörige Formel lautet:
  • Varianz:
  • Standardabweichung:
  • Die berechnete Varianz beträgt:
    • y = 0,001228V
  • Berechnet können diese Werte durch das folgende Simulink-Model werden:

Simulink zur Berechnung der Standartabweichung


Autor: Martin Berysztak (Diskussion) & Adem Hadziric (Diskussion) 21:36, 5. Feb. 2015 (CET)

Modi für Simulation und Fahrzeug

Die Programmierung des Fahrzeugs erfolgt über die Software MATLAB/Simulink. Zur einfacheren Handhabung existieren in der Software zwei Modi, die sowohl das Online- wie auch das Offline-Modell bedienen, dieses Vorgehen entspricht dem Rapid Control Prototyping. Im Online Modus greift die Software auf die verbundenen Sensoren und Aktoren direkt über die dSPACE DS1104 zu, das Fahrzeug bewegt sich schließlich in der realen Teststrecke. In der Offline Situation werden ein Großteil der Sensoren und Aktoren simuliert, so bewegt sich das Fahrzeug auf einer virtuellen Teststrecke, die der in der Realität nachempfunden ist. Ein Ziel ist Schnittstellen so zu entwickeln, dass einzelne Programmteile sowohl online als auch offline verwendet werden. So kann zunächst die Software in der Offline-Umgebung getestet und schließlich Online eingesetzt werden.

Offline-Modell

Der Gierratensensor gehört zu der Gruppe der Sensoren, für die keine Simulation erfolgt. Es wird direkt auf die gewünschten Daten in der Simulation zugegriffen, es ist somit mit einer vergleichsweise starken Abweichung des Offline-Modells von der Realität zu rechnen. Die in der Simulation vorhandene Gierrate entstammt dem Einspurmodell und wird schließlich in den Blöcken Sensoren-offline und Signalaufbereitung im Simulink-Modell weiter verarbeitet.

Bildausschnitt aus dem Einspurmodell des Offline-Modells, an dieser Position erfolgt die Bestimmung der Gierrate.
Bildausschnitt der Signalaufbereitung des Offline-Modells, der die Gierrate betrifft.

Online-Modell

Die Software in der Online-Umgebung des Matlab/Simulink Projekts kann im Sommersemester 2020 nur augenscheinlich, ohne eine Prüfung der Lauffähigkeit, erfolgen, da das Aufsuchen der Hochschule aufgrund der COVID-19-Pandemie nicht möglich war. Im Generellen ist der Sensor in das Projekt eingebunden, der hier als Signal der DS1104 auftritt. Die Übersichtlichkeit ist verbesserungsfähig, ebenfalls sollte die enthaltenden Kalibrierung überprüft werden. Die Details der Implementierung sind in der Softwarearchitektur beschrieben und in SVN ebenfalls erkennbar.

Datenblätter

Der Hersteller ST stellt Datenblätter zu dem Sensor bereit. Diese sind sowohl in SVN[9] als auch im Web[10] abrufbar.

Quellen / Weiterführende Informationen

  1. "LPR510AL - MEMS motion sensor: dual axis pitch and roll ±100°/s analog gyroscope", Datenblatt von STMicroelectronics. [1]
  2. vgl. Reif, Konrad: Sensoren im Kraftfahrzeug. Wiesbaden: Springer Vieweg, 2016. ISBN: 9783658112110. S. 66f.
  3. vgl. Formeln dieses Abschnitts: Reif, Konrad: Sensoren im Kraftfahrzeug. Wiesbaden: Springer Vieweg, 2016. ISBN: 9783658112110. S. 66f.
  4. "LPR510AL - MEMS motion sensor: dual axis pitch and roll ±100°/s analog gyroscope", Datenblatt von STMicroelectronics. [2]
  5. "LPR510AL - MEMS motion sensor: dual axis pitch and roll ±100°/s analog gyroscope", Datenblatt von STMicroelectronics. [3]
  6. "LPR510AL - MEMS motion sensor: dual axis pitch and roll ±100°/s analog gyroscope", Datenblatt von STMicroelectronics. [4]
  7. "LPR550AL Dual-Axis (Pitch and Roll or XY)", Pololu Robotics & Electronics.[5]
  8. "Schaltskizze für den Sensor" von Hadziric & Berysztak. [6]
  9. Datenblatt ST LPR510AL:SVN
  10. Datenblatt ST LPR510AL:Web


Initiale Autoren: Martin Berysztak (Diskussion) & Adem Hadziric (Diskussion) 21:36, 5. Feb. 2015 (CET)



→ zurück zum Hauptartikel: Praktikum-SDE
→ zurück zum übergeordneten Artikel: Fahrzeughardware