RCT Jeti VarioMeter released

  • VOBO
  • VOBO's Avatar Offline
  • Platinum Mitglied
  • Platinum Mitglied
  • Beiträge: 528
  • Dank erhalten: 130

VOBO antwortete auf RCT Jeti VarioMeter released

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

Gruß Volker
von VOBO

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Klausp
  • Klausp's Avatar Offline
  • Neues Mitglied
  • Neues Mitglied
  • Beiträge: 8
  • Dank erhalten: 0

Klausp antwortete auf RCT Jeti VarioMeter released

Posted 05 Sep. 2017 19:08 #8
Danke
von Klausp

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • nightflyer88
  • nightflyer88's Avatar Offline
  • Premium Mitglied
  • Premium Mitglied
  • Beiträge: 137
  • Dank erhalten: 143

nightflyer88 antwortete auf RCT Jeti VarioMeter released

Posted 08 Okt. 2017 22:08 #9
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:
von nightflyer88

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • VOBO
  • VOBO's Avatar Offline
  • Platinum Mitglied
  • Platinum Mitglied
  • Beiträge: 528
  • Dank erhalten: 130

VOBO antwortete auf RCT Jeti VarioMeter released

Posted 08 Okt. 2017 22:21 #10
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
Last Edit:08 Okt. 2017 22:23 von VOBO
Letzte Änderung: 08 Okt. 2017 22:23 von VOBO.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • TeroS
  • TeroS's Avatar Offline Autor
  • Platinum Mitglied
  • Platinum Mitglied
  • RC-Thoughts
  • Beiträge: 527
  • Dank erhalten: 370

TeroS antwortete auf RCT Jeti VarioMeter released

Posted 09 Okt. 2017 06:43 #11
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 :)
von TeroS

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • nightflyer88
  • nightflyer88's Avatar Offline
  • Premium Mitglied
  • Premium Mitglied
  • Beiträge: 137
  • Dank erhalten: 143

nightflyer88 antwortete auf RCT Jeti VarioMeter released

Posted 09 Okt. 2017 12:55 #12

VOBO wrote: 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.
von nightflyer88

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Ladezeit der Seite: 0.961 Sekunden