OpenXSensor für Telemetriesensoren

onki

User
Theorie vs Praxis. Und da überzeugt der 2040 seit einiger Zeit, da vieles nützliches hinzugekommen ist.

Nur wenn ich für Kumpels Jeti-Sensoren zimmere greife ich noch zum Vario-GPS-Sensor weil man den über die Jetibox einstellen kann.
Gibt es leider nur für den ProMini.
 
Dazu muss aber erst wieder neu kompiliert werden.
Daher einfach zu kompliziert und vom 2040 überholt worden.
Selbst das Telemetrieprotokoll kann einfach über einen Konsolenbefehl geändert werden.
Und die Hardware liegt preislich etwa auf gleichem Niveau, wenngleich leistungsmäßig weit auseinander.
Deshalb kann ich nur jedem raten, der nicht im Code rumeiern möchte den 2040 OxS zu nutzen.

Mein 2040 ist nun gekommen und ich habe mal versucht rauszufinden, was wo angechlossen werden soll. Die Erklärungen auf Github sind mir nicht 100% klar, aber so wie ich das verstanden habe:
  • Connect the 3V pin from RP2040 board to the Vin/5V pin from GPS: KLAR
  • Connect the RX pin from GPS to the RX pin selected in parameter for RP2040: KLAR, kann manuell in der Konsole eingestellt werden
  • Connect the TX pin from GPS to the TX pin selected in parameter for RP2040: : KLAR, kann manuell in der Konsole eingestellt werden
  • FRSKY/ELRS/JETI/... receiver, MS5611, GPS and other sensors must share the same Gnd: KLAR
  • Connect a 5V source to the Vcc pin of RP2040 board ( RP2040-zero or RP2040-TINY boards do not accept more than 5.5V on Vcc pin !! ): KLAR (wobei ich nicht genau weiss, ob mein FRSKY Empfänger 5V out hat, aber ich nehm's mal ein)
Was mir noch unklar ist:
  • Heisst das nun, dass ich auch den S-PORT-Kanal (FRSKY) Sfrei wählen und konfigurieren kann?
  • Muss ich noch irgendwo einen 1 kOhm Widerstand einbauen?
Gruss und Dank, Georg
 
Auch das 'alte' oXs hat da eine Möglichkeit zu schauen, was sich tut.

In 'openXsensor/openXsensor/oXs_gps.h'

#ifdef DEBUG
HardwareSerial* printer;
#endif


cu KH
Danke dir Kalle. Vielleicht ist das doch alles zu kompliziert für mich. Habe keine Ahnung, was du schreibst ;-)

So oder so:
  • GPS hat Satelitten, da die LEDs blau und rot blinken
  • Verdrahtet habe ich auch alles richtig, hab's nun 100mal kontrolliert
  • Sprich, ich habe irgendeinen Fehler mit dem Code, obwohl die IDE keinen Fehler ausgibt.
Georg
 

Gast_74695

User gesperrt
Arduino:
Bist du sicher, dass der Archer auf S-Port eingestellt ist? Wenn ja, dann aktivier doch mal die Spannungsmessung im Sketch. Du musst nichts anschließen, siehst dann aber nach der Sensorsuche, ob der Sensor mit dem Empfänger überhaupt zusammenarbeit.

RP2040:
Was mir noch unklar ist:
  • Heisst das nun, dass ich auch den S-PORT-Kanal (FRSKY) Sfrei wählen und konfigurieren kann?
  • Muss ich noch irgendwo einen 1 kOhm Widerstand einbauen?
- ja, von 0-29
- es ist eine Empfehlung für den S-Port-Anschluss, bzw. Telemetrieanschluss generell
Ohne Vorwiderstand killt jede Spannung > 3.3 V am Telemetrieanschluss sofort den TLM-GPIO. Es gibt zwar noch 28 andere, aber das muss ja nicht sein ;)
 
Zuletzt bearbeitet:
Arduino:
Bist du sicher, dass der Archer auf S-Port eingestellt ist? Wenn ja, dann aktivier doch mal die Spannungsmessung im Sketch. Du musst nichts anschließen, siehst dann aber nach der Sensorsuche, ob der Sensor mit dem Empfänger überhaupt zusammenarbeit.

RP2040:

- ja, von 0-29
- es ist eine Empfehlung für den S-Port-Anschluss, bzw. Telemetrieanschluss generell
Ohne Vorwiderstand killt jede Spannung > 3.3 V am Telemetrieanschluss sofort den TLM-GPIO. Es gibt zwar noch 28 andere, aber das muss ja nicht sein ;)

