MPU-9150 arbeitet nicht "optimal".

Hallo zusammen,
mein MPU9150 produziert in sehr unregelmäßigen Abständen (3-5 mal in 20min) relativ deutliche Ausreißer. Diese bewegen sich zwischen 5° und 30°. Kann mir jemand einen Tipp geben, wie ich hier Abhilfe schaffen kann?

Breadbord (Neu, Steckverbindungen auch mal getauscht)
Arduino MEGA2560 mit 12V Akkuspannung an Vin.
MPU9150 3,3V aus Arduino

http://www.ebay.de/sch/i.html?_trksid=p2050601.m570.l1313.TR0.TRC0.Xmpu9150&_nkw=mpu9150&_sacat=0&_from=R40

PullUp SDA und SCL mit 10k (oder 1k) gegen 3,3V geschaltet
3,3V Versorgungsspannung mit 100nF gegen GND.
ADO mit 10K gegen GND
INT direkt an Interrupt 0.
Ich habe es auch mit einem Bidirectionalen LevelShifter (JY-MCU) versucht.
Hier Vcc 5V (aus Arduino) und gegenüberliegende Kontakte SDA(Arduino) <->SDA(MPU9150) etc.
Versuchsweise auch mit 3,3V betrieben. Beide male keine Veränderung. Ich bin für jede Hilfe dankbar.
Gruß
Willi

Wie filterst du denn die Werte. Kannst du so große änderung in deiner Anwendung ausschließen (also das die Werte unplausibel sind) dann kannst du diese Werte ja verwerfen und die nicht filtern. Evtl einen Wertfilter einbauen das die "neuen" Werte keinen 100% einfluß auf den aktualwert haben sonden nur einen z.B. 40%igen pro Zyklus. Dein Sketch wäre auch hilfreich. Gruß Der Dani

Hm. Das Ding hat nen Kompass bei..

Irgendwas elektromagnetisch aktives in der Nähe liegen? Handys sind da immer die ersten Verdächtigen...

@ Rabenauge: Habe ich ausgeschlossen, aber trotzdem danke. @ volvodani: Hatte ich mir auch überlegt, aber ich kann nicht einschätzen, wie sich dies auf meinen Quadrocopter auswirkt. Den Sketch kann ich gerne weitergeben, ist aber etwas länger.

LG Willi

kucky: mein MPU9150 produziert in sehr unregelmäßigen Abständen (3-5 mal in 20min) relativ deutliche Ausreißer. Diese bewegen sich zwischen 5° und 30°. Kann mir jemand einen Tipp geben, wie ich hier Abhilfe schaffen kann?

Laut Datenblatt ist das ein 9-Achsen-Sensor: - drei Beschleunigungs-Achsen - drei Gyroskop-Achsen - drei Kompass-Achsen

Auf welcher dieser 9 Achsen treten die Abweichungen auf? Auf einer dieser Achsen? Auf jeder dieser Achsen? Oder meinst Du vielleicht einen auf irgendeine Art zusammengerechneten Summenvektor, der die Ausreißer nach dem Zusammenrechnen zeigt?

Im Endeffekt müßtest Du Dir als erstes mal die Rohdaten auf allen 9 Achsen im Zeitverlauf ansehen und herausfinden, wo (und ob überhaupt) auf welcher/welchen der Achsen die Ausreißer in den Rohdaten genau auftreten.

Und wo Du dann bei der Fehlerbehebung ansetzen müßtest, hängt dann ganz stark davon ab, ob schon die Rohdaten der einzelnen Achsen Ausßeißer zeigen oder erst die verabeiteten Daten nach Durchführung verschiedener Berechnungen.

Hallo Jurs, die Ausreißer treten auf allen 3 Achsen zu selben Zeit auf. Das mit den Rohdaten werde ich mal versuchen. Danke für den Tipp.

LG Willi

Warum das Rad neu erfinden wenn du die fertile FC schon verhältnismäßig günstig bekommst wie z.B. den APM 2.5 oder die KK2.1?
Der Code in reinem Arduino wird sowieso zu langsam, wenn du vor allem recht stabil unterwegs sein willst.
Gruß
DerDani
(Auch gerade mit nem neuen Quad unterwegs)

Meine Motivation ist aber nicht was fertiges zu kaufen, sondern selbst zu schrauben und was dazu zu lernen. Ich bin ja auch schon sehr weit gekommen, für meine Verhältnisse ;)

LG Willi

kucky: Hallo Jurs, die Ausreißer treten auf allen 3 Achsen zu selben Zeit auf. Das mit den Rohdaten werde ich mal versuchen. Danke für den Tipp.

Jetzt frage ich mich gerade: Welches sind eigentlich "alle 3 Achsen" auf einem 9-Achsen-Sensor?

Die Rohdaten per I2C liest wohl dieser Sketch hier: http://playground.arduino.cc/Main/MPU-9150

Um Ausreißer im Zeitverlauf zu finden, müßte man wohl den Sketch etwas umschreiben, weniger Daten regelmäßig ausgeben und dafür Ausgaben hauptsächlich dann auf Serial senden, wenn plötzlich starke Sprünge auftreten.

Ich hatte mich wohl falsch ausgedrückt. Ich meinte die Achsen an meinem Copter.