GPS Code Änderungen

Roberto

Erfahrener Benutzer
Danke, RalfB für die Blumen!
Heftiger Kopter! Ist das ein fertiges Frame oder mit Perwoll selbst gewaschen?
Da EOS Bandi jetzt reinhaut, kann ich entspannen.
Letztendlich muss man sagen, das Aufscheuchen im APM und Multiwii Forum hat richtig etwas bewirkt. - Damit hätte ich nicht gerechnet. Bis die Bandi I2C Version fertig ist, kann man auch genau so gut mit der fahren http://fpv-community.de/showthread.php?18985-GPS-Code-%C4nderungen&p=252315&viewfull=1#post252315. Die MTK FW 1.9 muss wirklich eine krasse Verbesserung darstellen nach dem, was man von den APM Entwicklern so liesst. Wenn Drotek noch in die Hüften kommt, gibt es auch bald die passende FW für MTK 3339. Zum Flugtesten bin ich hauptsächlich aus Bequemlichkeit bei dem "schönen" Wetter nicht gekommen. Mal sehen, ob Wollez testen war. Ob der Spikefilter einen praktischen Nutzen hat oder nur sinnlos vor sich hin orgelt, weil die MTK FW schon schön vorgekaute Daten liefert, muss sich natürlich noch im Flug zeigen. Abschaltbar ist er in jedem Fall.

LG
Rob
 

Wollez

Erfahrener Benutzer
Hallo zusammen,

ja, ich war heute beim fliegen. Es war zwar trocken aber sehr windig.
So richtig wollte es bei mir nicht klappen, doch das lag nicht am GPS. Das hat spitze funktioniert. Es ist ein Unterschied zwischen Tag und Nacht. Leider hat zum einen mein Testframe einen Macken (ist total verzogen) zum anderen habe ich den original MutiWii Scatch 2.1 ohne Robertos Baro Änderung verwendet. Deshalb musste ich immer wieder mal eingreifen, da er durch das korrigieren der Höhe solche Sprünge gemacht hat, dass ich ihn nicht alleine lassen konnte. Wenn es jedoch mal kurz Windstill und er gerade nicht mit der Höhe beschäftigt war, kam ich sehr leicht auf einen Radius von ca einen Meter.

Ich bin absolut begeistert! Nachher werde ich Robs Baro Mod einspielen und hoffen, dass ich ihn morgen verwenden kann. So lange werde ich mir mal einen neuen Frame erstellen. Sollte es mit dem Wetter morgen nix werden, werde ich den mal fräsen. Der jetzige Frame hat einfach schon zu viel mitgemacht und passt auch nicht mehr zu dem ganzen Zubehör des Copters.

Gruß Wolfgang
 

helste

Erfahrener Benutzer
Ich würde das LZ Midi auch gerne testen. Leider spricht es nicht richtig mit meinen Empfängern.
Habe alles probiert, sogar einen Satelliten angeschlossen. Nada.
Mit SSW Lötbrücke gesetzt und allen Kanälen vom Empfänger angeschlossen tut sich zwar was in der GUI, aber das was sich da tut ist eher zufällig.
Nervt mich irgendwie schon heftig, dass ich das Teil nicht zum Laufen bekomme.
Hat das denn niemand mit Spektzrum Empfänger oder spektrumkompatiblen Orange RX Empfänger am Laufen?
 

helste

Erfahrener Benutzer
Ja, danach bin ich auch schon vorgegangen.
Ja, sorry, ich weiß, dass das nicht wirklich hier her gehört. Aber wie es so ist, wenn man verzweifelt ist.........
 

Wollez

Erfahrener Benutzer

Karsten J.

Erfahrener Benutzer
Hi

so, mein GPS ist mit der LZ-1.9er MTK Firmware geflasht..
Jetzt habe ich vor, die neuste I2C-GPS Software aufzuspielen. (von EosBandi) aus diesem Link
http://code.google.com/p/i2c-gps-nav/downloads/detail?name=I2C_GPS_NAV_v2.2Beta1-r62.rar&can=2&q=

