Forum: Digitale Signalverarbeitung / DSP / Machine Learning Benötigte Sensormessrate ermitteln (Beschleunigungssensor)


von Frederic S. (fleischundpommes)


Lesenswert?

Hallo,

Ich brauche Hilfe bei der Auswahl eines Beschleunigungssensors für mein 
Projekt. Grundlegend weiß ich nicht, wie hoch die Messrate das Sensors 
mindestens sein muss, damit später auch vernünftige Resultate bei raus 
kommen.

Ziel es mit dem BS die Höhe von Sportlern beim Springen zu messen. Zum 
Beispiel Sprünge beim Kitesurfen.

Kann mir einer erklären wie hier vorgegangen werden muss, um die mind. 
nötige Messrate zu ermitteln? Oder gibt es Richtwerte für solche 
Anwendungen?

Ich habe einen LSM303DLHC BS mit einem ESP8266 verkabelt und in einem 
Test eine Messrate von ~3,2kHz ermittelt. Ich kann diesen Wert leider 
nicht beurteilen.
Mit dieser Messrate habe ich überschlagen, dass bei einer Beschleunigung 
von 2G, ich nur alle 6,13mm einen Messwert hätte. Kann das überhaupt 
nicht beurteilen, ob der Wert gut oder schlecht ist.
Überschlagungsrechnung: G*a[m/s²]*(1/Messaufösung[mms])*10³=Messrate[Hz] 
(zusammengeraten, kA. ob Ansatzweiße überhaupt richtig)

von Captain Albern (Gast)


Lesenswert?

Entschuldige, dass ich deine Frage nicht direkt beantworte.

Mit fallen zwei Dinge ein, die außerdem zu beachten sind. Ersten gibt es 
nicht nur die zeitliche Auflösung sondern auch die Genauigkeit des 
einzelnen Messwerts zu beachten. Meist ist es so, dass man in einem Wert 
eine Einbuße hinnehmen muss, wenn man den anderen verbessert. Welchen 
Fehler du zum Schluss bekommst, kannst du durch eine Beispielrechnung 
(doppelte Integration der Beschleunigung) ermitteln.

Der zweite Punkt ist: ist die Winkellage des Sensors fixiert oder ist er 
am Sportler befestigt und kann sich daher drehen ? Falls er sich drehen 
kann, brauchst du eine Winkellage-Erfassung (Datenfusion aus Drehraten- 
und Beschleunigungssensoren) um die echte Beschleunigung in einer 
Richtung berechnen zu können.

von Frederic S. (fleischundpommes)


Lesenswert?

Der Sensor ist fest am Sportler fixiert, somit kann sich der Sensor 
drehen (z.B. beim Salto Springen). Wie du mich richtig hingewiesen hast, 
ist wohl eine  Winkellage-Erfassung nötig.

Dies könnte ich in dem Projekt mit einem zusätzlichen Gyroskop 
realisieren.


Leider stehe ich völlig auf dem Schlauch, wie ich den Fehler ausrechnen 
kann, um auf die nötige Messrate des Beschleunigungssensors zu kommen.

: Bearbeitet durch User
von Flo (Gast)


Lesenswert?

Teste das ganze doch mal naiv aus.
Gibt ein paar Apps fürs Handy, um die Sensoren die dort verbaut sind zu 
loggen.
Handy an Sportler befestigen, springen lassen und versuchen, die Logs 
auszuwerten.
Das Problem sehe ich eher, dass du Beschleunigungswerte zweimal 
integrieren möchtest.
Stattdessen gibt es bei modernen Handys einen Höhenmesser, 
bariometrisch. Der wäre denke ich besser geeingnet.

von Der Andere (Gast)


Lesenswert?

Frederic S. schrieb:
> Ich habe einen LSM303DLHC BS mit einem ESP8266 verkabelt und in einem
> Test eine Messrate von ~3,2kHz ermittelt. Ich kann diesen Wert leider
> nicht beurteilen.
> Mit dieser Messrate habe ich überschlagen, dass bei einer Beschleunigung
> von 2G, ich nur alle 6,13mm einen Messwert hätte.

Das ist so unkorrekt.
Einen konstanten Messwert pro Zeit und pro Abstand hast du nur wenn die 
Beschleunigung 0 ist.

Wenn du die Höhe eines Sprungs erfassen willst, dann ist die 
Erdbeschleunigung der bestimmende Faktor. Der Sportler springt mit einer 
bestimmten Anfangsgeschwindigkeit entgegen des Erdbeschleunigungsvektor 
ab (senkrecht nach oben) und wird dann mit konstanter Erdbeschleunigung 
verzögert bis er den höchsten Punkt erreicht hat. Die Geschwindigkeit 
ist also eine Gerade mit negativer Steigung und die Höhe eine nach unten 
geöffnete Parabel mit einem Maximum.

