MultiWii - Sensoren um 90° Drehen

MaxWin

(╯°□°)╯︵ ┻━┻
#1
Hi,

ich baue gerade ein Quad auf Ov3rquad rahmen auf. Leider passt mein MultiWii Pro (HobbyKing) nicht in Flugrichtung rein. Dazu ist es einfach zu breit :(

Im Sketch finde ich nur die Möglichkeit es um 45 Grad zu Drehen:

Code:
  #if defined(SENSORS_TILT_45DEG_RIGHT)
    int16_t temp  = ((gyroADC[PITCH] + gyroADC[ROLL] )*7)/10;
    gyroADC[ROLL] = ((gyroADC[ROLL]  - gyroADC[PITCH])*7)/10;
    gyroADC[PITCH]= temp;
  #endif
Leider werd ich aus der Rechnung für 45 Grad nicht Schlau. Weiß jemand wie ich mein Problem lösen könnte?

edit:
gerade bin ich über folgendes gestolpert:
(quelle: config.h - Zeilenumbrüche zur übersicht eingefügt)

Code:
/* enforce your individual sensor orientation - even overrides board specific defaults */
     //#define FORCE_ACC_ORIENTATION(X, Y, Z)  {
	accADC[ROLL]  =  Y; 
	accADC[PITCH]  = -X; 
	accADC[YAW]  = Z;}
	
//#define FORCE_GYRO_ORIENTATION(X, Y, Z) {
	gyroADC[ROLL] = -Y;
	gyroADC[PITCH] =  X; 
	gyroADC[YAW] = Z;}

//#define FORCE_MAG_ORIENTATION(X, Y, Z)  {
	magADC[ROLL]  =  X;
	magADC[PITCH]  =  Y;
	magADC[YAW]  = Z;}
Aber auch hier fehlt mir wieder das vorstellungsvermögen was ich denn mit was tauschen muss :confused:
Gruß
Max
 
Zuletzt bearbeitet:

MaxWin

(╯°□°)╯︵ ┻━┻
#5
So, ich war gestern abend fleißig bis nach Mitternacht und habe nun folgenden code und stand:

Code:
#if defined(FFIMUv2)
  #define ITG3200
  #define BMA180
  #define BMP085
  #define HMC5883
  #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]  =  Y; magADC[PITCH]  = -X; magADC[YAW]  = -Z;}
#endif

#if defined(FFIMUv2_Rotated_90_Right)
  #define ITG3200
  #define BMA180
  #define BMP085
  #define HMC5883
  #define ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  =  Y; accADC[PITCH]  = -X; accADC[YAW]  =  Z;}
  #define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] =  X; gyroADC[PITCH] = -Y; gyroADC[YAW] = -Z;}
  #define MAG_ORIENTATION(X, Y, Z)  {magADC[ROLL]  =  X; magADC[PITCH]  = Y; magADC[YAW]  = -Z;}
#endif
  • ACC sieht gut aus und modell dreht sich in MultiWiiConf gut.
  • Gyro bin ich mir nicht ganz sicher wo genau Positiv/Negativer ausschlag erwartet wird.
    Nase nach unten -> Positiv
    Drehen im Uhrzeigersinn -> Postiv
    Stehen auf dem Tisch -> Postiv (255)
  • Mag bin ich mir unsicher. Norden scheint zu stimmen aber warum ich 3 Achsen dafür brauche ist mir irgendwie unklar.

Meine Fragen zusammengefasst:
  • Stimmen meine Gyro-Werte?
  • Reicht es wenn der Mag nach Norden zeigt oder werden tatsächlich alle 3 Achsen verwendet?
  • Kann ich eigentlich die ARM-LED auf einen PIN legen?
  • Kann ich einen Kleinen Buzzer für ARM-Benachrichtung verwenden? Kleiner alter PC-Speaker?

Gruß
Max
 
Zuletzt bearbeitet:

Rober-t

Erfahrener Benutzer
#6
Meine Fragen zusammengefasst:

Stimmen meine Gyro-Werte?
Reicht es wenn der Mag nach Norden zeigt oder werden tatsächlich alle 3 Achsen verwendet?
Kann ich eigentlich die ARM-LED auf einen PIN legen?
Kann ich einen Kleinen Buzzer für ARM-Benachrichtung verwenden? Kleiner alter PC-Speaker?
1.) sieht soweit für mich gut aus, habs grad mal aufgemalt und komme auf die selben anpassungen.
2.) kenne es nur von anderen Projekten, da werden alle 3 Achsen verwendet.
3.) sollte möglich sein, wie weiss ich leider nicht.
4.) mit magnetischem speaker wird dein kompass verrückt, lass es lieber und nimm nen kleinen piezo summer weit weg vom kompass!
 

MaxWin

(╯°□°)╯︵ ┻━┻
#7
2.) kenne es nur von anderen Projekten, da werden alle 3 Achsen verwendet.

4.) mit magnetischem speaker wird dein kompass verrückt, lass es lieber und nimm nen kleinen piezo summer weit weg vom kompass!
2.) Das Problem ist das im Orignalzustand der Kompass auch irgendwie nicht genau war. Allerdings spielte er eh sehr verrückt in der nähe der ganzen Elektronik auf meinem Schreibtisch. Werde es mal morgen auf dem Balkon versuchen...

4.) Hatte so einen kleinen Piezo von einem Maiboard. Mit ca. 5cm kabel daran. Der sollte doch gehen hoffe ich.
 

MaxWin

(╯°□°)╯︵ ┻━┻
#8
So, nach einiger Bastelei konnte ich heute den ersten Testflug wagen. Leider endete es in einem ordentlichen überschlug über die Nase :(

Reicht es denn wenn ich die Sensoren drehe oder muss ich die Motoren auch drehen? Das brachte nämlich noch viel mehr zittern beim Hand-Test und ich hab mich garnicht mehr zum schweben getraut.

Jetzt wo ich so drüber nachdenke hab ich vielleicht einfach die Motoren am Anfang falsch gehabt und die idee mit dem Sensoren+Motoren um 90° drehen klingt irgendwie dämlich...

Muss ich denn noch irgendwas beachten? Gibt es einen Trick wie ich am schnellsten sehe ob die Motoren an ihren richtigen Plätzen sind?
Über einen Tipp wär ich dankbar, vielleicht schaff ich Morgen ja etwas. Wochenende soll schön werden ;)

Gruß
Max
 

m2m

Erfahrener Benutzer
#9
- jeweils diagonal gegnüberliegende Motoren haben gleiche Propeller (somit gleiche Laufrichtung)
- Propeller dürfen nicht nach oben "blasen" (Vorsichtig am Boden Testen. Man spürt es)
- MultiWii Motoranschlüsse beachten
 

MaxWin

(╯°□°)╯︵ ┻━┻
#10
- jeweils diagonal gegnüberliegende Motoren haben gleiche Propeller (somit gleiche Laufrichtung)
- Propeller dürfen nicht nach oben "blasen" (Vorsichtig am Boden Testen. Man spürt es)
- MultiWii Motoranschlüsse beachten
Danke m2m :)

Also ich hab es wieder auf Original zurückgebaut und nun geht es. Alles scheint auf den ersten Blick zu stimmen. Sobald ich es wirklich bestätigen kann poste ich gerne meine Config.

Leider hab ich eine Bleiente gebaut. 1450g will einfach nicht wirklich spaß machen :(
 
FPV1

Banggood

Oben Unten