Bitte um Hilfe zu Problem mit MultiwiiConf

Terry

Erfahrener Benutzer
#1
Hallo zusammen
Bin gerade als Multiwii Newbi an der Nanowii proggen. Habe zwei Probleme bringe nun jedoch das erste mit der Hoffnung, dass mir jemand helfen kann. Also folgendes: Wenn ich in der MultiwiiConf den Copter mit Pitch als Test auf der Tischplatte nach vorne bewege, sehe ich in der Anzeige, sowohl die Neigung aber ebenso, dass die FC über Roll links wegdreht. Wenn ich den Copter über Pitch nach hinten bewege, zeigt die Anzeige Richtung Horizont aber ebenso dreht die FC über Roll links (dabei achte ich, dass die Ausleger vorne wie hinten schön paralell auf der Tischplatte bleiben. Intressanterweise wenn ich den Copter über Roll links wie rechts bewege zeigt dies die Anzeige auch korrekt an... :confused:... Ich hoffe ich habe mich verständlich ausgedrückt ...und bitte nicht schlagen wenn dies schon mal behandelt wurde.
Viele Grüsse: Terry
 

kl_Haribo

ergebener Benutzer
#2
Hmm, sprichchst du den FC über Satellit an? evtl hast du dann nicht die richtige Senderreihenfolge eingestellt. Schaue mal in deiner config.h ob du alle Einstellungen für deine Fernsteurung richtig gemacht hast.
Wenn ich dich richtig verstanden habe, dann gibst du pitch, und _zusätzlich_ gewegt sich roll mit, als wenn dort ein Mischer aktiv wäre. Hatte ich auch schon mal, da wars halt in der config nicht richtig.
 

Terry

Erfahrener Benutzer
#3
Hallo kl_Haribo
Danke für die Antwort. Ich habe nicht Pitch gebend an der Funke, sondern effektiv den Copter von Hand in die Richtungen bewegend, wo dies auf der Wiiconfig ersichtlich ist gemeint. Sorry, ich habe mich anscheindend doch nicht verständlich ausgedrückt...
Viele Grüsse: Terry
 
#4
Hallo Terry,

Ich für meinen Teil hatte genau das mal mit einer MPU 6050 Platine (flip Boad).
Dort stimmte die Sensorausrichtung nicht ,welche im sketch eingestellt war .

Oder könnte es sein das ,das Boad 90° verdreht auf dem Copter sitzt ?


LG Magnus
 

donandi

Well-known member
#5
mach mal einen reset, frischen sketch einspielen. dann kalibrieren.
 

Terry

Erfahrener Benutzer
#6
Hallo, ich bedanke mich für die Hinweise. @ Magnus70 - richtig, damit ich zum USB Stecker an dem HH Nano rankomme habe, ich das Board um 45 Grad nach links gedreht. Die Zeile im Sketch habe ich jedoch auch kommentiert. Ansonsten würde die Bewegung über Roll ja auch nicht korrekt angezeigt... @ donati - habe ich auch bereits über Epromm Clear gemacht und den Sketch neu aufgespielt... ?... hmmm... Was könnte ich noch weiter versuchen?... bin ratlos... Viele Grüsse: Terry
 

Terry

Erfahrener Benutzer
#7
Hallo zusammen
Ich glaube die Lösung meines Rätsels gefunden zu haben... ich depp... das Board habe ich ja um 90 Grad nach links gedreht und im Sketch die Vorgabe von 45 Grad über Yaw gewählt. Muss das Heute Abend versuchen. Die Frage die sich mir nun stellt ist, ob ich im Sketch die vorgegebene Zeile die Zahl 45 Grad einfach mit der Zahl 90 überschreiben kann?
Danke im voraus für die Hilfe...
Viele Grüsse: Terry
 
Zuletzt bearbeitet:

meute

Erfahrener Benutzer
#8
Hallo,

Ich glaube die Lösung meines Rätsels gefunden zu haben... ich depp... das Board habe ich ja um 90 Grad nach links gedreht und im Sketch die Vorgabe von 45 Grad über Yaw gewählt. Muss das Heute Abend versuchen.
Gibt es neue Erkentnisse?


Gruß
meute
 

konus123

Erfahrener Benutzer
#9
nein . das geht nicht so einfach . hinter
//#define SENSORS_TILT_45DEG_RIGHT
verbirgt sich ein verweis tiefer in die Software wo die Berechnung für das verdrehen gemacht wird, und zwar nach hierhin in die sensors.cpp zu diesem eintrag

#if defined(SENSORS_TILT_45DEG_LEFT)
int16_t temp = ((imu.gyroADC[PITCH] - imu.gyroADC[ROLL] )*7)/10;
imu.gyroADC[ROLL] = ((imu.gyroADC[ROLL] + imu.gyroADC[PITCH])*7)/10;
imu.gyroADC[PITCH]= temp;
#endif
#if defined(SENSORS_TILT_45DEG_RIGHT)
int16_t temp = ((imu.gyroADC[PITCH] + imu.gyroADC[ROLL] )*7)/10;
imu.gyroADC[ROLL] = ((imu.gyroADC[ROLL] - imu.gyroADC[PITCH])*7)/10;
imu.gyroADC[PITCH]= temp;

da kann man nicht einfach beliebig irgend welche zahlen austauschen

wenn es ein Problem ist die usb buchse zu erreichen einfach ein kleine usb- verlängerungskabel mit einbauen.

Micro USB-auf-Mini USB


Alex
 

Terry

Erfahrener Benutzer
#10
Hallo

Ja, die gibt es... Netstrac hat mir freundlicherweise geholfen. Wenn die FC um 90 Grad gegen den Uhrzeiger nach links gedreht wird, muss in den def.h folgendes geändert werden:

gehe in die defs.h ungefähr bei Zeile 930 findest Du das hier:
Code:
#if defined(NANOWII)
  #define MPU6050
  #define ACC_ORIENTATION(X, Y, Z)  {imu.accADC[ROLL]  = -Y; imu.accADC[PITCH]  =  X; imu.accADC[YAW]  =  Z;}
  #define GYRO_ORIENTATION(X, Y, Z) {imu.gyroADC[ROLL] = -X; imu.gyroADC[PITCH] = -Y; imu.gyroADC[YAW] = -Z;}
die zwei Defines für die Orientation tauscht Du einfach mit diesen Zeilen:
Code:
  // 90 Grad Counter Clock Wise
  #define ACC_ORIENTATION(X, Y, Z)  {imu.accADC[ROLL]  = -X; imu.accADC[PITCH]  = -Y; imu.accADC[YAW]  =  Z;}
  #define GYRO_ORIENTATION(X, Y, Z) {imu.gyroADC[ROLL] =  Y; imu.gyroADC[PITCH] = -X; imu.gyroADC[YAW] = -Z;}

Und es funktioniert nun wie gewollt :popcorn:

@konus123 ... das gekabel kannst Du Dir so sparen ... :D

Viele Grüsse: Terry
 
Zuletzt bearbeitet:
FPV1

Banggood

Oben Unten