Den MAG kannst du einfach so testen, dass du den Copter am PC anschließt und den Kompass im GUI kontrollierst während du Gas gibst. Immer schön die Propeller runter nehmen. Bzw. teste ich es immer mit Propeller, weil hier viel größere Ströme fliesen. Dann sollte man aber einen Helfer haben, der den Copter sicher auf den Boden drückt.
Und im Stand mal den Mag beobachten den Kopter neigen in alle 4 Richtungen kippen dann sollte die Ausrichtung in der GUI gleich bleiben . Ich mach dann noch einen Strich auf den Tisch N drehe immer um 90° dann sollte da Orten sein ....
Das ist nicht immer so ! Manchmal muß man 2-3 mal den Mag Kalibrieren (am besten im Freien) bis es klappt.
Dau hast ein Ublox GPS mit eprom da sollte es keine Rolle spielen wenn der akku leer ist.
Außerdem kannst du im sketch aktivieren :
/****** Serial com speed *********************************/
/* This is the speed of the serial interfaces */
#define SERIAL0_COM_SPEED 115200
#define SERIAL1_COM_SPEED 115200
#define SERIAL2_COM_SPEED 115200
#define SERIAL3_COM_SPEED 115200
#define GPS_SERIAL 2 // should be 2 for flyduino v2. It's the serial port number on arduino MEGA
//#define GPS_BAUD 57600
#define GPS_BAUD 115200
/* GPS protocol
NMEA - Standard NMEA protocol GGA, GSA and RMC sentences are needed
UBLOX - U-Blox binary protocol, use the ublox config file (u-blox-config.ublox.txt) from the source tree
With UBLOX you don't have to use GPS_FILTERING in multiwii code !!! */
// #define NMEA
#define UBLOX
/* GPS navigation can control the heading */
#define NAV_CONTROLS_HEADING false // copter faces toward the navigation point, maghold must be enabled for it
#define NAV_TAIL_FIRST false // true - copter comes in with tail first
#define NAV_SET_TAKEOFF_HEADING false // true - when copter arrives to home position it rotates it's head to takeoff direction
/* Get your magnetic decliniation from here :
http://magnetic-declination.com/
Convert the degree+minutes into decimal degree by ==> degree+minutes*(1/60)
Note the sign on declination it could be negative or positive (WEST or EAST) */
//#define MAG_DECLINIATION 3.96f //For Budapest Hungary.
#define MAG_DECLINIATION 2.43f
//#define GPS_FILTERING // add a 5 element moving average filter to GPS coordinates, helps eliminate gps noise but adds latency comment out to disable
#define GPS_LOW_SPEED_D_FILTER // below .5m/s speed ignore D term for POSHOLD_RATE, theoretically this also removed D term induced noise commnent out to disable
#define GPS_WP_RADIUS 100 // if we are within this distance to a waypoint then we consider it reached (distance is in cm)
#define NAV_SLEW_RATE 30 // Adds a rate control to nav output, will smoothen out nav angle spikes
Hier die PID
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>Wed Apr 03 18:01:51 CEST 2013</comment>
<entry key="pid.3.d">80.0</entry>
<entry key="power.trigger">0</entry>
<entry key="pid.2.i">0.045</entry>
<entry key="pid.1.p">5.1</entry>
<entry key="rc.yaw.rate">0.2</entry>
<entry key="pid.2.d">0.0</entry>
<entry key="pid.9.p">0.0</entry>
<entry key="pid.1.i">0.03</entry>
<entry key="pid.0.p">5.1</entry>
<entry key="pid.1.d">23.0</entry>
<entry key="pid.9.i">0.0</entry>
<entry key="pid.8.p">5.2</entry>
<entry key="pid.0.i">0.03</entry>
<entry key="pid.9.d">0.0</entry>
<entry key="pid.0.d">23.0</entry>
<entry key="pid.8.i">0.0</entry>
<entry key="pid.7.p">9.0</entry>
<entry key="pid.8.d">100.0</entry>
<entry key="rc.rate">1.6</entry>
<entry key="rc.throttle.mid">0.5</entry>
<entry key="rc.rollpitch.rate">0.3</entry>
<entry key="pid.7.i">0.01</entry>
<entry key="pid.6.p">2.4</entry>
<entry key="pid.7.d">100.0</entry>
<entry key="pid.6.i">0.2</entry>
<entry key="rc.expo">0.65</entry>
<entry key="pid.5.p">3.0</entry>
<entry key="pid.6.d">0.08</entry>
<entry key="pid.5.i">0.1</entry>
<entry key="rc.throttle.rate">0.0</entry>
<entry key="pid.4.p">0.2</entry>
<entry key="pid.5.d">0.045</entry>
<entry key="pid.4.i">0.0</entry>
<entry key="pid.3.p">10.0</entry>
<entry key="pid.4.d">0.0</entry>
<entry key="pid.3.i">0.03</entry>
<entry key="rc.throttle.expo">0.0</entry>
<entry key="pid.2.p">8.5</entry>
</properties>
Wenn 'ublox an ist sendet beim einschalten die FC automatisch die richtigen Konfigurationseinstellungen zum GPS.
Das erkennt man daran daß nachem rot und grün geflackert haben die Gelbe LED anfängt zu blinken. Manchmal muß ich allerdings den akku nochmal abziehen und gleich wieder anstecken daß die gelbe LED kommt.