Forum: Mikrocontroller und Digitale Elektronik Sensor zur Ermittlung des Schwerpunkts


von Tim (Gast)


Lesenswert?

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.

von Johann L. (radiostar)


Lesenswert?

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?

von Tim (Gast)


Lesenswert?

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.

von X4U (Gast)


Lesenswert?

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

von STK500-Besitzer (Gast)


Lesenswert?

um den Schwerpunkt eines Objekts zu bestimmen, braucht man doch mehr als 
einen Sensor (oder ich habe einenb Koten im Kopf).

von ?!? (Gast)


Lesenswert?

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.

von Frank K. (fchk)


Lesenswert?

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/10121
https://www.sparkfun.com/products/11486

fchk

von Tim  . (cpldcpu)


Lesenswert?

> 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.

von Mike (Gast)


Lesenswert?

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.

von STK500-Besitzer (Gast)


Lesenswert?

Mike schrieb:
> falls es sich nicht
> um eine Rakete handelt,

oder einen Wassertank...

von Jürgen S. (jurs)


Lesenswert?

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.

von Mike (Gast)


Lesenswert?

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.

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.