OXSENS openXsensor mit HOTT Protokoll, erste Tests

Wenig Sinn? Blödsinn!

Das Problem ist doch bekannt und es wird hier nach einer "universellen" Lösung gesucht!
Eine Lösung ist doch schon da halt nur noch nicht für jedermann...
Und den oXs mit den Graupnereigenen Sensoren zu vergleichen macht wenig Sinn also bitte.
 
Also wenn ich bedenke, dass die von Graupner erhältlichen Sensoren an allem Empfängern universal funktionieren, macht unsere Vorgehensweise so wenig Sinn.
Ich habe nur einen Fremdsensor, dieser hat am Signalpin 3,3V anstehen. Genau das habe ich mit meinem Spannungsteiler auch und es funktioniert. Immer, egal welcher Empfänger verwendet wird. Für mich ist das Problem so einwandfrei beseitigt.
 

brandtaucher

Erfahrener Benutzer
Ich verstehe die Schaltung von Stoschek nicht, bin halt nicht vom Fach. Ich dachte, nachfolgende Schaltung wäre richtig (ohne den 4,7k Widerstand in Reihe, stattdessen normale Verbindung ):
 
Zuletzt bearbeitet:

brandtaucher

Erfahrener Benutzer
@Stoschek: Danke. Bitte nicht falsch verstehen, ich wills nur verstehen und richtig machen. Was Du schaltest, ist m.E. kein Spannungsteiler für D4, sondern Du legst damit eine zusätzliche Spannung von 3,3 Volt an D4.
Wenn ich mir die anderen Vergleichsschaltungen zu diesem Thema ansehe, sind die alle anders aufgebaut. Nirgends werden die 5V angelegt:
http://fpv-community.de/showthread....ll-erste-Tests&p=896272&viewfull=1#post896272
http://fpv-community.de/showthread.php?25773-DIY-HoTT-GPS&p=341464&viewfull=1#post341464
Immer wird das eigentliche Signal runtergeregelt und nicht eine zusätzliche Spannung angelegt.

Hier auch:

Quelle: http://fpv-community.de/showthread....metrie-Adapter&p=605182&viewfull=1#post605182
 
Zuletzt bearbeitet:
@Stoschek: Danke. Bitte nicht falsch verstehen, ich wills nur verstehen und richtig machen. Was Du schaltest, ist m.E. kein Spannungsteiler für D4, sondern Du legst damit eine zusätzliche Spannung von 3,3 Volt an D4.
Wenn ich mir die anderen Vergleichsschaltungen zu diesem Thema ansehe, sind die alle anders aufgebaut. Nirgends werden die 5V angelegt:
So ist es, ich lege mit einem Spannungsteiler 3,3V an D4. Schließt du einen GR-16 an, kommen die 3,3V von dort und es funktioniert ohne meinen Spannungsteiler, aber auch mit ihm, vom GR-12 hingegen kommen keine 3,3V und es funktioniert nur mit meinem Spannungsteiler. Ein UniSens-E von SM-Modellbau hat zum Beispiel ebenfalls 3,3V am Anschluss für den T-Port, wird bei Graupner Sensoren auch so sein...
Wenn andere Projekte einen Ausgangsspannungsteiler verwenden, wird dort vermutlich ein Highlevel von 5V am Port vorhanden sein, sonst macht das keinen Sinn.
Wäre in openXsensor ein interner Pullup aktiv, würde man einen Ausgangsspannungsteiler benötigen, so wie du es verlinkt hast.
Vielleicht kann das jemand auch besser erklären? Jedenfalls funktioniert es so, nur der interne Pullup muss ausgeschaltet beleiben! Das müsste der Programmierer mal klären, davon habe ich keine Ahnung!
 

brandtaucher

Erfahrener Benutzer
So ist es, ich lege mit einem Spannungsteiler 3,3V an D4. Schließt du einen GR-16 an, kommen die 3,3V von dort und es funktioniert ohne meinen Spannungsteiler, aber auch mit ihm, vom GR-12 hingegen kommen keine 3,3V und es funktioniert nur mit meinem Spannungsteiler. Ein UniSens-E von SM-Modellbau hat zum Beispiel ebenfalls 3,3V am Anschluss für den T-Port, wird bei Graupner Sensoren auch so sein...
Wenn andere Projekte einen Ausgangsspannungsteiler verwenden, wird dort vermutlich ein Highlevel von 5V am Port vorhanden sein, sonst macht das keinen Sinn.
Wäre in openXsensor ein interner Pullup aktiv, würde man einen Ausgangsspannungsteiler benötigen, so wie du es verlinkt hast.
Vielleicht kann das jemand auch besser erklären? Jedenfalls funktioniert es so, nur der interne Pullup muss ausgeschaltet beleiben! Das müsste der Programmierer mal klären, davon habe ich keine Ahnung!
OK, ich glaube, ich habe den Unterschied halbwegs verstanden. Danke für Deine Mühe. Ich versuchs mal mit meinen Worten wiederzugeben:

Deine Schaltung gilt dann nur für den GR-12, damit am T-Port 3,3 Volt anliegen (die sonst nicht anliegen). ""Meine"" Schaltung gilt hingegen für den GR-16 bei der Verwendung eines 5V-Arduino, um den 5V-Ausgang mit dem Ausgangsspannungsteiler auf 3,3 Volt runterzukriegen. Richtig?
 
Ja, wobei ich den GR-16 anfangs direkt angeschlossen hatte, ohne jeden Spannungsteiler, da waren nie 5V zu messen, sondern nur ca. 3V. Siehe Oszibilder Seite 14. Deine Schaltung wäre demnach nicht nötig, stört vielleicht sogar. Siehe Beitrag von Ziege-One bezüglich GR-12L.
 
