Vario für Jeti

Moin,

Ich habe die Arduino Library:
nochmal erweitert für 2 Sensoren.
Im beigefügten Beispiel "Mini-Vario"
findet Ihr eine vollständige Implementation für Jeti EX.
Der Jeti Teil verwendet die Lib von Bernd in modifizierter Version:
In dieser Lib kann man update Frequenz der EX Telemetrie anpassen.

Gruß Dieter 20220927_172629.jpg
 
Hi,
der Schlauchanschluss am Sensorboard sieht interessant aus. Kannst Du beschreiben/ zeigen wie das gemacht ist, dass die Platinenseite mit dem Sensor realisiert ist?
Gruß
Christoph
 
Hi Christoph,

Das ist ganz einfach. Röhrchen einlöten, die Patinen gasdicht machen mit Epoxy an den Vias, mit Kupferlackdraht von Innen verdrahten und mit GFK Plättchen und Epoxy zusammenkleben. Der zweite Sensor an der Bestückungsseite des Arduino bleibt dann einfach offen.

Gruß Dieter
 

Feigao

User
Hi Christoph,

Das ist ganz einfach. Röhrchen einlöten, die Patinen gasdicht machen mit Epoxy an den Vias, mit Kupferlackdraht von Innen verdrahten und mit GFK Plättchen und Epoxy zusammenkleben. Der zweite Sensor an der Bestückungsseite des Arduino bleibt dann einfach offen.

Gruß Dieter
Hallo Dieter,

ich hoffe Christoph hat's verstanden und kann es sich vorstellen. Mir fehlt leider die Vorstellungskraft deine Kurzbeschreibung umzusetzen.

Eventuell hast du ja noch ein paar Bilder mehr von deinem Vario.

Gruß Heinz
 
Moin,
das Vario läuft jetzt auch auf dem Samd21, z.B. SeeedStudio XIAO m0.

Siehe Updates hier:

Ausserdem wird eine modifizierte Version der JetExBus Lib von Bernd verwendet.
Das ist schneller als mit der JetiEx Lib.

Bild: Versuchsaufbau mit BlackMagicProbe.

Als Entwicklungsumgebung habe ich PlatformIO mit Arduino Framework verwendet.

Gruß Dieter
 

Anhänge

  • 20230131_162110.jpg
    20230131_162110.jpg
    428,5 KB · Aufrufe: 159
Hier ein paar Bilder der Version für Samd21. Ein SeeedStudio XIAO.
Jetzt mit Option für ein U-Blox GNSS Modul.
 

Anhänge

  • 20230404_223841.jpg
    20230404_223841.jpg
    399,1 KB · Aufrufe: 182
  • 20230403_183520.jpg
    20230403_183520.jpg
    310 KB · Aufrufe: 178
  • 20230313_133842.jpg
    20230313_133842.jpg
    353,3 KB · Aufrufe: 178
  • 20230313_133610.jpg
    20230313_133610.jpg
    393,2 KB · Aufrufe: 180
Ende zu Ende Performance vom Vario in Bildern

Dem Signal vom ruhenden Vario wurde programmatisch eine Rampe überlagert.
2,5s lang ein Steigen von 1m/s --- Pause --- 0,25s ein Sinken von 10m/s --- Pause --- ...
Das Vario ist natürlich nicht in der Lage in in 0,25s die Anzeige von -10m/s zu erreichen.
Aber man bekommt eine Idee von der Geschwindigkeit. Die Basiszeitkonstanten können kontinuierlich
mit einem Kanal über EXBus verändert werden. Wird die Antwort langsamer gemacht sinkt auch das Rauschen.
Hier sind jeweils die beiden Extremwerte für je zwei verschiedene Mengen von gleichzeitig übertragenen
Telemetriewerten gezeigt. Man sieht wie die Auflösung mit größerer Anzahl von Telemetriewerten schlechter wird.
 

Anhänge

  • rampe-vario-schnell-4-werte.png
    rampe-vario-schnell-4-werte.png
    258,1 KB · Aufrufe: 46
  • rampe-vario-langsam-4-werte.png
    rampe-vario-langsam-4-werte.png
    277,2 KB · Aufrufe: 47
  • rampe-vario-schnell-6-werte.png
    rampe-vario-schnell-6-werte.png
    266,4 KB · Aufrufe: 48
  • rampe-vario-langsam-6-werte.png
    rampe-vario-langsam-6-werte.png
    285,7 KB · Aufrufe: 43
