Betaflight Soft Serial – FrSKY SmartPort Telemetrie invertieren ohne löten

Betaflight Soft Serial – FrSKY SmartPort Telemetrie invertieren ohne löten
5 (100%) 3 votes

Dieser Artikel wurde von meinem Gast-Autor Martin FPV geschrieben. Inhaltliche Anpassungen durch mich haben wir zusammen erarbeitet! Vielen Dank Martin für diesen Artikel und deine Zeit die du investiert hast!

Software Serial (Soft Serial)

Heutzutage gibt es sehr viel Hardware die über einen seriellen UART Port Anschluss an die Flugsteuerung sucht. Ein Komfort bewusster Pilot möchte natürlich auf nichts verzichten. Das ist unter anderem Smart Audio, ESC Telemetrie, SBUS, oder Smart Port Telemetrie. Das Problem der heutigen Flugsteuerungen sind zu wenige Ports für zu viel Hardware die angeschlossen werden möchte und zusätzlich das Invertierungsdrama von UART Signalen wie FrSKY SmartPort. Abhilfe ist erst mit den F7 Prozessoren in Sicht, mit nämlich bis zu 8 UART Ports. Die gängigen F3 und F4 Flightcontroller haben aber meist nur 3 UART Ports.
Erschwerend kommt hinzu das manche Ports nur für bestimmte Anwendungen ausgelegt sind. Eine Lösung die 2 Fliegen mit einer Klappe schlägt heißt Software Serial.

Software Serial, was ist das?

Software Serial ist, wie der Name schon sagt, die Möglichkeit durch Software emulierte UART Ports zusätzlich zu den Hardware UART Ports bereitzusellen. Sie können die selben Aufgaben wie Hardware UART‘s übernehmen jedoch mit Einschränkungen in der Bandbreite. Software Serial eignet sich daher optimal für SmartAudio und SmartPort Telemetrie.

Beispiel eines Softserial Ports im Betaflight Configurator

Bandbreite

Dadurch, dass der UART Port emuliert wird, steigt die CPU Last. Ein OSD mit einer hohen Baudrate von meistens 115200 wird nicht empfohlen, da die Geschwindigkeit nicht ausreicht und die Latenz zu hoch wäre. Nicht so Latenz kritische Daten wie sie von SmartPort, SmartAudio oder der ESC Telemetrie bereit gestellt werden haben meist nur eine Baudrate von 9600 und eignen sich somit perfekt zum Anschluss an Software Serial.

Signal Invertierung

Der große Vorteil an Softserial ist die Möglichkeit das Signal per Software umzukehren (invertieren). Gerade für SmartPort ist das eine riesen Erleichterung, da man nun nicht mehr auf dem Empfänger an dem Inverter das Signal abgreifen muss.

Was ist eine Resource

Während das eigentliche Computerprogramm in einer Programmiersprache geschrieben ist, sind Ressourcen meist einfache Textdateien oder Tabellen. Der Vorteil ist dabei, dass sie auch von Menschen ohne Programmierkenntnisse erweitert oder verändert werden können. In unserm Bereich Flugsteuerungen ist eine „Resource“ eine Zuweisung, welcher per Software (in unserem Fall das CLI) festlegt wird. Diese Zuweisung bestimmt welche Daten zu dem Hardware Pin/Lötpad geleitet werden.

Resource Remapping Befehl

Die meisten werden sich jetzt bestimmt fragen wo finde ich den jetzt diese Software Serial Ports?
Glücklich kann sich der schätzen, der einen SP Racing F3 Acro / Deluxe Flightcontroller besitzt. Hier hat der Hersteller nämlich schon von den möglichen 2 Software Serial Ports auch beide implementiert.
Wenn er das nicht gemacht hat, kann man sich die „Ressourcen“ so verteilen wie man Sie braucht. Theoretisch zumindest. Seit Betaflight 3.1 ist das über die CLI möglich.

Wir verwenden dazu den folgenden Befehl: https://github.com/betaflight/betaflight/wiki/Betaflight-resource-remapping

