OXSENS OpenXsensor - Erste Schritte und Problem

  • Themenstarter Deleted member 51580
  • Beginndatum

elephant

Neuer Benutzer
Besten Dank für die rasche Antwort, fm314. Ja, der Arduino rechnet mit mA. Deine Vermutung, denke ich, trifft das Problem.

Jedoch: Was muß ich wo ändern?
 
Besten Dank für die rasche Antwort, fm314. Ja, der Arduino rechnet mit mA. Deine Vermutung, denke ich, trifft das Problem.

Jedoch: Was muß ich wo ändern?
Falsche Fährte, siehe oXs_out_frsky.cpp:

Code:
// current
#if defined(PIN_CURRENTSENSOR) 
    SendValue( FRSKY_USERDATA_CURRENT ,  (int16_t) ( oXs_Current.currentData.milliAmps.value / 100 ) ) ;
#endif
 

elephant

Neuer Benutzer
Besten Dank, Carbonator, für den Hinweis. Anbei die oXs_config.h:

// OpenXsensor https://github.com/openXsensor/
// started by Rainer Schloßhan

//*******************************************************************************************************************************************************//
// //
// ! IMPORTANT NOTE !!!!!!!!!! Another file in this project (see oXs_config_description.h) provides detailed explanations on how to set up this file. //
// //
//*******************************************************************************************************************************************************//
// Note: the oXs_config.h file present on the GitHub site is not always meaningful.
// It could be that the combination of active/non active parameters is not consistent.
// This is just the result of many updates and tests in this document.
// So take always care to set up the oXs_config.h file according to your needs and check carefully all options.
// You can also use the oXs configurator in order to generate automatically a valid file.


#ifndef OXS_CONFIG_h
#define OXS_CONFIG_h


// --------- 1 - General protocol ---------
// ***** 1.1 - Multiplex protocol is used (otherwise oXs assumes it is Frsky protocol) *****
//#define MULTIPLEX
// ***** 1.2 - FrSky protocol and device ID (required when Sport protocol is used) *****
//#define FRSKY_TYPE_SPORT // when uncommented, it forces oXs to apply only SPORT protocol, otherwise, oXs detects automatically if protocol has to be SPORT or HUB
#define FRSKY_TYPE_HUB // when uncommented, it forces oXs to apply only HUB protocol, otherwise, oXs detects automatically if protocol has to be SPORT or HUB
#define SENSOR_ID 0x1B //0x1B

// --------- 2 - Serial data pin choice ---------
#define PIN_SERIALTX 4 // The pin which transmits the serial data to the FrSky telemetry receiver

// --------- 3 - PPM settings ---------
//#define PIN_PPM 3 // default is 2 but my own device use 3
//#define PPM_MIN_100 980 // default 1500 - 512 ; // pulse width (usec) when TX sends a channel = -100
//#define PPM_PLUS_100 1990 // default 1500 + 512 ; // pulse width (usec) when TX sends a channel = +100

// --------- 4 - Vario settings ---------

// ***** 4.1 - Connecting 1 or 2 MS5611 barometric sensor *****
//#define VARIO // set as comment if there is no vario
//#define SENSOR_IS_BMP180 // set as comment if baro sensor is MS5611
//#define VARIO2 // set as comment if there is no second vario

// ***** 4.2 - Sensitivity predefined by program *****
#define SENSITIVITY_MIN 50
#define SENSITIVITY_MAX 300
#define SENSITIVITY_MIN_AT 100
#define SENSITIVITY_MAX_AT 1000

// ***** 4.3 - Sensitivity adjusted from the TX *****
#define SENSITIVITY_MIN_AT_PPM 10 // sensitivity will be changed by OXS only when PPM signal is between the specified range enlarged by -5 / +5
#define SENSITIVITY_MAX_AT_PPM 40
#define SENSITIVITY_PPM_MIN 20 // common value for vario is 20
#define SENSITIVITY_PPM_MAX 100 // common value for vario is 100

// ***** 4.4 - Hysteresis parameter & Alt compensation based on sensor temp *****
#define VARIOHYSTERESIS 5
#define ALT_TEMP_COMPENSATION 800

// ***** 4.5 - Vertical speeds calculations *****
#define VARIO_PRIMARY 0 // 0 means first ms5611, 1 means second ms5611 , 2 means vario based on vario 1 + compensation from airspeed , 3 means average of first and second ms5611
#define VARIO_SECONDARY 2 // 0 means first ms5611, 1 means second ms5611 , 2 means vario based on vario 1 + compensation from airspeed , 3 means average of first and second ms5611
#define SWITCH_VARIO_MIN_AT_PPM 10
#define SWITCH_VARIO_MAX_AT_PPM 90

