tu dir und deiner Umwelt einen Gefallen und mach die Props runter wenn du an dem Copter rumdokterst! Du wärst nicht der Erste der sich wundert wieso ein Finger so Bluten kann...
Wahrscheinlich ist das besser, allerdings habe ich nie den Akku angeschlossen, wenn ich nicht draußen zum Testen bin. Bin wahrscheinlich trotzdem unvorsichtig.
sollte eigentlich passen wenn sich die Boarddesigner an die HW-Ausrichtung der MPU6050 gehalten haben.
Und wenn sie das einfach im Code "umgedreht" haben? Ich weiß nicht ob das geht, ich schreib die aber mal an.
eigentlich sollte entweder alles vertauscht sein, oder gar nichts.
Wenn Du den Copter drehst, welche Achsen sind falsch? Nur Nick (Pitch in der GUI)? Oder auch Roll? Eigentlich sollten beide falsch sein, wenn die MPU falsch eingebaut ist.
Das ist die Absatz in der Config.h welcher angepasst werden müsste:
/* individual sensor orientation */
//#define ACC_ORIENTATION(X, Y, Z) {accADC[ROLL] = Y; accADC[PITCH] = X; 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;}
Wie können wir nur sagen, wenn wir wissen welche Achsen wie vertauscht sind.
Zu deiner Info : nicht alles was Copyking und Co. zusammenbraten wird von dem Team um MultiWii berücksichtigt. Eher Entwicklungen von Sirius, Varesano (ehem.), Drotek, Flyduino, um ein paar wenige zu nennen. Und die drehen in ihrem Code nicht einfach irgendwas um, die schreiben den Code so das die Muster die sie von der IMU / FCU haben auch damit funktionieren. Alles andere ist try & error, und wenn jemand auf der Hardwareseite was zusammenbraten sollte was eben nicht der üblichen Ausrichtugn und den Angaben des Herstellers entspricht ( z.b. x und y Achse des Sensor missachtet ) dann ist es in erster Linie ein Hardware-Problem.
Wobei MultiWii ein offenes System ist das es erlaubt, in solchen Fällen trotzdem manuell die Ausrichtung der Sensorik noch zu verändern, dazu dient der Abschnitt /* individual sensor orientation */ im Block "Independent sensors" im obersten drittel der Config.h
Edit : Duke war schneller
_________________________________________________________________________________ "Leben ist das, was passiert, während du etwas ganz anderes planst" ... ( John Lennon )
Und dazu mein Vorschlag wie Du am besten vorgehen solltest:
im Absatz:
/* individual sensor orientation */
//#define ACC_ORIENTATION(X, Y, Z) {accADC[ROLL] = Y; accADC[PITCH] = X; 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;}
die ersten zwei Zeilen aktivieren, also "//" davor löschen. für ACC und Gyro die Zeichen weglassen, so dass die Zeilen so aussehen:
/* individual sensor orientation */
#define ACC_ORIENTATION(X, Y, Z) {accADC[ROLL] = Y; accADC[PITCH] = X; 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;}
Flashen, und testen wie in der GUI die Rotationen des Copters dargestellt werden, dabie merken welche Achsen vertauscht sind. sind die Achsen richtig, nur die Richtung falsch, dann den für den entsprechenden Zeichen für die entsprechende Achse ändern.
Sind auch die Achsne Vvertauscht (also in der GUI bei hochheben der Nase ändert sich Roll), dann müssen X und Y zuerst mal vertauscht werden.
Zuerst auf den Gyro achten, der Acc ist sekundär von Bedeutung. Ohne korrekte Gyrowerte wird er immer flippen. Paßt das erstmal läßt er sich schonmal fliegen, dann geht man her und setzt die Vorzeichen für den Acc entsprechend.
_________________________________________________________________________________ "Leben ist das, was passiert, während du etwas ganz anderes planst" ... ( John Lennon )
Nicht immer, der sollte wenn der Copter ruhig ist auf einen Wert um 512 stehen.
Wird der Copter gedreht, ändert sich dieser Wert mit. Habe es noch mal an meinen gestetet.Z ist ja die vertikale Achse und die ändert sich wenn der Copter gekippt wird oder er hoch oder runter geht.
Ist also richtig.
Jetzt dürfte nichts mehr den ersten Schwebeversuche im Wege stehen
Das ist dem Ding aber recht egal, weil die Z-Achse des Beschleunigungssensors gar nicht ausgewertet wird - zumindest, solange kein Barometer aktiv ist ( man mag mich korrigieren wenn es in der aktuellen Version mittlerweile anders sein sollte). Die Z-Achse ist schließlich die Höhen-Achse, und der Acc wurde bisher da nicht wirklich für herangezogen. Zu wissen wie bei einem Koordinatensystem die Achsen beschriftet sind kann bei der Beurteilung der Wirkrichtung der Sensoren ganz hilfreich sein, solltest du dir auf jeden Fall für zukünftige Projekte mal näher ansehen, macht es echt leichter.
_________________________________________________________________________________ "Leben ist das, was passiert, während du etwas ganz anderes planst" ... ( John Lennon )