Endlich GPS für Multiwii

ja meine die auf der fc. nee schnell würde ich das blinken nicht beschreiben. eher langsam. ausserdem ist die rote led auch noch mit an, die ja aus sein muss wenn er einen satfix hat laut der aussage von oben.
 

bigbretl

Erfahrener Benutzer
Und nochwas: hast du im sketch die richtige Baudrate und den Anschluss (seriell o. I2C)
kommentiert?

#define GPS_SERIAL 2 // should be 2 for flyduino v2. It's the serial port number on arduino MEGA
#define GPS_BAUD 115200
 

bigbretl

Erfahrener Benutzer
Du hast also ein I2C GPS und kein serielles.

kommentiere mal dieses hier: #define GPS_LED_INDICATOR
damit müsste dann der Satfix angezeigt werden.

Wenn es also ein I2C GPS ist dann prüfe ob diese Zeile kommentiert werden muss:
//#define TINY_GPS

Mehr kann ich jetzt auch nicht ersehen.

Gruß bigbretl
 

weisseruebe

Erfahrener Benutzer
Am besten GPS erstmal per FTDI direkt an den Rechner. Dann Baudrate überprüfen und mit Serieller Konsole schauen, ob sinnvolle NMEA-Daten (lesbarer Klartext) kommen. Dann weiss man schonmal, dass und mit welchen Einstellungen das Modul funktioniert. Ein erster Fix kann auch mal 30 Minuten dauern.
Mit dem passenden Programm am PC kann man eventuell auch A-GPS-Daten auf das GPS laden (jedenfalls bei Mediatek). Das macht den Fix deutlich schneller.
Wenn sinnvolle NMEA-Daten vom GPS kommen, blinkt die Kompassrose in der Gui.

EDIT: Steht ja alles schon hier. Man sollte den Thread erstmal aktualisieren, bevor man seinen Senf dazu gibt...
 
kann ich denn die final4 von roberto nehmen und da dann die boardanpassung in der config.h machen ? oder gibts da noch probleme mit dem gps.
 

Roberto

Erfahrener Benutzer
@djdeep:

Der GESAMTE GPS CODE läuft bei Dir auf dem Arduino deines LZ GPS. Das Ergebnis der Berechnungen (Kurskorrektur) wird über I2C am Ende des Hauptprogramms Deiner Flightcontrol eingeschleift. D.h. es bringt Dir z.B nichts eine DEV einzuspielen unter der Vorstellung, das GPS zu verbessern. Das einzige was Du Dir mit Dev Versionen holst sind ggf. die Bugs die die haben.
Wenn es irgendwann einen neuen oder besseren GPS Code geben sollte, wirst Du zum Lötkolben greifen müssen um den auf Dein LZ GPS auf zu spielen (FTDI Anschluss auflöten, "jumper öffnen", siehe Anleitungs pdf). Meine Versionen beeinträchtigen die Funktion Deines GPS nicht.
"oder gibts da noch probleme mit dem gps. "
LG
Rob
 

Wollez

Erfahrener Benutzer
Hallo djdeep,

Du musst am GPS Modul nichts einstellen. Dies ist bereits alles geschehen. Auch die Geschwindigkeit des Seriellen Ports vom GPS zum Prozessor des Moduls, ist bereits fix eingestellt. Die Hz sind auch durch die FW des Herstellers bereits auf 10 Hz konfiguriert.

Das einzige, was Du machen musst, ist den Scatch für den FlighControll anzupassen. Das hast Du ja bereits gemacht. Ansonsten brauchst Du erst mal nichts mehr machen. Klar, so wie die Anderen schon geschrieben haben muss man noch über die GUI Schalter für das GPS definieren. Auch das hast Du bereits gemacht.

Das Du noch keinen Fix hast, liegt nicht an Dir oder dem Copter. Ich musste ab und zu mal beobachten, dass es bei manchen Modulen beim ersten mal länger dauert (das könnte man jetzt auch falsch verstehen lol). Das GPS Modul hat zwar bereits schon mehr als fünf Satelliten, doch in der GUI bzw. der FlighController kapiert das nicht. Ich bin mir sicher, dass es an dem Code von EOSBundy liegt.
Lasse ihn mal einige Minuten auch wenn es 30 Minuten sind, auf dem Balkon liegen. Wenn er es dann nicht geschafft hat, werde ich Dir das Modul austauschen. Das lange warten ist nur beim ersten mal so. Später geht das bedeutend schneller.

