oXs-on-RP2040

Wir wollen und hier über "oXs-on-RP2040" austauschen, nachdem wir hier vom eigentlichen Thema abgedriftet sind:

oXs - Open X Sensor ist ein Projekt mit dem man Sensoren für verschiedene Fernsteuersysteme bereitstellen kann. Z.B. FrSky, Jeti, ELRS/Crossfire.
Diese Variante basiert auf dem RP2040-Board. Das kleine RP2040-Zero ist hier besonders gut geeignet.

Die offizielle Projekt-Seite:

Support-Seite auf RCG
 

kalle123

User
Voodoo-68. Dank für das Aufmachen eines neuen Fadens. 👍 Hätte ich auch selber drauf kommen können.

Hier mal die Telemetriedaten von heute Vormittag. FrSky X10 Express, BMP280, GPS Beitain BN-180, V1/4 aktiviert, aber noch nix groß mit gemacht.

Unbenannt3.png

(Die Koordinaten nehm ich wieder raus, nicht das mir hier jemand mal mit einer Drohne was auf Dach wirft .... ;))

Bei V1/4 hab ich einfach nur 1 bzw. 2 Batterien drauf gegeben und mal die Werte notiert.

Code:
Messung V1/4 mit Batteriequelle

Pin auf        open        GND           1.5V       3.0V 

V1 (26)        6.8V        7.6V~         15.2V    30.0V
V2 (27)        6.8A        8.1A~         15.2A    30.0A
V3 (28)        71mAh    75mAh~    152mAh  299mAh
V4 (29)        6%          7%~           15%        30%

Interessant scheint mir in dem Zusammenhang, das die Werte, ist der Pin auf GND gezogen, wackeln, offen aber stabil scheinen.

Antwort dazu vom Entwickler aka mstrens aka Michel:

I expect that the fluctuations when connected to Gnd exist because the iRP2040 ADC is not perfect when voltage is very low.

@Christoph Welches GPS verwendest du bei deinem Versuch? Was erscheint da bei Sats bei dir?

Oder hat vielleicht jemand hier Kenntnis, wie da Werte von 104, 105 oder 106 zu deuten sind? Null Ahnung momentan?

Gruß in die noch kleine Runde - KH

PS. Es bleibt bei den m.E. etwas abweichenden PWM Werten. Das im Programmcode zu ändern, ist ein Klacks, man braucht aber platformio. Wer mit der Arduino IDE einen Uno händeln kann, kann das auch hier mit platformio. Ist nicht schwierig. Ich nutze hier Linux und gebe da gerne Hilfestellung bei der Installation, notfalls pack ich mir auch noch platformio auf WIN 10. Aber wenn, dann die platformio CLI, nicht die IDE. Ist mir einfach zu 'fett'.
 

Aschi

User
Hi Kalle,
104, 105, 106 bedeutet , dein GPS hat fix zu 4, 5 oder 6 Satelliten

LG
Thomas
 

kalle123

User
Dank dir Thomas, also wenn da ne 'nur' eine 3 steht, 3 Sat, aber kein fix. Wieder etwas schlauer ....

Glaube ich hab gerade das nächste 'Fehlerchen' gefunden

screen-2022-11-26-155909.jpg

Schaun mer mal ;)

Gruß - KH
 
hat jemand mit Version 0.2.9 FrSky Telemetrie in Betrieb?
Ich habe den SPORT-Pin des Empfänger an Pin 29

Mein Setup:

Version = 0.2.9
Function Code Pin (255=disabled)
Primary channels input PRI 9
Secondary channels input SEC 255
Telemetry TLM 29
GPS Rx GPS_RX 255
GPS Tx GPS_TX 255
Sbus OUT SBUS_OUT 255
RPM RPM 27
SDA (baro sensor) SDA 255
SCL (baro sensor) SCL 255
PWM Channels 1, 2, 3 ,4 C1 / C4 0 1 2 3
PWM Channels 5, 6, 7 ,8 C5 / C8 255 255 255 255
PWM Channels 9,10,11,12 C9 / C12 255 255 255 255
PWM Channels 13,14,15,16 C13/ C16 255 255 255 255
Voltage 1, 2, 3, 4 V1 / V4 26 255 255 255