Ich hab mir eben mal die Config.h angeschaut.
Was muss ich denn da jetzt alles kommentieren ? bzw. auskommentieren ?
Code:
//////////////////////////////////////////////////////////////////////////////
// i2C comm definitions
//
#define I2C_ADDRESS        0x20                      //7 bit address 0x40 write, 0x41 read

/* GPS Lead filter - predicts gps position based on the x/y speed. helps overcome the gps lag. */
#define GPS_LEAD_FILTER

/* Serial speed of the GPS */
#define GPS_SERIAL_SPEED 38400

/* 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 
 * MTK_BINARY16 - MTK binary protocol (DIYDrones v1.6) 
 * MTK_BINARY19 - MTK binary protocol (DIYDrones v1.9) 
 * MTK_INIT     - Initialize MTK GPS (if MTK_BINARY16 or 19 is not defined then it goes to NMEA, otherwise it goes for binary)
 * With MTK and UBLOX you don't have to use GPS_FILTERING in multiwii code !!!
 *
 */

#define NMEA
//#define UBLOX
//#define MTK_BINARY16
//#define MTK_BINARY19
#define INIT_MTK_GPS


//////////////////////////////////////////////////////////////////////////////
// Sonar support. Based on code mods from Crazy Al 
// Connect Sonar trigger to PC3 (arduino pin A3) and echo output to PC2 (arduino pin A2)
// Supported sonars : 
// Ping/Pong type sonar modules such as HC-SR04, SRF-04, DYP-ME007 and many others...
// PWM output continous sonars such as the MAXBOTIX series (connect pin2(PWM out) of the sonar to PC2

#define SONAR                        // USE Sonar

//Sonar type uncomment only one at a time
//#define PINGPONG
#define MAXBOTIX_PWM                // PWM output mode sonar



// Default PID variables
//////////////////////////////////////////////////////////////////////////////
// POSHOLD control gains
//
#define POSHOLD_P        .11
#define POSHOLD_I        0.0
#define POSHOLD_IMAX        20                // degrees

#define POSHOLD_RATE_P        1.4            //
#define POSHOLD_RATE_I        0.2            // Wind control
#define POSHOLD_RATE_D        0.010            // try 2 or 3 for POSHOLD_RATE 1
#define POSHOLD_RATE_IMAX    20            // degrees
//////////////////////////////////////////////////////////////////////////////
// Navigation PID gains
//
#define NAV_P            1.4                //
#define NAV_I            0.20                // Wind control
#define NAV_D            0.006                //
#define NAV_IMAX        20                // degrees

////////////////////////////////////////////////////////////////////////////////////
// Navigational parameters and limiters initial values
//
#define CROSSTRACK_GAIN            1            // Weighting the cross track error
#define NAV_SPEED_MIN              100          // cm/sec minimum navigational speed when NAV_SLOW_NAV id false
#define NAV_SPEED_MAX              300          // cm/sec maximum navigational speed
#define NAV_BANK_MAX               2500         // 20deg max banking when navigating (just for security and testing)

////////////////////////////////////////////////////////////////////////////////////
// GPS data filtering - moving average filter vector length
//
#define GPS_FILTER_VECTOR_LENGTH 5
 
Zuletzt bearbeitet:

Karsten J.

Erfahrener Benutzer
Rob, hast Du es mit mir !?
Sorry, aber ich bin kein Programmier-Noob :)

hab mir das nochmal genau angeschaut.. ich vermute, ich muss das so einstellen

Code:
//#define NMEA
//#define UBLOX
//#define MTK_BINARY16
#define MTK_BINARY19
#define INIT_MTK_GPS
korrekt :) ?
 
Zuletzt bearbeitet:

Roberto

Erfahrener Benutzer
Und schon wieder beim Thema.
Code:
...
//#define NMEA
//#define UBLOX
//#define MTK_BINARY16
#define MTK_BINARY19
#define INIT_MTK_GPS

...