// ***** 4.6 - Analog vertical speed *****
#define PIN_ANALOG_VSPEED 3
#define ANALOG_VSPEED_MIN -3
#define ANALOG_VSPEED_MAX 3

// --------- 5 - Airspeed settings ---------
//#define AIRSPEED MS4525

#define AIRSPEED_RESET_AT_PPM 100

#define COMPENSATION_MIN_AT_PPM 60
#define COMPENSATION_MAX_AT_PPM 90
#define COMPENSATION_PPM_MIN 80
//#define COMPENSATION_PPM_MAX 140

// --------- 6 - Voltages & Current sensor settings ---------

// ***** 6.1 - Voltage Reference to measure voltages and current *****
//#define USE_INTERNAL_REFERENCE // uncomment this line if you use 1.1 volt internal reference instead of Vcc
#define REFERENCE_VOLTAGE 5000 // set value in milliVolt; if commented, oXs will use or 1100 (if internal ref is used) or 5000 (othewise)

// ***** 6.2 - Voltage parameters *****
#define PIN_VOLTAGE 0 , 1 , 2 , 3 , 4 , 5 // set this line as comment if no one voltage have to be measured, set a value to 8 for the voltage(s) not to be measured.
#define RESISTOR_TO_GROUND 0 , 13960 , 6180 , 4130 , 3000 , 2390 // set value to 0 when no divider is used for a voltage, can contains decimals
#define RESISTOR_TO_VOLTAGE 0 , 9880 , 9920 , 9870 , 9770 , 9880 // 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
#define SCALE_VOLTAGE 1 , 1 , 1 , 1 , 1 , 1 // optionnal, can be negative, can have decimals

// ***** 6.3 - Max number of Lipo cells to measure (and transmit to Tx) *****
#define NUMBEROFCELLS 6 // keep this line but set value to 0 (zero) if you do not want to transmit cell voltage.

// ***** 6.4 - Current param eters *****
#define PIN_CURRENTSENSOR 7
#define MVOLT_AT_ZERO_AMP 2500 // in millivolt
#define MVOLT_PER_AMP 20 // in milliVolt per Amp
#define RESISTOR_TO_GROUND_FOR_CURRENT 0 // put as comment or set to 0 if no divider is used
#define RESISTOR_TO_CURRENT_SENSOR 0 // put as comment or set to 0 if no divider is used

// --------- 7 - RPM (rotations per minute) settings ---------
//#define MEASURE_RPM

// --------- 8 - Persistent memory settings ---------
//#define SAVE_TO_EEPROM
//#define PIN_PUSHBUTTON 2 // default is 10 but my own device is 2

// --------- 9 - Data to transmit ---------
// ***** 9.1 - Frsky data *****
#define SETUP_FRSKY_DATA_TO_SEND \
AccX , VOLT1 , 1 , 1 , 0 , \
AccY , VOLT2 , 1 , 1 , 0 , \
AccZ , VOLT3 , 1 , 1 , 0 , \
DEFAULTFIELD , CELLS_1_2 , 1 , 1 , 0 , \
DEFAULTFIELD , CELLS_3_4 , 1 , 1 , 0 , \
DEFAULTFIELD , CELLS_5_6 , 1 , 1 , 0 , \
Vfas , VOLT6 , 1 , 100 , 0 , \
Curr , CURRENTMA , 1 , 100 , 0 ,

