openXsensor GitHub
openXsensor im openrcforum
Leider ist im Moment die einzige, aber ausführliche Dokumentation in der Datei "oXs_config_description.h"
Das openXsensor Projekt war ursprünglich ein Vario mit Spannungsmessung (openXvario). Es wurde dann um weitere Sensoren ergänzt, die alle an einem Arduino hängen, der dann die Auswertung und Umsetzung der Daten vornimmt. Erst nur im FrSky Hub-Protokoll, dann kam S-Port dazu, Multiplex und HOTT gehen ebenfalls, allerdings mit eingeschränktem Funktionsumfang.
Durch diese Architektur können Berechnungen schon im Modell durchgeführt werden. Die erste Funktion war das mit dem Airspeed kompensierte Vario. Bei den vielen Tests fiel mir auf, dass mein guter alter Stratos F3B eher nicht die Flugleistungen hatte, die er haben sollte. So entstand der Gedanke, die Leistungsparameter Gleitzahl (korrekt Gleitverhältnis) und das durchschnittliche Sinken zu ermitteln und live zu übertragen. Das erspart das mühsame und langweilige Auswerten der Logs und man erkennt sofort, in welche Richtung weiter optimiert werden kann.
Alle nötigen Parameter standen zur Verfügung, also machten wir uns Gedanken, wie man gültige Messwerte erhalten kann. Wir haben uns entschieden, den Airspeed als Kriterium für einen unbeschleunigten Flug zu nehmen (jetzt wo ich das lese, klingt es sehr naheliegend, aber wir stritten lange, ob wir auch mit Groundspeed (GPS) messen können und da hätten wir halt keinen Airspeed gehabt). Es wird ein Toleranzfenster für Airspeed vorgegeben, 5% war ein gut funktionierender Wert. Außerdem eine Zeit, in der der Airspeed mindestens in diesem Fenster bleiben musste, hier waren 10s vernünftig. Ab diesem Zeitpunkt werden erst Werte als gültig angesehen und übermittelt. Die Sekunden werden ebenfalls übertragen und können angesagt werden. Je länger die angesagte Zeit, desto zuverlässiger ist der Messwert.
Die Testflüge waren dann schnell erfolgreich und lieferten Messwerte mit geringer Streuung. Allerdings musste ich als Pilot einiges lernen:
1. Messflüge funktionieren ausschließlich vor und nach Sonnenuntergang. Selbst wenn man die Sonne nicht mal erahnen kann, es geht nicht. Das System kann man auch nicht austricksen. Die kleinste Turbulenz führt zum Verlassen des Toleranzfensters und verhindert die Messung.
2. Trotz TAS, also der wahren Luftgeschwindigkeit ist Wind > 5 m/s problematisch. Es gibt eine Zone von 100-250 m Höhe, in der Wind die Messung unmöglich macht. Vermutlich ist das die Grenzschicht zwischen turbulenter Luft in Bodennähe und laminarer Luftströmung in der Höhe. Messflüge unter 100m haben aber funktioniert, in großer Höhe wurde bis jetzt noch nicht bei starkem Wind getestet.
3. Einen Segler wirklich ruhig zu bekommen, ist gar nicht so einfach. Mstrens, der die ganze Arduino Programmierung macht, hat anfangs immer über meinen Flugstil gemosert. Irgendwann habe ich dann gelernt, dass jedes Flugzeug Phygoiden fliegt, je hochwertiger die Aerodynamik, desto mehr. Besonders beim Fliegen mit Airspeed kompensiertem Vario hört man im Varioton überhaupt nichts davon, weil die Phygoide ja nur ein Austausch von potentieller in kinetische Energie und umgekehrt ist, ein energiekompensiertes Vario also überhaupt keine Schwankungen meldet. Also musste das unkompensierte Vario sehr empfindlich eingestellt und die Phygoide ausgesteuert werden. In der Praxis merkt man sich die Frequenz der Phygoide und steuert mit einem kurzen Höhenruderimpuls genau dann dagegen, wenn das Vario die allererste Änderung meldet. Irgendwann ist man in einem völlig unbeschleunigten Flug, der erstaunlicherweise dann sehr lange konstant bleibt. Nach einem Vollkreis mit 200m Radius ohne Ruderbewegung ist man wirklich tiefenentspannt, auch ohne Keks
Wenn das Wetter besser wird, werde ich mit einem um die Querachse stabilisierten Segler fliegen, um zu testen, ob die Stabilisierung den unbeschleunigten Flug schneller erreicht.
Kurz noch zum Stratos: ich hatte den Schwerpunkt zu weit hinten und habe beim Versuch die Flugeigenschaften zu verbessern, immer noch weiter nach hinten "optimiert". Das Sinken (unverwölbt) ist jetzt von 0,7m/s auf unter 0,5 m/s zurückgegangen und ich habe den Bereich, in dem das Sinken wieder steigt, noch gar nicht erreicht. Gefühlt steht der Stratos jetzt, im Vergleich zu vorher, in der Luft. Die Gleitzahl hat sich trotz niedrigerer Grundgeschwindigkeit verbessert. Ganz klar mein Fehler, weil ich davon ausgegangen bin, so ein Vollkohleteil muss doch rennen, auch ohne Ballast - bullshit.
Zur Technik komme ich beim nächsten Mal.
Gruß Bernd
openXsensor im openrcforum
Leider ist im Moment die einzige, aber ausführliche Dokumentation in der Datei "oXs_config_description.h"
Das openXsensor Projekt war ursprünglich ein Vario mit Spannungsmessung (openXvario). Es wurde dann um weitere Sensoren ergänzt, die alle an einem Arduino hängen, der dann die Auswertung und Umsetzung der Daten vornimmt. Erst nur im FrSky Hub-Protokoll, dann kam S-Port dazu, Multiplex und HOTT gehen ebenfalls, allerdings mit eingeschränktem Funktionsumfang.
Durch diese Architektur können Berechnungen schon im Modell durchgeführt werden. Die erste Funktion war das mit dem Airspeed kompensierte Vario. Bei den vielen Tests fiel mir auf, dass mein guter alter Stratos F3B eher nicht die Flugleistungen hatte, die er haben sollte. So entstand der Gedanke, die Leistungsparameter Gleitzahl (korrekt Gleitverhältnis) und das durchschnittliche Sinken zu ermitteln und live zu übertragen. Das erspart das mühsame und langweilige Auswerten der Logs und man erkennt sofort, in welche Richtung weiter optimiert werden kann.
Alle nötigen Parameter standen zur Verfügung, also machten wir uns Gedanken, wie man gültige Messwerte erhalten kann. Wir haben uns entschieden, den Airspeed als Kriterium für einen unbeschleunigten Flug zu nehmen (jetzt wo ich das lese, klingt es sehr naheliegend, aber wir stritten lange, ob wir auch mit Groundspeed (GPS) messen können und da hätten wir halt keinen Airspeed gehabt). Es wird ein Toleranzfenster für Airspeed vorgegeben, 5% war ein gut funktionierender Wert. Außerdem eine Zeit, in der der Airspeed mindestens in diesem Fenster bleiben musste, hier waren 10s vernünftig. Ab diesem Zeitpunkt werden erst Werte als gültig angesehen und übermittelt. Die Sekunden werden ebenfalls übertragen und können angesagt werden. Je länger die angesagte Zeit, desto zuverlässiger ist der Messwert.
Die Testflüge waren dann schnell erfolgreich und lieferten Messwerte mit geringer Streuung. Allerdings musste ich als Pilot einiges lernen:
1. Messflüge funktionieren ausschließlich vor und nach Sonnenuntergang. Selbst wenn man die Sonne nicht mal erahnen kann, es geht nicht. Das System kann man auch nicht austricksen. Die kleinste Turbulenz führt zum Verlassen des Toleranzfensters und verhindert die Messung.
2. Trotz TAS, also der wahren Luftgeschwindigkeit ist Wind > 5 m/s problematisch. Es gibt eine Zone von 100-250 m Höhe, in der Wind die Messung unmöglich macht. Vermutlich ist das die Grenzschicht zwischen turbulenter Luft in Bodennähe und laminarer Luftströmung in der Höhe. Messflüge unter 100m haben aber funktioniert, in großer Höhe wurde bis jetzt noch nicht bei starkem Wind getestet.
3. Einen Segler wirklich ruhig zu bekommen, ist gar nicht so einfach. Mstrens, der die ganze Arduino Programmierung macht, hat anfangs immer über meinen Flugstil gemosert. Irgendwann habe ich dann gelernt, dass jedes Flugzeug Phygoiden fliegt, je hochwertiger die Aerodynamik, desto mehr. Besonders beim Fliegen mit Airspeed kompensiertem Vario hört man im Varioton überhaupt nichts davon, weil die Phygoide ja nur ein Austausch von potentieller in kinetische Energie und umgekehrt ist, ein energiekompensiertes Vario also überhaupt keine Schwankungen meldet. Also musste das unkompensierte Vario sehr empfindlich eingestellt und die Phygoide ausgesteuert werden. In der Praxis merkt man sich die Frequenz der Phygoide und steuert mit einem kurzen Höhenruderimpuls genau dann dagegen, wenn das Vario die allererste Änderung meldet. Irgendwann ist man in einem völlig unbeschleunigten Flug, der erstaunlicherweise dann sehr lange konstant bleibt. Nach einem Vollkreis mit 200m Radius ohne Ruderbewegung ist man wirklich tiefenentspannt, auch ohne Keks
Kurz noch zum Stratos: ich hatte den Schwerpunkt zu weit hinten und habe beim Versuch die Flugeigenschaften zu verbessern, immer noch weiter nach hinten "optimiert". Das Sinken (unverwölbt) ist jetzt von 0,7m/s auf unter 0,5 m/s zurückgegangen und ich habe den Bereich, in dem das Sinken wieder steigt, noch gar nicht erreicht. Gefühlt steht der Stratos jetzt, im Vergleich zu vorher, in der Luft. Die Gleitzahl hat sich trotz niedrigerer Grundgeschwindigkeit verbessert. Ganz klar mein Fehler, weil ich davon ausgegangen bin, so ein Vollkohleteil muss doch rennen, auch ohne Ballast - bullshit.
Zur Technik komme ich beim nächsten Mal.
Gruß Bernd