Hey ho @ all
Grundgedanke:
Ich wollte mit einem Beschleunigungswert(BMA150) einen Weg berechnen,
indem ich die Zeit messe und in der Zeit (z.B. 5 sekunden) eine
Durchschnittsbeschleunigung berechne und dann mit s(t)=(a*t^2)/2 mir den
Weg ausrechne.
Jetzt kommt das Problem:
Der Sensor kann ja während der Bewegung sein Lage irgendwie ändern. Das
bedeutet auf den drei Achsen verteilt sich die g-Kraft immer irgendwie
anders, je nach dem wie die Lage zum Zeitpunkt ist.
Doof ist nur das die g-Kraft in die Beschleunigung beim Bewegen ja nicht
mit reingerechnet werden darf. Wie bekomm ich diese g-kraft
rausgerechnet?
Mit einem zusätzlichen Neigungssensor wäre es kein Problem.
Hat jemand eine Idee wie es mit nur dem Sensor vielleicht näherungsweise
möglich wäre?
Das g kann ich nicht einfach abziehen, denn das ist mathematisch nicht
korrekt
Brauche Hilfe=)!!!
mfg
Um aus der Beschleunigung den Weg zu berechnen, musst du 2 mal
integrieren, da hauen alle Ungenauigkeiten volle Kante rein.
Das mit der Mittelwertbildung kommt mir auch komisch vor.
Wozu soll das sein? Nur mal so ein Test? Dann probier's einfach aus.
Ansonsten wird es wahrscheinlich ein Versuch, um zu sehen, wie man es
nicht macht.
Das Thema kam hier schon im Forum.
Walter schrieb:> du musst halt den Weg auch in 3d ausrechnen>> davon abgesehen wird das durch aufsummieren von Fehlern höchst ungenau!
Problem ist die g-Kraft die mit reingerechnet wird.
Das g besteht aus einem gx,gy und gz.Die größen von den
unterschiedlichen Anteilen ist von der Lage des Sensors abhängig.
Und das g muss einfach raus, sonst ist ein riesen Fehler drin.
Problem ist ohne Lageberechnung (also Winkel) habe ich keinen Plan wie
ich es rausrechnen soll. Aus meiner sicht ist es ohne zusätzlichen
Kreisel unmöglich.
Oder ist es Näherungsmäßig doch möglich?
Und was bitte ist eine "g-Kraft"?
Das Dingens heisst als Beschleunigung "Erdbeschleunigung".
Als Kraft nennt man das "Schwerekraft" oder zur Not auch "Schwerkraft".
Aber "g" ist das Formelzeichen der Erdbeschleunigung hat nichts mit
Kraft zu tun und ist schon garkein Teil des Namens.
Nochwas schrieb:> Und was bitte ist eine "g-Kraft"?>> Das Dingens heisst als Beschleunigung "Erdbeschleunigung".> Als Kraft nennt man das "Schwerekraft" oder zur Not auch "Schwerkraft".>> Aber "g" ist das Formelzeichen der Erdbeschleunigung hat nichts mit> Kraft zu tun und ist schon garkein Teil des Namens.
Dafür sind Foren gegründet worden.
Um nicht zu helfen, sondern kluge Sprüche zu reißen. Danke;-)
Außerdem habe ich zu meinem Problem in der suche nicht direkt was
gefunden!
Aber danke für den Tip=)
Naja ich sehe wohl das Foren nichts bringen, dann werde ich mal wieder
selber weiter machen.
Ein hoch auf solche Leute die Foren nutzlos machen!
B-man schrieb:> Und das g muss einfach raus, sonst ist ein riesen Fehler drin.
Auch, aber nicht nur.
> Problem ist ohne Lageberechnung
Dein Problem ist, das du nur durch Betrachtung der Kräfte bzw. der
gemessenen Beschleunigungen die Lage nicht bestimmen kannst.
Dein Problem ist aber ein noch viel größereres:
Du gehst naiv davon aus, dass du den Messwert einfach so übernehmen
kannst. Viel Spass! Dein Messwert ist nämlich verrauscht. Selbst wenn
dein Beschleunigungsmesser liegt, wird er ständig irgendwelche
zusätzlichen Beschleunigungen dir mitteilen, die du dann brav
aufintegrierst. Das Ende vom Lied ist, dass dir deine Auswertung
mitteilt, dass dein Sensor mitlerweile in Australien ist, während er
doch die ganze Zeit vor dir auf dem Tisch lag.
Ja. Das Problem ist nicht nur die Erdbeschleunigung, die koennte man
noch rausmachen indem man's immer senkrecht zur Oberflaeche
positioniert. zB im Auto fest auf das Dashboard. An einem Huegel bekommt
man dann eine horizontale Komponente im Stehen. Wenn man dann bei fester
Steigung die Bremse loest, so beschleungt zwar der Wagen, aber die
horizontale Komponente wird kleiner. In freien Fall misst man dann Null
Beschleunigung - auf allen Achsen.
Nun, darauf wollt ich nicht raus. Das Muehsame wird dann das Geschuettel
und die Vibrationen sein. zB in einem Auto, in einem Zug. Diese signale
werden groesser wie das rauschen sein.
Ich wollte eigentlich ein Objekt damit sichern und schauen, wenn das
Objekt um einen bestimmten Radius weggenommen wird, dass dann ein Alarm
ausgelöst wird.
Dabei war meine Idee, dass ich quasi am Anfang einmal das rauschen auf
allen Achsen mittel. Dann wartet der Sensor so lange, bis er eine
Beschleunigung ermittelt(any_motion_mode). Wurde eine Beschleunigung
ermittelt, so fängt mein Controler an einen Timer zu starten (5
sekunden) und der BMA (Beschleunigungssensor) ermittelt in der Zeit mit
dem new_data_int Beschleunigungswerte an allen 3 Achsen. Dabei wird von
jedem Wert der gemittelte Rauschwert abgezogen. Zusätzlich wird in den 5
Sekunden gezählt, wieviel Werte aufgenommen werden.
Sind die 5 Sekunden rum, so werden die aufaddierten Beschleunigungswerte
der einzelnen Achsen noch durch die Anzahl der aufgenommenen Werte
geteilt (Durchschnittsbeschleunigungs aller einzelnen Achsen).
Schließlich soll mit obiger Formel der Weg berechnet werden. Das ein
Fehler durch rauschen auftritt ist mir bewusst. Der liegt bei meinem
Sensor zwischen 0.015g und 0.03g.
Problem ist nur das der Fehler durch die 9,81g die drin sind sehr groß
ist.
Und diesen möchte ich weg haben.
Zusätzlich sollte dazu noch gesagt werden, dass das Objekt beim
wegnehmen sich beliebig drehen kann. Dass heißt die Lage ist nich wie im
Auto konstant. Das Koordinatensystem dreht sich quasi. Aus meiner sicht
wäre es also nur mit einem zusätzlichen Kreisel möglich.
mfg
B-man schrieb:> Auto konstant. Das Koordinatensystem dreht sich quasi. Aus meiner sicht> wäre es also nur mit einem zusätzlichen Kreisel möglich.
3 Kreisel. Einer pro Raumachse
Bau ins Podest (oder wo auch immer) einen schwachen Sender ein, ins
Objekt kommt ein Empfänger und wenn der das Signal vom Sender verliert
löst er Alarm aus.
Oder 2 Drähte und im Gegenstand ein komplexer Widerstand, der über die 2
Drähte ermittelt wird.
Oder ein RFID Tag.
Oder ein Schwingkreis im Sockel, der durch Entfernen des Gegenstands
verstimmt wird.
Oder ....
B-man schrieb:> (z.B. 5 sekunden) eine Durchschnittsbeschleunigung berechne
Schon ein komplett falscher Ansatz von der Mathematik her.
Geh mal in ein Naturkundemuseum (Technikmuseum Mannheim, Mathematikum
Gießen). Dort gibt es einen Versuchsaufbau mit 3 Bahnen auf denen Kugeln
herunterrollen können. Eine mit konstantem Gefälle, eine mit am Anfang
geringer und dann steigendem Gefälle, und eine mit am Anfang großem und
dann abnehmendem Gefälle. Man kann 3 Kugeln hineinlegen und gleichzeitig
starten.
Nach deiner Durchschnittsrechnung müssten alle 3 Kugeln gleichzeitig
unten ankommen!
Versuchs mal aus oder denk mal darüber nach warum das absolut nicht so
ist.
Und wie schon weiter oben gesagt. Jeder kleine Fehler bei der ersten
Integration (zur Geschwindigkeit) ergibt einen konstant wachsenden
Fehler bei der 2. Integration zur Positionsbestimmung.
Ist also ohne zusätzliche Eichpunkte eine vollkommen untaugliche
Methode.
Ein weiteres Stichwort für jeden der je mit Beschleungigungssensoren od.
Gyros garbeitet hat sollten die sog. Kalmanfilter sein.
Die Abblidung ist zwar mathematisch-theoretischer Natur aber so sieht's
leider zum Teil auch auf einem Oszi aus ...
http://www.mathworks.com/matlabcentral/fx_files/12307/1/ekf_example.jpg
Man beachte die vielen kleinen Punkte um das eigentliche Gewirr herum
und wie die Werte Rauschen ...
B-man schrieb:> Der Sensor kann ja während der Bewegung sein Lage irgendwie ändern. Das> bedeutet auf den drei Achsen verteilt sich die g-Kraft immer irgendwie> anders, je nach dem wie die Lage zum Zeitpunkt ist.> Doof ist nur das die g-Kraft in die Beschleunigung beim Bewegen ja nicht> mit reingerechnet werden darf. Wie bekomm ich diese g-kraft> rausgerechnet?> Mit einem zusätzlichen Neigungssensor wäre es kein Problem.>> Hat jemand eine Idee wie es mit nur dem Sensor vielleicht näherungsweise> möglich wäre?
Es ist nur g (als Vektor) vom Messergebnis abzuziehen -- Probleme durch
Messungenauigkeit mal unberücksichtigt.
Das Problem ist aber, daß nur die Länge von g bekannt ist, nicht seine
Richtung. Diskutiert wird das auch in
Beitrag "Beschleunigungssensor - Kompensation Erdbeschleunigung"
D.h. die Richtung von g muss irgendwoher kommen:
-- Das Objekt ändert die (bekannte) Orientierung im Raum nicht --> das
ist idR eine zu große Einschränkung an die zu lösende Aufgabe
-- Weitere Sensoren wie Gyroskop.
-- Tiefpass und hoffen, daß Becshleunigungen, die von g abweichen,
nicht so lange dauern, daß sie vom Filter geschluckt werden.