PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MAG Calibrieren - wie ?



konus123
23.01.2012, 17:48
hi an alle,
hab jetzt endlich mal meine FreeIMU 0.3.5 BMP eingebaut. hab nur das prob. dass ich ja den mag noch calibrieren muss. hab das auch mal irgendwo gelesen aber ich find nicht mehr wo !!!
hat da einer nen tip für mich ( wo es steht oder wie es geht)?
grüsse

alex

Crizz
24.01.2012, 07:42
Nachdem du in der GUI auf den zugehörigen Button geclickt hast, die IMU ( bzw. den ganzen Copter ) jeweils min. 1x um jeder Achse drehen, so das auf jeder Achse eine volle 360° Drehung durchgeführt ist. Wenn alle Achsen erkannt wurden wechselt das hektische LED-blinken der Pin13-LED wieder auf das normale Signal.

konus123
24.01.2012, 12:43
ha, danke dir. genau das wars. werds heut abend gleich tun.

thx

alex

Crizz
24.01.2012, 13:19
Solltest du das Problem haben, das der Copter trotz kalibriertem Mag selbständig giert, mach noch mal ne Kalibrierung und drehe ihn zuerst 2x um die Gierachse, bevor du die anderen Achsen angehst.

Soll übrigens auch funzen wenn man nach dem klick auf "cal." den FTDI abzieht, dann hat man weniger Probleme mit dem USB-Kabel. ( es sei denn man hat eh nen BT-Modul drauf )

Imperator
27.01.2012, 12:56
Hallo zusammen,

habe mal eben mein FreeIMU 0.3.5 BMP eingebaut, irgendwie scheinen die Richtungen im GUI nicht zu stimmen...Wenn ich den Copter in der Hand halte und mit der Funke steuer scheinen die Richtungen zu stimmen ???

Weiss jemand einen Rat.

Grüsse

Niko

Michael Brakhage
27.01.2012, 13:20
Hallo

es gibt auch noch eine elegantere Methode die MAG Kalibrierung zu starten. Alles ohne GUI !

schaut euch mal eure MultiWii.pde oder MultiWii.ino an. Ab Zeile 416 in etwa kommt dieser Teil:


} else if (rcData[THROTTLE] > MAXCHECK && armed == 0) {
if (rcData[YAW] < MINCHECK && rcData[PITCH] < MINCHECK) { //throttle=max, yaw=left, pitch=min
if (rcDelayCommand == 20) calibratingA=400;
rcDelayCommand++;
} else if (rcData[PITCH] > MAXCHECK) {
accTrim[PITCH]+=2;writeParams();
#if defined(LED_RING)
blinkLedRing();
#endif
} else if (rcData[PITCH] < MINCHECK) {
accTrim[PITCH]-=2;writeParams();
#if defined(LED_RING)
blinkLedRing();
#endif
} else if (rcData[ROLL] > MAXCHECK) {
accTrim[ROLL]+=2;writeParams();
#if defined(LED_RING)
blinkLedRing();
#endif
} else if (rcData[ROLL] < MINCHECK) {
accTrim[ROLL]-=2;writeParams();
#if defined(LED_RING)
blinkLedRing();
#endif
} else {
rcDelayCommand = 0;
}
}

Ändert diesen Teil wie folgt ab:


} else if (rcData[THROTTLE] > MAXCHECK && armed == 0) {
if (rcData[YAW] < MINCHECK && rcData[PITCH] < MINCHECK) { //throttle=max, yaw=left, pitch=min
if (rcDelayCommand == 20) calibratingA=400;
rcDelayCommand++;
} else if (rcData[YAW] > MAXCHECK && rcData[PITCH] < MINCHECK) { //throttle=max, yaw=right, pitch=min
if (rcDelayCommand == 20) calibratingM=1; // MAG calibration request
rcDelayCommand++;
} else if (rcData[PITCH] > MAXCHECK) {
accTrim[PITCH]+=2;writeParams();
#if defined(LED_RING)
blinkLedRing();
#endif
} else if (rcData[PITCH] < MINCHECK) {
accTrim[PITCH]-=2;writeParams();
#if defined(LED_RING)
blinkLedRing();
#endif
} else if (rcData[ROLL] > MAXCHECK) {
accTrim[ROLL]+=2;writeParams();
#if defined(LED_RING)
blinkLedRing();
#endif
} else if (rcData[ROLL] < MINCHECK) {
accTrim[ROLL]-=2;writeParams();
#if defined(LED_RING)
blinkLedRing();
#endif
} else {
rcDelayCommand = 0;
}
}

Nun könnt ihr draussen im Feld oder wo auch immer mit folgender Stick-Kombination die Kalibrierung starten:


Die Motore müssen aus sein !!!!
GAS/Throttle nach oben
YAW nach rechts
Nick nach unten/hinten

nun blinkt die Status-LED und ihr könnt die Kalibrierung starten. Am besten alle Achsen 2mal drehen!
Aber schnell schnell :) die Zeit zum Kalibrieren beträgt mas. 30 Sekunden :)


Danke an HAMBURGER für diesen Code!

Eckart Müller
28.01.2012, 11:30
@ Michael und alle Anderen

Von Silvan (Rollfeldraser) ist im :rcn:-WIKI eine zentrale "Sammelstelle (http://wiki.rc-network.de/index.php/Multiwii_Probleme_und_L%C3%B6sungen)" für Problemlösungen in Sachen MultiWii eingerichtet worden. Das ist für alle hilfreich, da damit die mühsame und zeitraubende Durchforstung der zahlreichen, verteilten Threads entfällt.
Dein Beitrag passt dort natürlich auch gut hin. Ist eigentlich zwingend notwendig, den dort zu positionieren!

Eckart

Michael Brakhage
28.01.2012, 15:24
Schrecklich viel los ist in dem Wiki aber noch nicht :)

werd mich mal schlau machen wie das geht.
Es gibt einige gute Tips zu MultiWii. Sind aber nicht alle frei verfügbar. Werde mal nachfragen ob ich es verlinken darf.

Eckart Müller
28.01.2012, 16:31
Schrecklich viel los ist in dem Wiki aber noch nicht :)

Ist ja auch noch druckfrisch...;) ...außerdem ist das wie immer, alle Welt ruft nach solchen Sachen, nur wenn's drauf ankommt, findet sich niemand, der auch mal was beisteuern will. Woher sollen denn dann all' die interessanten Dinge kommen?

Eckart