Re S-Port, hab's nun mit 2 Empfängern versucht, aber ich checks heute Abend nochmals - you never know!
 
Arduino:
Bist du sicher, dass der Archer auf S-Port eingestellt ist? Wenn ja, dann aktivier doch mal die Spannungsmessung im Sketch. Du musst nichts anschließen, siehst dann aber nach der Sensorsuche, ob der Sensor mit dem Empfänger überhaupt zusammenarbeit.

RP2040:

- ja, von 0-29
- es ist eine Empfehlung für den S-Port-Anschluss, bzw. Telemetrieanschluss generell
Ohne Vorwiderstand killt jede Spannung > 3.3 V am Telemetrieanschluss sofort den TLM-GPIO. Es gibt zwar noch 28 andere, aber das muss ja nicht sein ;)
Re Spannungsmessung
Dann würde ich wohl einfach
#define ARDUINO_MEASURES_VOLTAGES NO auf YES stellen

und

#define NUMBEROFCELLS 0 auf 2 stellen (RX Akku hat 2 Zellen)

wäre das so richtig?

Georg
 

Gast_74695

User gesperrt
Einfacher ist es so, in der basic:
Code:
// ***** 2.1 - Frsky data *****              
#define VFAS_SOURCE  VOLT_1

// ***** 6.2 - Voltage parameters *****
#define ARDUINO_MEASURES_VOLTAGES   YES

Die advanced kannst du original lassen:
Code:
// Each of following lines contains 6 parameters, the first value is for VOLT_1, the second for VOLT_2, ... up to the sixth for VOLT_6
#define PIN_VOLTAGE        6  , 8     , 8   , 8    , 8   , 8               //  Fill all 6 values; set to 0 up to 7 for analog pins A0 up to A7 ; set the value to 8 for the voltage(s) not to be measured.
#define RESISTOR_TO_GROUND  2.95 , 10    , 10  , 10 , 0  , 18               // set value to 0 when no divider is used for a voltage; can contains decimals
#define RESISTOR_TO_VOLTAGE 46.9 , 8.7 , 22 , 27  , 0 , 47              // set value to 0 when no divider is used for a voltage; can contains decimals
#define OFFSET_VOLTAGE      0   , 0     , 0    , 0    , 0   , 0                // optionnal, can be negative, must be integer, in principe in mv
#define SCALE_VOLTAGE       1.00 , 1.0   , 1.0  , 1.0  , 1.0 , 1.0              // optionnal, can be negative, can have decimals

oder mach in OFFSET_VOLTAGE 3000 mVolt rein, wenn Du einen Wert sehen willst:
Code:
// Each of following lines contains 6 parameters, the first value is for VOLT_1, the second for VOLT_2, ... up to the sixth for VOLT_6
#define PIN_VOLTAGE        6  , 8     , 8   , 8    , 8   , 8               //  Fill all 6 values; set to 0 up to 7 for analog pins A0 up to A7 ; set the value to 8 for the voltage(s) not to be measured.
#define RESISTOR_TO_GROUND  2.95 , 10    , 10  , 10 , 0  , 18               // set value to 0 when no divider is used for a voltage; can contains decimals
#define RESISTOR_TO_VOLTAGE 46.9 , 8.7 , 22 , 27  , 0 , 47              // set value to 0 when no divider is used for a voltage; can contains decimals
#define OFFSET_VOLTAGE      3000   , 0     , 0    , 0    , 0   , 0                // optionnal, can be negative, must be integer, in principe in mv
#define SCALE_VOLTAGE       1.00 , 1.0   , 1.0  , 1.0  , 1.0 , 1.0              // optionnal, can be negative, can have decimals

Zellenmessung würde ich nicht aktivieren, eine Spannungsmessung mit VFAS reicht aus.
 
Ha!

Das scheint ja zu funktionieren. Die Übertragung der Werte, einmal mit #define OFFSET_VOLTAGE 1500 und einmal mit 3000 funktioniert tadellos.
Danke dir/euch!

Das heisst für mich, entweder ist das GPS futsch, wobei das kann nicht sein, da alles schön blinkt oder die Verdrahtung ist falsch. Werde wohl TX und RX vertauschen....

Georg
 

