PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : "g-Kräfte" messen mit dem Smartphone



MalteJ
04.11.2012, 21:50
Hallo an alle zahlenverliebte fliegende Nerds da draußen ;)

Kann man mit dem Motion-Sensor im Handy nicht die Beschleunigungen am Gleitschirm aufzeichnen?

Der Frage bin ich nachgegangen und möchte die bisherigen Ergebnisse mit euch teilen.
Die Sensoren sind ja drin: Beschleunigungssensor, Gyroskop, Erdmagnetfeld, eine Uhr und GPS (ich habe ein HTC One S. Aber diese Sensoren sind inzwischen Standard und sollten in jedem halbwegs modernen Smartphone vorhanden sein).
Eine App zum Auslesen habe ich im Play Store gefunden. Richtig gut aufzeichnen und abspeichern konnten die meisten kostenfreien aber nicht. Letztendlich habe ich knapp drei Dollar in "Sensor Insider Pro" investiert.
Mit dieser App kann man alle(?) Sensoren eines Smartphones aufzeichnen und in verschiedenen Formaten abspeichern.
Ein bisschen rumschütteln und umherschleudern des Handys (Achtung: Nicht loslassen!) hat dann auch die Grenzen des g-Sensors offenbart: Er misst nur bis 3,9g. Gut, das muss man auch erstmal schaffen! Wo gibt's viele Gs? SAT? Was wird eine SAT Einleitung haben? 3g? 3,5g?
Also am nächsten fliegbaren Tag auf den Berg und ausprobiert. Die GoPro dabei, um später die Logs mit dem Video zu vergleichen.
Als Signale habe ich testweise Beschleunigung, Drehrate, Ausrichtung zum Erdmagnetfeld und GPS Position eingestellt.

19290

GoPro starten, Data-Log starten und los geht's!
Bisschen durch die Luft gedümpelt, SAT und Wingover geflogen und gelandet.
Aufzeichnung gestoppt und als CSV gespeichert.

19291

CSV ist ein Datenformat, das man sich in einem simplen Texteditor anschauen kann. Eine Tabelle mit Werten, die durch Kommata getrennt wurden. Lässt sich auch prima in Excel oder OpenOffice/LibreOffice importieren, weiterverarbeiten und damit Diagramme erstellen.
Die App zeichnet die Beschleunigung in drei Raumrichtungen auf: x, y und z. Je nachdem, wie das Handy im Gurtzeug zum liegen kommt, gehen die Beschleunigung in die eine oder die andere Richtung, oder in alle gleichzeitig. Im Prinzip interessiert uns aber nur die absolute Beschleunigung. Also die Summe aller dreier rechtwinkelig aufeinander stehender Beschleunigungsvektoren. Der Satz des Pythagoras hilft diese zu berechnen: a_abs = sqrt( a_x² + a_y² + a_z² ) (sqrt ist eine simple quadratische Wurzel).
Zu jedem Sensorwert wird auch die Zeit seit Beginn der Messung geschrieben.
Mit diesen Werten lässt sich nun ein xy-Diagramm erstellen, auf welchem sich die Beschleunigung auf der y- und die Zeit auf der x-Achse befindet.
Wenn man das Diagramm exportiert und durch die GoPro Video Aufzeichnung laufen lässt, bekommt man einen recht guten Eindruck, wobei welche "g-Kräfte" auftreten.

http://www.youtube.com/watch?v=gfIoQ1w9Z5M&feature=plcp&hd=1

Überrascht hat mich dann doch etwas, dass die Belastung im Wingover höher ist als im SAT oder bei der SAT-Einleitung. Gefühlt geht es da mehr ab. Ich vermute, dass dieses Gefühl einfach von der längeren Belastung kommt. Im Wingover wird die Belastung ja nur in kurzen Spitzen erreicht.

Ansonsten bleibt die Frage, wie genau ist der Beschleunigungssensor im Bereich um 3g?
Ich denke, dass die Hausnummer aber stimmt. Ob es jetzt ein Zehntel mehr oder weniger ist, juckt mich nicht so. Anders sieht es natürlich aus, wenn man die Werte von verschiedenen Geräten vergleichen will, oder durch Integration von Beschleunigungs- und Drehratenwerten die Position und Ausrichtung im Raum bestimmen möchte.

