Endlich GPS für Multiwii

sandrodadon

Fliegender Maschi
Könnte mir mal jemand mit diesen 2 Quelltext-Zeilen bezüglich GPS weiterhelfen?
GPS_WP_RADIUS 100
NAV_SLEW_RATE 30

Ich habe eine Idee was es heißen soll aber keine Idee ob hier ein höherer oder niedriger Wert jeweils von Vorteil ist.
Positionhold und GPS Home funktionieren zwar - aber noch nicht perfekt
 
Könnte mir mal jemand mit diesen 2 Quelltext-Zeilen bezüglich GPS weiterhelfen?
GPS_WP_RADIUS 100
NAV_SLEW_RATE 30

Ich habe eine Idee was es heißen soll aber keine Idee ob hier ein höherer oder niedriger Wert jeweils von Vorteil ist.
Positionhold und GPS Home funktionieren zwar - aber noch nicht perfekt
Ja, das würde mich auch brennend interessieren! ;)
 

Butcher

Bill the Butcher
Ersteres ist der waypoint radius, also ein bereich um deinen gesetzten waypoint (home point,...) in dem er dann erkennt hey ich hab den punkt erreicht, je kleiner dieser wert ist, je genauer sollte er den punkt anfliegen, du kannst bei einem zu kleinen werterdings auch erreichen das der kopter den punkt gar nicht findet, sondern immer ansteuert korriegiert, ansteuert korriegiert,.... das waehr dann doof.


Zum zweiten weiss ich grad nix gucge gleich ma in den source:)
 

marcl112

Erfahrener Benutzer
gibts hier jemanden, der sich mit dem u-center und dem ganzen GPS zeugs auskennt und mir da helfen kann?
Leider funktioniert bei mri da überhaupt nichts ich bekomm kein GPS signal und garnichts. Leider weiß ich auch nicht wie ich die Baudraten und des ganze am GPS selber einstelle. Mein GPS ist am Serial2 des MEGA boards von flyduino angeschlossen und so eig auch in der Software konfiguriert. Ich bekomme nur kein Signal egal ob ich es an multiwii hab oder direkt am PC.
(Bitte setzt nicht voraus dass ich die Materie gleich verstehe. Ich hab mich zwar eingelesen nur kapier ich nichtmal die hälfte und das ganze GPS zeugs ist recht neu für mich)

Oder gibt es irgendwo eine Schritt für Schritt Anleitung um das ganze sicher zum Laufen zu bringen (da sollte dann nciht drinnenstehen mit u-center die richtige Baudrate einstellen sondern wie das gemacht wird.)

LG und danke schonmal für die Hilfe
Marcel
 
Hi,

-Bitte mal den GPS Code Teil aus der Config.h posten.
-Um welches GPS Modul handelt es sich?
-Sind die TX und RX Leitungen richtig angeschlossen? (TX->RX und RX->TX)

VG

Sven
 

marcl112

Erfahrener Benutzer
Ja mach ich heute nachmittag.
TX RX hab ich schon zig mal vertauscht und beides hat nie geholfen -.-
Ich hab die Baudrate jetzt ändern können und hab das ganze auf 115200 mit 10Hz gestellt.
das GPSmodul selber ist dieses hier:
http://www.ebay.de/itm/I2C-GPS-NAV-Module-W-CN-06-V2-0-GPS-Receiver-U-blox-MWC-MultiWii-SE-Flight-Board-/261143951761?
aber natürlich ohne das I2C modul.
Ich hab das ganze auf dem Serial anschluss des MEGA boars von flyduino angeschlossen.
ich hab die letzten tage auch ein wenig mit dem u-center rumgespielt und mri ist aufgefallen, dass ich am pc drinnen um die 5-7 Satteliten bekomme und wenn ich es dann über die multiwii GUI anschauen werden mir keine angezeigt. ich schätze ich habe da in der Confic.h noch nen fehler irgendwo drin. ich werde diese nachher noch an den post hier dranhängen.
Ich hoffe ihr könnt mir da helfen

