Endlich GPS für Multiwii

RC FAN

Erfahrener Benutzer
#1
Moin ,

wie geil ist das denn ? Endlich gibt es GPS für den Multiwii .

hier gibt es weitere Infos dazu :

http://www.multiwii.com/forum/viewtopic.php?f=8&t=390


Folgendes wird Benötigt :

- Ein Kompass (hmc5843 oder hmc5883)
- Ein Kleines Board mit einem Atmega 168
- GPS Modul (z.b. EM-406)

und ein Flugfertiger Multiwii Multicopter .

Der Einbau ist eigentlich ganz einfach .
Das GPS Modul kommt an das Board mit dem Atmega 168 , welches wiederum über i2c an die Hauptplatine angeschlossen wird . Der Kompass
kommt wie gewohnt an die i2c schnittstelle der Hauptplatine , wie die anderen sensoren auch .

Dann Kommt auf die Hauptplatine die V1.8 Gps version aufgespielt , und auf dem Board mit dem Atmega 168 das Hexflie aus dem Link .

Alles einstellen und losfliegen :)

Keine Frage , ich werde mir das die Tage aufbauen und testen :) :) :) :) :) :) :) :)

EDIT :

habe mir gerade mal den code angesehen .
Für die , die einen Arduino Mega nutzen gibt es die Möglichkeit das ganze auch ohne Zusatzboard aufzubauen .

hier der Code dazu :

Code:
/* Serial GPS
   only available on MEGA boards 
   if enabled, define here the Arduino Serial port number and the UART speed
   note: only the RX PIN is used, the GPS is not configured by multiwii
   the GPS must be configured to output NMEA sentences (which is generally the default conf for most GPS devices)
*/
//#define GPS_SER
//#define GPS_SERIAL Serial3 // should be Serial2 for flyduino v2
//#define GPS_BAUD   4800
Für die , die ein Arduino mini pro haben und mit zusatzboard das ganze aufbauen wollen , kommt das in Frage :

Code:
/* I2c GPS
   available on ProMini & MEGA boards developed by Michal Maslik 
*/
#define GPS_I2C
und hier der Code für die GPS Parameter :

Code:
// GPS position control parameters 
#if defined(GPS_SER) || defined(GPS_I2C)

#define KP_GPS_ROLL 0.012 //0.013 //0.008 //0.012
#define KD_GPS_ROLL 0.015 //0.012 //0.010 //0.015
#define KI_GPS_ROLL 0.001 //0.005 //0.000 //0.001
#define KP_GPS_PITCH 0.012 //0.013 
#define KD_GPS_PITCH 0.015 //0.012
#define KI_GPS_PITCH 0.001 //0.005

#define GPS_MAX_ANGLE 22  // Maximun roll and pitch angle from gps position control
#define DECLINATION_FACTOR 4     //  declination factor for Slovakia 4  - http://www.magnetic-declination.com/

#endif
 

luhu

Erfahrener Benutzer
#2
Hört sich ja schonmal gut an! :)
Die Frage ist nur, wie gut es funktionieren wird. So MikroKopter mäßig wär natürlich schon geil!!!
Aber wenn der GPS mit Code zusätzlich drangebastelt wird ist die Frage ob das "Vermischen" der Daten aller Sensoren so gut funktioniert, dass wirklicher Position Hold möglich ist. Aber ich lass mich gern eines besseren belehren.

Jetzt geht "wenigstens mal" was vorhan :wow:
 

RC FAN

Erfahrener Benutzer
#3
Hi ,

also so wie ich das sehen , ist die GPS Position Hold routine von dem Ardupirates code entnommen und angepasst . Wenn ich mir das bei den Ardupirates so anschaue , dann funktioniert das bei dennen schon sehr gut :)

hab noch was bei meinem ersten post bearbeitet
 

RC FAN

Erfahrener Benutzer
#7
Hi ,


Layout hab ich schon erstellt ;) is aber auch nix besonderes drauf , eigentlich nur der atmega , 16 mhz quarz eine led und 2 stiftleisten für die Serielle Schnittstelle und I2c

kannst du Ätzen ?

GPS Modul und Kompass habe ich mir auch gerade geordert , hoffentlich kommt es bald an , damit ich es testen kann **freu**
 

Kayle

Erfahrener Benutzer
#8
Schaltplan und Layout gibts schon auf der Seite die RC FAN verlinkt hat.

Gruß Kayle

Edit: Sorry, ist nur das Layout. Mein Fehler.
 

KaiK

Erfahrener Benutzer
#13
Ich stell mir die Frage, welche GPS NMEA Frequenz tatsächlich benötigt wird um stabil zu fliegen. Ich habe ein altes GPS Modul rumliegen, welches ne Serielle Schnittstelle hat, aber maximal 1HZ ausgibt (GPSlim 236). Die neuen tollen Module bringen ja sogar 10HZ, wobei ich mir bei der GPS Genauigkeit und unseren typischen Fluggeschwindigkeiten nicht wirklich sicher bin, ob das signifikant nen Unterschied macht...

Bei anderen Multicopter-Projekten habe ich auch den Einsatz von 1HZ Modulen gesehen (weiß aber nicht ob die ggf. instabiler sind was die Lageregelung betrifft...)

@Somebody: Meiner Meinung nach ist es ziemlich egal, ob Sirf oder nicht (es gibt ja andere aktuelle Chipsätze, die sogar besser sind). Genutzt wird derzeit ja das NMEA Protokoll via Serial Port (und kein Binärprotokoll wie bspw. Sirf).

Grüße
Kai
 

KaiK

Erfahrener Benutzer
#16
Mit welcher maximalen Frequenz überträgt der das? Ich denke auch, dass nicht alle Datensätze benötigt werden!
 

Rangarid

Erfahrener Benutzer
#18
Ja, sollte passen, du kannst ja die Baudrate anpassen. Zumindest beim Mega kein Problem, da du ja für alle seriellen Schnittstellen verschiedene Baudraten konfigurieren kannst.
 

KaiK

Erfahrener Benutzer
#19
Im Zweifel "könnte" man auch nen Software Serial nutzen (ich hatte das hier mal ausprobiert und dokumentiert: http://kaistech.wordpress.com/2011/08/01/holux-gpslim-236-on-seeeduino-mega-arduino-mega/)

Edit: SoftSerial ist wohl doch keine so gute Idee... siehe: http://www.multiwii.com/forum/viewtopic.php?f=7&t=675&p=3700
 

Karsten J.

Erfahrener Benutzer
#20
Hi

Ich lese hier gespannt mit und warte nur noch auf den Tag x wo eine Nachbauanleitung kommt.
Ich hab in meinem Copter sämtliche Sensoren verbaut.. das Teil ist mittlerweile ein fliegender Backstein :)
Aber mit Baro und Kompass.. fehlt ja dann nur noch das GPS.

Gruß Karsten
 
FPV1

Banggood

Oben Unten