ANZEIGE:

Dabei sind doch ein paar Dinge zu beachten:
Nicht alle Ressourcen können für alle Zwecke eingesetzt werden. Eine Hilfe dazu findet man hier wenn das eigene Bord nicht aufgeführt ist hilft leider nur probieren. Viele der Flugsteuerungen sind aber ähnlich aufgebaut so das man sich die Ressourcen auch vielfach ableiten kann.

Single Wire Software Serial

Eine Ressource die eigentlich immer verwendet werden kann ist die von den programmierbaren LEDs. Wenn man nur einen TX Anschluss braucht reicht es meist nur eine Resource zu programmieren. Wenn man aber den RX Anschluss braucht, z.B. Für ESC Telemetrie, muss man dem TX Anschluss vorher auch zuweisen. Sonst wird der Software Serial UART nicht im Betaflight Configurator angezeigt.

Was ist Telemetrie und wofür brauche ich sie?

Telemetrie sind Sensordaten, die von der Flugsteuerung zur Verfügung gestellt werden. Dies können Warnungen oder Infos (Spannung, Stromverbauch, GPS Position usw) sein. Per Telemetrie kann man auch Konfigurationsbefehle versenden um zum Beispiel einen Videosender einzustellen oder PIDs anzupassen. Eine Anleitung wie man zum Beispiel mit einer KISS FC den Videosender steuern kannst, findest du hier.

Mehr Infos zu Telemetrie

 

Soft Serial Port konfigurieren

Nachfolgend wird erklärt wie man einen Soft Serial Port erstellt. Bitte beachte, dass du mindestens Betaflight 3.1 benötigst

Soft Serial Feature aktivieren

Um Softserial verwenden zu können musst du zuallererst das Feature dazu aktivieren.

Im Tab „Configuration“ unter „Other Features“ muss „Softerial“ aktiviert werden. Danach „Save and Reboot“ nicht vergessen.

 

Aktuelle Konfiguration auslesen

Als nächstes müssen wir die aktuelle Konfiguration/Belegung herausfinden. Dazu gehen wir die CLI und senden den Befehl „dump all“ mit der Enter Taste ab.

Resource freigeben

Damit wird eine Resource verwenden können müssen wir diese unter Umständen zuerst freigeben, bzw. von seiner eigentlichen Bestimmung „befreien“. In diesem Beispiel verwenden wir den LED Pin.
Wir suchen nun in dem Dump die Passage „#resources„. Wir merken uns den zugewiesenen Wert der Resource „resource LED_Strip 1„.

In unserem Fall „A01„. (Am besten notierst du dir diesen Wert in einer Text-Datei)

Jetzt müssen wir die Resource freigeben. Das machen wir indem wir den Wert mit „none“ ersetzen.
Der Befehl dazu lautet:

Wir bestätigen mit der Enter Taste.

Als Rückmeldung bekommen wir nun eine Bestätigung („Resource is freed„), dass diese Resource freigegeben ist.

Soft Serial eine Resource zuweisen

Als nächstes weisen wir der freien Resource einen Softserial Port zu. In unserem Fall werden wir Soft Serial 1 verwenden.

Dazu scrollen wir wieder hoch zu wieder hoch „#resources„.
Nicht wundern, die Änderungen werden erst nach dem abspeichern mit „save“ übernommen.

Die beiden Softserial Resources heißen wie folgt:

Soft Serial 1: SERIAL_TX 11 sowie SERIAL_RX 11
Soft Serial 2:  SERIAL_TX 12 sowie SERIAL_RX 12

Wir weisen nun zuerst dem TX  Pin eine Ressource zu. Dafür verwenden wir die eben freigegebene LED_STRIP 1 Resource A01.

Wir bestätigen diesen Befehl mit der Enter Taste.

Als Bestätigung erhalten wir folgende Meldung: „Resource is set to A01

Zuweisung speichern & reboot