Anhänge

  • IMG_20231009_175841.jpg
    IMG_20231009_175841.jpg
    117 KB · Aufrufe: 23
  • IMG_20231009_180341.jpg
    IMG_20231009_180341.jpg
    128,2 KB · Aufrufe: 29

onki

User
Das von Kalle gezeigte Kabel, liegt den neueren GPS-Modulen leider nicht mehr bei.
Somit müssten die Kabel entsprechend an den RS232/USB Konverter angeötet werden um das Modul mit dem UCenter zu testen.
 

Gast_74695

User gesperrt
Am Arduino oXs Code für GPS wurde vor 3 Monaten etwas geändert. Nimm vielleicht mal diese ältere Version und teste damit, ist ja kein großer Aufwand. Die Konfiguration sollte passen, kannst ja aber noch mal drüberschauen (.txt in .zip ändern). Wenn das GPS mit dieser Version funktioniert, funktioniert es auch mit u-center ;)
 

Anhänge

  • openXsensor.txt
    339,2 KB · Aufrufe: 40
Das von Kalle gezeigte Kabel, liegt den neueren GPS-Modulen leider nicht mehr bei.
Somit müssten die Kabel entsprechend an den RS232/USB Konverter angeötet werden um das Modul mit dem UCenter zu testen.
Vielen Dank, onki.
Löten ist kein Problem, aber ich suche noch Kabel, die ich ans GPS anschliessen kann.
 
Am Arduino oXs Code für GPS wurde vor 3 Monaten etwas geändert. Nimm vielleicht mal diese ältere Version und teste damit, ist ja kein großer Aufwand. Die Konfiguration sollte passen, kannst ja aber noch mal drüberschauen (.txt in .zip ändern). Wenn das GPS mit dieser Version funktioniert, funktioniert es auch mit u-center ;)
Danke dir, Allerhopp. Leider nix geholfen. Werde wogl zuerst das GPS testen.
 

kalle123

User
Grundsätzlich habe ich die Teile. Was mir fehlt sind die Kabel. Sind dies "Micro JST SH 1.0mm 4 Pin Connector"?
Du meinst die DuPont Verbinder?! Selber mache. Kommst im Modellbau über kurz oder lang sowieso nicht drum rum. Vernünftiges Werkzeug vorausgesetzt ist das ein Klacks. Aber ist ein anderes Thema ....

Gruß KH
 
Hallo zusammen.

Erst einmal, vielen Dank an euch, dass ihr meine Fragen beantwortet habt!

Problem gefunde. Beide BN-180 sind defekt....kann ja eigentlich nicht sein. Ich habe gestern 2 Stück BN-220 erhalten und siehe da, alles funktioniert!

Merci, Georg
 

Anhänge

  • IMG_20231011_174200.jpg
    IMG_20231011_174200.jpg
    191,1 KB · Aufrufe: 20

Space

User
n Dank an euch, dass ihr meine Fragen beantwortet habt!

Problem gefunden. Beide BN-180 sind defekt....kann ja eigentlich nicht sein. Ich habe gestern 2 Stück BN-220 erhalten und siehe da, alles funktioniert!
Ich vermute, dass die BN-180 nicht defekt sind. Ggf. sind die Protokoll und/oder Speed-Settings nicht so, wie sie erwartet werden.

Diese Software ermöglicht via USB-RS232 Wandler GPS-Module auszulesen und zu konfigurieren:
https://www.u-blox.com/en/product/u-center
 
Hi Space. Danke für den Hinweis. Aber ich kann das BN-180 nicht mal ans U-Center anschliessen. Tot! keine Daten werdenausgelesen . Das BN-220 lässt sich easy an UC anschliessen.

:confused:
 

kalle123

User
Die BN 180 blinken, wenn die an 5V angeschlossen werden. Zuerst eine LED und nach einer Wartezeit (fix) die zweite LED dazu?!

Mit einem USB Uart an den PC anschließen und in einem seriellen Terminal (Hterm, termite o.ä) anschließen, notfalls, die Arduino IDE hat auch ein Terminalproramm dabei. Dann die verschiedenen Baudrates mal durchprobieren. Mit 9600 anfangen.

Hier mal eine Einführung zu sowas. https://www.elektronik-labor.de/RS232/RS232_2_2.htm

Kannst auch zu Anfang einfach mal nur RX TX am USB Uart verbinden und dich damit vertraut machen.

Irgendwann sollten dann die 180er was ausspucken, und wenn es nur Hieroglyphen sind ...

Gruß KH
 
Ansicht hell / dunkel umschalten
Oben Unten