VarioGPS Sensor von NightFlyer

Marc K.

User
Habe jetzt zwei Anleitungen zwegs Bestückung für das Vario gefunden. Bei der einen sind Widerstände verbaut bei der anderen nicht. Frage, sind die zwingend nötig?

Gruß Marc
 

gruni

User
Hallo Marc,

scheinbar sind die Widerstände (ausser dem TXRX) nicht nötig. Das Vario funktioniert ja mit dem BMP280.

Blöd ist halt, dass die Daten! eben nicht auf der normalen Jetibox (klein oder 4Tastenbox) angezeigt werden. Auf der JediboxProfi gehts.
Nur ist es blöd, dass die Box nicht wirklich stilsicher an die Evo oder Taranis dranpasst.
Zudem gibts keine Sprachausgabe.

Damit bin ich/wir also genausoweit wie mit dem einfacher auszubauenden OXS.

Grüsse Gruni
 

Marc K.

User
Bin mit dem Vario vollstens zufrieden. Heute am Platz mit dem Pike aus der Hand weggekurbelt.

IMG_20200531_180553.jpg

Gruß Marc
 

onki

User
Hallo Gruni,

du musst dich halt mit der Tatsache vertraut machen, dass deine Modulkonfiguration ein Krampf ist und keine nenneswerte Zukunft mehr hat.
Das war als Überbrückung gemeint und hatte früher schon keine sonderlichen Komfortfeatures.
Daher wird es für soche Kombinationen sicher auch keine weiteren Entwicklungen geben.
Also entweder auf OpenTX und FrSky (oder Jumper) setzen oder eben Jetisender mit allen Konsequenzen. Beides miteinander ist und bleibt Mist.
Ich hab mir auch für meinen Schulungs-Easyglider eine X9D+ bzw. eine Jumper gekauft weil der ganze Modulkram einfach unpraktisch ist, wenn man auch Telemetrie nutzen möchte.
Da sieht man dann vor lauter Anbauboxen den Sender nicht mehr.
Und einen Jeti-EX-Telemetriekonverter für OpenTX sehe ich nicht. Das wäre vermutlich communitymäßig Hochverrat:rolleyes:.

Gruß
Onki
 

VOBO

User
Hallo VarioGPS-Freunde,
Ich habe jetzt nach langer Zeit auch mal wieder ein solches aufgebaut (Vario mit MS5611 und 2 Spannungsmessungen, VarioGPS V2.3.3).
Funktion ist voll gegeben, wegen der aktuellen Lage aber noch keine praktische Erprobung.
#define MS5611_SMOOTHING 0.80
#define MS5611_DEADZONE 3
Diese beiden Parameter sind ja voreingestellt und können per Jetiboxemulation angepasst werden.

Gibt es jemanden unter euch, der schon praktisch erflogene Werte nennen kann, die besser passen als die voreingestellten Werte?

Hat jemand die Temperaturmessung mit dem NTC gebaut und kann etwas über die Funktion sagen (Geht/Geht nicht/wie genau..).
Ich hätte noch einen PIN am Stecker frei und könnte das noch einbauen. Sicher nicht schlecht wenn man ab und zu einen Blick auf die Motortemperatur hat.


Hallo Stephan,
sowohl Deadzone als auch Smoothing-Faktor sind zur Reduzierung des Rauschens des barometrischen Sensors, genauer des Variowertes.
Der Smoothing-Faktor, ist ein Wert zwischen 0.00 und 1.00 und der angibt, wieviel der aktuelle Meßwert mit den letzten Meßwerten geglättet wird.
Je mehr der Faktor bei 0.00 ist, desto mehr Priorität bekommt der aktuelle Messwert. Bei Faktor == 0.00, ist die Glättung komplett ausgeschaltet.
Je höher der Faktor desto mehr Glättung mit Werten aus der Vergangenheit wird verwendet, aber der Nachteil ist eben, dass auch echte Messwertänderungen erst mit Verzögerung angezeigt werden.
Hier in bei VarioGPS wird ein einfacher IIR Filter benutzt. Details sind unter
https://en.wikipedia.org/wiki/Low-pass_filter#Simple_infinite_impulse_response_filter
nachzulesen.

Bei der Deadzone, wird ein Bereich (z.B. +-10cm) definiert, der von jedem Wert größer oder kleiner abzogen oder hinzugefügt wird. Innerhalb des Bereichs wird immer 0 ausgegeben.
Hier der dazugehörige Code (uVario ist der geglättete Vario Wert):
Code:
      // Vario dead zone filter
      if (uVario > pressureSensor.deadzone) {
        uVario -= pressureSensor.deadzone;
      } else if (uVario < (pressureSensor.deadzone * -1)) {
        uVario -= (pressureSensor.deadzone * -1);
      } else {
        uVario = 0;
      }



Hoffe das war detailreich genug ;-)

Gruß Rainer
P.S.: Bin gerade dabei, den Code für den MS5611 zu überarbeiten/optimieren, da man durch eine höhere Sampling-Rate noch einiges raus holen kann. Gebe hier die nächsten Tage Bescheid, wenn ich es eingecheckt habe. Werde die Änderung Nightflyer zum "update" anbieten



@ Rainer
Gibt es Neues zu deiner Verbesserung? Hat Nightflyer schon was in Arbeit, oder kommt da nichts mehr? Die V2.3.3 ist ja doch inzwischen schon 2 Jahre alt.


Gruß Volker
 

VOBO

User
Hallo Onki,
Ich meine die von Rainer in meinem zitierten Text von ihm angedeuteten.

Ich hatte bereits einige Varios mit V2.2 und dem BMP280-Sensor gebaut, die aber nicht die Qualität der OXS-Varios erreichten.