Liebe Grüße Marcel
 

marcl112

Erfahrener Benutzer
Ich habs mir mal schnell nachgebaut also mein Teil beim GPS sollte in etwa so aussehen:

/**************************************************************************************/
/*********************** GPS **************************/
/**************************************************************************************/

/* GPS using a SERIAL port
if enabled, define here the Arduino Serial port number and the UART speed
note: only the RX PIN is used in case of NMEA mode, the GPS is not configured by multiwii
in NMEA mode the GPS must be configured to output GGA and RMC NMEA sentences (which is generally the default conf for most GPS devices)
at least 5Hz update rate. uncomment the first line to select the GPS serial port of the arduino */
#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
MTK_BINARY16 and MTK_BINARY19 - MTK3329 chipset based GPS with DIYDrones binary firmware (v1.6 or v1.9)
With UBLOX and MTK_BINARY 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 // initialize MTK GPS for using selected speed, 5Hz update rate and GGA & RMC sentence or binary settings

//#define GPS_PROMINI_SERIAL 57600 // Will Autosense if GPS is connected when ardu boots

/* I2C GPS device made with an independant arduino + GPS device
including some navigation functions
contribution from EOSBandi http://code.google.com/p/i2c-gps-nav/
You have to use at least I2CGpsNav code r33 */
//#define I2C_GPS

/* I2C GPS device made with an indeedent ATTiny[24]313 + GPS device and
optional sonar device. https://github.com/wertarbyte/tiny-gps/ */
/* get GPS data from Tiny-GPS */
//#define TINY_GPS
/* get sonar data from Tiny-GPS */
//#define TINY_GPS_SONAR

/* GPS data readed from Misio-OSD - GPS module connected to OSD, and MultiWii read GPS data from OSD - tested and working OK ! */
//#define GPS_FROM_OSD

/* indicate a valid GPS fix with at least 5 satellites by flashing the LED - Modified by MIS - Using stable LED (YELLOW on CRIUS AIO) led work as sat number indicator
- No GPS FIX -> LED blink at speed of incoming GPS frames
- Fix and sat no. bellow 5 -> LED off
- Fix and sat no. >= 5 -> LED blinks, one blink for 5 sat, two blinks for 6 sat, three for 7 ... */
#define GPS_LED_INDICATOR

//#define USE_MSP_WP //Enables the MSP_WP command, which is used by WinGUI to display and log Home and Poshold positions

//#define DONT_RESET_HOME_AT_ARM // HOME position is reset at every arm, uncomment it to prohibit it (you can set home position with GyroCalibration)

/* GPS navigation can control the heading */

#define NAV_CONTROLS_HEADING true // 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 true // 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 0.0f

#define GPS_LEAD_FILTER // Adds a forward predictive filterig to compensate gps lag. Code based on Jason Short's lead filter implementation

//#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_WP_RADIUS 200 // 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
 

cesco1

Erfahrener Benutzer
Marcel du bist dir bewusst dass wenn du im ucenter die baudrate auf 115200 stellst du das nachher auch abspeichern musst?
Sprich du musst das ins gps-eeprom schreiben. Oder wie ich das mache gleich das ublox textfile (u-blox-config.ublox.txt) hochladen.
 
Hi,

das UBLOX CN-06 V2.0 hab ich auch.
Die Konfig ist ok.
#define GPS_SERIAL 2
#define GPS_BAUD 115200
#define UBLOX

An der Baudrate und an der Herzzahl habe ich nichts verändert.

Ist das GPS wie hier auf Seite 13 angeschlossen?
http://flyduino.net/documents/Flydumega_manual.pdf

VG

Sven
 

marcl112

Erfahrener Benutzer
Also ich hab die Baurate so geändert.
1. angeschlossen
2. View message...
3. upx/cfg...
4. dort das richtige raussuchen und dann die baudrate und alles anpassen.
5. wichtig auf write drücken^^
6. schauen ob er satteliten empfängt (tut er)
7 abstecken kurz warten bis reststrom verbraucht ist und wieder anstecken
8. schauen ob die baudrate gleichgeblieben ist (ist weiterhin auf 115200)
9. am copter anstecken
10. multiwii gui starten
11. blöd schauen, wei immer noch ncihts geht-.-



