Naze32 mit FrSky SBUS und S.Port

Status
Nicht offen für weitere Antworten.

rue

Neuer Benutzer
#1
Hallo zusammen,

habe zu meinem geplanten Setup widersprüchliche Informationen gefunden und wäre für Hinweise ob das so klappt sehr dankbar:

Ich möchte einen X8R über SBUS an den Naze32 (Cleanflight) anschließen und gleichzeitig S.Port Telemetry verwenden

Den SBUS konfiguriere ich über UART2 "Serial RX" und verbinde den X8R über einen Inverter auf Pin4

Bei dem S.Port bin ich mir jetzt nicht sicher, kann ich einfach den TELEM Port über die default-Konfiguration UART1 "Telemetry (when armed)" nutzen

ODER

Konfiguriere ich SOFTSERIAL1 "SmartPort Telemetry" und nutze Pin8 für die Verbindung zum S.Port - muss ich das Signal zum S.Port dann noch invertieren (wie der TELEM Port das ja von sich aus macht) oder reicht es wenn ich über CLI set telemetry_inversion = 0 konfiguriere?

Besten Dank für eure Tipps!
 
Zuletzt bearbeitet:

rue

Neuer Benutzer
#2
Habe doch noch ein paar hilfreiche Quellen gefunden - kurzes Update für alle die etwas ähnliches vorhaben:

Da der S.Port mit 57600 baud arbeitet funktioniert das leider nicht über SOFTSERIAL (max 19200) - da die beiden UARTS des Naze32 bereits mit MSP/CLI (UART1) und SBUS (UART2) belegt sind sind wir bezüglich eines parallelen Betriebs SBUS und S.Port aktuell leider in der Sackgasse.

Frank Zhao hat ein Konzept entwickelt dass den UART1 für den S.Port umkonfiguriert solange man ihn nicht für MSP/CLI benötigt - das ganze ist hier beschrieben: https://github.com/frank26080115/cleanflight/wiki/Using-Smart-Port

Auch klar geworden: Der S.Port nutzt ein dediziertes Protokoll und kann nicht über TELEMETRY angesprochen werden.

Falls jemand hierzu noch mehr Infos oder anderweitige Realisierungsvorschläge hat würde ich mich freuen ;-)
 

Terminus

Erfahrener Benutzer
#3
Ich führe das mal hier weiter, da ich das gleiche Problem lösen wollte.

Leider arbeitet werder die aktuelle Cleanflight Version 1.9.0 noch die 1.8.0. mit dem Smart-Port Protokoll. Da bringt selbst der verlinkte Mod nichts...
Bei FRSKY (D-Port) wird UART1, bei arm, korrekt auf 9600Baud reduziert und gibt das FRSKY-Protokoll aus. Läuft astrein, mit einem Inverter in der Tx Leitung mit einem D4r-II. Wenn man aber Smart-Port auswählt tut sich nichts auf der Tx-Leitung...
So langsam aber sicher geht mir dieser Smart-Port auf die Nerven...
 
Zuletzt bearbeitet:

DerCamperHB

Erfahrener Benutzer
#4
dann ist das wohl aktuell immer noch ne Sackgasse, muss neuen zmr aufbauen, und bin am überlegen ob ich einen x4r oder einen d4r einbauen soll
gibt es irgendwo eine Liste der übertragenden Daten im Smartport/D-Telemetrie ob sich das lohnt, akkuspannung bekomme ich auch über A2 mit beiden, ansonsten würde mir nur noch GPS einfallen, wenn man das zum laufen bekommt mit Naze32, mit Flip wollte das bei mir nicht
 

1wire

Neuer Benutzer
#5
Aber mit einem x4r hat das Frank Zhao doch hinbekommen. Der x4r hat doch auch diese S.Port Protokoll wie der x8r.

Ich dreh mich auch gerade im Kreis, weil ich die Telemetry-Daten (speziell GPS-Daten) der Flip32 auf meiner Taranis haben/loggen möchte.
Mal liest man das es geht, wenn man ein Inverterkabel bastelt oder man kann darauf verzichten wenn in der Software invertet wirde.
Mal liest man das es wegen Cleanflight nicht geht.
(Das Inverterkabel BC548 für SBUS auf Pin 4 geht übrigens prima.)

So wie ich das sehe hat Frank Zhao die Cleanflight angepasst das es geht. Frage ist, ist das in der 1.9 schon drin oder muß man dafür die spezielle Fork vom Frank nehmen?

