Hey,

ich arbeite gerade an einem Roboter, der sich anhand eines
MPU 6050 orientieren kann. Mein Ziel ist es, beispielsweise den Roboter
ein "perfektes" Viereck fahren zu lassen. Sprich ich sage dem Roboter,
um wie viel Grad er sich drehen soll und lasse ihn dann geradeaus fahren.

Ich konnte bisher einen vernünftigen Winkel mithilfe des MPU 6050 ermitteln.
Wenn ich das gyro/accel Modul um 180 Grad drehe, zeigt mir die Ausgabe auch
tatsächlich an, dass ich das Modul um 180 Grad gedreht habe.

Nun zum Problem:

Wenn ich das MPU-Modul mit dem Roboter verbinde, um ihn dann z.B. in einem Viereck
fahren zu lassen, verändert sich der Wert des Grades. Wo vorher z.B. noch 180 Grad war, ist wenig später
200 Grad. Der Yaw-Wert variiert.
Dies geschieht wenn ich die Motoren arbeiten lasse. Wenn ich die Leistung der Motoren verringere,
kann ich den ungewünschten Effekt verkleinern (Jedoch nicht ausreichend).

Ich bin im Internet auf diesen Link gestoßen:

https://www.pololu.com/docs/0J15/9

Dort wird erklärt, dass ich zwischen dem Stromkabel und dem DC-Motor
einen Kondensator setzen soll. Dieser soll wohl die Störungen, die sich
vom Motor auf die Sensoren auswirken, vermeiden.
Bevor ich mir jetzt diese Kondensatoren zulege, möchte ich mich von erfahrenen
Leuten vergewissern lassen, dass diese Methode eine ernsthafte Lösung für mein Problem darstellt.
Ich brauche also lediglich 0.1 µF Kondensatoren, zwischen Kabel und DC-Motor Kontakt setzen
und die Störungen werden beseitigt?

Ein weiterer Punkt ist, das MPU Modul so weit weg wie möglich von den Strom
versorgenden Kabeln zu setzen. Dies habe ich getan, aber konnte keine Verbesserung bemerken
Denke, dass das weit genug ist, oder?:

Klicke auf die Grafik für eine größere Ansicht

Name:	rob.jpg
Hits:	15
Größe:	80,0 KB
ID:	33803

Ich freue mich über jede Antwort, die mir weiterhilft!