Soweit scheint die Aufgabe eigentlich erfüllt.
Allerdings stimmen die Zeitstempel der Sensorwerte nicht 100% mit der Kamerazeit überein. Ich vermute den Fehler hier in dem Android Prozess, welcher die Sensordaten aufzeichnet. Wahrscheinlich wird für den Zeitstempel nicht auf die Smartphone Uhr zurückgegriffen, sondern mit Time Interrupts oder sowas gearbeitet. Durch das Android Process Management kommt es hier dann zu Unstetigkeiten im Zeitverlauf. Ich bin aber bei weitem kein Android Profi und das kann auch ganz anders sein! ;)

Wenn jemand eine App zum Aufzeichnen von Sensordaten kennt, die die Android Uhr, oder vielleicht sogar die Android Uhr mit GPS-Zeit Korrektur nutzt, freue ich mich sehr über einen Hinweis!


Vielleicht konnte ich dem ein oder anderen die flugarme Winterzeit um ein paar Minuten verkürzen. :)

Viele Grüße,
Malte

PS: Wenn jetzt jemand fragt, wozu das gut ist: Keine Ahnung! Denk dir was aus! :D
PPS: Wer sich fragt, was ich mit Gyroskop, GPS und Erdmagnetfeld gemacht habe: Gar nichts. Nur mitgeloggt!

Kuhkipper
05.11.2012, 10:48
Sehr eindrucksvoll, schöne Arbeit!

MalteJ
05.11.2012, 12:22
Sehr eindrucksvoll, schöne Arbeit!

Vielen Dank und willkommen im Forum!

Malte

Ghost Glider
05.11.2012, 13:20
Vielen Dank und willkommen im Forum!

Malte

Hallo MalteJ,
echt gute arbeit. Hut ab:)
Ich wundere mich nur über so viel tatendrang and gizmo und wo ist der "point of doing so":confused:
Spielt doch keine rolle ob es nun +3 oder +3,5g sind.
Ohne echten belastungstest am eigenen körper spielt die angabe der nummer keine rolle.
Wird erstmal der blutdruck runter in die beine gedrückt, ist auch schon bald die lampe aus und es wird sehr schnell dunkel.
Alle die Acro machen wollen, merken es früher ode später selbst, wie stark die echte belastung an seinem körper die luft abdrückt
Also mal auf dem prüfstand einhängen und mal 'ne runde schleudern lassen.
Pal hat es mal bis +7 für ne minute gemacht, bis der NOTAUS halt gemach hat.
See here...

http://www.youtube.com/watch?feature=player_embedded&v=qi2dxPC1aCg
Trotz allem,
viel info in deiner post.
Grüße and Fly Safe,
G.G.:)
P.S.
meine g belastungsgrenze schwangt oft. Je nach tagesform,wetter und nahrungszugabe.
Geht die lampe aus oder die Currywurst kommt wieder hoch und hängt am gurtzeug, war es wohl 'n G zuviel:D

andsch
05.11.2012, 19:51
Interessant, wenn jemand ein tool fürs iPhone kennt das G-Kräfte auswertbar aufzeichnet, nur her mit.
Der maximale "G-Ausschlag" ist leider meist ein Software und kein Hardwareproblem.
Die meisten Accellerometer die heute in Smartphones eingesetzt werden können einen maximalausschlag von 8 oder 16G ermessen. Das problem sind die APIs die leider nicht alle Werte hergeben (beim iPhone wohl nur max. 3G bei einem Stein der 8G kann)

FlyJo
05.11.2012, 22:54
Hallo Malte,

klasse Beitrag! Bringt einen ja auf ganz neue Ideen :-)

Zu deinem Video: Wo ist (laut Gerät) denn der augenblickliche Zeitpunkt in dem Beschleunigungsschrieb? Ich habe etwas Schwierigkeiten, das zu erkennen. Links, in der Mitte, rechts?

