Hallo
ich suche schon die ganze Zeit nach einem Modul, mit welchem man die
Neigung bzw den Schwerpunkt ermitteln kann. Momentan benutze ich dafür
einen
Beschleunigungssensor(http://www.amazon.de/MPU-6050-Modul-3-Achsen-analoge-Gyro-Sensor-Beschleunigungssensor-Modul-6050/dp/B00D1K5Z5Q/ref=sr_1_1?ie=UTF8&qid=1402174340&sr=8-1&keywords=beschleunigungssensor),
doch ich habe da so einige Probleme: ich ermittle den Schwerpunkt, indem
ich schaue auf welcher Achse die Erdanziehungskraft am meisten wirkt.
Doch wenn ich den Sensor drehe, so werden auf Grund der Zentrifugalkrat
die Werte verfälscht und der Sensor gibt mir im Moment der Drehung nicht
mehr den genauen Schwerpunkt zurück.
Genau das ist das Problem.
Kann mir da jemand weiterhelfen? Ich brauche einen Sensor, der mir immer
exakt den Schwerpunkt bzw die Neigung zurückgibt.
Also erstmal: von Beschleunigungssensoren hab ich keine Ahnung. Aber
Dein Sensor hat doch 3 Achsen, da kannst Du die Neigung doch einfach
über eine Vektoraddition aller 3 Beschleunigungswerte berechnen - oder
irre ich mich?
Ja, das hast du ja recht, nur die Werte, die der Sensor liefert werden
durch die Zentrifugalkraft verfälscht, sobald ich den Sensor drehe. Das
ist ja das Problem.
Tim schrieb:> Kann mir da jemand weiterhelfen? Ich brauche einen Sensor, der mir immer> exakt den Schwerpunkt bzw die Neigung zurückgibt.
Gibt es nicht, s. Relativitätstheorie (Inertialsystem). Gibt aber
workarounds wie Kreiselkompasse, Faserkreisel oder künstlicher Horizont.
Satelliten machen das mit Peilung eines Fixsterns, aber einfach ist das
alles nicht
STK500-Besitzer schrieb:> um den Schwerpunkt eines Objekts zu bestimmen, braucht man doch> mehr als> einen Sensor (oder ich habe einenb Koten im Kopf).
Wenn ich es richtig verstanden habe, will er die Senkrechte zum Erdboden
und nicht den Schwerpunkt des Modelles (oder was auch immer). Aber bei
einer linearen oder auch kreisförmigen Beschleunigung addieren sich die
Vektoren, deshalb kann sie kein Sensor von der Erdbeschleunigung
unterscheiden. Die Richtung der Erdbeschleunigung bekommt man nur bei
völlig unbewegtem Modell raus.
Tim schrieb:> Hallo>> ich suche schon die ganze Zeit nach einem Modul, mit welchem man die> Neigung bzw den Schwerpunkt ermitteln kann. Momentan benutze ich dafür> einen>
Beschleunigungssensor(http://www.amazon.de/MPU-6050-Modul-3-Achsen-analoge-Gyro-Sensor-Beschleunigungssensor-Modul-6050/dp/B00D1K5Z5Q/ref=sr_1_1?ie=UTF8&qid=1402174340&sr=8-1&keywords=beschleunigungssensor),
> doch ich habe da so einige Probleme: ich ermittle den Schwerpunkt, indem> ich schaue auf welcher Achse die Erdanziehungskraft am meisten wirkt.> Doch wenn ich den Sensor drehe, so werden auf Grund der Zentrifugalkrat> die Werte verfälscht und der Sensor gibt mir im Moment der Drehung nicht> mehr den genauen Schwerpunkt zurück.
Dein Sensor ist nur für translatorische Bewegungen gemacht, d.h.
Verschiebung in X-Y-Z-Richtung. Drehbewegungen werden so erstmal nicht
erfasst - dafür gibt es sogenannte Gyroskope, die auf Drehungen
reagieren. Die Kombination aus beidem nennt man IMU - Intertial
Measurement Unit, und Du willst eine 6DOF IMU haben (6 Freiheitsgrade,
drei translatorische und 3 rotatorische). Es gibt auch 9DOF IMUs, die
haben noch einen Magnetsensor dabei.
Beispiele:
https://www.sparkfun.com/products/10121https://www.sparkfun.com/products/11486
fchk
> Doch wenn ich den Sensor drehe, so werden auf Grund der Zentrifugalkrat> die Werte verfälscht und der Sensor gibt mir im Moment der Drehung nicht> mehr den genauen Schwerpunkt zurück.> Genau das ist das Problem.>> Kann mir da jemand weiterhelfen? Ich brauche einen Sensor, der mir immer> exakt den Schwerpunkt bzw die Neigung zurückgibt.
Den hast Du schon. Wie Du selbst festgestellt hast, besteht das Problem
in der Interpretation der Daten. Der MPU6050 hat auch ein eingebautes
Gyroskop, mit dem sich feststellen lässt, ob eine Drehbewegung vorliegt.
Diese Information musst Du zur Korrektur der Daten des
Beschleunigungssensors einsetzen.
Tim schrieb:> Doch wenn ich den Sensor drehe, so werden auf Grund der Zentrifugalkrat> die Werte verfälscht und der Sensor gibt mir im Moment der Drehung nicht> mehr den genauen Schwerpunkt zurück.
Der Schwerpunkt ist in deinem Objekt fest verankert, falls es sich nicht
um eine Rakete handelt, die durch das Abstoßen von Masse diesen dauernd
verlagert. Beschreibe mal dein Problem.
Tim schrieb:> Kann mir da jemand weiterhelfen? Ich brauche einen Sensor, der mir immer> exakt den Schwerpunkt bzw die Neigung zurückgibt.
Der MPU-6050 ist ein Dreiachsen-Beschleunigungssensor kombiniert mit
einem Dreichachsen-Gyroskop.
> Kann mir da jemand weiterhelfen? Ich brauche einen Sensor,> der mir immer exakt den Schwerpunkt bzw die Neigung zurückgibt.
Der Sensor passt schon, aber Du musst rechnen, um die Lage des Sensors
zu bekommen.
Nur wenn keine Beschleunigung vorliegt, sondern sich der Sensor relativ
zu seiner Umgebung in konstanter translatorischer Bewegung befindet
(ggf. mit v=0), kannst Du die Neigung direkt aus den Werten des
Beschleunigungssensors ermitteln.
Wenn der Sensor entweder translatorisch beschleunigt wird, oder wenn
Fliehkräfte wirken, weil er um eine der Achsen rotiert, werden die
Berechnungen der Lage sehr komplex.
Übliche Algorithmen basieren auf einem Kalman-Filter, der auf die Werte
der sechs Achsen angewendet wird:
http://de.wikipedia.org/wiki/Kalman-Filter
Arduino-Bastler verwenden den MPU-6050 auch zur Lageermittlung von
kleinen selbstgebastelten RC-Flugzeugen und Quadcoptern, und in Codes
für Arduino-Fluglagecontroller ist Code für den MPU-6050 und der
Kalman-Filter enthalten. Ein gängiger Fluglagecontroller als
Open-Source-Projekt ist z.B. dieses hier:
http://www.multiwii.com/
Mathematische Grundlagen siehe ggf. hier:
http://www.starlino.com/imu_guide.html
Wobei es im "freien Fall" ggf. schwierig wird mit der exakten
Lageermittlung. Aber das ist ja ein Sonderfall.
Jürgen S. schrieb:> Nur wenn keine Beschleunigung vorliegt, sondern sich der Sensor relativ> zu seiner Umgebung in konstanter translatorischer Bewegung befindet> (ggf. mit v=0), kannst Du die Neigung direkt aus den Werten des> Beschleunigungssensors ermitteln.
Damit bekommt man nur die Neigung gegen den Schwerevektor, weiss aber
nicht, in welche Richtung das Objekt geneigt ist. Es fehlt eine
Bezugsrichtung. Dafür müßte man noch einen weiteren Sensor an cdn MC
Jürgen S. schrieb:> Wobei es im "freien Fall" ggf. schwierig wird mit der exakten> Lageermittlung.
Mit der Lage im Raum gibt es immer ein Problem, weil der Rotationswinkel
um die Richtung der Schwerevektors ohne zusätzlichen Sensor unbekannt
ist. Die Info könnte z.B. von einem zusätzlichen Magnetfeldsensor
kommen, der über den I²C-Master-Anschluß an den MPU6050 angeschlossen
werden kann.
Ohne bekommt man nur den Neigungwinkel, weiss aber nicht, in welche
absolute Richtung.