Die Umrechnung mit den Fließkommazahlen kann je nach µC und Takt schon relativ lange brauchen, ggf. auch mehr als 10 ms ( z.B. bei 1 MHz Takt). Die Zeit wird dann nicht mehr vom Timer bestimmt, sondern von der Laufzeit.
Ideal sollte die Abfrage des ADs sogar noch etwas schneller sein (z.B. alle 2,5 ms) um die volle Bandbreite bis 140 Hz abzutasten.
Wenn irgend möglich sollte man die Integration noch mit Integer-zahlen machen. Das ist schneller, braucht weniger Speicher und gibt keine Rundungsfehler. Die Umrechnung kann man dann nachher machen, wenn man den Winkel ausgibt oder damit rechnet. Nur mit dem Offset wird das ggf. etwas schwieriger, denn der muss nicht ganzzahlig sein - das lässt sicher aber auch lösen, z.B. indem man den Bruchteil noch einmal über Zeit * Bruchteil berechnet.
Der Offset vom Gyro gibt immer wenigstens einen kleinen Fehler, auch nach Nullabgleich. Aufsummiert wandert der Winkel mehr oder weniger langsam, halt so etwa wie die 5 Grad in 40 s oder 1/8 Grad/s. Das entspricht einem Fehler von rund 1 mV oder etwa 1/3 der AD Stufung.
Lesezeichen