Als weiteren Schritt wäre denkbar: Wenn das mit der Fork funktioniert, könnte man (jemand) diesen Teil in die 1.9 integrieren?
 
Zuletzt bearbeitet:

cloidnerux

Erfahrener Benutzer
#7
So wie es aussieht ist SmartPort schon seit 1.2.0 drin
Siehe Sourcecode cleanflight-1.2.0\src\main\telemetry\smartport.h
Wenn ich den Source-Code richtig verstehe, muss zum einen SmartPort Telemetrie aktiviert sein, aber auch die richtige UART Config. Dann ist das schon Duplex, aber eben nicht invertiert. Frank hat deswegen seinen X4R modifiziert.
 

lmig

Erfahrener Benutzer
#9
Update

So wie es aussieht bin ich nicht der einzige der bei diesem Thema einige Fragezeichen über dem Kopf hat. Verkompliziert wird das Ganze ja nun auch noch durch die Telemtrieänderungen in der Tarabis FW 2.1.7.

Ich greife mal lieber diesen Thread auf, als einen neuen zu machen, da mein Anliegen genau hier reinpasst.

Zunächst einmal, ich bin einer neuer FrSky Taranis Jünger und habe noch nicht alles Wissen zu diesem Thea aufgesaugt ;-)

Mein Hauptziel war es die Akkuspannung der Naze32 (VBAT) per Empfänger (X4RSB) und Telemtrie (S.Port / Smart Port) auf die Taranis zu bekommen.