Frederic S. schrieb:
> Kann das überhaupt
> nicht beurteilen, ob der Wert gut oder schlecht ist.

Du musst entscheiden wie hoch die Auflösung bei der Höhe sein soll. 
Daraus ergibt sich dann die zeitliche Auflösung die du brauchst.

von Der Andere (Gast)


Lesenswert?

Sorry ich hatte das Ganze noch nicht richtig durchschaut.
Du willst also nur über die gemessene Beschleunigung messen wie hoch der 
Sportler springt.
Auf einen ruhenden Körper wirkt auf der Erde die Schwerkraft mit 1g. Ein 
Beschleunigungssensor wird also ruhend ein g messen.
Ein Körper im freien Fall wird mit 1g nach "unten" beschleunigt. Ein 
Bescheunigungssensor im freien Fall misst also genau 0!

Die Bahnkurve in Richtung des Schwerkraftvektors ist wie gesagt eine 
nach unten offene konstante Parabel, da sobald der Sportler in der Luft 
ist nur noch die Erdbeschleunigung wirkt (Luftwiderstand 
vernachlässigt).
Wenn du also misst wie lange die Beschleunigung 0 ist (wie lange der 
Sportler in der Luft ist) kannst du daraus direkt errechnen wie hoch er 
war.

von Frederic S. (fleischundpommes)


Lesenswert?

Vielen Danke für die Antworten. Ich bin noch in der Auslegung/(Nachkauf 
von Komponenten) und Programmierung. Die Auswertung soll später anhand 
der aufgezeichneten Rohdaten am Computer gemacht werden (MATLAB).

Der Andere schrieb:
> Du musst entscheiden wie hoch die Auflösung bei der Höhe sein soll.
> Daraus ergibt sich dann die zeitliche Auflösung die du brauchst.

Kannst du mir den Zusammenhang zeigen, damit ich es mir (in beide 
Richtungen) ausrechnen und auslegen kann?

Ich mache mal ein Beispiel: Der Sportler rennt auf ein Traumpolin zu. 
Springt hinein und nach vorne weg. Aus Studien kann man entnehmen, dass 
dabei bis zu 4G wirken. Sprünge sind bis zu 9m Höhe möglich.

Diesen Bereich möchte ich abdecken. Worum meine Gedanken kreisen, dass 
wenn die Messrate zu langsam ist, mir Messdaten für eine vernünftige 
Berechnung fehlen. (Schließlich ist die Beschleunigung in der Praxis 
nicht so konstant wie im Schulunterricht)

: Bearbeitet durch User
von -gb- (Gast)


Lesenswert?

Wo werden denn die 4g erreicht? In den Beinmuskeln müsste ein normaler 
Athlet mit 70KG dann ja fast 300KG halten.

Die Messrate müsste sich eigentlich anhand der höchsten Frequenz 
bestimmen lassen und diese wiederum hängt von der 
Änderungsgeschwindigkeit ab.

von Blechbieger (Gast)


Lesenswert?

Oben wurde Kite-Surfen genannt, d.h. Luftwiderstand ist nicht 
vernachlässigbar. Der Drachen gibt auch Zug nach oben und vermutlich 
nicht konstant.

Die Änderungen dürften aber nicht so schnell sein dass du mit kHz 
aufzeichnen musst. 100 Hz und Interpolation, z.B Spline dürften reichen. 
Ist aber nur Bauchgefühl.

von Beschleuniger (Gast)


Lesenswert?

G. B. schrieb:
> Wo werden denn die 4g erreicht? In den Beinmuskeln müsste ein
> normaler
> Athlet mit 70KG dann ja fast 300KG halten.

Ja, für ein paar Hundertstelsekunden. Das ist ja nicht viel.

von HildeK (Gast)


Lesenswert?

Beschleuniger schrieb:
> Ja, für ein paar Hundertstelsekunden. Das ist ja nicht viel.

Es müsste geklärt werden, was genau vermessen werden soll. Wenn es die 
Körperposition ist, reicht es, deren maximale Änderung pro Zeitänderung 
anzusetzen.

Die Messrate orientiert sich also an der Drehgeschwindigkeit in 3 
Achsen. Hinzu kommt das Thema Überabtastung und Filterung. Die 
bewegungstypische Geschwindigkeit und Beschleunigung ergibt sich dann 
aus der Differenziation.
Dabei wirkt die Positionsmessung wie ein Filterintegral und glättet die 
Fehler und Messungenauigkeiten.

Wenn aber wirklich die Beschleunigung gemessen werden soll, dann muss 
das sehr exakt funktionieren, weil danach noch integriert werden muss.

Dann hätten wir klassisch db/dt als die Änderung per Zeit, also die 
Krümmung der Messkurve als Mass.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.