OXSENS OpenXsensor - Erste Schritte und Problem

  • Themenstarter Deleted member 51580
  • Beginndatum
#41
Ich kann zwar lesen aber ich habe keine Ahnung wo ich die test1.value hin kopieren soll, genauso wenig wo ich es auf true setzen soll.

Mir ist schon klar wenn man etwas lange macht und dadurch gut kennt wird es zur Selbstverständlichkeit und man kann nur schwer verstehen warum ein anderer das nicht kapiert.
Das ist eine Änderung im Code und keine Standardfunktion. Die Informationen sind alle da (bei Hott-Telemetrie wird die Information z.B. übertragen, die Variable heißt "GPS_numSat"). Jetzt such die Stellen im Code, wo mstrens die test1.value einsetzt, vermutlich in der openXsensor.ino und kopiere das Vorgehen für die Anzahl der Satelliten.

Oder warte bis Stoschek oder jemand anders das durchgezogen hat. Ich habe eine andere Baustelle zur Zeit.

Edit: Hier erklärt es mstrens
 
Zuletzt bearbeitet:
#43
Ich hab noch einen Link oben reineditiert, hast du den gesehen? Dachte nicht, dass du so schnell bist ;)

Edit: das muss danach rein (Zeile 747)

void calculateAllFields () {
 
Zuletzt bearbeitet:
D

Deleted member 51580

Gast
#45
Hi Stoschek,

Ich danke dir vielmals für die funktionierende Datei, das hätte ich mit meinem jetzigen wissen nie hin bekommen.
Durch das ganze rum probieren ohne Ahnung habe ich mir aber ein neues Problem gebastelt.

Meine jetzige Config besteht aus Arduino Nano oder Mini ( hab beide)
Als Sensoren kommen ein Ublox M8N, GY-63 MS5611-01BA03 und MPU-6050, ein 4525DO-DS5AI001DP kommt noch.

Wenn von euch noch jemand ein Staudruck rohr zu verkaufen hat, bitte melden.

Das hat bis heute Mittag auch Prima funktioniert, es wurden alle Daten auf die Horus übertragen.
Nach dem ich versucht habe die Ino abzuändern so das die Sats angezeigt werden, kommt kein wert mehr für ACC X,Y und Z vom MPU-6050.
Bei der Sensor suche taucht er auch nicht mehr auf.


in der Config.h habe ich es aber aktiviert und auf Pin 2 umgestellt, das sieht dann so aus.
Ich kann mich nicht daran erinnern was ich gestern noch angestellt habe damit die Werte Angezeigt werden.

Was habe ich übersehen, vergessen oder falsch gemacht?


/ --------- 12 - IMU 6050 --- (accelerometer + gyro -----------------------------------------------------------------
#define USE_6050 // uncomment this line if a IMU 6050 is connected
#define PIN_INT_6050 2 // Interrupt from 6050 has to be connected to Arduino pin 2 or pin 3 (do not use here the same pin as PPM)
#define ACC_OFFSET_X -160 // fill here the first value reported when DISPLAY_ACC_OFFSET is activated (eg. -160)
#define ACC_OFFSET_Y -150 // fill here the second value reported when DISPLAY_ACC_OFFSET is activated (eg. -150)
#define ACC_OFFSET_Z -1100 // fill here the third value reported when DISPLAY_ACC_OFFSET is activated (eg. -1100)
//#define DISPLAY_ACC_OFFSET // used ONLY in order to display the acceleration offset on pc terminal; KEEP AS COMMENT once offsets have been setup
Wenn hier noch mal jemand drüber schauen kann wäre ich sehr dankbar und halte dann auch erst mal Ruhe und nerv erst mal nicht weiter. :D

Möchte gerne noch passend zum Frühjahr einen neunen gebrauchten Segler fertig aufbauen in den die Sensorik rein kommt.
 
Zuletzt bearbeitet von einem Moderator:
D

Deleted member 51580

Gast
#46
Hat sich erledigt hab den Fehler gefunden.

Juhuuuuuu
Jetzt mach ich erst mal ein Kopie von der Datei!
 
Zuletzt bearbeitet von einem Moderator:
#47
Hallo Mario,

dürfte man die Datei auch haben :) Ich bin gerade dabei ein Arduino mini mit GY-63 MS6511, GPS Ublox M6N und MPU-6050 aufzubauen.

Gruß Udo
 
#48
Sollten wir nicht lieber mit den "Ersten Schritten" weitermachen, als hier einen Bettelthread zu eröffnen? Stoschek hat doch oben die funktionierende Sat-Anzeige-Variante veröffentlicht. Es sind nur ein paar Änderungen in der oXs_config.h zu machen:

Hier könnte man statt FIRST_BARO auch BARO_AND_IMU (wenn ein IMU angeschlossen und aktiviert ist - siehe unten) nehmen, um das IMU beschleunigte Vario zu bekommen, einfach hinten kopieren und vorne überschreiben - muss aber nicht sein, FIRST_BARO ist auch schon viel schneller als das FrSky Vario, umstellen kann man später immer noch.
Code:
// ***** 4.5 - Vertical speeds calculations *****
#define VARIO_PRIMARY       FIRST_BARO        // select between FIRST_BARO, SECOND_BARO , AVERAGE_FIRST_SECOND, AIRSPEED_COMPENSATED , BARO_AND_IMU
Hier misst er eine Spannung an A0, will man das nicht, einfach // davorsetzen --> und es ist auskommentiert und damit deaktiviert
Code:
// ***** 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.
Hier misst er Strom an A7, will man das nicht, einfach // vor die erste Zeile setzen --> und es ist auskommentiert und damit deaktiviert
Code:
// ***** 6.4 - Current parameters  *****
#define PIN_CURRENTSENSOR   7
#define MVOLT_AT_ZERO_AMP              480    // in millivolt
#define MVOLT_PER_AMP                  130      // in milliVolt per Amp
Hier wird bestimmt, was im Feld VSpeed übertragen wird, erst mal das Gleiche wie oben einsetzen, also FIRST_BARO oder BARO_AND_IMU

Code:
// --------- 9 - Data to transmit ---------
#define VSPEED_SOURCE  FIRST_BARO       // select between FIRST_BARO, SECOND_BARO , AVERAGE_FIRST_SECOND, AIRSPEED_COMPENSATED , BARO_AND_IMU or PPM_SELECTION
Wollen wir in VFAS die Spannung von oben übertragen, bleibt es so, wenn nicht, einfach // davorsetzen --> und es ist auskommentiert und damit deaktiviert
Code:
// ***** 9.1 - Frsky data *****
#define VFAS_SOURCE   VOLT_1                 // select between VOLT_1, VOLT_2, VOLT_3 , VOLT_4, VOLT_5 , VOLT_6
GPS läuft....., wenn man will, kann man den 3D Speed aktivieren, indem man die Kommentierung // entfernt.
Code:
// --------- 11 - GPS ------------------------------------------------------------------------------------------------
#define GPS_INSTALLED     // uncomment this line if a GPS is connected
#define GPS_SPEED_IN_KMH  // uncomment this line if GPS speed has to be sent in km/h instead of knot/h (only for Frsky protocol)
//#define GPS_SPEED_3D      // uncomment this line if GPS speed has to be the 3d speed instead of the 2d speed (note: 3d is probably less accurate - to test)
Um IMU zu aktivieren, man ahnt es, entfernt man die Kommentierung // vor #define USE_6050 und wichtig!! den korrekten PIN, es geht nur 2 oder 3, eingeben - ich nehme 2, so ist auch die Verdrahtungsempfehlungen von mir im 2. Post
Code:
// --------- 12 - IMU 6050 --- (accelerometer + gyro -----------------------------------------------------------------
//#define USE_6050 // uncomment this line if a IMU 6050 is connected
#define PIN_INT_6050 3   // Interrupt from 6050 has to be connected to Arduino pin 2 or pin 3 (do not use here the same pin as PPM)
Jetzt geht es nochmal nach oben, wir wollen ja die drei ACC-Werte auch übertragen. Dazu müssen wir nur bei den 3 Zeilen mit ACCX/Y/Z_SOURCE die Kommentierung entfernen:
Code:
// --------- 9 - Data to transmit ---------
#define VSPEED_SOURCE  FIRST_BARO       // select between FIRST_BARO, SECOND_BARO , AVERAGE_FIRST_SECOND, AIRSPEED_COMPENSATED , BARO_AND_IMU or PPM_SELECTION
// ***** 9.1 - Frsky data *****
#define VFAS_SOURCE   VOLT_1                 // select between VOLT_1, VOLT_2, VOLT_3 , VOLT_4, VOLT_5 , VOLT_6
//#define FUEL_SOURCE   VOLT_1                 // select between VOLT_1, VOLT_2, VOLT_3 , VOLT_4, VOLT_5 , VOLT_6
//#define A3_SOURCE     VOLT_1                 // select between VOLT_1, VOLT_2, VOLT_3 , VOLT_4, VOLT_5 , VOLT_6
//#define A4_SOURCE     VOLT_1                 // select between VOLT_1, VOLT_2, VOLT_3 , VOLT_4, VOLT_5 , VOLT_6
//#define ACCX_SOURCE     PITCH                   //  select between TEST_1, TEST_2, TEST_3, GLIDER_RATIO , SECONDS_SINCE_T0 ,AVERAGE_VSPEED_SINCE_TO , VOLT_1, VOLT_2, VOLT_3, VOLT_4, VOLT_5, VOLT_6, PITCH, ROLL , YAW 
//#define ACCY_SOURCE     ROLL                 //  select between TEST_1, TEST_2, TEST_3, GLIDER_RATIO , SECONDS_SINCE_T0 ,AVERAGE_VSPEED_SINCE_TO , VOLT_1, VOLT_2, VOLT_3, VOLT_4, VOLT_5, VOLT_6, PITCH, ROLL , YAW
//#define ACCZ_SOURCE     YAW                 //  select between TEST_1, TEST_2, TEST_3, GLIDER_RATIO , SECONDS_SINCE_T0 ,AVERAGE_VSPEED_SINCE_TO , VOLT_1, VOLT_2, VOLT_3, VOLT_4, VOLT_5, VOLT_6, PITCH, ROLL , YAW
//#define T1_SOURCE       TEST_1                   //  select between TEST_1, TEST_2, TEST_3 , GLIDER_RATIO , SECONDS_SINCE_T0 ,AVERAGE_VSPEED_SINCE_TO , SENSITIVITY, PPM, VOLT_1, VOLT_2, VOLT_3, VOLT_4, VOLT_5, VOLT_6
#define T2_SOURCE       TEST_1                     //  select between TEST_1, TEST_2, TEST_3, , GLIDER_RATIO, SECONDS_SINCE_T0 ,AVERAGE_VSPEED_SINCE_TO , SENSITIVITY, PPM, VOLT_1, VOLT_2, VOLT_3, VOLT_4, VOLT_5, VOLT_6
Einfacher geht es leider nicht, aber wenn man mal ein bißchen rumprobiert hat, versteht man den Ablauf relativ schnell. Das Beste ist: man kann nix kaputtmachen. Der openXsensor ist so sensationell gut, dass man die paar Kopfschmerzen am Anfang schnell vergessen hat.

Um die Beschreibung besser zu machen, wäre es gut, wenn Infos kommen, wo etwas unverständlich ist. Das kann man dann ändern oder vertiefen.
 
Zuletzt bearbeitet:
#49
Hallo Carbonator,
vielen Dank für den "Bettelthread". Aber ich bin der Meinung, es ist nicht jeder so erhaben über diese Dinge wie du und wenn ich richtig gelesen habe heißt das Thema hier: OpenXsensor - Erste Schritte und Problem.
 
#50
Ich hoffe, dass nicht jeder das so sieht wie du. Ich gebe mir Mühe, damit nach Möglichkeit jeder die Chance hat, seinen openXsensor zu bauen und zu konfigurieren - gerade ohne jemanden anbetteln zu müssen. Der openXsensor ist opensource und damit zu jedermanns Verfügung. Ich möchte eben genau nicht, dass das Thema "Herrschaftswissen" ist, sondern das Gegenteil.

Ich verstehe, dass das erst mal schlimm aussieht, aber es ist viel einfacher als man vermutet. Das Erfolgserlebnis, wenn der erste selbstgebaute und -konfigurierte oXs läuft, ist die 1/2 Stunde Konzentration allemal wert.

Edit: Nur zur Sicherheit, das oben zitierte steht alles schon komplett so in der oXs_config.h drin, es geht wirklich nur darum, Schrägstriche zu löschen, oder einzufügen. Wenn man die oXs_config.h in der Arduino IDE öffnet, sieht man gleich, worum es geht. Nicht abschrecken lassen!

Mal sehen, die Hoffnung stirbt zuletzt.

Für den Fall, dass ich komplett auf der falschen Spur unterwegs bin:
Nicht getestet, sollte aber funktionieren:
Anhang anzeigen openXsensor.zip
 
Zuletzt bearbeitet:
D

Deleted member 51580

Gast
#51
Hallo Mario,

dürfte man die Datei auch haben :) Ich bin gerade dabei ein Arduino mini mit GY-63 MS6511, GPS Ublox M6N und MPU-6050 aufzubauen.