Hierzu also die S.Port Litze vom X4RSB auf Pin 5 und 6 der Naze32 gebrückt (so wie ich es bei Oscar Liang gelesen habe: http://blog.oscarliang.net/sbus-smartport-telemetry-naze32/). Dann noch SoftSerial aktiviert und Softserial1 für S.Port aktiviert, sowie Telemtriedaten aktiviert und das Signal per CLI Kommando invertiert.

=> Funktioniert! Ich bekommen auf dem A2 Telemetrie Kanal meine Spannung angezeigt ... mehr aber auch nicht.

Nun bin ich verwirrt, da ich davon ausgegangen bin, dass die Spannung auf dem A2 Kanal akommt, wenn ich "AIN" vom X4RSB verwende. Über den S.Port müssten doch noch weitere Daten verfügbar sein wie z.B. die Accelerometer, GPS, Current, etc. (sofern vorhanden).

Weiterhin wundert mich, dass ich die Telemtrie Kanäle VFAS, VCELL und wie sie sonst noch alle heißen sollen (beim neuen Telemetrie System der Taranis) nicht angezeigt bekomme, auch nicht wenn ich auf "Discover Sensoren" gehe (mit eingeschalteten Quad). Gearmt muss er ja theoretisch nicht sein, wenn ich über Softserial und Pin 5+6 gehe, habe ich aber dennoch auch probiert, hilft aber auch nicht.

Jetzt ist die eigentliche Frage ob ich die Funktionsweise prinzipiell verstanden habe und bei mir noch irgendwas nicht richtig funktioniert oder ob es andersherum ist.

Also ich würde schon auch gerne Zugriff auf die restlichen Telemetriedaten der Naze32 habe, die ja theoretisch über den S.Port verfügbar sein müsste.

Danke für Eure Mühe.
 

lmig

Erfahrener Benutzer
#10
Ergänzung (weitere Verwirrung):
Jetzt habe ich hier https://github.com/frank26080115/cleanflight/wiki/Using-Smart-Port noch folgendes gefunden:

S.PORT should be using USART1 since S.BUS occupies USART2 (USART3 is actually used for I2C). USART1 is typically used for the baseflight GUI and CLI. While S.PORT is connected, the baseflight GUI and CLI will not work.
Das ist aber bei mir definitiv nicht der Fall, oder? Verwirrung :-(

https://github.com/cleanflight/cleanflight/blob/master/docs/Telemetry.md

Folgende Sensoren müssten theoretisch verfügbar sein:

The following sensors are transmitted :

Alt : barometer based altitude, init level is zero.

Vspd : vertical speed, unit is cm/s.

Hdg : heading, North is 0°, South is 180°.

AccX,Y,Z : accelerometers values.

Tmp1 : actual flight mode, sent as 4 digits. Number is sent as (1)1234. Please ignore the leading 1, it is just there to ensure the number as always 5 digits (the 1 + 4 digits of actual data) the numbers are aditives (for example, if first digit after the leading 1 is 6, it means GPS Home and Headfree are both active) :

1 is GPS Hold, 2 is GPS Home, 4 is Headfree
1 is mag enabled, 2 is baro enabled, 4 is sonar enabled
1 is angle, 2 is horizon, 4 is passthrough
1 is ok to arm, 2 is arming is prevented, 4 is armed

Tmp2 : GPS lock status, Number is sent as 1234, the numbers are aditives :

1 is GPS Fix, 2 is GPS Home fix
not used
not used
number of sats

VFAS : actual vbat value.

GAlt : GPS altitude, sea level is zero.

GSpd : current speed, calculated by GPS.

GPS : GPS coordinates.
 

lmig

Erfahrener Benutzer
#12
Zeigt im Bericht leider nicht welche Sensoren in seiner Taranis eingerichtet wurde bzw. wie es aussieht, möglicherweise auch noch die 2.0 FW?

Verbindungstechnisch scheine ich aber alles richtig gemacht zu haben. Die Frage ist nun warum die Spannung auf A2 und nicht VFAS angezeigt wird bzw. die übrigen Telemetriesensoren gar nicht gefunden werden.
 
#13
Ja, 2.0er OpenTX Firmware auf der Taranis, da kommen dann die "normalen Sensoren", Spannung als VFAS, Board-Status als T1. AccXYZ, GPS haben wir keins Verbaut.

A2 wird ja vom X4R immer übertragen, die misst er ja selbst am A2 Port. VFAS würde dann vom Cleanflight kommen.
 
#15
Nein,
S.PORT mittels Softserial geht prima! Sowohl am CC3D mit Cleanflight und auch am Arduino mit 8bit und 16MHz.
Am Naze hab ichs nicht getestet, aber bei Markus gehts auch.

Kleiner Nachtrag: Die Softserial am CC3D wurde zu langsam als ich Betaflight und sehr kurze Looptimes getestet habe, dann wollte die Telemetrie und auch Betaflight nicht mehr richtig.
 
Zuletzt bearbeitet:

lmig

Erfahrener Benutzer
#17
Bei mir scheint es ja auch zu funktionieren, da ich den S.Port an Port 5 und 6 der Naze32 angeschlossen (welche, wenn Softserial aktiviert ist fuer Telemtrie verwendet werden) habe und die Taranis den Batteriewert auf A2 angezeigt bekommt. Dieser Wert wird doch ueber den S.Port dem X4R SB mitgeteilt und nicht etwa ueber die SBUS Verbindung, richtig?

Keiner eine Idee warum ich die anderen Sensoren nicht sehe?

IMG_20160406_102849.jpg

IMG_20160406_102921.jpg

IMG_20160406_102941.jpg
 
#18
Nein, A2 erzeugt der Empfänger intern, genau wie RSSI. Da kommt nix von S.PORT oder SBUS.

Hast bei den Ports Softserial auf SmartPort gestellt und mal im CLI geschaut ob telemetry_inversion ON ist?
 
Zuletzt bearbeitet:

lmig

Erfahrener Benutzer
#19
Aha, dann erklaer mir mal bitte woher der Empfaenger die Akkuspannung hernimmt!?!

Aber Du hast recht, entferne ich das S.Port Kabel wird A2 immer noch korrekt angezeigt ... aber woher??? dann muss ja theoretisch der VBAT Wert irgendwie ueber das SBUS Signal uebertragen werden??

Anbei noch die Werte meine Betaflight config:

Ein Fehler wurde schon einmal entdeckt, Telemetry inversion war auf off ... obwohl ich das schon einmal gesetzt hatte, aber vergessen "save" zu schreiben :-(

Leider zeigt mir die Taranis auch nit Telemetrie ON nicht mehr an :-(

Capture.PNG

Capture2.PNG
 

lmig

Erfahrener Benutzer
#20
Ahhhhh, jetzt habe ich es gecheckt mit dem UART1 .... USB darf nicht stecken, wenn Telemetrie gehen soll!!

Danach bekomme ich jetzt mit korrekter Signalinvertierung die gewuenschten Daten. DANKE!!!!

Interessant waere trotzdem noch wo der A2 Wert die Batteriespannung hernimmt?!
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten