OXSENS OpenXsensor - Erste Schritte und Problem

  • Themenstarter Deleted member 51580
  • Beginndatum
D

Deleted member 51580

Gast
Der 6050 liegt/hängt schief auf dem Tisch ist alles noch Wurf Verdrahtung.
Den Sketch stell ich aber gerne hier ein, es gibt bestimmt den ein oder anderen der gerne nachbauen möchte.
Aber du kannst gern mal drüber schauen, hab bestimmt irgendwo was nicht richtig.... :eek:
Anhang anzeigen OXS_Sensor_Test.rar
 
Der 6050 liegt/hängt schief auf dem Tisch ist alles noch Wurf Verdrahtung.
Den Sketch stell ich aber gerne hier ein, es gibt bestimmt den ein oder anderen der gerne nachbauen möchte.
Aber du kannst gern mal drüber schauen, hab bestimmt irgendwo was nicht richtig.... :eek:
Die oXs_config_h ist OK, nur wenn du keine Strom und Spannungsmessung machst, kannst du 91, 101 und 117 noch kommentieren. Den meisten Speicher brauchen die IMU 6050 Routinen. Die nutze ich auch nie im Flieger (nur manchmal im Sender). Die ACC Variablen übertragen bei mir die Segler-Leistungswerte.
 
D

Deleted member 51580

Gast
Ok werde da noch mal weiter machen und die Punkte von dir mal durchsehen und einige Gedanken drüber machen.
Ich denke ich werde den FLVSS für die Spannungsmessung nehmen bei der Strom Messung muss ich erst mal testen, habe mal einen 30A Sensor für die versuche mit dem Arduino hier, bevor ich evt ein 100A kaufe.
Allerdings bin ich kein Freund von den Strom Sensor Boards, versuchen werde ich sie aber mal.
Ich mag mehr die Induktive Strommessung, die finde ich sicherer, nutze seit zwei Jahren den 150A von Frsky.
 
D

Deleted member 51580

Gast
Und hier mal die im wahrsten Sinne des Wortes Wurf verdrahtung.... :D

Nicht nach machen, also soo nicht...

Wenn ich mit testen fertig bin stell ich aber auch noch mal ein Foto von einem fertigen Modul ein.

IMG_1486.jpg
 

quax2011

Erfahrener Benutzer
Hi, ich klinke mich mal hier ein weil ich hoffe dass mein Anliegen zum Thema passt. Ich hab mir vor einigen Monaten ein paar Stromsensoren auf Basis des ACS 758 gebaut, allerdings ohne openxSensor nur zum Einsatz mit D-Empfängern am A1/A2. Da ich noch einige ACS758 habe aber keine freien D-Empfänger wollte ich nun gerne welche bauen die ich mit OpenXSensor und Arduino am S-Port betreiben kann. Mein Problem: Ich hab keine Ahnung vom Programmieren. Meine Fähigkeiten mit Arduino sind über kleine Änderungen am Programm "Blink" nicht hinaus gekommen. Ich hab nun mal das alte Thema Strom/Spannungsensor durchgelesen, hat mir aber nicht wirklich geholfen. Die openXsensor/oXs_config_description.h hab ich mir mal durchgesehen -ist natürlich Englisch, nicht meine Stärke - und das Programm (???) oxs_config.h von rcbebo82 auch, aber da steht so viel drin dass ich damit absolut überfordert bin. Langer Rede kurzer Sinn, ich bräuchte einen Sketch (??? falls ich zumindest das richtig verstanden habe) der nur für die Strom/Spannungsanzeige dient und möglichst mit der Angabe wie der Arduino mit S-Port angeschlossen wird. Das würde mir das "eindenken" in die Materie sicher erleichtern. Ich hoffe damit die Geduld der Spezialisten nicht zu strapazieren, aber was Spezialisten als selbstverständlich erscheint ist für Dummis oft schwer. Und wenn ihr denkt, dass das auf meinem "Wissensniveau" keinen Sinn macht, dann postet das ruhig auch, ich bin nicht empfindlich.

Jürgen
 

kalle123

Jugend forscht ....
Hallo Jürgen.

Bitte mal etwas konkreter ;)

Einen Arduino hast du ja anscheinend. Welchen bitte? Du verwendest welche Arduino IDE Version?

oXs auch aktuell? Version 7!

ACS 758 xxA?

Welche Spannungen willst du übertragen? Mit Spannungsteilern hast du dich ja wohl schon beschäftigt. Kannst du die verwendeten Widerstandswerte mal hier angeben ...

Du verwendest welche openTX Version?

Bißchen was braucht es schon, um dir nen oXs_config.h zu erstellen.

Gruß KH
 

quax2011