Protocol is Sport (Frsky)
CRSF baudrate = 420000
Voltage/RPM parameters:
Scales : 1.000000 , 1.000000 , 1.000000 , 1.000000
Offsets: 0.000000 , 0.000000 , 0.000000 , 0.000000
Baro sensor is not detected
Foreseen GPS type is Ublox :GPS is not (yet) detected
Failsafe type is HOLD

Config parameters are OK

ein FrSky-Sensor funktioniert an dem Empfänger problemlos
 

kalle123

User
Null Ahnung.

Du hast also 4 PWM Kanäle, RPM und eine Spannung ....

Was ist mit PWM, tut sich da was?

Alles was ich bisher gesehen habe, da ging es um ELRS.

Mir schwirrt hier aber auch der Kopf bezüglich V1/4.

Da oben das ist kein Fehlerchen, sondern ok. Ich stehe da momentan vor einer Wand ...

Michel hat mir da was von zwei 16bit, einem 24bit und einem 8bit Kanal um die Ohren gehauen.

Verstehe nur Bahnhof.

Geh in github rein, mach nen issue auf und frag direkt, bisher hab ich immer innerhalb von 2 .. 3 Stunden eine Antwort erhalten. Obwohl, jetzt wird das wohl nix mehr.

Gute Nacht - KH

PS. Was für einen FrSky Empfänger hast du dran angeschlossen?
 

Gast_74695

User gesperrt
Michel hat mir da was von zwei 16bit, einem 24bit und einem 8bit Kanal um die Ohren gehauen.
So hat TBS die Größe der Datenfelder im "Batterie-Sensor" definiert für das CRSF-Protokoll. Ürsprünglich gedacht für Spannung, Strom, Kapazität, Restladung (%). Wie man die 4 Felder nutzt, bleibt einem selbst überlassen. Man kann 4 verschiedene Spannungen digitalisieren und in die Felder packen. Die Spannung kann natürlich auch von einem analogen Sensor kommen, z.B. für Strom oder Geschwindigkeit.
 

kalle123

User
Das war die Antwort vom Entwickler

In oxs, the 4 voltages are measured exactly with the same code (it is a 4 X loop).
When data are transmitted to ELRS RX, they have to respect a CRSF format that is not foreseen for 4 voltages but for
• one volt (16 bits)
• one current (16 bits)
• one capacity (24 bits)
• one remain. (8 bits) (is supposed to be max 100%)
oXs fill the first 3 fields with the measured value from RP2040 (taking care of scaling and offset)
The 4 fields is first divided by 10 in order not to exceed the 8 bits length.

Also V1/2 16 bit, V3 'gewaltige 24 bit und V4 8 bit.

Das 'alte' oXs hat 10 bit! Geh das jetzt mal pragmatisch! an.

20221127_084200.jpg


'Gebasteltes DC Teil mit 2 ... 30V' auf Lochrasterplatine! ;) und oben auf dem braedboard hab ich gestern Abend noch einen kleinen Spannungsteiler 1:10, ebenfalls auf Lochraster! schnell 'gebastelt', drauf gesetzt.

Ich muss sehen, wie die vier Eingänge reagieren. 16 bzw. 24 bit ist ja schon gewaltig!

Gruß - KH
 
Hallo Zusammen.

Vorweg, ich habe (noch) kein ELRS und teste daher mit FrySky D16 bzw. LBT und SPort.

Meine bisherigen Erfahrungen sind folgende:

Zum einen habe ich das ganze als reinen Sensor mit GPS und Baro aufgebaut, der an einem FrySky Empfänger (X6R) hängt. Am Boden ist kein Unterschied zu einem Aufbau mit einem Arduino und oXs festzustellen. Flugtest war wetterbedingt noch nicht möglich.

