Link Quality Sensor von Tadango

#61
Warum nicht einen einfachen NPN Transistor z.B den 2N2222 oder ähnliche ? Funktioniert bei .
Olaf
Klar, geht auch. Es funktioniert jeder beliebige Inverter. Ich wollte nur eine Anleitung machen, die leichtestmöglich nachzubauen ist und die ich in 3 Monaten selbst noch verstehe. Idealerweise mit Vorgaben für den elektrischen und den mechanischen Aufbau, damit nicht jeder das Rad neu erfinden muss.
 

helle

Erfahrener Benutzer
#63
Hy , wie sieht das ganz jetzt von der Hardwareseite aus aus?
welche Software gilt jetzt, kann benutzt werden.
Möchste das mal zusammenstellen auf 1 Blatt
 

GVT

Neuer Benutzer
#64
Guten Abend,

Ich habe hier noch einen Sbus-signal-inverter.


Wie muss ich die einlöten?

Vom Empfanger SBUS +, - und S zur Inverter und dann nur S zur Arduino?
Oder nur S von SBUS zur Inverter und dann +, - und S zur Arduino?

Oder auch hier nur GND und S?
 
#65
Guten Abend,
Wie muss ich die einlöten?
Hallo!

Die Beschriftung ist eventuell falsch. @quax2011 hat vermutlich die gleichen Inverter und genau das auch festgestellt. Du musst den Inverter einfach in das SBus Kabel einlöten, also alles anschließen. Hier habe ich eine Abbildung gefunden, die die richtige Beschaltung zeigt:

Inverter.jpg

Wenn es nicht geht, doch den Inverter umdrehen, aber immer alles anschließen. Es geht nichts kaputt, wenn die Richtung falsch ist.
 

quax2011

Erfahrener Benutzer
#68
Hi ! Auf deinem oberen Bild (Bauteilseite) ist der Pin links unten des Transistors das Gate. Das ist der Pin an den der SBUS angeschlossen wird. Wahrscheinlich hängt davor der linke Widerstand als Schutz für das Gate. Du hast sicher ein Multimeter? Mess mit dem mal den Widerstand und dann vom linken oberen Lötauge zum Gate. Wenn du da dann nur den Widerstand misst ist das der Eingang des Inverters. Source (linker unterer Pin) geht direkt nach Masse. Und Drain oben Mitte am Transistor ist das invertierte Signal. D.h. von dort geht die Leitung direkt zum linken Lötauge (0 Ohm). Ich hoffe das war nicht zu verkompliziert wie ich das versucht habe zu erklären. Und denk dran was Carbo weiter oben erklärt hatte: Erst Arduino flashen dann die Verbindung zum RXI auf dem Arduino löten..
 
#69
Ich habe jetzt mal den Frame Lost Sensor von Tadango um die @bionicbone Methode erweitert.
Bei dieser Methode wird über einen Kanal des Senders (hier Kanal 8) eine Dreieckfunktion zum Empfänger gesendet und dann werden die empfangenen Amplitudenwerte miteinander verglichen. Durch die lineare Steigung des Dreiecks sollte sich immer etwa der gleiche Amplitudenunterschied zwischen zwei aufeinanderfolgenden Samples ergeben (Im CH1..8 Modus wird der Wert alle 9ms übertragen, im CH1..16 Modus alle 18ms). Wenn ein Lost Frame auftritt, wird der empfangene Amplitudenwert nicht aktualisiert und der nächste gültige Wert hat dann einen größeren Abstand zum vorhergehenden Wert. Diese Amplitudendifferenz wird als Lost Frame Kriterium genommen.
Die Abstimmung der Triggerschwelle (#define MAX_TRIANGLE_DIFF 17 im Code) und die Anstiegsgeschwindigkeit der Dreiecksfunktion sind kritische Werte. Man schafft es nicht, genau die Frame Loss Anzahl zu erreichen, wie durch Zählen des Frame Loss Bits.

Um die Dreiecksfunktion im Sender zu erzeugen wird erst ein Logischer Schalter definiert mit der Funktion 'Timer' und die Timer Ein/Aus-Zeit wird auf 1,1s gesetzt für CH1..8 Modus bzw. auf 2s für CH1..16 Modus.
Dann wird im Mixer für Kanal 8 der logische Schalter als Input definiert und die Anstiegs/Abfall Geschwindigkeit (Slow Up, Slow dn) auf den gleichen Wert gesetzt, wie die Zeit beim Logischen Schalter (also 1,1s oder 2s).

Ich habe folgende Application IDs definiert, die der Sensor per Telemetrie überträgt:

5100: 'Tadango Wert' (% von frames ohne Frame loss in den letzten 100 SBus Frames)
5101: Frame Loss Zähler (absoluter 32Bit Wert, zählt FL frames nach FrSky methode)
5102: Frame Loss Zähler V2 (absoluter 32Bit Wert, zählt FL frames nach @bionicbone Methode)
5103: % von frames ohne Frame loss in den letzten 100 SBus Frames nach @bionicbone Methode)
5104: Dreiecksfunktion von Kanal 8