Erfahrener Benutzer
Hallo Karl-Heinz. Erst mal herzlichen Dank für die schnelle Antwort. Zu deinen Fragen: Arduino Pro Mini, ich häng mal ein paar Bilder an.Der ACS ist die 100A Type bidirektional ACS758lcb-100B, sollten damals eigentlich der unidirektonale sein, hatte ich falsch bestellt. Aber die 20mV/A reichen für meine Zwecke. Spannungsteiler: Gegenfrage -> was kann der Eingang des Arduino? Ich kann den Spannungsteiler anpassen. Widerstände sind reichlich vorhanden ;-). OpenTx ist die 2.2 auf der Horus RC9 N260. Die Arduino IDE und OXS lade ich mir dann so runter wie ichs brauche!
 

Anhänge

Zuletzt bearbeitet:

kalle123

Jugend forscht ....
Dann will ich mal schnell antworten, Jürgen.

Ich hab hauptsächlich ACS712 verwendet, hab aber auch einen ACS758 50 uni im Einsatz.

"Spannungsteiler: Gegenfrage -> was kann der Eingang des Arduino?" Kommt darauf an ;)

Vcc (also 5V), Vref oder 1.1V. Nur bei der Kombination Spannung- und Strommessung empfiehlt die Anleitung halt

"So, in this case it is better to configure the ADC in order to use VCC as reference for conversion."

also Vcc 5V.

Nochmal, welche Spannungen? Lipospannung oder Einzelzellenspannungen oder ...

Gruß KH

PS. Zum Anschluß Arduino -> S.Port

Hier mal ein Bild aus https://github.com/openXsensor/openXsensor/wiki/OXS_Build_Vario

NUR die 3 Strippen ROT SCHWARZ und GRÜN sind relevant. Wobei ich persönlich statt RAW auf dem Arduino auf Vcc mit dem roten Kabel gehe. Aber das ist eine andere Sache. Eingänge sind A0 --- A5. Mehr ist das nicht, also recht simpel. Glaub nicht, daß es dafür eine extra Skizze braucht.
 

Anhänge

quax2011

Erfahrener Benutzer
Klasse Karl-Heinz, das geht ja Ratzfatz! Ich verwende 3 Zeller und 6 Zeller in meinen Fliegern. Gesamtspannung reicht, ich will mir nur die Restkapazität anzeigen bzw. ansagenn lassen. Bei meinen ACS hab ich mir noch den Luxus eines Spannungsreglers für die Versorgung des Sensors (78L05 mit entsprechender Kondensator-Beschaltung am Ein und Ausgang) geleistet.

Gruß Jürgen
 

quax2011

Erfahrener Benutzer
Hab jetzt mal kurz gerechnet: 6Zellen mit je 4,2 Volt 25,2 V + Angst Zuschlag -> 26 Volt -> Teiler 10k / 2,2K. 26/12.2*2.2 -> 4,69 V . Der ACS gibt ja bei 0A 2.5 V raus wenn ich mich da recht erinnere, plus 2 Volt bei 100 A da bin ich dann auch auf der sicheren Seite.

Jürgen
 
Hehe, das Schwierigste hast du gerade mal so aus dem Ärmel geschüttelt. Passt alles - bis Kalle wieder online ist, kannst du schon mal löten. 2 PINs von A0 bis A7 sind beliebig, vielleicht aber besser A4 und A5 freilassen, falls mal noch ein Vario (MS5611) dazukommt.
 

kalle123

Jugend forscht ....
So, wir kommen weiter :D

Jürgen, ich mach jetzt mal folgendes ...

Meine oXs_config.h Dateien, die ich erfolgreich gefahren hab, speichere ich mir in einem Unterverzeichnis ab. Sieht so aus wie im Bild unten. Ist für oXs Version 7!

Was deiner Anwendung am nächsten kommt, ist wohl "oXs_config.h.FrSky_20A_3S_total". Also ein Stromsensor und eine Spannung, hier 3S.

Du lädst also oXs Version 7, entpackst das und sicherst erst mal oXs_config.h. Dann schnappst du dir meine "oXs_config.h.FrSky_20A_3S_total", schneidest ".FrSky_20A_3S_total" den Kommentar da ab und packst das in das Verzeichnis von oXs rein.

Jetzt muß diese neue oXs_config.h etwas angepaßt werden.

Spannung


#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


Ich hab 5000 (ist Vcc), 0 ist A0, wo die Spannung bei mir auf den Arduino drauf geht und die beiden Widerstände 33 und 56 markiert. Wenn du 5V und A0 nimmst, brauchst du nur deine Widerstände einzutragen.

(Man kann jetzt weiter gehen und die 5000 mal nachmessen und auch die Kennlinie des Spannungsteilers bestimmen und danach abgleichen, aber ich glaube, das geht momentan zu weit ;) )