Zudem wundert mich, dass die Beschleunigung nie auf 0 heruntergeht, sondern der Nullpunkt bei 1g zu liegen scheint. Und wenn jetzt jemand sagt, dass auf ruhende oder gleichförmig bewegte Körper die Beschleunigung 1g wirkt, so ist das falsch! Es wirkt die Gewichtskraft g * m (Erdbeschleunigung mal Masse), aber keine Beschleunigung. Ein Beschleunigungsaufnehmer, der in Ruhe ist oder mit einer konstanten Geschwindigkeit bewegt wird, muss 0 m/s² und somit auch 0g anzeigen.

LG Johannes

MalteJ
06.11.2012, 00:09
klasse Beitrag! Bringt einen ja auf ganz neue Ideen :-)

Zu deinem Video: Wo ist (laut Gerät) denn der augenblickliche Zeitpunkt in dem Beschleunigungsschrieb? Ich habe etwas Schwierigkeiten, das zu erkennen. Links, in der Mitte, rechts?
Danke!

Ganz rechts ist der aktuelle Wert. Was also gerade reinläuft entspricht der aktuellen Belastung. Optisch gibt es da sicher noch Optimierungsbedarf. Hab das einfach schnell hingefummelt.



Zudem wundert mich, dass die Beschleunigung nie auf 0 heruntergeht, sondern der Nullpunkt bei 1g zu liegen scheint. Und wenn jetzt jemand sagt, dass auf ruhende oder gleichförmig bewegte Körper die Beschleunigung 1g wirkt, so ist das falsch! Es wirkt die Gewichtskraft g * m (Erdbeschleunigung mal Masse), aber keine Beschleunigung. Ein Beschleunigungsaufnehmer, der in Ruhe ist oder mit einer konstanten Geschwindigkeit bewegt wird, muss 0 m/s² und somit auch 0g anzeigen.
Ja, du hast recht, die Beschleunigung ist gesehen von einem ruhenden Beobachter auf dem Boden im Normalflug gleich null.
Beschleunigungssensoren messen jedoch mit den Piezoelementen die Kraft, welche auf eine Masse ausgeübt wird. Von F = m * a ist also F und m bekannt. Umstellen zu a liefert dann die "Beschleunigung" - dies geschieht ohne Berücksichtigung der Erdbeschleunigung.
Das Diagramm in meinem Video zeigt daher auch eigentlich nur die Lastvielfache - ausgedrückt in g. Im Normalflug ist die Lastvielfache gleich eins: passt.
Möchte man dies nun auf die räumliche Beschleunigung zurückrechnen, so muss die Rotation des Koordinatensystems des Beschleunigungssensors relativ zu dem des Beobachters bekannt sein. Nun kann die Erdbeschleunigung abgezogen werden und man erhält die Beschleunigung im Raum. Mit der durchgeführten dreidimensionalen Aufzeichnung von Drehrate und Magnetfeld sollte dies auch möglich sein - die Genauigkeit einmal außen vor gelassen.

Viele Grüße,
Malte

Thomas C
06.11.2012, 09:43
für iphone gefunden, die porsche app verwende ich selber manchmal...

http://www.youtube.com/watch?v=tk2mlqYiryA

https://itunes.apple.com/de/app/porsche-gforce-app-powered/id376645510?mt=8

scheinbar ist das vor allem für autofreaks interessant... :rolleyes:

hier eine interessante gesamtauflistung inkl android-apps:
http://www.renndays.com/en/rennblog/17-smartphone-apps-for-trackdays.html
(allerdings gibt es nicht mehr alle diese programme, ich finde sie zumindest nicht mehr...)

Dirk Schweitzer
06.11.2012, 22:49
Die iPhone App "SensorLog" macht genau das was Malte beschrieben hat.

Viele Grüße,
Dirk

Thomas C
07.11.2012, 06:59
Die iPhone App "SensorLog" macht genau das was Malte beschrieben hat.

Thx! :-)

FlyJo
07.11.2012, 22:50
Hallo Malte, und sorry, wenn es etwas OT ist, aber es ist interessant ;-)




Ja, du hast recht, die Beschleunigung ist gesehen von einem ruhenden Beobachter auf dem Boden im Normalflug gleich null.
Beschleunigungssensoren messen jedoch mit den Piezoelementen die Kraft, welche auf eine Masse ausgeübt wird. Von F = m * a ist also F und m bekannt. Umstellen zu a liefert dann die "Beschleunigung" - dies geschieht ohne Berücksichtigung der Erdbeschleunigung.



