OXSENS OpenXsensor - Erste Schritte und Problem

  • Themenstarter Deleted member 51580
  • Beginndatum

kalle123

Jugend forscht ....
Hallo Jürgen, ich hab wie hier zu sehen ausgelegt.

http://www.fpv-treff.de/viewtopic.php?f=32&t=7995

Sicherheitshalber hab ich vor dem Verlöten "fliegend" aufgebaut und mal ~ 2A drüber gefahren. Auch um zu sehen, wie ich die Stecker anbringe.

So sieht die Sensorik z.B. in meinem Chinook II aus.

Der oXs oben in Bild liefert Strom (ACS712) und Lipo Spannung (3S).

Der untere oXs hat das Vario (MS5611) und den Anschluß für das GPS Modul.

Die beiden oXs werden über den Y-Verbinder (rechts) zusammen gefaßt und gehen auf den S-Port.

Also modularer Aufbau. Hab mal irgendwann die Stromaufnahme der gesamten Telemetrie, wie im Bild, gemessen. War irgendwas mit xx mA. Müsste mal suchen, wo ich das aufgeschrieben hab.

PS. Hab was gefunden :D Vario 1.2 mA + GPS 14 mA. Strom/Spannung 1.1 mA. Also DAS zieht den S-Port nicht in den Keller.

Gruß KH
 

Anhänge

quax2011

Erfahrener Benutzer
Dank Dir Karl-Heinz, dann werd ich mir die separate Spannungsversorgung sparen. Ich hab bei meinen ersten Sensoren - ohne Arduino - die Spannung direkt an den Anschlüssen des ACS758 abgenommen und dann mit dem L78l05 die Versorgung für den ACS erzeugt. Jetzt werd ich nur noch den Spannungsteiler direkt an den Anschlüssen abnehmen. Die beiden Widerstände gehen Widerstände kommen dann zusammen mit der Beschaltung des ACS758/auf ein Stück Streifenrasterplatine. Meine ACS sind heute angekommen und die Arduino sollten Morgen in der Post sein. Melde mich dann wieder wenns was zu berichten gibt.
Jürgen
 

quax2011

Erfahrener Benutzer
Geschafft !

Sodele, heute waren meine Bemühungen von Erfolg gekrönt. Hab den ersten OpenXSensor erfolgreich (noch nicht ganz) fertiggestellt. Mein Dank an Alle, vor allem an Karl-Heinz der mir eine geduldige Hilfe war. Der Sensor ist deshalb noch nicht ganz fertig weil ich mir die falschen ASC758 geordert habe (Bidirektionale anstatt Uni). Wenn ich die nicht getauscht bekomme, nehm ich halt die und geb mich mit der geringeren Empfindlichkeit zufrieden. Mal sehen. Ich hab das Teil vorab mit einer separaten Spannungsquelle (4 Volt Lipozelle) für den Stromsensor und einem 3 Zeller für die Spannungsmessung simuliert. Ich häng mal zwei Bilder an. Den Sensor werde ich als Sandwich bauen, Arduinoplatine und Streifenrasterplatine für den Spannungsteiler und die Beschaltung des ACS758 (2 Kondenstoren und ein Widerstand). Anstelle der Steckerleiste für den Flash-Anschluss hab ich eine Buchsenleiste genommen die dranbleibt. Wenn alles fertig ist stell ich hier nochmal ein Bild ein

Gruß und nochmals herzlichen Dank
Jürgen
 

Anhänge

quax2011

Erfahrener Benutzer
Hallo Karl-Heinz,

ich schon wieder ;-). Wenn ich jetzt - als nächste Stufe - einen Sensor mit Einzelzellenmessung (3 Zellen) bauen will, kann ich dann die Zeilen aus deiner config_h so übernehmen ->


/ ***** 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 USE_EXTERNAL_REFERENCE // uncomment this line if you use an external 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 (if internal ref is not used)

// ***** 6.2 - Voltage parameters *****
#define PIN_VOLTAGE 0 , 8 , 8 , 8 , 8 , 8 // 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 33 , 20 , 30 , 40 , 50 , 60 // set value to 0 when no divider is used for a voltage, can contains decimals
#define RESISTOR_TO_VOLTAGE 56 , 100 , 200 , 300 , 500 , 600 // 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 3 // Put this line as comment or set value to 0 (zero) if you do not want to transmit cell voltages.

// *****.