Nun dürfen wir nicht vergessen die neue Konfiguration zu speichern. Dazu senden wir den Befehl „save“ mit der Enter Taste ab.
Damit der neue Soft Serial Port angezeigt wird, führt die Flugsteuerung selbstständig einen Reboot durch.

 

FrSKY SmartPort Telemetrie verwenden

Ein sehr guter Einsatz von Soft Serial ist die Verwendung für die FrSKY SmartPort Telemetrie.

Bisher musste das uninvertierte SmartPort Signal, für welches unter Umständen für F4 Flugsteuerungen benötigt wird, an einem kleinen SMD Bauteil (dem Inverter) abgegriffen werden, um den Empfänger überhaupt verwenden zu können. Beim R-XSR wurde das Problem erkannt und ein einigermaßen zufriedenstellende Lösung gefunden. Es gibt winzige kleine Löt-Pads an denen man beide Signale (SmartPort / SBUS) abgreifen kann. Das hat aber dennoch den Nachteil, dass man den originalen Stecker nicht mehr verwenden kann und eventuell durch das Löten an den kleinen Pads sogar den Empfänger beschädigen könnte.

Heutzutage, ist diese Modifikation nicht mehr notwendig, da wir per Soft Serial das Signal so abgreifen wie es von FrSKY geliefert wird und es per Software invertieren.

Nach dem Neustart sieht der Tab Ports im Betaflight Configurator wie folgt aus. Dort können wir jetzt wie gewohnt die SmartPort Telemetrie (TX) konfigurieren. Und nicht vergessen das Telemetrie Kabel vom Empfänger am dem LED Lötpad von der Flugsteuerung anzulöten.

Als Standard (FrSKY) sollte die Signal Invertierung eingeschaltet sein. Wenn Probleme auftauchen sollten kann man das unter #master kontrollieren und gegebenenfalls ändern. Einfach den Befehl

in der Befehlszeile eingeben und bestätigen. Die Bestätigung der Änderung erfolgt sofort. Danach noch mit „save“ abspeichern, damit der Befehl auch dauerhaft wirksam ist.

Fertig, du kannst nun ohne Hardwareanpassung dein SmartPort Signal von FrSky verwenden.

ESC Telemetrie (RX) über Soft Serial verwenden

Wenn man die ESC Telemetrie (RX) nutzen möchte sind noch ein paar weitere Schritte erforderlich.
Da man für die ESC Telemetrie einen RX Pin benötigt müssen wir auf der TX Ressource einen Platzhalter Programmieren sonst wird uns der Soft Serial Port im Betaflight Configurator nicht angezeigt.
Dafür eignet sich z.B. die bei SBUS nicht verwendete Ressource „PPM 1“ oder wenn das nicht möglich ist die für einen Quadrocopter nicht benötigten Motorausgang „resource Motor 5“ In diesem Fall „A00„.

Wie im vorangegangenen Beispiel erst die benötigten Ressourcen mit dem Befehl „none“ freigeben und dann die freigegebenen Ressource Adressen mit den gewünschten Ports zuweisen und mit „save“ speichern. Das Ergebnis sollte dann so aussehen.

Das Kabel von der ESC Telemetrie wird dann wieder an das LED Lötpad vom Flightcontroller angelötet. Nicht vergessen im Tab „Configuration“ unter „Other Features“ den ESC Sensor zu aktivieren.

Wenn dir dieser Artikel gefallen hat und du mich unterstützen möchtest, findest du hier drei Möglichkeiten. DANKE!

Auf Patreon findest du auch weitere Infos zu meiner Person und dem Blog

paypal[ät]seidel-philipp.de

1KKprK2jeJc4yFY5xXhneWaNtG5UDfYLjd    

2 Antworten

  1. Michael sagt:

    an welchem IO2 pin auf dem SP Racing F3 schließt du denn das SmartPort kabel (kommend von einem XSR) an? habe es mit pin 6 versucht aber irgendwie passiert trotz invertiertem signal leider nichts…

Kommentar verfassen

Nie wieder etwas verpassen…

…dann abboniere mich auf Facebook oder Youtube!