Zum anderen habe ich mal auf einem Breadboard die Funktion als Konverter an einem Radiomaster R81 getestet. Ging ebenfalls problemlos. Kein Unterschied zu dem X6R der normalerweise in dem Flieger ist.

In dem alten Thread war mal von einer Platine die Rede. Gibt es dazu Dateien etc.? Ich würde gerne den R81 bzw. einen anderen SBus Empfänger, den ich in einem Quadcopter hatte, zu einem "vollwertigen" Empfänger ausbauen.

Beste Grüße
Christoph
 
Du hast ja Servos aktiviert in RP2040, das geht dann auch vom RP2040 aus?

Gruß K
Habe die Frage nicht ganz verstanden...

erstmal ja! Hat ja auch nichts mit der Telemetrie zu tun.

Du kannst z.B. mit "c1=0" den Kanal1 auf Port 0 ausgeben. Dann schliesst Du den Empfänger via SBUS oder CRSF(Pin TX) an den Pin, den Du mit "PRI" oder "SEC" definiert hast an.
 

kalle123

User
Deinen post gestern Abend hab ich auch nicht so richtig verstanden ;)

Hatte den Eindruck, bei dir geht gar nix. Problem RP2040 hardware oder beim Aufspielen von *.uf2.

Nix für ungut - KH
 

kalle123

User
So, den Abgleich von V1/4 hab ich gemacht. V1 bis 3 sieht sehr gut aus. Abweichung zu meiner 'Bastelspannungsquelle' im Bereich hundertstel Volt, V4 könnte man für 'Wasserstandsmeldungen' oder ähnlichen Sachen benutzen, aber zu mehr auch nicht. Angenehm ist gegenüber 'oXs alt' ist, dass man hier über den Config dynamisch OFFSET und SCALE ändern kann und nach RESET direkt die Änderung am Sender verfolgen kann.

Könnte noch RPM mal testen, aber ansonsten fällt mir momentan nix weiter ein. Sieh insgesamt gut aus, nur Wetter ist halt ......

cu KH
 

Gast_74695

User gesperrt
In dem alten Thread war mal von einer Platine die Rede. Gibt es dazu Dateien etc.? Ich würde gerne den R81 bzw. einen anderen SBus Empfänger, den ich in einem Quadcopter hatte, zu einem "vollwertigen" Empfänger ausbauen.
Hier ist eine Version von Daniel:
Wenn RX, GPS, Vario und ein Spannungsteiler direkt auf die Platine sollen, dann schau Dir diese All-In-One Variante mal an:
Und hier noch ein Link zu Aisler, dort habe ich produzieren lassen und die Projektdaten veröffentlicht:

Man kann sich aber auch ein preiswertes Matek-PWM-Decoder Board holen und den oXs-RP rein als Sensor nutzen. Dann kann man fliegend verdrahten und einschrumpfen, das ist überschaubar.
 
habe die Ursache gefunden:
Ich hatte zum Testen einen X6R mit Uni-RX Firmware. Damit konnte ich die Sensoren nicht finden. Mit einem X8R mit FrSky Firmware lief es ohne Problemen

Ich habe das Problem nal bei RCG platziert und auch schon eine Lösung bekommen. So macht das Spaß!
Die neue Version zeigt immernoch V 0.2.9 an. Im Zweifel nochmal die aktuelle Version herunterladen.

ab #83
 

kalle123

User
Ich teste noch, andere fliegen wohl schon ..... ;)

Wollte mir gerade RPM anschauen.

Raus ist das gekommen

Unbenannt4.png

Issue ist aufgemacht.

Gruß KH
 

kalle123

User
Hier die Erläuterung dazu vom Entwickler ;)

Ging wieder recht schnell ....

So in order to transmit this data, I had to "misuse" another field supported by CRSF.
CRSF has a frame named "Attitude" that contains 3 fields (pitch, roll and yaw).
When you ask for RPM, oXs fill the value into Pitch field.

cu KH
 
Ansicht hell / dunkel umschalten
Oben Unten