MPU6050 - DMP, Magnetometer

Gast #4104547
Lesenswert?
• ▲
▼
Ich versuche Daten zum MPU6050 zu finden, vorallem zu dem mehrmals im 
Datenblatt angepriesenen DMP.
Leider verdienen die zwei PDF-"Dokumente" nicht den Namen Datenblatt, 
denn neben "AND IT HAS DMP ON IT WOWOWOWOWOW" und "FUSION THE DATA OF AN 
EXTERNAL MAGNETOMETER WITH DMP INCREDIBLE" finde ich einen feuchten Furz 
zum Einstellen oder Ansteuern des DMP oder eines externen Magnetometers.

Sowas kann doch nicht legal sein!

Bleibt mit jetzt nichts anderes übrig als den MultiWii oder irgend eine 
Lib auseinander zunehmen?
Gast #4104950
Lesenswert?
• ▲
▼
Wie sieht es denn mit einem Kalman-Filter aus, kann der mithalten?
Dann würde es für mich wohl mehr Sinn machen mir den Kalman-Filter näher 
zu bringen als irgend eine ins blaue gebastelte Library versuchen zu 
erklären.

Was mich noch etwas zum DMP zieht ist der Temperatursensor und dessen 
Einbindung
#4105034
Lesenswert?
• ▲
▼
Moin,

meld dich bei invensense mal an und geh in die developers corner. Da 
kannst du dir die Motionkit Software runterladen. Die verwaltet dann die 
DMP Geschichte. Der DMP mach 6 Achsen sensor Fusion (gyro+accel) und die 
Magnetdaten werden dann auf dem entsprechenden Prozessor berechnet 
(MSP430 oder irgendwelche ARMs wenn ich mich nicht täusche). Der 
Temperatursensor wird dabei nur zum Kalibrieren des Gyros verwendet. 
Also wenn die Temperatur sich stark ändert wird der Gyro neu kalibriert 
(ich hab mal zwischen 60°C und 10°C ~15°/s in der z-Achse Differenz als 
konstanten Offset gemessen). Allerdings wird in den 
Standardeinstellungen der Gyro sowieso bei stillstand Kalibriert. Auch 
der Magnetsensor (sofern vorhanden) wird von der Software kalibriert 
(auch vom uC, nicht vom DMP!).
Wie du einen externen Magnetsensor (oder was für einen Sensor auch 
immer) anschließen möchtest, geht das einfach über den I2C Bus. Also 
einfach anschließen und entweder über den I2C bypass, den man per 
Register aktivieren kann, ansprechen (natürlich nach dem Datenblatt des 
entsprechenden Sensors) oder über die Slaveregister des MPUs (und die 
sind auch im Datenblatt dokumentiert).
Ein Kalmanfilter ist natürlich eine Möglichkeit, wobei es sich dabei 
sicher nicht um die einfachere Variante handeln wird. Essentiell dabei 
ist die Systemmodellierung. Aber da wirst du dich dann ja einlesen ;)

Ich hoffe das hilft ein wenig weiter.
Schönes Wochenende

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.