Hm, stimmt, ich hatte noch nicht darüber nachgedacht, dass sich dieses Problem ergibt, wenn statische bzw. quasistationäre Beschleunigungen gemessen werden (wie das ja beim Fliegen der Fall ist). Der Aufnehmer bzw. die nachgeschaltete Technik (Ladungswandler bzw. Signalnachverarbeitung) kann das Signal nicht symmetrisch um den Nullpunkt verschieben, weil das Signal nicht schwingt. Zudem kann das Telefon (also auch der Aufnehmer) in einer beliebigen Orientierung gehalten werden bzw. gelagert sein. Dadurch ergibt sich ein Fehler zwischen -1 .. + 1g für jede Raumrichtung (je nach Orientierung des Sensors) mit einem vektoriellen Betrag von 1 g.
Normalerweise würde man diesen Gleichanteil durch einen HP eliminieren, aber dies geht hier wegen der quasistationären Beschleunigungen nicht bzw. würde keinen Vorteil erbringen. Denn man will ja auch 0 Hz messen.

Der Fehler könnte aber ausgeschlossen werden, wenn das Smartphone ausschließlich in einer vordefinierten Orientierung verwendet würde (also z.B. liegend, Display nach oben zeigend). Dann könnte man den Messfehler von 1g problemlos eliminieren, da er immer in die gleiche Richtung zeigen würde. Auch das würde allerdings nur funktionieren, wenn dies auch während der Messung so bliebe - das ist beim Fliegen aber nicht der Fall (Rollen, Nicken), Ausnahme: Heli also reines gieren, da würde es gehen :-)




Das Diagramm in meinem Video zeigt daher auch eigentlich nur die Lastvielfache - ausgedrückt in g. Im Normalflug ist die Lastvielfache gleich eins: passt.
Möchte man dies nun auf die räumliche Beschleunigung zurückrechnen, so muss die Rotation des Koordinatensystems des Beschleunigungssensors relativ zu dem des Beobachters bekannt sein. Nun kann die Erdbeschleunigung abgezogen werden und man erhält die Beschleunigung im Raum. Mit der durchgeführten dreidimensionalen Aufzeichnung von Drehrate und Magnetfeld sollte dies auch möglich sein - die Genauigkeit einmal außen vor gelassen.



Dieser Teil deiner Erklärung klingt ein bisschen nach Star Trek (oder SiW :-)) Was meinst du mit Lastvielfach?
Der Aufnehmer misst doch, wie du schon sagst, grundsätzlich durchaus die Beschleunigung, die sich aus der auf die seismische Masse wirkenden Kraft ergibt - beide Größen sind direkt proportional zueinander und somit ebenfalls proportional zur Spannung am Quarz. Der Kalibrierfaktor bzw. Skalierungsfaktor ist, wie du richtig sagst, bekannt, da die Größe der seismischen Masse ebenfalls bekannt ist. Es ergibt sich halt nur das Problem der Vorspannung durch die Gewichtskraft dieser Masse in einer unbekannten Richtung. Stimmen wir da überein?

LG Johannes

MalteJ
11.11.2012, 10:57
Dieser Teil deiner Erklärung klingt ein bisschen nach Star Trek (oder SiW :-)) Was meinst du mit Lastvielfach?

http://de.wikipedia.org/wiki/Lastvielfache
Lastvielfache ist einfach das, was man umgangssprachlich als "g-Kräfte" bezeichnet. Nämlich "wieviel g auf einem lasten". Wenn man einfach so dasteht ist es 1g und im freien Fall 0g.



Der Aufnehmer misst doch, wie du schon sagst, grundsätzlich durchaus die Beschleunigung, die sich aus der auf die seismische Masse wirkenden Kraft ergibt - beide Größen sind direkt proportional zueinander und somit ebenfalls proportional zur Spannung am Quarz. Der Kalibrierfaktor bzw. Skalierungsfaktor ist, wie du richtig sagst, bekannt, da die Größe der seismischen Masse ebenfalls bekannt ist. Es ergibt sich halt nur das Problem der Vorspannung durch die Gewichtskraft dieser Masse in einer unbekannten Richtung. Stimmen wir da überein?

Ja :)

Gruß,
Malte