Für wen es noch interessiert:

Durch einen kleinen Fehler in der JetiExBus Library ist die
versendete Telemetrie mit angezogener Handbremse gelaufen.

Es wurde pro Telemetrie Request seitens des Empfängers
in der Antwort nur je ein Sensorwert übertragen.

Nach Korrektur rast das Ding nun wie verrückt
Ich dachte vorher echt, das die Telemetrie mit 6 Werten
schon völlig am Ende ist.

Hier eine Statistik über 100 Sekunden mit 6 Werten:

Neu:
Perl:
 { 
   'count' => 2679, 
   'decimals' => '2', 
   'name' => 'Vario', 
   'dimension' => 'm/s', 
   'countsPerSecond' => '26.7005531469577', 
   'dataType' => '1' 
 }, 
 { 
   'count' => 2679, 
   'dimension' => 'm', 
   'decimals' => '1', 
   'name' => 'Hoehe', 
   'countsPerSecond' => '26.7005531469577', 
   'dataType' => '1' 
 }, 
 { 
   'countsPerSecond' => '26.8699855484128', 
   'dataType' => '9', 
   'count' => 2696, 
   'dimension' => '', 
   'decimals' => '1', 
   'name' => 'GPS Longitude' 
 }, 
 { 
   'dimension' => '', 
   'decimals' => '0', 
   'name' => 'GPS Latitude', 
   'count' => 2686, 
   'dataType' => '9', 
   'countsPerSecond' => '26.7703194299098' 
 }, 
 { 
   'dataType' => '1', 
   'countsPerSecond' => '26.7756566814534', 
   'dimension' => 'm/s', 
   'decimals' => '2', 
   'name' => 'GPS Speed', 
   'count' => 2686 
 }, 
 { 
   'dataType' => '1', 
   'countsPerSecond' => '26.6261276977521', 
   'name' => 'GPS Altitude', 
   'decimals' => '1', 
   'dimension' => 'm', 
   'count' => 2671 
 }

Alt:
Perl:
 {
   'count' => 1095,
   'decimals' => '2',
   'countsPerSecond' => '10.9132224403759',
   'dimension' => 'm/s',
   'dataType' => '1',
   'name' => 'Vario'
},
 {
   'dimension' => 'm',
   'countsPerSecond' => '10.9132224403759',
   'dataType' => '1',
   'count' => 1095,
   'decimals' => '1',
   'name' => 'Hoehe'
 },
 {
   'name' => 'GPS Longitude',
   'decimals' => '1',
   'count' => 1095,
   'dataType' => '9',
   'countsPerSecond' => '10.9132224403759',
   'dimension' => ''
 },
 {
   'count' => 1094,
   'decimals' => '0',
   'dataType' => '9',
   'countsPerSecond' => '10.9010831332144',
   'dimension' => '',
   'name' => 'GPS Latitude'
 },
 {
   'countsPerSecond' => '10.918835988324',
   'dimension' => 'm/s',
   'dataType' => '1',
   'decimals' => '2',
   'count' => 1096,
   'name' => 'GPS Speed'
 },
 {
   'name' => 'GPS Altitude',
   'count' => 1095,
   'decimals' => '1',
   'countsPerSecond' => '10.9132224403759',
   'dataType' => '1',
   'dimension' => 'm'
 }

2,446 fache Geschwindigkeit gegenüber vorher.

Bei 6 Werten insgesamt noch 26,7 Vario Werte pro Sekunde
die auch bis ins Logfile gehen.
WS Tec sagt, alles über 14 ist gut.

Ich bastel auch noch an einer Priorisierung.

Gruß
Dieter
 

onki

User
Hallo Dieter,

Das bedeutet du hast die Library von Bernd etwas aufgebohrt.
Wird das dann auch bei der Library umgesetzt denn es basieren doch einige andere Projekte darauf.

Gruß
Onki
 