Gruß Wolfgang
 
ok lege ihn mal 30 minuten nach draussen


leider keine änderung. rote led ist aus aber grüne blinkt langsam. kein gps daten in der gui zu sehen. versuche es morgen nochmal auf einem freien Feld.

edit:

bin gerade mal auf der Wiese gewesen. rote led ist an und grüne blinkt langsam. wenn ich schalter umlege passiert nichts. baro funktioniert ganz gut nur keine spur von gps. Wird vielleicht doch an dem gps modul liegen. weiss zumindest nicht mehr was ich da noch versuchen kann.
 

Karsten J.

Erfahrener Benutzer
Hi

Bräuchte mal nen Rat bzgl. PID Tuning bei GPS
Wenn ich in den Position Hold Modus schalte, hält mein Copter mittlerweile die Lage so um die 2m Radius.
ABER: Wenn ich ihn dann bisschen hin und her fliege, oder es kommt etwas Wind, so fliegt er ja weg (klar)
Jetzt kommts dicke.. das Teil legt sich so bösartig zur Seite Richtung Homepunkt und schießt volle Kanne drüber weg.. also ich bekomme es da wirklich mit der Angst zu tun :)

Ich habe bereits in der R33 von Eosbandi die Nav_Bank_max (max. Neigungswinkel) um die Hälfte reduziert
und ebenfalls den Nav_Speed_max um die Hälfte reduziert.

Was könnte das denn sein, dass er so ausflippt, wenn er bisschen weg von seinem Home-.Punkt kommt ?
Kann man das mit irgendwelchen PID Werten korrigieren ?

Gruß Karsten
 

Karsten J.

Erfahrener Benutzer
ok :)

Nur welches ?
Es gibt POS
und
POSR

Hab mir schon gefühlte 1000mal die Anleitung durchgelesen, aber noch immer nicht den Unterschied zw. den beiden erkannt.

Gruß Karsten

edit: Habe Pos und PosR etwas gesenkt..
Jetzt hab ich das Verhalten, dass er anfangs (ca. 10s) ruhig steht und dann langsam anfängt eine Spirale zu fliegen,.. diese wird immer größer und größer..
 

Roberto

Erfahrener Benutzer
Hi, Karsten.
Ich bin auch grad am GPS fummeln. Vielleicht hilft Dir der Vergleich mit dem Arducopter, da der Mwii code schliesslich mehr oder weniger diesem entspricht.

"POS" entspricht Loiter Speed
"PosR" entspricht Rate Loiter
"NavR" entspricht Nav WP

http://code.google.com/p/arducopter/wiki/AC2_loiter_PID

http://diydrones.com/profiles/blogs/ac2-loiter-tuner-sim

EDIT:
Beim GPS Einstellen kann das Ding austreten wie ein Pferd. Ich habe zum Einstellen jetzt auch die Maximalausschläge reduziert, allerdings im Hauptprogramm, damit ich das GPS nicht neu flashen muss. Falls jemand Interesse hat:

Im Hauptprogramm unten, vor dem " PITCH & ROLL & YAW PID" einfügen:

Code:
...
  #define GPSlimit 30
  GPS_angle[ROLL] = constrain(GPS_angle[ROLL],-GPSlimit,GPSlimit);
  GPS_angle[PITCH] = constrain(GPS_angle[PITCH],-GPSlimit,GPSlimit);

   //**** PITCH & ROLL & YAW PID ****    
...
Die Maximalverkippung kann man mit "GPSlimit" einstellen. Da kann man erst mal mit den Pids spielen, ohne dass er direkt abgeht. Später kann man das wieder entfernen. Nur so eine "Schwimmflügel" - Idee.

LG
Rob
 
FPV1

Banggood

Oben Unten