Für diesen Sensor muss ein 5V / 16MHz ArduinoProMini/Nano genommen werden, da die 3,3V Version hier zu langsam ist.

Hier ein Test im Rangetest Modus zu Hause (Empfänger im CH1..8 Modus gebunden):
1581172370262.png
Vergleich Tadango-Wert (5100) mit Bionicbone-Wert (5103)

1581172487810.png
Vergleich Framloss Zähler nach FrSky (5101) mit FL Zähler nach BB (5102). Die Verläufe gleichen sich, aber der BB-Wert ist nur halb so groß, wie der FrSky-Wert (V1 LBT Software)

1581172706976.png
Dreiecksfunktion von Kanal8 (5104) und FrameLoss Zähler FrSky (5101)

Die Software hängt als Zip-Datei an. Programmierung und Anschluss des Sensors wie bei herkömmlichem Tadango Sensor.

Edit: SPORT Pin in SW auf 3 geändert, für Kompatibilität zu vorhandenen Sensoren

Edit2, 11.02.20: Ich habe die SW überarbeitet für bessere Übereinstimmung des @bionicbone Wertes (5103) mit dem @Tadango Wert (5100). Für die neue SW wird eine Dreieckfunktion mit 2s Flanke auf Kanal 8 benötigt. Wie die erzeugt wird, steht im Kommentar des Codes. Die SW ist nur für 8 Kanalmodus getestet/optimiert, da nur dort sichergestellt ist, das bei FL-Bit alle Daten vom SBus (so auch Kanal 8) betroffen sind.

So sieht das jetzt aus:
1581439669012.png
 

Anhänge

Zuletzt bearbeitet:
#70
Sensationell Reinhard, vielen Dank! Damit kann FrSky bei den Frames nicht mehr cheaten(y). Jetzt können sie uns auch wieder das ehrliche Lost Frame Bit zurückgeben, wenn der Besch!ß sowieso nicht mehr klappt :)

Hast du Lust, das bei den US Kollegen zu posten? Dann sieht FrSky vielleicht die Hoffnungslosigkeit ein und nimmt den Mist aus 2.0 wieder raus.
 
#72
Du hast einen ganz einfachen Fehler eingebaut, damit ich auch mal ein Erfolgserlebnis habe, stimmts? ;)

#define SPORT 3 brauchts um es mit Tadangos Verdrahtung betreiben zu können, sonst sieht es sehr gut aus. Deine Sensoren wurden gefunden und werden sehr hurtig übertragen.
 
Zuletzt bearbeitet:
#73
SPORT auf Pin 8 hatte ich genommen, weil das in einem Source Code (LQ2.zip) war, den ich hier irgendwo runtergeladen hatte. Ist ja letztlich egal, welchen Pin man nimmt, aber wenn in der Vergangenheit meist Pin 3 benutzt wurde, ändere ich das. Gibt es irgendwo einen 'Schaltplan' der den kompletten Aufbau RX -> Inverter -> SBus und RX <_> SPort zeigt? Das müsste man auf RCG wohl noch dazugeben.

Die Anstiegsgeschwindigkeit des Dreiecks habe ich erst mit 4s ausprobiert, das gab aber keine befriedigenden Ergebnisse. Meine Überlegung war, je steiler die Flanke, um so größer die Werteänderung von einem Sample zum nächsten und damit eine unkritischere Triggerschwelle. Es hat sich aber gezeigt, das es auch bei 1,1s Anstieg/Abfall nur einen Wert gibt (17), wo man vernünftige Ergebnisse erhält. Da im 16-Kanal Modus die Kanaldaten nur alle 18ms aktualisiert werden, ist die Dreiecksflanke da halb so steil um mit der gleichen Triggerschwelle arbeiten zu können.