Hi Onki,
ich gehe davon aus, das Bernd meinen Pullrequest akzeptieren wird. Das SAMD21 Geraffel ist ja auch schon drin. Ohne hier die DMA zu nutzen lief das sehr fehlerhaft. Es gingen einzelne Bytes auf der seriellen Schnittstelle verloren durch die Interruppts vom I2C. Ich hatte dann zunächst nur einen Buffer overrun unterdrückt und dann doch lieber gleich mit DMA implementiert. Mit den 8Bit MCUs kollidiert das Telemetrie Paket oft mit den nächsten Daten vom RC-Empfänger. Ich gehe davon aus, dass viele Implementationen hier fehlerhaft sind. Merkt man aber nicht so leicht, wenn man nicht genau hin guckt mit einem Logic Analyzer. Bei dem SAMD21 gab es durch den o.g. Fehler einen sogenannten unpräzisen Hard Fault. Habe ich tagelang nach gesucht. Es wurde ein Pointer (auf das Objekt der seriellen Schnittstelle) überschrieben. Manchmal lebte das Programm an anderer Stelle im Speicher ohne Absturz aber funktionslos weiter. Hier geht es aber nur um einen Flüchtigkeitsfehler. Es wurde eine Variable falsch zurück gesetzt. Dadurch wurde pro Telemetrie Frame nur ein Sensorwert übertragen. Die Priorisierung der Sensoren habe ich jetzt auch fertig. Ich schiebe das morgen auf github. Alles ist rückwärtskompatibel und bricht keine vorhandenen Apps. Bis auf, dass Sensorwert == -1 invalid bedeutet. Das kann ich nicht akzeptieren. Ich habe stattdessen 0xFFFFFFFF genommen.
Gruß Dieter
 
Moin,

in der aktuellen Version gibt es jetzt die Konfiguration im Flash Speicher.
Diese kann mit einer beliebigen Terminal-Emulation gelesen und geschrieben werden.
Ich empfehle Putty. Siehe README.md in https://github.com/nichtgedacht/JetiMiniVario

Außerdem möchte ich darauf hinweisen, dass die vollständige Programmierung des Seeedstudio XIAO m0 auch per drag and drop möglich ist. Einfach die Resetkontakte 2 Mal kurz brücken und das Modul meldet sich als Massespeicher am USB.
Dann kann man im Dateimanager eine Programm-Image-Datei (siehe Anhang) in das Verzeichnis ziehen und das Modul programmiert sich selber mitsamt der Konfiguration die gerade aktiv war, als das Image erzeugt wurde.

P.S. Den Anhang in JMV-full.UF2 umbenennen.
Dieses Image beinhaltet die full featured Version mit zwei Druck-Sensoren und GPS-Modul.
Ich kann auch die anderen 3 möglichen Hardware Konstellationen als Image hier posten.

Gruß
Dieter
 

Anhänge

  • JMV-full.txt
    512 KB · Aufrufe: 53
Hallo Dieter,
habe aktuell gerade dein Vario für Jeti im Bau.
Welcher Drucksensor der beiden bzw. welche Adresse wird mit dem Unterdruckanschluß versehen?
Jürgen
 
Moin Jürgen,
die Platine mit der Verbindung CSB nach 3,3V, ist die obere. Dieser Sensor mit der alternativen Adresse ist also am Druckanschluss.
Gruß Dieter
 
Hallo Dieter,
heute erster Flug mit deinem Mini-Vario, Variowerte kommen sehr flott, ca. 13,6 Werte pro Sekunde und stimmen gut mit den Werten des Assist
überein, ebenso Höhe . Mit den def. Einstellungen kommen ca. 5,5 GPS Werte/ sec.
Eine Frage habe ich noch und zwar zeigt mir das Telemetrieauswahlfenster GPS Vehicles, ist das die Anzahl der Satelliten?
Wenn ja, hätte der Sensor im Maximum 25 Satelliten empfangen.
TEK kommt in einer späteren Ausbaustufe, muss erst Abdeckkappen für den MS 5611 fräsen.
Nochmal vielen Dank für den tollen Sensor.
Grüsse Jürgen
 
Ansicht hell / dunkel umschalten
Oben Unten