// ***** 9.2 - Multiplex data *****
//#define SETUP_MULTIPLEX_DATA_TO_SEND \
// 3 , ALTIMETER , 1 , 1 , 0 , -16384 , 16383 , \
// 6 , VERTICAL_SPEED , 1 , 1 , 0, -500 , 500 , \
// 5 , REL_ALTIMETER , 1 , 1 , 0 , -16384 , 16383 , \
// 7 , CELL_TOT , 1 , 1 , 0 , -16384 , 16383 , \
// 5 , ALTIMETER_MAX , 1 , 1 , 0 , -16384 , 16383 , \
// 4 , VOLT4 , 1 , 1 , 0 , -16384 , 16383
// --------- 10 - Sequencer ---------
//#define SEQUENCE_OUTPUTS 0b100000
//#define SEQUENCE_UNIT 100
//#define SEQUENCE_m100 1 , 0b100000 , 1 , 0b000000 , 1 , 0b100000 , 1 , 0b000000
//#define SEQUENCE_m75 1 , 0b100000 , 1 , 0b000000 , 2 , 0b100000 , 2 , 0b000000
//#define SEQUENCE_m50 5 , 0b100000 , 5 , 0b000000
//#define SEQUENCE_m25 5 , 0b100000 , 5 , 0b000000 , 0 , 0b100000
//#define SEQUENCE_0 3 , 0b100000 , 1 , 0b000000
//#define SEQUENCE_25 2 , 0b100000 , 2 , 0b000000
//#define SEQUENCE_50 5 , 0b100000 , 5 , 0b000000
//#define SEQUENCE_75 7 , 0b100000 , 7 , 0b000000
//#define SEQUENCE_100 8 , 0b100000 , 8 , 0b000000
//#define SEQUENCE_LOW 10 , 0b100000 ,10 , 0b000000 // sequence for Low voltage
//#define SEQUENCE_MIN_VOLT_6 4000 // sequence_100 will be activated if voltage 6 is lower that the value.
//#define SEQUENCE_MIN_CELL 3000 // sequence_100 will be activated if lowest cell is lower that the value.
// --------- 11 - Reserved for developer. DEBUG must be activated here when we want to debug one or several functions in some other files. ---------
//#define DEBUG

#ifdef DEBUG
#include "HardwareSerial.h"
#endif

#endif// End define OXS_CONFIG_h
 
Sieht gut aus.

Hast du mal die Spannung am Arduino Pin VCC gemessen, 5 Volt sind als Referenzspannung eingetragen?

Dann kann man mal testweise ein Poti an GND und VCC löten und den Schleifer mit Pin 7 verbinden. Oder eine einstellbare Spannungsquelle 2,5 - 4,5 Volt an GND und Pin 7 anschließen. Aber mehr als 5 Volt zerstören den Eingang!

Mit dem Poti oder der Spannungsquelle dann kontrollieren, ob von 2,5 bis 4,5 Volt sich ein Strom von Null bis 100 Ampere einstellen lässt.

Für den eher unwahrscheinlichen Fall, dass deine ältere oXs Version doch eine Macke hat, hab ich dir mal eine V8 für deine Konfig gemacht.

Anhang anzeigen oXs.zip
 

elephant

Neuer Benutzer
Mit der OXS Version 8 bekomme ich korrekte Werte.

Herzlichen Dank an Dich , Carbonator, für die Zur-Verfügung-Stellung. Bei mir war die Version 5.0 installiert. Und in dieser Version liegt möglicherweise das von fm314 angesprochene Problem.

Also nochmals besten Dank an Carbonator und fm314 für die gewährte Hilfe.
 
D

Deleted member 51580

Gast
Kurze frage zum Airspeed,
Mein Englisch ist die light Version, so wie ich das lese ist das widersprüchlich.


In der Config.h steht:
uncomment this line if airspeed has to be in km/h instead of knot/h ( except some old versions, openTx expects knot/h)


In der Description.h steht:
oXs can send the airspeed in (1/10) of knot/h or in (1/10) km/h. For openTx, you normally must use the knot/h option (only some old 2.1.x versions requires km/h option).


Was ist richtig oder wie muss ich das verstehen ???
Bitte um Hilfe.
 
( except some old versions, openTx expects knot/h)

Damit meint er, außer in einigen alten Versionen, erwartet OpenTX Knoten. Also kein Widerspruch, liest sich nur seltsam. Es gab mal Unsicherheit, ob der FrSky Sensor den Airspeed in km/h oder Knoten schickt.

Knoten passt also, umgewandelt wird von OpenTX dann entsprechend der gewählten Einheit beim Sensor.
 
D

Deleted member 51580

Gast
Und noch eine Frage:


Sind 5cm in der Hysterese nicht etwas wenig ??


4.5 - Hysteresis parameter & Alt compensation based on sensor temp ***************************************************
* OXS can also apply some hysteresis on vertical speed changes.
* It allows to avoid that transmitted Vspeed changes too often (which can result in bad sound alerts). So it is another way to reduce sensitivity
* VARIOHYSTERESIS means that transmitted Vspeed will change only if measured VSpeed (after filtering) differs from previous transmitted value by more than this parameter.
* Typical value can be 5 (= 5 cm/s); 0 means no hysteresis.
 
Ich fliege ohne Hysteresis und habe keine "falschen" Variotöne.
 
Zuletzt bearbeitet:
D

Deleted member 51580

Gast
( except some old versions, openTx expects knot/h)