Ich habe jetzt erstmals den MS5611 auch hier verwendet und hatte erwartet, das die Qualität ähnlich den OXS mit MS5611 würde.

Das ist aber nicht eingetreten. Das Signal rauscht deutlich mehr als beim OXS und schwankt auf dem Tisch ständig im Bereich 0-0,2m/s.
Beim OXS ist das annähernd Null.

Ich hoffe daher darauf das Rainer hier erfolgreich ist.

Gruß Volker
 
Sorry, habe leider das Thema (noch) nicht zu Ende verfolgt, da mir aktuell etwas die Zeit fehlt.
Die Analyse war wie folgt:
Der Druckwert des MS5611 wird evtl. zu selten abgefragt, so dass man nicht das volle Potential ausnützt. Wenn man die Sample-Rate maximiert (aktuell wird nur alle 180ms der Druckwert abgefragt, der allerdings schon intern im MS5611gesampled ist (MS5611_ULTRA_HIGH_RES entspricht einer OSR = 4096) ) könnte (!) eine Verbesserung des Verhaltens erreicht werden. Man kann eventuell dann mehr glätten, ohne an Reaktionsgeschwindigkeit zu verlieren. Wenn ich das Thema weiter verfolge, werde ich es hier auf jeden Fall mitteilen.
Gruß Rainer
 

VOBO

User
So, hab heute noch mal getestet und etwas mit dem Parameter Smoothing gespielt.

Bei Smoothing = 90 bin ich einigermaßen zufrieden, natürlich etwas träger als bei 80.

Jetzt ist mir aufgefallen, das der Smoothingwert, der über die Jetiboxemulation verändert wurde, nach erneutem Einschalten der Spannungsversorgung des Varios wieder auf den Standardwert bei Programmierung (80) zurückgesetzt wurde.
Habt ihr das auch?
Soll das so sein oder ist das noch ein Bug im Code?
Ich dachte der Wert wird ins Eeprom geschrieben.

Gruß Volker
 

VOBO

User
So, Korrektur. Es geht. Ich habe beim Speichern immer ok gedrückt anstatt den Pfeil nach unten zu benutzen.

Schöne Feiertage!
 
So endlich konnte ich meine Überarbeitung des MS5611-Codes fertig stellen. Ist deutlich aufwendiger geworden als ich dachte, da die Probleme nicht nur bei der Nutzung des MS5611, sondern auch bei der Nutzung der Telemetrieschnittstelle lagen.
Dennoch ist das Ergebnis jetzt wirklich super geworden. Ich würde behaupten, dass das Vario so mit einem JETI-REX-Assist-Vario mithalten kann.
Was wurde geändert:
Vario-Handling des MS5611 wurde in eine spezielle Library ausgelagert, in der nun das Oversampling und Smoothing der Pressure und Variometer-Werte passiert. Anstatt wie bisher ca. 5x4096 Druckwerte pro Sekunde zu messen, werden nun bei reduzierter Arduino-Last 43x4096 Druckwerte pro Sekunde gemessen und verarbeitet.
Das führt zu deutlich besserem Signal-Rausch-Verhältnis.
Jedoch wurde als deutlicher Flaschenhals, die serielle Telemetrie-Schnittstelle zum Empfänger identifiziert, die bei vielen Sensorwerten (MS5611, GPS, ....) die Schnittstelle "verstopft". Eine Variometer-Wert-Übertragung von 1 Wert/sec ist einfach zu langsam.
Ein Umstieg auf das schnellere JetiExBus Interface kam nicht in Frage, da ansonsten das implementierte Konzept der JETIBOX Konfiguration nicht mehr funktioniert hätte und auch im Zusammenspiel mit GPS Probleme zu erwarten waren.
Also wurde die bisher benutzten JetiExSensor-Library um ein Prioritätshandling erweitert, die es nun erlaubt, manche Telemetriewerte öfter (Vario) und manchen seltener (z.B. Luftdruck) zu übertragen.
Damit konnte in den letzten Tagen super Werte gemessen und bei Testflügen getestet werden.
Auf GitHub sind ein paar vergleichende Graphiken dargestellt, die zeigen, wo die Unterschiede und Verbesserungen sind.
Ich hatte in der Vergangenheit schon mehrere andere Varios getestet und das JETI-Vario in des REX-Assists zeigte sich bisher immer als sehr reaktionsschnell und rauscharm. Mit den neuen Änderungen braucht sich der VarioGPS-Sensor mit MS5611 davor nicht mehr zu verstecken.

Die Software ist als Fork von nightflyer unter: https://github.com/Pulsar07/Jeti_VarioGPS-Sensor (master-Branch) verfügbar.
Wenn positives Feedback vorhanden, werde ich versuchen die Änderungen per "Pull request", wieder an nightflyer weiter zu geben.

Gruß Rainer
 

VOBO

User
So, habe es gerade mal kompiliert und geladen, alles ohne Probleme.
Bekomme aber kein Signal ins Display. Die Jetibox zeigt nur Connecting, blinkend mit vielen Pünktchen.
Ich habe folgendes konfiguriert:
-Vario MS5611
-2 Eingangsspannungen Rx1 + Rx2
-1 Temperaturmessung
weiter nichts.
Hat übrigens so mit der Originalversion vom Nightflyer (V2.3.3) schon funktioniert.
Ich verwende einen Arduino Pro Mini für 3.3 Volt.

Gruß Volker
 

VOBO

User
Ignoriert bitte meinen letzten Beitrag, habe einen Fehler bei mir entdeckt, melde mich später.
 
Ansicht hell / dunkel umschalten
Oben Unten