Hey, arbeite gerade nebenher für die Schule an einem Arduino-Quadrocopter. Kenne mich nicht so gut aus und habe hierzu 3 Fragen.
Die Motoren vibrieren so stark, dass der Lagesensor MPU6050 nur wirres Zeug ausgibt, obwohl ich bereits Schaumstoff überall drangemacht hab. Kennt da jemand ne Lösung?
Bin nicht so vertraut mit dem Board und benutze nur die getAccelerationX() und getGyroX() Methoden. Warum gibt die Beschleunigungsmethode die Gyrowerte aus und genauso andersrum?
Hab in dem Example mit diesem Fifo(?) gesehen, dass man auch die GyroZ-Werte haben kann jedoch geht das mit den Raw-Values, welche ich benutze nicht. Weiß da jemand was?
Hallo,
ich habe zwar nur Erfahrung mit einem Flächenflieger, kann Dir aber berichten, daß auch hier mit 2 Motoren die Rohwerte der Beschleunigungssensoren sehr verrauscht sind.
Natürlich ist eine mechanische Dämpfung hilfreich, aber nicht ausreichend.
Du mußt Dich über Filtermöglichkeiten und der Verrechnung verschiedener Datenquellen (Stichwort Sensorfusion, Kalmanfilter) informieren. Ist nicht trivial, jenachdem was Du vorhast (z.B. Verrechnung der Gyro- mit Acc-Daten, oder Acc-Daten mit einem Drucksensor).
Evtl. lohnt sich bei den etablierten Projekten zu spicken, wie dem Ardupilot, ArduIMU, FreeIMU.
Tütenflieger
Hey, fürs erste hab ich nur mal vor, dass das Gerät gerade in der Luft schwebt, weshalb ich mit den Gyrodaten die Motoren ausgleiche.
Du brauchst den Gyro und ACC. Mit Hilfe des Kalmann Filter kannst du dann nach der Kalibrierung die absolute Position berechnen und die dann Versuchen über PID Regler zu halten. Schaue mal nach den Benutzer Kucky der hat hier schon einen Arducopter gebaut.
Hier habe ich den Thread gefunden
Gruß
DerDani