Eigentlich sollten ja die Angaben für die ersten drei Spannungsteiler reichen. Zusätzlich muss ich dann ja wohl außer A0 noch weitere 2 Pins definieren (A1 und A2 z.B. ) Ich hab allerdingsz.B keine 20K Widerstände sondern beispielsweise nur 22K . Wenn ich die Systematik richtig verstehe ist der erste Spannungsteiler für 1 Zelle 4,2V dann für 8,4V dann für 12,6V. Kann ein "krummer" Spannungsteiler dann über Scale Voltage angepasst werden ?

Gruß Jürgen

P.S. Es dürfen aber gerne auch alle Anderen antworten ;-)
 

kalle123

Jugend forscht ....
Jürgen, bei 1S (4.2V) braucht es ja keinen Teiler und bei 2S und 3S musst du halt schauen, dass du unter 5V bleibst. Exakt 4.99V wirst du nicht hinkriegen und etwas Sicherheitsabstand (zu den 5V) sollte schon sein.

Welche Widerstände du hast, weiss ich nicht. Musst halt mal den Taschenrechner raus nehmen und durchrechnen. Messgerät hast du auch.

Alles nach dem Motto - Versuch macht klug.

Was mir geholfen hat, ich hab mir dafür speziell eine kleine variable Gleichstromquelle mit nem 10 Gang Poti zur Feineinstellung gebastelt.

Frohes Schaffen - KH
 

quax2011

Erfahrener Benutzer
Hi Karl-Heinz, hallo Stoschek, hab jetzt mal kurz gerechnet: Teiler 1 nix-> 4.2 Volt am A0, Teiler 2: 100/100 = 8,4 :200*100 ->4,2 Volt am A1, Teiler 3: 100/200 = 12,6 : 300*100 -> 4,2 Volt am A2 Das sollte passen !?? Bei define NUMBEROFCELLS die Kommentierung wegnehmen und bei define PIN_VOLTAGE A1/und A2 eintragen. Hab ich was vergessen?

Jürgen
 

kalle123

Jugend forscht ....
Langsam Jürgen.

Es gibt eine neue Version (Ver. 8.0) von oXs. Meine aktuellen Sensoren sind alle unter 7.0. Bevor ich da 8.0 drauf packe, steht einiges an Tests hier auf dem Schreibtisch an.

Erst mal in "fliegendem" Aufbau mit Steckbrett und Arduino Uno. Wenn das geht, umflashen auf die Sensoren mit Arduino pro mini und Tests im Modell. Da gehen zig Stunden dran ....

Naja Hobby ;)
 

quax2011

Erfahrener Benutzer
Sorry Karl-Heinz,

ich steh jetzt - mal wieder - auf dem Schlauch ?? Warum sollte ich auf eine neue Version wenn die 7.0 für meine Zwecke passt ? Ich brauch -zur Zeit - nur den Stromverbrauch und die (Einzel)spannung(en). Deshalb nochmal die Frage ob ich das Ergebnis "krummer" Spannungsteiler in der Programmzeile Scale_Voltage durch "Faktoreingaben" hinbiegen kann. Oder wozu ist diese Zeile?

#define SCALE_VOLTAGE 1 , 1 , 1 , 1 , 1 , 1 // optionnal, can be negative, can have decimals

Jürgen
 

kalle123

Jugend forscht ....
Jürgen.

1. Ich steige JETZT auch nicht mit meinen Sensoren auf 8 um. Da hab ich momentan überhaupt keine Zeit für.

2. Dazu

#define SCALE_VOLTAGE 1 , 1 , 1 , 1 , 1 , 1 // optionnal, can be negative, can have decimals

hab ich irgendwo was geschrieben. Muss mal suchen ...

Gruß KH
 

kalle123

Jugend forscht ....
Habs.

http://www.rclineforum.de/forum/boa...und-telemetrie/311808-openxsensor/index2.html

Mein Post #40

Siehe Skizze dort.

2 Messpunkte - Steigung (SCALE_VOLTAGE) der Geraden durch die beiden Punkte angleichen und Abweichung Nulldurchgang (OFFSET_VOLTAGE).

Ausführlich steht das hier

