RCT Jeti VarioMeter released

05 Sep 2017 18:42 #7 von VOBO
Ja, alles wie beim Jeti-Vario oder dem von Unisens.

Gruß Volker

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

05 Sep 2017 19:08 #8 von Klausp
Danke

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

08 Okt 2017 22:08 #9 von nightflyer88
Habe den Code noch ein wenig optimiert und erweitert:

- Präzision und Reaktionszeit des Vario optimiert, die Auflösung ist nun bei 1cm
- Fehler behoben: die aktuelle Höhe wurde vom BMP280 nur mit 1Meter Auflösung gelesen, daher war das Vario ziemlich ungenau
- exponentiellen Filter und Mittelwert Berechnung des Vario Wert durch einen schnellen Tiefpass Filter ersetzt
- alle Einstellungen der Firmware übersichtlich in der Defaults.h Datei zusammengefasst
- Es wird nun auch der BME280 Sensor unterstützt, damit wird auch die Luftfeuchte angezeigt (kann in der defaults.h Datei eingestellt werden - standard ist BME280 eingestellt)

hier mal zum testen: github.com/nightflyer88/Jeti_VarioMeter

Habe den Sensor nur kurz getestet, der ausführliche Praxistest kommt noch. Evtl. muss man am Vario Tiefpass Filter noch ein wenig Feintuning machen :whistle:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

08 Okt 2017 22:21 - 08 Okt 2017 22:23 #10 von VOBO
Interessant.
Allerdings ist es etwas ominös das wir plötzlich eine Auflösung von 1cm haben sollen. Nach meiner Kenntnis hat der BMP280 nur eine maximale Auflösung von 1m.

Aber egal, werde meine RCT-Variometer dann umflashen und schaun ob sich was ändert.

Gruß Volker

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

09 Okt 2017 06:43 #11 von TeroS
Interesting indeed.

I was under theimpression that altitude can be measured with one meter precision with BMP280. But you are right on the vario, the pressure is multiplied with 100.

What I don't understand is why you read altiude as "curAltitude = bmp.readAltitude(1013.25) * 100; // In Meter", what is the purpose of 1013.25? I think there is no need for that since a) that should be adjusted to every users local value and b) we are more interested in relative altitude? it does not harm anything, that's for sure.

Looks interesting, I'll have a test-run tonight. Thanks for the work, mu code usually has a lot room for improvement :)

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

09 Okt 2017 12:55 #12 von nightflyer88

VOBO schrieb: Nach meiner Kenntnis hat der BMP280 nur eine maximale Auflösung von 1m.


Neinnein der ist viel genauer. Schaut mal hier ins Datenblatt aus Seite 8: ae-bst.resource.bosch.com/media/_tech/me...-BMP280-DS001-18.pdf

Kurze Erläuterung zum Programmablauf:

Schauen wir uns mal die funktion in der BMx280 lib an:
float Adafruit_BME280::readAltitude(float seaLevel)

readAltitude liefert den Höhe Wert als float zurück. Also als Zahl mit Dezimalstelle (zB: 511.23m). Nun wird der Wert in curAltitude geschrieben, curAltitude ist aber ein long. Das bedeutet, dass curAltitude keine Dezimalstelle speichern kann, wir haben nun im Beispiel nur noch 511m. Multiplizieren wir jedoch den float wert von readAltitude mit 100, so haben wir nun in curAltitude die Höhe in cm (also 51123).

Wie man oben erkennen kann ist der Wert in Klammern 1013.25, der Luftdruck auf Meereshöhe. Der Wert ist nach internationaler Höhenformel, jedoch ergibt sich daraus nur eine theoretische absolute Höhe, und variiert je nach Wetterlage sehr stark (+/-50m oder sogar +/-100m ist nichts ungewöhnliches). Ich musste aus kompatibilitäts Gründen zur BME280 lib einen Wert in die Klammern setzten, da sonst immer ein Fehler vom compiler gemeldet wurde.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Ladezeit der Seite: 0.200 Sekunden

Impressum