Damit meint er, außer in einigen alten Versionen, erwartet OpenTX Knoten. Also kein Widerspruch, liest sich nur seltsam. Es gab mal Unsicherheit, ob der FrSky Sensor den Airspeed in km/h oder Knoten schickt.

Knoten passt also, umgewandelt wird von OpenTX dann entsprechend der gewählten Einheit beim Sensor.
Ok danke dann stell ich mal um auf Knoten und teste heute Mittag noch mal meine Ergebnisse sind immer noch nicht sooo Plausibel, aber es wird besser.
Mit der Version 8 sind schon mal die kurzen Peaks verschwunden, mit der Geschwindigkeit bin ich noch nicht sicher was ich da glauben soll.

Gestern Abend hatten wir kurz Windstille, drei ganz unterschiedliche Ergebnisse in einem relative Senkrechten Sturzflug.


Airspeed sagt 215 Kmh
Vspd sagt 34 m/s das sind umgerechnet 122,4 Kmh
Und das GPS bei 19 Sats und einem sehr guten PDOP wert von 1 war der Meinung es sind 280 Kmh

Wem soll ich glauben... :)
 

Anhänge

Wenn dein oXs km/h sendet, dann musst du den Airspeed durch 1,852 teilen und bist dann bei 116 km/h. Das passt gut zum VSpeed vom oXs. Stell den oXs auf Knoten um und lass km/h beim Sensor in OpenTX, dann passt es.

GPS Geschwindigkeit funktioniert nur bei Geradeausflug einigermaßen. Airspeed und VSpeed sind wesentlich genauer.
 
D

Deleted member 51580

Gast
bin gerade dabei es umzustellen, ab 12-13 Uhr soll es heute recht Ordentlich gehen..

Hinweise für Segelflieger:
Am Sonntag anfangs noch verbreitet frontale Bewölkung, nach Osten abziehend. Dadurch etwas spätere, von Westen her einsetzende Thermik. Es werden gute Steigwerte mit Arbeitshöhen von 2000 m am Nachmittag erwartet. Überentwicklungen sind unwahrscheinlich.
 
Bei mir: - GAFOR-Gebiet 51 - Mittlerer Oberrheingraben - exakt das selbe. Sollte gehen :D
 
D

Deleted member 51580

Gast
Bei uns ist es GAFOR-Gebiet 43 - Nordhessisches Bergland und Vogelsberg

sollte gehen... hoffe ich auch nur kann man sich da auch nicht immer sooo drauf verlassen, hatte auch schon den Fall das es super sein "Sollte" und max fallen war angesagt :D
 
D

Deleted member 51580

Gast
Juhu....

Recht Windig heute gewesen, mit starker zerrissener Thermik und Hangaufwind hatte ich Spass...,
ging aber richtig gut.

nach dem ich Unterwegs noch den GPspd in Knoten Umgestellt habe passt es denke ich.

Auf dem Heimweg, als Kontrolle den Rumpf auf den Außenspiegel ganz nach vorne geschoben und dann...

sieht das so aus:

GPSpd ist mit Tacho deckungsgleich, Airspeed ist je nach Geschwindigkeit zwischen 5-10KmH hinterher, das dürfte jetzt aber passen.


2.JPG

Unbenannt.JPG
 
D

Deleted member 51580

Gast
Jetzt noch ein Stückchen aus dem Log von heute.

<Ironie an> man kann gut sehen das es echt schwer war nach oben zu kommen. <Ironie aus>

Heute habe ich das erste mal beim Kreisen in einem Winkel von ca 65-80Grad den Flieger auf der Fläche stehen gehabt und es ging weiter nach oben... ;)

so der rest sieht schon richtig gut aus, das kompensierte Vario konnte ich aber heute nicht testen, fafür war es zu ruppig.

Unbenannt.JPG
 
Zuletzt bearbeitet von einem Moderator:
D

Deleted member 51580

Gast
So heute noch mal an der Airspeed Messung letzte Änderungen gemacht und jetzt passt es... (Meine Meinung)
Wenn Ihr anderer Meinung seit nur her damit, bin offen für alles... :D

Einzigster Kritikpunkt ist der Wert Alt der hat irgendwie den Flug verpennt, das hatte ich bis jetzt noch nicht, zwei Flüge davor war er auch dabei, Änderungen hatte ich zwischen den Flügen keine gemacht, werde das noch mal genauer testen, evt hatte ich ne Mücke im Prandl Rohr :confused: war davor etwas am turnen, ging sehr gut heute.

Unbenannt.JPG
 
FPV1

Banggood

Oben Unten