Da sind einige Tricks um diesen Drift zu minimalisieren : Beim Stillstand soll der Winkelaenderung null sein. Die gemessene Drift kan dan weiter als Offset verwendet werden. Problem : Diese Drift ist meistens auch Temperaturabhangig.
Der Bandbreite von 40 Hz bedeutet das diesen Gyro eine Messverzogerung hat von ca 25 ms : bei Aenderung von Drehrate wird die ausgegebene Werte ca 25 ms Verzogerung haben. Was mir wundert ist die Auflosung von 0.6°/s, und die max Wert von 50°/s. Das bedeutet dan nur eine 7bit Auflosung. Die Integerwert von 16 bit muss dan schlagartige Sprungen machen. Das kan ein Grund sein von die Schlechte Ergebnissen bei verschiedene Drehraten.
Eine fixzeit für die Integration ist absolut notwendig. Da muss du eine 25 ms Interruptbasis machen und dort integrieren. Das darf nicht in die Hauptschleife sein, da diese Durchlauf nicht immer das gleiche Zeitinterfall hat.
Hier ein Bild von die Messungen von mein Balance Roboter
Lesezeichen