Gruß Udo
Hi Udo,

ich kann die Datei gerne einstellen, ist aber gleich wie im Post #50.
Sag bescheid.

Im Moment kämpfe ich mit dem OxS Sketch um weitere Werte zu übertragen, was aber irgendwie nicht so klappt wie ich mir das Vorstelle.

Ich würde gerne den Wert für GPS_hdop und GPS_distance übertragen.
Dann ist heute der Differenzdruck Sensor gekommen, den werde ich als jetzt als erstes verbauen.

Brauche mal einen Moment Pause vom Sketch "lesen" und versuche zu verstehen was der gute da alles so geschrieben hat.
Übrigens alle Achtung vor Mike, der kann es wirklich, aber um so schwerer wird es für jemanden der es eben nicht kann.
 
#53
gps distance = Entfernung wird eigentlich nicht vom Sensor übertragen sondern in der Taranis Berechnet:

auf den Telemetrieseiten einen neuen "Sensor" anlegen mit Typ Berechnung, Quelle dein Gps Sensor. 2D Entfernung so, wenn du dann einen Höhensensor eingibst wird damit die 3D-Entfernung Berechnet.
Dieses Verfahren funktioniert sowohl beim OXS als auch beim FRSKY GPS..
Als "Startpunkt" zählt dabei die erste empfangene Koordinate.