* In order to get best voltage measurements, oXs can be calibrated. This optional process allows to compensate tolerances on resistors and on Arduino ADC (analog to digital converter).
* To calibrate each voltage measurement proceed as follow in order to find the best values to be set up in lines #define OFFSET_VOLTAGE and #define SCALE_VOLTAGE
* - set parameters in oXs_config.h
* - letting OFFSET_VOLTAGE = 0 and SCALE_VOLTAGE = 1 (so adding no compensation)
* - selecting a field to transmit the desired voltage (e.g. T1 for VOLT3) and fill the line "#define SETUP_DATA_TO_SEND" accordingly
* - load the program in Arduino
* - apply several different voltages on End point (not exceeding the max voltage allowed based on R1 and R2)
* - for each applied voltage, measure the applied voltage with a voltmeter and read the value received on telemetry panel on Tx
* - set the values in excel (or on a graphic) and calculate the best values OFFSET_VOLTAGE and SCALE_VOLTAGE (using a linear regression)
* If this seems too complex, just use 2 voltages as different as possible (but in the range of the normal values you want to measure)
* and apply calculation based on following example: .
* I expect voltage to be normally between 4 volt and 6 volt, so I apply 2 voltages close to those values to End point
* - for first voltage, voltmeter gives 3510 millivolt and telemetry gives 3622
* - for second voltage, voltmeter gives 5900 millivolt and telemetry gives 6013
* Then SCALE_VOLTAGE = (5900-3510) / (6013-3622) = 0.99958
* and OFFSET_VOLTAGE = -3510 + (3622 * 0.99958 ) = 110
 

kalle123

Jugend forscht ....
Der wichtige Teil, Jürgen, aus der Anleitung ist m.E. für die Praxis der hier

* I expect voltage to be normally between 4 volt and 6 volt, so I apply 2 voltages close to those values to End point
* - for first voltage, voltmeter gives 3510 millivolt and telemetry gives 3622
* - for second voltage, voltmeter gives 5900 millivolt and telemetry gives 6013
* Then SCALE_VOLTAGE = (5900-3510) / (6013-3622) = 0.99958
* and OFFSET_VOLTAGE = -3510 + (3622 * 0.99958 ) = 110


1S z.B. 3.5V und 4.1V. 2S 7.0V und 8.2V. 3S 10.5V und 12.3V usw.

Hab mir dafür extra eine kleine fein einstellbare Spannungsquelle zum Abgleich gebastelt. 1 ... 27V.
Nix dolles, aber hilft ....
 

Anhänge

quax2011

Erfahrener Benutzer
Hallo Karl-Heinz, ich hab ein regelbares Netzteil mit einem 10 Gang-Poti, das kann ich zur Kalibrierung nutzten. Eins noch:Muß ich hier in der oXs_config.h noch was ändern wenn ich Einzelzellenmessung (3S) machen will ?

Jürgen
 

kalle123

Jugend forscht ....
Hallo Karl-Heinz, ich hab ein regelbares Netzteil mit einem 10 Gang-Poti, das kann ich zur Kalibrierung nutzten.
Sicher. Nur das Wort "Kalibrierung" hab ich nicht so gerne (ist ne lange Story ;) ). Mir gefällt Ab-/Angleichen besser.

Eins noch:Muß ich hier in der oXs_config.h noch was ändern wenn ich Einzelzellenmessung (3S) machen will
Mach doch einfach. Und dann schaun wir mal.

Gruß KH
 

quax2011

Erfahrener Benutzer
So, hier bin ich wieder ! Mit der Einzelzellengeschichte hab so meine Probleme, im Bild markiert ist das was ich in der config_h eingestellt habe. Die Spannungsteiler sollten jeweils 4,2 Volt bringen ( Zelle1 direkt 4,2 Volt, Zelle2 100:100 =8,4 : 2 = 4,2 Volt, Zelle 3 100:200= 12.6 : 3 = 4,2 Volt). In meiner Horus seh ich dann zwar den Sensor FVAS aber wenn ich einen Akku anschließe bleibt die Anzeige auf 0. D a stimmt also was nicht ! Nur was ? Ich denke mal das die Einstellung bei 9.2 FrSky-Data falsch ist oder fehlt. Wer hilft ??

Gruß Jürgen
 

Anhänge

kalle123

Jugend forscht ....
Also oXs sagt

Measurements being automatically transmitted are :
* - Relative altitude(cm), main vertical Speed(cm/sec) (when at least first baro sensor is present)
* - Cell voltages (when NUMBER_OF_CELLS > 0)
Du schreibst "Mit der Einzelzellengeschichte hab so meine Probleme ..."

Mal andersrum, was geht denn?

Und zu Horus und openTX 2.2.x sag ich mal nix. Bin auf 2.1.8 und hab "nur" ne normale Taranis.

Muss aber dazu sagen, ich bin von der Einzelzellendarstellung weg. Hab das zuletzt nur noch wegen des Konverters MPX M-Link -> FrSky gefahren. Unter FrSky übertrage ich nur noch die Lipo Gesamtspannung.

cu KH

Seh gerade. Mach da (zwischen ...CELLS und 3) mal ein Leerzeichen #define NUMBEROFCELLS3
 
Zuletzt bearbeitet:
FPV1

Banggood

Oben Unten