Kompass verdreht?

eXc

Erfahrener Benutzer
#1
Hallo,

bei meinem CRIUS AIO PRO zeigt die MWC nach dem Aufspielen der V2.1 den Kompass um 90° verdreht an. Kann man das softwaretechnisch in den Griff bekommen bzw. was mache ich falsch.

mfg Christian
 

Metro23

Erfahrener Benutzer
#3
War bei mir auch so. Beim Wechsel von 1.8 auf 1.9 war auch alles verdreht.
Wenn der Kompass im Flug die Richtung hält ist es eigentlich egal.
 

Muhk

Erfahrener Benutzer
#4
hi. eXc

Hatte ich bei mir auch. Habe die Platine gedreht, aber eigentlich ist es wie Metro schon sagt egal. Er merkt sich nicht, dass er nach Norden schauen soll, sondern dass die Richtung beibehält. Da kann Norden auch wohl mal Süden sein ;)
 

eXc

Erfahrener Benutzer
#5
Hallo,

danke für die Antworten. Dachte das wäre jetzt unbedingt wichtig das der Pfeil der Platine auch nach Norden zeigt.

@ra-home: Ja das habe ich schon ein paar mal ausprobiert, aber ändern tut sich da so wirklich nichts.

@Muhk: Wenn Du die Platine gedreht hast, dann hat sich dadurch doch die ganze Gierung verdreht, muss man die dann anpassen?
 

Muhk

Erfahrener Benutzer
#6
Ich hatte das Magnetometer auf einer separaten Platine. Die konnte ich einfach drehen. Also laut Hersteller war das Ding richtig rum eingebaut, aber in der Software falsch.
 

ra-home

Erfahrener Benutzer
#8
Du kannst im Sketch die Wirkrichtungen für die Sensoren ändern. Musst mal schauen und probieren. Bei mir hat der Kompass aber in der 2.1 gepasst...
 

eXc

Erfahrener Benutzer
#9
Aber kann man damit auch die Ausrichtung des Kompass verändern? Bei ACC und Gyro verstehe ich das schon, aber bei Mag?

Müsste ja dann über X,-X; Y,-Y; Z,-Z zu ändern sein oder?
 

ra-home

Erfahrener Benutzer
#10
Ja kann man... Sollte aber ehr in Richtung gehen x->y und y ->x beziehungsweise mit minus... einfach mal testen. Wenn der kompass um 90° gedreht ist, ändert sich x zu y
Solange du aber keine gps nutzt brauchst du das nicht machen.. Wichtig ist nur das die drehrichtung übereinstimmt
 

bigbretl

Erfahrener Benutzer
#12
Wenn du meinst, dass bei deinem Compass zwar die Himmelsrichtung gezeigt wird, diese aber nicht mit der "Front" deines Copters übereinstimmt, musst du die Sensorwirkrichtungen anpassen. Nur das Sensorboard zu drehen bringt nicht viel, da sonst die anderen Sensoren wieder nicht stimmen und diese dann ebenfalls anpassen musst. Gehe dazu im Sketch auf den Reiter "def.h" und bei Zeile 419 (ca. nach 1/3) beginnt "IMU Orientations and Sensor definitions "
Dort suchst du dann dein Sensorboard. Beispielhaft sieht das dann so aus:
#define ACC_ORIENTATION(X, Y, Z) {accADC[ROLL] = -X; accADC[PITCH] = -Y; accADC[YAW] = Z;}
#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = Y; gyroADC[PITCH] = -X; gyroADC[YAW] = -Z;}
#define MAG_ORIENTATION(X, Y, Z) {magADC[ROLL] = X; magADC[PITCH] = Y; magADC[YAW] = -Z;}
Du müsstest jetzt bei MAG Orientation (hier nur Beispielhaft) bei Roll und Pitch das X u. Y hinter dem = vertauschen.
mit einem Minuszeichen vor dem Buchstaben kannst du die Wirkrichtung umkehren.
Die richtige Wirkrichtung prüfst du folgendermaßen in der GUI:
Links unten hast du für ACC, GYRO und MAG jeweils Roll, Pitch und Yaw (Z). Yaw ist die senkrechte bei der du in der Regel nur die Vorzeichen ändern musst, da ich keinen kenne der sein Sensorboard senkrecht verbaut.
Du stellst nun eine Verbindung zu deinem Copter her und prüfst die Wirkrichtung bei ACC. Rolle den Copter nach rechts, dann muss sich der Wert erhöhen (nach links verringern). Nicke den Copter nach vorne und der Nickwert muss sich erhöhen (nach hinten verringern). Drehe den Copter nach rechts (von oben in Uhrzeigersinn) dann muss sich der Z-Wert erhöhen und umgekehrt. Wenn es bei einer Fuktion nicht so ist dann schreib es dir auf. ZB. wenn beim Nicken der Wert für Roll sich ändert:
tausche ACC Nick mit Roll.
Wenn sich nur die Werte in die falsche Richtung ändern dann z. B. ACC Nick negativ (oder Vorzeichen weg).
Das ganze wiederhost du nun auch bei Gyro und Mag.
Ich bin mir jetzt nicht sicher, ob ich das verständlich ausgedrückt habe, falls nicht dann nochmal nachfragen.
Man sollte grundsätzlich die Wirkrichtungen prüfen und ggf. anpassen, da fast jeder seinen Sensor anders einbaut.

Gruß bigbretl
 

Bamfax

Erfahrener Benutzer
#13
Danke für eure Antworten.

Hab auch bis gerade mit dem selben Problem gekämpft. Hab mir zur Nanowii ein BOB (CJMCU-CF) von GLB gekauft, und das war auch um 90 grad verdreht. Egal, wie ich die Wirkrichtungen einstellte (sah mir zumindest so aus), hatte ich's nie richtig hinbekommen. Kalibriert hatte ich's immer. Aber anstatt der Nordrichtung wurde mal Osten, mal Süden oder anderes angezeigt. Mal drehte man den Copter um wenige Grad, dafür sprang das Heading gleich um 90 Grad und mehr.

Rollen und Pitchen brachten das Heading komplett durcheinander - oder eben nur ein bisschen.

Naja, die Geschichte kann man kürzen. Jetzt funzt es - es waren wirklich nur die Wirkrichtungen.

Folgende Definition funzt bei mir, bei der Einbaurichtung wie im Bild unten. Die CJMCU-CF hat aber mehrere Varianten - hab das Bild ganz schrecklich nachbearbeitet, damit es so aussieht, wie meiner.

#define MAG_ORIENTATION(X, Y, Z) {magADC[ROLL] = Y; magADC[PITCH] = -X ; magADC[YAW] = -Z;}

Der Kompass zeigt jetzt nach Norden, wenn der Copter nach Norden schaut. Das Heading wird nicht beeinflusst, wenn der Copter Pitch't oder Roll't. Die Sensor Achsen verändern sich jetzt so, wie im MW FAQ beschrieben:

TILT the MULTI to the RIGHT (left side up):
MAG_ROLL, ACC_ROLL and GYRO_ROLL goes up
MAG_Z and ACC_Z goes down

TILT the MULTI forward (tail up):
MAG_PITCH, ACC_PITCH and GYRO_PITCH goes up
MAG_Z and ACC_Z goes down

Rotating the copter clockwise (YAW):
GYRO_YAW goes up

The copter stays level:
MAG_Z is positive ; ACC_Z is positive

 
FPV1

Banggood

Oben Unten