Um kompatibel zu bleiben, sollte es aber eigentlich kein hin- und her geben! Einmal festlegen, wie es gebaut sein soll, und dann mit allen Empfängern auch funktioniert! Wenn die Programmierlogik so bleibt, wäre das wohl meine Variante.
Meinungen/Vorschläge?
 
Selbst wenn man den internen pullup aktivieren würde, wäre immer noch die Frage offen, ob die dann vermutlich anliegenden 5V an manchen Empfängern Schaden anrichten können, deswegen bin ich für die Standardisierung der "Stoschek-Brücke".

Was noch zu testen ist, ist die Steuerung des oXs über einen freien Kanal, ich kann ja die Vario-Empfindlichkeit fernsteuern, zwischen 2 Varios umschalten, z.B. kompensiert/nicht kompensiert oder Standard-Vario/IMU Vario. Kann die Energie-Kompensation des Vario über einen Speedsensor regeln und ein-/ausschalten.....

Hierzu sind ein paar Konfigurationen notwendig:

PIN 3 (D3) sollte Standard sein, dann gibt man die Pulslängen für -100% und +100% ein:

// --------- 3 - PPM settings ---------
#define PIN_PPM 3 // default is 2 but my own device use 3
#define PPM_MIN_100 980 // default 1500 - 512 ; // pulse width (usec) when TX sends a channel = -100
#define PPM_PLUS_100 1990 // default 1500 + 512 ; // pulse width (usec) when TX sends a channel = +100

Hier wird definiert, dass von 10% bis 40% PPM die Vario-Empfindlichkeit von 20-100 geregelt wird:

/ ***** 4.3 - Sensitivity adjusted from the TX *****
#define SENSITIVITY_MIN_AT_PPM 10 // sensitivity will be changed by OXS only when PPM signal is between the specified range enlarged by -5 / +5
#define SENSITIVITY_MAX_AT_PPM 40
#define SENSITIVITY_PPM_MIN 20 // common value for vario is 20
#define SENSITIVITY_PPM_MAX 100 // common value for vario is 100

Hier werden 2 Varios definiert und in den letzten zwei Zeilen die Umschaltung, da stolpere ich immer wieder drüber. Es bedeutet, wenn PPM zwischen 10% und 90% ist, ist Vario 1 aktiv, ist PPM zwischen -10% und -90% ist Vario 2 aktiv. Ich kann also auch bei beiden Varios die Empfindlichkeit regeln:

// ***** 4.5 - Vertical speeds calculations *****
#define VARIO_PRIMARY 1 // 1 = first baro, 2 = second baro, 3 = vario based on vario 1 + compensation from airspeed, 4 = average of first and second baro sensors , 5 = merge of first baro sensor and imu
#define VARIO_SECONDARY 5 // 1 = first baro, 2 = second baro, 3 = vario based on vario 1 + compensation from airspeed, 4 = average of first and second baro sensors , 5 = merge of first baro sensor and imu
#define SWITCH_VARIO_MIN_AT_PPM 10
#define SWITCH_VARIO_MAX_AT_PPM 90

So jetzt zum Eigentlichen: es gibt zwei Variablen, die zurückübertragen werden können, PPM und SENSITIVITY, also dekodierter PPM-Wert und Vario-Empfindlichkeit. Bei HOTT gibt es dafür aber kein Gegenstück. Das heißt, man müsste eine andere HOTT-Variable oder mehrere Andere verwenden, um diese oder andere oXs Variablen zurückzusenden (Gleitzahl, durchschnittliches Sinken gibt es z.B. noch).

Sieht jemand (Ziege-one?) eine Möglichkeit, dies zu realisieren?

Diese sehen ganz vielversprechend aus:

uint8_t gyroXLow; // Byte 33: gyro x low byte (2 bytes)
uint8_t gyroXHigh; // Byte 34: gyro x high byte
uint8_t gyroYLow; // Byte 35: gyro y low byte (2 bytes)
uint8_t gyroYHigh; // Byte 36: gyro y high byte
uint8_t gyroZLow; // Byte 37: gyro z low byte (2 bytes)
uint8_t gyroZHigh; // Byte 38: gyro z high byte
 
Richtung oXs gehts ja schon, über einen freien Kanal. Mir geht es um die Rückmeldung z.B. der Vario Empfindlichkeit. Es gibt noch mehr oXs Daten, z.B. die errechnete Gleitzahl, die übertragen werden sollen.
 
Endlich schönes Wetter und frei :)

Fehlte nur ein geeignetes Modell. Mit Hott blieb auf die Schnelle nur der Panda Sport von MPX, bin in letzter Zeit irgendwie nur noch Kopter geflogen. Mit GPS-Modul leider etwas kopflastig, aber es passte alles rein. Knapp 40g Mehrgewicht durch Telemetrie mit Stromsensor und GPS merkt man allerdings deutlich bei so einem kleinen Modell. Die Logs sind einwandfrei, alles super :) Thermik war nicht, nur Höhe abgleiten.

Zwischenablage11.jpg

Dann nochmal ohne GPS, 20g weniger Gewicht.

Zwischenablage13.jpg

Flog sich besser, da nicht mehr kopflastig und leichter, klar.
Hat sich auf jeden Fall schon mal gelohnt, das Projekt anzugehen! Preislich attraktiv und funktionell einwandfrei, super. Ersetzt mir vollständig den UniSens-E, zu einem Bruchteil des Preises :)
Einen besseren Test kann ich zur Zeit nicht durchführen, mir fehlen passende, flugbereite Modelle.
 
FPV1

Banggood

Oben Unten