Strom


// ***** 6.4 - Current parameters *****
#define PIN_CURRENTSENSOR 3
#define MVOLT_AT_ZERO_AMP 2500 // in millivolt
#define MVOLT_PER_AMP 100 // in milliVolt per Amp


Bei mir hier A3, wo das Signal vom Sensor drauf geht, 2,5V bei 0A und bei mir 100mV/A.

(Kann man auch noch mal nachmessen, aber momentan sollte das reichen.) Also trag statt meiner 100mV/A mal den Wert deines Sensors ein. Und wenn du nicht A3 nimmst, halt deinen verwendeten Pin am Arduino.

Dann hab ich noch das hier auskommentiert, damit die Spannung auch auf der Taranis erscheint

// ***** 9.1 - Frsky data *****
#define VFAS_SOURCE VOLT_1 // select between VOLT_1, VOLT_2, VOLT_3 , VOLT_4, VOLT_5 , VOLT_6

Das war es eigentlich Jürgen.

Versuch es einfach mal.

Eine Sache noch. Ich verwende openTX 2.1.8, inwieweit es Probleme wegen 2.2.x bei der Darstellung im Sender gibt ;)
 

Anhänge

quax2011

Erfahrener Benutzer
Spitze !!! Vielen Dank ! Hab aber noch zwei Fragen, hören sich vielleicht im ersten Moment blöd an: Was bedeutet eigentlich auskommentieren. mit Kommentar abschneiden ist dann wohl das löschen der Zeilen gemeint. Oder verstehe ich das falsch?

Jürgen

P.S. Lieber einmal zuviel Fragen al Mist machen .
 

quax2011

Erfahrener Benutzer
Noch eine Frage: Um den Stromsensor zu simulieren müsste es ja reichen eine entsprechende, einstellbare Gleichspannung zwischen 2,5 und 4 Volt am dafür vorgesehenen Eingang des Arduino einzuspeisen. Also Masse an Arduino-Masse und Plus am Pin 3 ??

Jürgen
 
Das ist glaube ich ein ganz wichtiger Punkt, weil es schnell selbstverständlich wird und man gar nicht mehr darüber nachdenkt.

Mit // kann man alles in der Zeile dahinter kommentieren oder auskommentieren. Das heißt, die Arduino IDE oder der Kompiler sieht das überhaupt nicht mehr. Man könnte die Zeile auch komplett löschen, das kommt auf´s Gleiche raus. Wenn man sie aber wieder braucht, ist es einfacher, die // wieder zu löschen und zu entkommentieren.

Bei Basic entspricht es dem REM. Man kann so auch Kommentare in das Programm schreiben, ohne dass die Programmausführung gestört wird, daher kommt der Name. Das Prinzip wird hier sozusagen zweckentfremdet, um nicht erforderliche Programmteile auszublenden - zu Kommentaren zu machen - zu kommentieren.

Diese "Anfängerfragen" sind ungeheuer wichtig, weil sie es Anderen sehr erleichtern, in das Thema einzusteigen. Je mehr solche Fragen hier zusammenkommen, umso besser. Jeder war mal Anfänger.

Edit: "Masse an Arduino-Masse und Plus am Pin 3" Ja, Pin A3
 
Zuletzt bearbeitet:

kalle123

Jugend forscht ....
1. Du lädst die Datei "oXs_config.h.FrSky_20A_3S_total.zip"

2. Entpackst die Datei. Dann wird aus "oXs_config.h.FrSky_20A_3S_total.zip" -> "oXs_config.h.FrSky_20A_3S_total"

3. Und dann die Datei "oXs_config.h.FrSky_20A_3S_total" umbenennen in "oXs_config.h"

War es das? Wir haben doch die originale "oXs_config.h" beiseite gelegt und oXs braucht ja eine für den Zweck angepaßte Version!


Hier mal ein Bild von meinem ACS758 hier. 2 Kondensatoren + 1 Widerstand, feddig!

Pass auf, wenn du den ACS758 aus Fernost hast. Da ist viel Müll im Umlauf. Notfalls vorher testen!
 

Anhänge

quax2011

Erfahrener Benutzer
Sodele, nochmal herzlichen Dank. Im Moment hab ich keinen Empfänger - den hat mein guter Kumpel und Namensvetter Jürgen zum umflashen auf LBT. Ich werde aber mal alle Vorbereitungen treffen inf das auf meinem Steckbrett "verdrahten" dann mich mit meinem Computer rumärgern der seit der Umstellung auf Win 10 an manchen Stellen muckt mir dir oxs 7 runterladen und da mal reinschauen. Damit hab ich noch nicht geschafft, da werden sicher noch ein paar Fragen zu beantworten sein.!

Jürgen
 
FPV1

Banggood

Oben Unten