Hi,
also für den Fall, dass das Thema noch aktuell ist:
Nach einigen Tagen rumprobieren mit dem Sensor hab ich jetzt IMHO eine sehr gute Lösung gefunden: Eine Art Filter, bei der eine maximale Abweichung vorgegeben wird, die pro neuem Wert nicht überschritten werden darf, also so:
Code:
pressure_diff_max = 15;
pressure_error = pressure - pressure_lp;
if(pressure_error<-pressure_diff_max) pressure_error = -pressure_diff_max;
if(pressure_error>=pressure_diff_max) pressure_error = pressure_diff_max;
pressure_lp = pressure_lp + pressure_error;
Damit ist der Wert sehr konstant, reagiert aber weiterhin schnell auf Änderungen.
Der Wert Limit_diff_max = 15 hat sich bei meinen Experimenten am besten verhalten, in Verbindung mit: ODR = 25Hz , CTRLREG1 = 0x76 (64Samples Averaging).
In den nächsten Tagen werde ich den Sensor mal unter Realbedingungen testen, sprich - am Kopter.
Bei Interesse kann ich die Ergebnisse hier posten.
Gruß
Chris
Lesezeichen