//#define SONAR // USE Sonar
//#define MAXBOTIX_PWM // PWM output mode sonar

...
Damit würde ich es probieren.

Und nimm bitte das nächste mal "["CODE"]" und "["/CODE"]"

LG
Rob
 

Karsten J.

Erfahrener Benutzer
Hi Rob..
prima :)
Ich verschwinde mal wieder im Keller...

P.S.: Wie fügst Du das "["CODE"]" und "["/CODE"]" genau ein ?
Gruß Karsten
 

Roberto

Erfahrener Benutzer
So:
"["CODE"]"
kjnvknvkjnv
sdlvnsvnsdnvv
"["/CODE"]"

nur ohne die Anführungszeichen. Editiere bitte Deinen Post von eben, dann siehst Du es auch gleich...

LG
Rob
 

Karsten J.

Erfahrener Benutzer
Cool. das funktioniert :)
Noch eine Frage: Welche Software empfiehlst Du mir nun für den Multiwii-Arduino ? Deine Final-4 ?
Aktuell habe ich die dev_r1232 NewBaroPid von Dir drauf.

Gruß Karsten

P.S.: kann ich die I2C GPS von Eos nutzen oder sollte ich lieber Deine fertige (paar Seiten vorher) nehmen ?
Eos´ steht bei GPS-Speed auf 38400,
Deine auf 115200

Gruß Karsten
 

Roberto

Erfahrener Benutzer
Ich würde die Final4 nehmen (die Dev1232 ist auch OK). Die Verbesserungen im GPS Bereich der Dev1232 treffen Dich sowieso nicht, da Du schon das brandaktuelle drauf hast auf Deinem I2C :) . Ich würde auch jetzt die EOS Bandi empfehlen, da sie den neuen leadfilter der APM hat (hat nix mit dem Spikefilter zu schaffen!). Das einzige worauf Du wirklich achten musst ist, dass Du im Sketch Deines Hauptarduinos (z.B "Final4") unbedingt das GPS_FILTERING auf AUS hast. Also so
Code:
//#define GPS_FILTERING
LG
Rob

P.s.: MAG_DECLINIATION sollte auch stimmen, is klar.....

Pps: Zum GPS speed von 115K der alten Version: Das betraf NUR die GPS im NMEA Modus, sonst wurden auch andere Werte hinter den Kulissen gesetzt.
In der AKTUELLEN EOS Bandi MUSS sie auf 38400 stehen, wenn man die MTK 1.9 FW drauf hat (oder wollez neue FW)

Ppps: Wenn der neue EOS Bandi code ausreichend getestet ist, kann ich den Spikefilter noch einbauen. Den kann man dann aus und ein schalten. Der ist als Codebrocken wie ein Legostein, der passt überall. Werte rein - Werte raus :)
Wenn es Probleme mit dem neuen Code geben sollte, kannst Du auch meine zip (basierend auf dem älteren gps code nehmen) die läuft.
 
Zuletzt bearbeitet:

Karsten J.

Erfahrener Benutzer
Hi Rob..
Vielen Dank für Deine perfekte Anleitung .. (und die Stubbserei der Programmierer in den den anderen Foren :))
Ich werde mir dann gleich mal die Final 4 draufmachen ...
Ich hätte jetzt nicht gewusst, dass man GPS_Filtering auskommentieren muss...

Mag_Declination ist klar :)

Gruß Karsten

P.S.: Was ist nun besser ?
GPS Speed auf 38400 oder auf 115200 zu setzen ?
 
Zuletzt bearbeitet:

Roberto

Erfahrener Benutzer
P.S.: Was ist nun besser ?
GPS Speed auf 38400 oder auf 115200 zu setzen ?
Wenn Du den Speed auf 115200 setzt wird es nicht funktionieren.
Wenn Du den Speed auf 38400 setzt wird es funktionieren.

Die Information erleichtert Dir vielleicht die Entscheidung :)
Hatte ich eigentlich auch schon oben, allerdings als Edit, geschrieben:)

LG

Rob
 
FPV1

Banggood

Oben Unten