wegen dem anschluss werd ich überprüfen denke aber eig schon. wenn nichgt dann friss ich nen besen^^(nein ich mach kein video davon^^)
 
Zuletzt bearbeitet:
dann würde ich alles in der Bucht verkaufen, und ein Naza M ordern ^^

Was geht nicht mehr? Der NEO-6 am FTDI?
 

marcl112

Erfahrener Benutzer
hab rausgefunden was nicht mehr geht...
Scheiß GPS
ich übertrage bei PRT die neue Baudrate. funktioniert tadelos.
Ich übertrage zur sicherheit die CFG auch noch. funktioniert tadelos.
U-center auf neue Baudrate umstellen und einmal die letzten empfangenen sachen wieder löschen, damit man sieht ob er wirklich was empfängt. Empfang mit neuer Baudrate tadelos^^.
GPS abkoppel.
gps vom strom nehmen (also ftdi ausstecken)
Wieder anstecken
und wunder oh wunder es funktioniert nichts mehr.
Ursache hab ich raus gefunden. Der GPS empfänger stellt sich automatisch nachdem der Strom weg ist auf die Baudrate 9600 zurück, welche natürlich in der multiwii nicht eingestellt ist, weil sie mir zu langsam ist.
Also was nun?
wie bekomme ich das GPS dazu, dass es die einstellungen dauerhaft speichert und nicht bei 0 Strom wieder alles verliert?
 

RalfB

Erfahrener Benutzer
Also da hilft meines Erachtens nur eine Pufferbatteri oder eine andere Firmware. Ohne Spannung stellt sich das GPS immer wieder auf die Grundeinstellung zurück.
 
Klappt es denn mit 9600 Baud? Zudem würde ich mal eine frische config.h nehmen und nur Coptertyp, Board und GPS einstellen.
Normalerweise sollte das GPS out of the box funktionieren. Ich habe leider noch kein FTDI, daher kann ich nichts zu der Firmware sagen.

Das scheint die aktuelle Version zu sein:
NEO-6M-0-001 ROM7.03 UBX-TN-11047-1

http://www.u-blox.com/images/downloads/Product_Docs/NEO-6_DataSheet_(GPS.G6-HW-09005).pdf
Auf Seite 11 steht was zu den Baudraten.

VG

Sven
 

marcl112

Erfahrener Benutzer
die Config.h ist ganz neu ich hab mir erst die 2.2 runtergeladen und nur mdie sachen für meinen copter eingestellt.
mit 9600 würde es wahrscheinlich klappen aber das ist soo irrsinnig langsam. das ist nicht mal 10% von dem 115200.

Was für eine firmware sollte man da nehmen? und soviel ich weiß ist da sogar ne knopfzelle drauf, die ieg als pufferbaterie fungieren soll
 
Zuletzt bearbeitet:
Ob das viel ausmacht 9600 zu 115200? Ich hatte mit 115200 mehr Probleme bei RTH als bei 9600. Mein GPS auf dem Crius mit 2.2 ist auf 9600 und lasse es auch so ;)
 

marcl112

Erfahrener Benutzer
ok
nachdem ich ja dann auch nichts dauerhaft umstellen kann hat des GPS aber auch noch nur 1Hz.

Muss ich das auch irgendwo in der confic.h einstellen?oder muss ich nur die Baudrate umstellen?
1Hz ist übrigends schon recht wenig. dann bekomm ich nur noch im Sekundentakt eine GPS position geschickt.
 

ChristophB

Erfahrener Benutzer
Die Werte können auch nicht gespeichert werden, wenn du nach der Änderung der Bautrate die Einstellung im ucenter nicht anpasst. So läuft der Befehl zum speichern im eeprom ins Leere.
 
FPV1

Banggood

Oben Unten