Die Kanaldaten laufen von 200 bis 1800, also 1600 für eine Flanke. Die Kanaldaten werden im 8 Kanalmodus alle 9ms übertragen (auch wenn sie nur mit 10ms gesampelt sind). Bei 1100ms pro Flanke erhält man dann theoretisch einen Amplitudensprung von 1600/1100*9 = 13. Wenn ein Wert ausbleibt ist der Amplitudensprung 26. Irgendwo dazwischen liegt die Triggerschwelle. Bei 4s Flanke ist der Sprung 1600/4000*9 = 3,6 (abgerundet 3. Da wird es schwierig eine vernünftige Triggerschwelle zu finden.

@carbo, du kannst ja mal ein bischen rumspielen mit der Flankensteilheit und der Triggerschwelle. Vielleicht gibt es noch Werte, die bessere Ergebnisse liefern (bessere Übereinstimmung der BB-Lost frames mit den FrSky lost frames)
 
Erhaltene "Gefällt mir": Gruni

Sigimann

Erfahrener Benutzer
#74
Hallo Reinhard
Ich habe seit langem den Tadango Zähler, einfach gut zum Erkennen einer kritischen Antennenverlegung.
Der neue neue Lostzähler ist genau das richtige Werkzeug für die eigene LF Auswertung.
Leider kann ich erst mal selber keinen Bauen, aber ich lese erst mal mit.

Zur Übereinstimmung von LF im S-Bus zu deinem Zähler. Ich hab keine grosse Hoffnung, das das passen kann. FrSky hat sicher auch bisher geschlabbert. Wenn ich sehe wie man jetzt am LF rumdreht und wie gering man einen technisch korrekten LF bewertet, da war es vorher auch so.
Bei so einer Einstellung hat man sich sicher wenig Mühe gemacht, korrekt zu arbeiten und einem verpassten Lost keine Träne nachgeweint.

Sigi

Nachtrag: Obwohl ich noch nicht genau verstehe was du machst, kommt aber noch wenn ich hier weiter mitlese.
 
Zuletzt bearbeitet:
#76
Hallo Sigi,

ja, das ist richtig. Der BB-Wert geht im Bild bei etwa 74 los. Der Telemetrie-Viewer im Companion skaliert die Achsen ja automatisch, je nach Wertebereich. @Carbonator und ich sind am probieren, ob man die Bionicbone Werte noch besser den FrSky Werten anpassen kann.
Eine Erkenntnis ist, dass man möglichst im 8 Kanalmodus arbeiten sollte, da dann jeder SBus Frame relevante Kanaldaten enthält und es dann sicher ist, dass sich das LostFrame Bit auf diese Daten bezieht. Im 16 Kanalmodus ist immer ein Teil der Kanaldaten (CH1..8 oder CH9..16) im SBus frame veraltet (vom vorhergehenden OTA Frame).
Eine weitere Erkenntnis ist, dass man auf dem Sender OTX 2.3.x laufen haben sollte, da ab OTX 2.3 die Kanaldaten synchron zum 9ms Takt (Heartbeat) upgedated werden, mit dem das HF-Modul mit Daten bestückt wird.
 
#77
Hallo Reinhard
Ich habe seit langem den Tadango Zähler, einfach gut zum Erkennen einer kritischen Antennenverlegung.
Der neue neue Lostzähler ist genau das richtige Werkzeug für die eigene LF Auswertung.
Leider kann ich erst mal selber keinen Bauen, aber ich lese erst mal mit.
Der 'neue Lostzähler' ist ja einfach eine neue Software für den Tadango-Zähler. Wenn du schon einen Tadango Zähler hast, brauchst du nur die neue SW aufspielen und hast dann die zusätzlichen Werte.
 

quax2011

Erfahrener Benutzer
#78
So, jetzt habt ihr mich absolut angehängt. Ich versteh jetzt nix mehr. Aber nach der Weisheit:.Wissen ist Macht, nix wissen macht auch nix stell ich mich als Wertelieferant zur Verfügung. Dazu zwei Fragen: Wenn ich einen meiner Sensoren umflashe muss ich das Kabel zum RX wieder ablöten, denke ich? Richtig?. Zweite Frage: der Kanal 8 muss frei sein ? Kein Servoausgang oder so? Die Auswertung der Logs überlasse ich dann Carbo oder einem anderen der davon mehr versteht.
 
#79
Hallo quax,
zu Frage 1:
Zum Empfänger gehen ja zwei Leitungen. Einmal SBus und einmal SPort. Bei mir sind die Leitungen per Servostecker an den X6R Empfänger angeschlossen. Die ziehe ich dann zum Programmieren einfach ab. Wenn bei dir die Leitungen verlötet sind, musst du sie ablöten. Den SBus Pin, der zum Gate des Inverter FET 2N7000 führt, musst du auf Masse legen, damit der FET beim Programmieren nicht dazwischenfunkt oder das Gate fest über 47K an Masse anschließen. Falls du den Inverter anders aufgebaut hast, musst du sehen ob er beim Programmieren stört.
zu Frage 2:
Ja, Kanal8 muss frei sein, da dort eine Dreiecksfunktion ausgegeben wird. Auch wenn du einen FlightController benutzt, darf Kanal8 nicht für eine Funktion des FC benutzt werden. Mann kann theoretisch einen beliebigen Kanal 1..8 für die Dreiecksfunktion nehmen. Jetzt ist aber Kanal8 in der SW vorgegeben.
 

quax2011

Erfahrener Benutzer
#80
Die Leitungen zu SBus und SPort sind auch bei.mir gesteckt. Es würde allerdings irgendwo erwähnt daß die Verbindung Inverter zum RXi des Arduino erst hergestellt werden darf nachdem der Arduino geflasht wurde ?? Die Verbindung ist bei mir direkt vom Drain des Fet zum RXi.
 
RCLogger

FPV1

Banggood

Banggood

Oben