www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Beschleunigungssensor - Kompensation Erdbeschleunigung


Autor: Sascha F. (umpfel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
gibt es eine Möglichkeit die Erdbeschleunigung von einem 3-Achsen Acc 
ohne Gyroskop rauszurechnen?

Sascha

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da sie sich nur sehr langsam ändern kann ist dies sicher einfach 
möglich.

Autor: Sascha F. (umpfel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry^^
ich mein natürlich bei Änderung des Winkels des Sensors.

Anwendung: Beschleunigungssensor kommt in ein Modellauto -> auf einer 
Ebene kein Problem, aber bei einer Steigung/Gefälle hat der Winkel einen 
extrem grossen Einfluss auf die Messung.

Autor: Ahem (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Ganze nennt sich Vektorrechnung.

Autor: Sascha F. (umpfel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hatte ich anfangs auch gedacht, aber bin auf keine "kombination" 
gekommen wo ich nicht auch wieder die eigentliche Beschleunigung 
rausrechnen würde...

Autor: Ahem (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>aber bin auf keine "kombination"
>gekommen wo ich nicht auch wieder die eigentliche Beschleunigung
>rausrechnen würde...

Dann am besten am Montag nochmal den Mathelehrer fragen.

Autor: ramon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das pratisch auftrettende hauptproblem wird wohl der völlig 
uneinheitliche reibungskoeffizient zwischen rad und strassse sein... 
(naja ansonsten wärs ja mathematisch banal...) die lösung dazu würd mich 
übrigens sehr interessieren, werd mal wieder vorbeischauen und freu mich 
zu erfahren wi man da löst...

Autor: gabi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
für geradeausfahrt geht es mathematisch...

a_fzg = a_mess_x + a_mess_y + a_mess_z - 9,81 m/s²
a -> vektor

wenn du weitere unterstützung brauchst, melde dich...

Autor: M. Köhler (sylaina)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Roland Praml (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sascha, überleg dir vielleicht nochmal, ob du den Längsanteil der 
Erdbeschleunigung unbedingt kompensieren musst. So ganz einfach ist das 
nämlich nicht.

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es könnte außerdem vielleicht einfacher sein, die Geschwindigkeit an den 
Rädern zu messen, und daraus die Beschleunigung zu errechnen.

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: R. W. (quakeman)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sascha F. (umpfel)
Datum:

Bewertung
0 lesenswert
nicht 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/t...

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

Autor: mr.chip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das geht leider nicht: Wenn das Fahrzeug auf eine Neigung quer zur 
Fahrtrichtung steht (Steilwandkurve), kann man nicht unterscheiden, ob 
es sich um eine Kurvenfahrt oder eben eine Neigung handelt. Selbiges 
gilt für Bremsen und Beschleunigen bei Neigungen längs der Fahrrichtung.

Autor: Sascha F. (umpfel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@mr.chip
auf was beziehst du dich? Gyroskop?

Autor: mr.chip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> @mr.chip
> auf was beziehst du dich? Gyroskop?

Beschleunigungssensor. Mit einem Gyroskop geht es natürlich :-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.