Ralf
 
Zuletzt bearbeitet:
D

Deleted member 51580

Gast
#54
Das ist richtig Ralf, das habe ich bis jetzt auch immer so gemacht, aber ich habe in der Config vom OXS diese zwei werte GPS_hdop und GPS_distance gefunden und wollte gerne das der Ardu das übernimmt.

Beim GPS_hdop würde das nicht funktionieren.
 

kalle123

Jugend forscht ....
#55
Mit oXs und M-Link geht das wohl

// ***** 9.3 - Multiplex data *****
#define SETUP_MULTIPLEX_DATA_TO_SEND \
4 , GPS_COURSE , 1 , 1 , 0 , -16384 , 16383 , \
5 , GPS_SPEED , 1 , 1 , 0 , -16384 , 16383 , \
6 , GPS_ALTITUDE , 1 , 1 , 0 , -16384 , 16383 , \
7 , GPS_DISTANCE , 1 , 1 , 0 , -16384 , 16383 , \
8 , GPS_BEARING , 1 , 1 , 0 , -16384 , 16383
cu KH
 
#56
Was spricht dagegen, das genauso wie bei der Satanzahl zu machen?
 
D

Deleted member 51580

Gast
#57
Dagegen spricht der Sketch oder mein Momentanes (Wissen / können) es wird zwar mehr aber nicht so schnell wie ich das gerne hätte... oder brauche sind noch viele :???: vorhanden.

Im Sketch sind diese Zeilen kommentiert, wenn ich die Kommentierung entferne bekomme ich beim Kompilieren eine Fehlermeldung.

1.JPG

2.JPG

diese Zeilen habe ich zusätzlich erstellt.
3.JPG

Wo der Fehler jetzt ist wissen die Götter oder jemand der sich auskennt, habe jetzt schon viiiieeeeleeee Stunden damit verbracht aber eine Lösung hab ich noch nicht gefunden.
Diese Bemerkung Not used currently im Sketch lässt mich langsam zweifeln.
Vielleicht kann man den Wert HDOP auch gar nicht übertragen.
 
#58
Da fehlt vermutlich nur die Kommentierung:

GPS_hdop = _buffer.solution.position_DOP; //Not used currently
 
FPV1

Banggood

Oben Unten