Beschleunigungssensor - Kompensation Erdbeschleunigung

#1241625
Lesenswert?

Das Problem kann ich mir schon recht gut vorstellen. Der Sensor hat ja 
folgenden Vektor

Davon die Erdbeschleunigung abzuziehen ist ja recht leicht, die schaut 
ja wie folgt aus

Das Problem ist nun nur, dass bei einer Steigung oder einem Gefälle sich 
die Einheitsvektoren des Sensors ändern und man nun nicht so ohne 
weiteres die Erdbeschleunigung vom Messwert abziehen kann. Vielleicht 
baust du dir noch einen Neigungssensor in das Auto mit ein und bestimmst 
daraus die Neigung. Dann kannst du es wieder umrechnen und die 
Erdbeschleunigung raus rechnen.
Gast #1241637
Lesenswert?

Bitte nochmal nachdenken

> ...  die Erdbeschleunigung von einem 3-Achsen Acc

> ...  Vielleicht baust du dir noch einen Neigungssensor in das Auto mit
> ein und bestimmst daraus die Neigung.


Der OP will vermutlich eine relative Beschleunig in Fahrtrichtung daraus 
ableiten und dies geht wegen der Drehbewegung ohne Gyro AFAIK nicht.
(OK der Gyro könnte als "Neigungssensor" aufgefasst werden)

Gruß
Roland
Gast #1241775
Lesenswert?

Nur mit einem dreiachsigen Beschleunigungssensor kann die Beschleunigung
des Fahrzeugs im Allgemeinen nicht bestimmt werden. Das liegt daran,
dass der Sensor drei Messwerte liefert, das System aber fünf Unbekannte
hat, die die Messung beeinflussen: Der Fahrzeugbeschleunigungsvektor
(drei Unbekannte) und die Richtung des Erdbeschleunigungsvektors (zwei
Unbekannte).

Auch im zweidimensionalen Fall (seitliche Beschleunigungen werden nicht
beachtet) tritt das Problem auf: Hier hat man zwei Sensormesswerte, aber
drei Unbekannte.

Um besser zu sehen, woran es im Detail hakt, habe ich das Ganze für den
zweidimensionalen Fall einmal durchgerechnet:

Alle folgenden Überlegungen beziehen sich auf das Fahrzeugkoordinaten-
system, dessen x-Achse x-Achse in Fahrtrichtung und dessen y-Achse
senkrecht dazu nach oben zeigt. Die Vektoren a = (ax,ay), g =
(gx,gy) und m = (mx,my) sind die Fahrzeugbeschleunigung, die
Erdbeschleunigung und der Sensormesswert. Dabei wird der Betrag der
Erdbeschleunigung | g | = g = 9,81m/s² als bekannt vorausgesetzt.

Der Sensor misst die Summe aus Fahrzeug- und Erdbeschleunigung, also

Auflösen nach (gx,gy) und Quadrieren ergibt

Anwenden von gx² + gy² = g² und Auflösen nach ax ergibt

Um das gesuchte ax bestimmen zu können, muss also ay bekannt sein. ay
ist positiv, wenn das Fahrzeug durch eine Mulde und negativ, wenn es
über eine Kuppe fährt. Auf einer schiefen Ebene ist ay = 0 und damit

Wegen des '±' ist das Ergebnis aber immer noch nicht eindeutig. Bei
einer Steigung ist das '-', bei einem Gefälle das '+' anzuwenden.

Wenn man also weiß, dass die Steigung bzw. das Gefälle konstant ist, und
ob es gerade bergauf oder bergab geht, kann die Beschleunigung auf diese
Weise gemessen werden. Wenn nicht, braucht man zusätzliche Sensoren, die
direkt oder indirekt die fehlenden Informationen liefern.
#1241784
Lesenswert?

Die Beschleunigungssensoren LIS302DL oder LIS3LV02DL haben genau dafür 
einen internen Hochpass-Filter mit einstellbarer Grenzfrequenz den man 
zuschalten kann. Dieser hat den Effekt, daß sämtliche statischen 
Beschleunigungen aus dem Ausgabewert rausgerechnet werden. Dazu zählt 
natürlich auch die unveränderliche Erdbeschleunigung. Das Problem bei 
der Sache ist aber, daß du mit aktiviertem HP-Filter nur dynamische 
Veränderungen gemeldet bekommst. Würdest du z.B. mit 0,5G konstant 
beschleunigen, würde das ebenfalls nach kurzer Zeit als statische Größe 
betrachtet und rausgefiltert werden. Aber mit Hilfe der Grenzfrequenz 
kannst du die Grenze, nach welcher statische Größen rausgefiltert 
werden, festlegen. Die Ausgabewerte des Sensors sind natürlich 
dementsprechend etwas träger als in Echtzeit.
Ich habe mit dem LIS3LV02DL schon etwas herumexperimentiert und das 
Filtern funktioniert recht gut.

Ciao,
     Rainer
#1241823
Lesenswert?

Vielen Dank für die Antworten.

@yalu:
Um auf diese Art die Erdbeschleunigung zu kompensieren ergibt ich 
folgendes Problem:
Die Empfindlichkeit ist in Messrichtung (für die jeweilige Achse) 
größer.
http://www.analog.com/Analog_Root/static/library/techArticles/mems/sensor971/sld28_1.gif

Als kleines Beispiel hierzu:
(X: Fahrtrichtung Y: Senkrecht zur Fahrtrichtung)
Steigung von 10° -> X-Wert verändert sich um 150mg -> der Y-Wert maximal 
um 1mg
Tippe ich den Sensor in Y-Achse minimal an (Fahrzeug fährt über eine 
1-2mm erhebung) dann ergibt sich dadurch schon eine Änderung des 
Y-Wertes von mehr als 20mg

Eigentlich ganz logisch, aber dadurch kann der Y-Wert nicht einfach zur 
kompensation rangenommen werden. Trotzdem Danke :)


@Rainer
Benutze auch den LIS3LV02DL. Werde nun auch mal mir dem HP-Filter 
rumspielen.


Edit:
gleich ausprobiert -> HP-Filter für mein Zweck vollkommend aussreichend.

Sollte ich aber denoch mal bissle zu viel Geld übrig haben, werde ich 
mal mit nem Gyroskop rumspielen :)

Sascha

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren