Hi,
also dass dadurch das Ergebnis nicht sehr genau ist, ist mir klar. Dass es aber funktioniert, zeigt das Video hier: http://www.mikrokopter.de/ucwiki/VideoAbspielen?id=244
Es geht um eine Höhenregelung. Ich habe einen Drucksensor verbaut, der allerdings intern stark gefiltert wird (Tiefpass), ansonsten hätte ich dessen Werte einfach differenziert und zur Driftabschätzung benutzt...
Das ACCIntegral brauche ich, um mit einer best. Geschwindigkeit Steigen und Sinken zu können und um Höhenänderungen schnell zu dämpfen.
Außerdem wird es noch benötigt, um die Höhe zu bestimmen, also der Höhensensor ist zwar auf lange Zeit sehr stabil, reagiert aber nur recht träge. Der ACC hingegen reagiert schnell, hat aber eben Drift.
Deswegen ja auch meine Frage im 1. Post, ob z.b. ein Beobachter Sinn macht.
Die reine Datenverarbeitung sieht dann so aus:
Code:
//ACC Integrale
AccZVelocity += (AccZHeightLp-AccZNeutral);
AccZHeight += (AccZVelocity/14000);
//KomplementärFilter (wird nur alle 25Hz ausgeführt)
AccZHeight = (AccZHeight * 0.95) + (PressureHeight * (1-0.95));
Jetzt war also meine Frage, ob es Sinn macht, von AccZHeight (was ja durch den Komp. Filter langzeitstabil ist) Rückschlüsse auf den ACC-Drift zu ziehen?
Gruß
Chris
Lesezeichen