GPS integration

This forum is dedicated to software development related to MultiWii.
It is not the right place to submit a setup problem.
Software download
User avatar
EOSBandi
Posts: 802
Joined: Sun Jun 19, 2011 11:32 am
Location: Budapest, Hungary
Contact:

Re: GPS integration

Post by EOSBandi »

Jochen wrote:Hi,

I use 2.1 pre and GPS works now fine! Many thanks to Eosbandi!!

Now I build a sencond copter also with ATMEGA2560 an something is not clear to me:
On Mega2560 I can connect the GPS Module directly to the free serial port - that works.
But when the I2C-Serial solution with 328p makes some own calculations that would mean for me, that the Main Mega2560 has less to calculate. So my question: Do I have any advantages if I spend a 328p I2C-Serial Board aditionaly to the Mega2560 and use I2C GPS instead of serial-GPS?

Currently I use MTK3329. If we compare MTK3329, MTK3339 (http://shop.trenz-electronic.de/catalog ... th=105_139) and NEO-6M (http://www.rctimer.com/index.php?gOo=go ... oductname=) which one would the best solution for this project? I tend to order the RCTimer module, because the backup battery is an the PCB and the module cost´s only 25USD.


Hi,
Well, in theory it is more calculations, so using i2cgps with a mega2560 makes sense, however it is not that mutch extra calculation, so using a direcly connected serial gps will eliminate a possible failure point (the extra arduino).

It is not the chip, but the antenna that really counts. MTK3329 with a decent antenna will be in par with a NEO6M, but you will need at least a 25mmx25mm active antenna. I would go for the rctimer module, since you can change the antenna later...
However I changed the small 15x15mm antenna on a PA6B module to 25x25 and it become super sensitive, but to do this you need a decent soldering iron....

marbalon
Posts: 107
Joined: Thu Aug 18, 2011 10:59 am

Re: GPS integration

Post by marbalon »

Where you buy antena 25x25mm ? Can you post some phothos how your remove small antena?

User avatar
EOSBandi
Posts: 802
Joined: Sun Jun 19, 2011 11:32 am
Location: Budapest, Hungary
Contact:

Re: GPS integration

Post by EOSBandi »

marbalon wrote:Where you buy antena 25x25mm ? Can you post some phothos how your remove small antena?


Any electronics reseller (farnell, mouser, digikey) sells them. I'm putting together a hw diy guide for MultiWii GPS :D stay tuned

alexia
Posts: 85
Joined: Sun Jun 17, 2012 10:23 pm
Contact:

Re: GPS integration

Post by alexia »

it will be great to know the name of a good antenna or a link :)
i agree,the easier way is to buy the news rctimer board and buy an another good antenna

marbalon
Posts: 107
Joined: Thu Aug 18, 2011 10:59 am

Re: GPS integration

Post by marbalon »

EOSBandi wrote:
marbalon wrote:Where you buy antena 25x25mm ? Can you post some phothos how your remove small antena?


Any electronics reseller (farnell, mouser, digikey) sells them. I'm putting together a hw diy guide for MultiWii GPS :D stay tuned


Just found it in farnell but 18x18 have 2,5 dB gain but 25x25 have only 2dB ?

alexia
Posts: 85
Joined: Sun Jun 17, 2012 10:23 pm
Contact:

Re: GPS integration

Post by alexia »

it s the reason why i have said that it will be great if somemone could help us to find the best antenna for multiwii.
most of us doesn t know something about gps

svalent
Posts: 6
Joined: Tue May 29, 2012 9:34 pm
Location: Slovakia, BB

Re: GPS integration

Post by svalent »


JirkaA
Posts: 11
Joined: Mon Jul 16, 2012 5:41 pm
Location: near Brno, Czech Republic
Contact:

Re: GPS integration

Post by JirkaA »

I guess that nobody is flying indoor or in so dense forrest that needs one more dB gain of GPS antenna. Present GPS modules are sensitive enough that difference in ones dB between various patch antennas does not matter. I prefer lighter module, every gram counts...

Crius GPS module from rctimer.com has probably one major problem, there is not flash or EEPROM for configuration data and battery backuped RAM loose data from time to time. I spend half day playing with it and add initial configuration sequence to I2C_GPS_NAV (probably I have do it again in new version using UBX data just issued by EOSbandi), it solved this problem. But, sometimes I have to disconnect and reconnect power second time to correct initialise GPS, probably an problem with initial reset of module. Maybe this is true source of lost config problem, because backup battery seems to be OK. But what to expect from 24USD chinese thing :)

krystal
Posts: 12
Joined: Fri Mar 30, 2012 2:06 am

Re: GPS integration

Post by krystal »

Today i received u-blox 6M i have one problem:
When im changing GPS config in u-center from baud 9600 to 115000 im pressing SEND button -the baudrate dont changes. still can work on 9600
Moreover im going to CFG, checking save current configuration--> SEND and nothing.

Help please

Sympster
Posts: 15
Joined: Thu May 24, 2012 1:45 am

Re: GPS integration

Post by Sympster »

JirkaA wrote:I guess that nobody is flying indoor or in so dense forrest that needs one more dB gain of GPS antenna. Present GPS modules are sensitive enough that difference in ones dB between various patch antennas does not matter. I prefer lighter module, every gram counts...

Crius GPS module from rctimer.com has probably one major problem, there is not flash or EEPROM for configuration data and battery backuped RAM loose data from time to time. I spend half day playing with it and add initial configuration sequence to I2C_GPS_NAV (probably I have do it again in new version using UBX data just issued by EOSbandi), it solved this problem. But, sometimes I have to disconnect and reconnect power second time to correct initialise GPS, probably an problem with initial reset of module. Maybe this is true source of lost config problem, because backup battery seems to be OK. But what to expect from 24USD chinese thing :)


Can you post your code for the configuration sequence? I too have problems with the RCTimer GPS loosing the settings. Thanks!

mr.rc-cam
Posts: 457
Joined: Wed Jul 27, 2011 11:36 pm

Re: GPS integration

Post by mr.rc-cam »

I've been working on integrating FrSky's telemetry into my MWC. Things are going well and I'm at the point of interfacing it to the I2C "EOSbandi GPS" board. But unfortunately I am still waiting for the rctimer board to arrive (I ordered it several weeks ago). So that I can continue with the coding, I need a bit of help with the lon/lat data it provides.

1. FrSky telemetry only understands NMEA degree-minute formatted lon/lat data. Given that, is there a way to read common NMEA type lon/lat values directly from the I2C GPS board? I think I know the answer to this, but was hoping for a miracle. :)

2. If I must convert the I2C GPS's lon/lat data back to the NMEA format, I expect that I will need to create a routine that is the reverse of the GPS_coord_to_degrees() function. I'm planning to use the existing coord_to_degree math as an example for this. But any advice on more efficient ways to do the conversion would be great to hear.

Lastly, it would be grand if someone would please post some I2C GPS lon/lat data and the equivalent degrees-minutes (NMEA) formatted values. This will allow for some functional testing while waiting for the nifty I2C GPS board to arrive. Any assistance is appreciated!

- Thomas

JirkaA
Posts: 11
Joined: Mon Jul 16, 2012 5:41 pm
Location: near Brno, Czech Republic
Contact:

Re: GPS integration

Post by JirkaA »

Sympster wrote:
Can you post your code for the configuration sequence? I too have problems with the RCTimer GPS loosing the settings. Thanks!


Insert this just after "void setup() {" in your I2C_GPS_NAV.ino (version r33!!!!). I know that code isn't pretty and should be optimized, but there was lot of free resources and less time ;). I'll try the same for newest version too, but I'll out of home to end of this week due to work trip.

Code: Select all

  

delay(5000);
  Serial.begin(9600);          //some time for GPS initialisation
 
 
  byte conf12[30]={0xB5, 0x62, 0x06, 0x00, 0x14, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD0, 0x08, 0x00, 0x00, 0x00, 0xC2, 0x01, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x96};
  Serial.write (conf12,28);     // port speed to 115200
 
  delay(2000);
  Serial.begin(115200); 
  delay(1000);
  byte conf2[16]={0xB5, 0x62, 0x06, 0x08, 0x06, 0x00, 0xC8, 0x00, 0x01, 0x00, 0x01, 0x00, 0xDE, 0x6A};    // GPS rate to 200ms (5Hz)
  Serial.write (conf2,14);
  delay(300);
  byte conf3[38]={0xB5, 0x62, 0x06, 0x03, 0x1C, 0x00, 0x02, 0x03, 0x10, 0x18, 0x14, 0x05, 0x00, 0x3C, 0x3C, 0x14, 0xE8, 0x03, 0x00, 0x00, 0x00, 0x17, 0xFA, 0x00, 0xFA, 0x00, 0x64, 0x00, 0x2C, 0x01, 0x0F, 0x00, 0x00, 0x00, 0x8D, 0xE4};
  Serial.write (conf3,36);
  delay(300);
  byte conf4[50]={0xB5, 0x62, 0x06, 0x1A, 0x28, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x04, 0x10, 0x02, 0x50, 0xC3, 0x00, 0x00, 0x18, 0x14, 0x05, 0x3C, 0x00, 0x03, 0x00, 0x00, 0xFA, 0x00, 0xFA, 0x00, 0x64, 0x00, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x6D};
  Serial.write (conf4,48);
  delay(300);
  byte conf5[46]={0xB5, 0x62, 0x06, 0x24, 0x24, 0x00, 0xFF, 0xFF, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00, 0x05, 0x00, 0xFA, 0x00, 0xFA, 0x00, 0x64, 0x00, 0x2C, 0x01, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x82};    //some changes in GPS parameters recommended somewhere on forums i.e. dynamic to pedestrian etc..
  Serial.write (conf5,44);
  delay(300);
  byte conf6[13]={0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0xF0, 0x05, 0x00, 0xFF, 0x19};
  Serial.write (conf6,11);
  delay(300);
  byte conf8[13]={0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0xF0, 0x03, 0x00, 0xFD, 0x15};
  Serial.write (conf8,11);
  delay(300);
  byte conf9[13]={0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0xF0, 0x01, 0x00, 0xFB, 0x11};  //disable unnecessary NMEA messages, it takes less bytes than disable all and enable GGA, GSA and RMC
  Serial.write (conf9,11);
  delay(300);
  byte conf11[30]={0xB5, 0x62, 0x06, 0x00, 0x14, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD0, 0x08, 0x00, 0x00, 0x00, 0xC2, 0x01, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x96};   //again port speed, probably unnecessary but who knows, its residuum from tests, may be ommited..
  Serial.write (conf11,28);
  delay(300);
  byte conf7[23]={0xB5, 0x62, 0x06, 0x09, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x31, 0xBF};   //write config to GPS BBRAM, maybe not necessary because we will initialise it again next start...
  Serial.write (conf7,21);
  delay(100);


Last edited by JirkaA on Tue Jul 17, 2012 8:22 am, edited 1 time in total.

User avatar
EOSBandi
Posts: 802
Joined: Sun Jun 19, 2011 11:32 am
Location: Budapest, Hungary
Contact:

Re: GPS integration

Post by EOSBandi »

i2c gps and even the serial gps implementation works at 5-10hz upate rate. Frsky cannot handle more than 1hz.. so connecting directly to the gps module is out of the question.

so you have to convert the lat lon values back to nmea format, and output it on the serial port, but this will prohibit gui connections.... so it is also a dead end imho.

ReM
Posts: 14
Joined: Sun Jul 08, 2012 12:02 pm
Location: Lithuania

Re: GPS integration

Post by ReM »

GPS works very well...

One question to EOSBandi: can I flight indoor without GPS fix? Of course, I don't activating PH and RTH functions...

JirkaA
Posts: 11
Joined: Mon Jul 16, 2012 5:41 pm
Location: near Brno, Czech Republic
Contact:

Re: GPS integration

Post by JirkaA »

ReM wrote:GPS works very well...

One question to EOSBandi: can I flight indoor without GPS fix? Of course, I don't activating PH and RTH functions...


Yes, you can fly without problem of course without functions depending on GPS.

drotek
Posts: 4
Joined: Thu Nov 03, 2011 7:27 pm

Re: GPS integration

Post by drotek »

Hello,

Just for information all our I2C GPS are flashed with a new firmware with 11500 Baud and 10 Hz parameters for accuracy!
The board has big ground planes on top and bottom. And it's possible to disable the GPS with the solder bridge on the bottom.
It's here http://www.drotek.fr/shop/en/88-i2c-pa6c-gps-llc.html

Have a good day

Matt.
Posts: 26
Joined: Sat Dec 31, 2011 11:41 pm
Location: Sydney, NSW, Australia

SBAS settings for Australia

Post by Matt. »

Hi,

I am trying to figure out what SBAS settings I should use for my Ublox NEO-6P. Most of the information on the web seems old, from what I read is that we dont have a zone and perhaps I should switch it off. Does anyone else have any input??

Cheers

Matt

Sympster
Posts: 15
Joined: Thu May 24, 2012 1:45 am

Re: GPS integration

Post by Sympster »

JirkaA wrote:
Sympster wrote:
Can you post your code for the configuration sequence? I too have problems with the RCTimer GPS loosing the settings. Thanks!


Insert this just after "void setup() {" in your I2C_GPS_NAV.ino (version r33!!!!). I know that code isn't pretty and should be optimized, but there was lot of free resources and less time ;). I'll try the same for newest version too, but I'll out of home to end of this week due to work trip.

Code: Select all

  

delay(5000);
  Serial.begin(9600);          //some time for GPS initialisation
 
 
  byte conf12[30]={0xB5, 0x62, 0x06, 0x00, 0x14, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD0, 0x08, 0x00, 0x00, 0x00, 0xC2, 0x01, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x96};
  Serial.write (conf12,28);     // port speed to 115200
 
  delay(2000);
  Serial.begin(115200); 
  delay(1000);
  byte conf2[16]={0xB5, 0x62, 0x06, 0x08, 0x06, 0x00, 0xC8, 0x00, 0x01, 0x00, 0x01, 0x00, 0xDE, 0x6A};    // GPS rate to 200ms (5Hz)
  Serial.write (conf2,14);
  delay(300);
  byte conf3[38]={0xB5, 0x62, 0x06, 0x03, 0x1C, 0x00, 0x02, 0x03, 0x10, 0x18, 0x14, 0x05, 0x00, 0x3C, 0x3C, 0x14, 0xE8, 0x03, 0x00, 0x00, 0x00, 0x17, 0xFA, 0x00, 0xFA, 0x00, 0x64, 0x00, 0x2C, 0x01, 0x0F, 0x00, 0x00, 0x00, 0x8D, 0xE4};
  Serial.write (conf3,36);
  delay(300);
  byte conf4[50]={0xB5, 0x62, 0x06, 0x1A, 0x28, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x04, 0x10, 0x02, 0x50, 0xC3, 0x00, 0x00, 0x18, 0x14, 0x05, 0x3C, 0x00, 0x03, 0x00, 0x00, 0xFA, 0x00, 0xFA, 0x00, 0x64, 0x00, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x6D};
  Serial.write (conf4,48);
  delay(300);
  byte conf5[46]={0xB5, 0x62, 0x06, 0x24, 0x24, 0x00, 0xFF, 0xFF, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00, 0x05, 0x00, 0xFA, 0x00, 0xFA, 0x00, 0x64, 0x00, 0x2C, 0x01, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x82};    //some changes in GPS parameters recommended somewhere on forums i.e. dynamic to pedestrian etc..
  Serial.write (conf5,44);
  delay(300);
  byte conf6[13]={0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0xF0, 0x05, 0x00, 0xFF, 0x19};
  Serial.write (conf6,11);
  delay(300);
  byte conf8[13]={0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0xF0, 0x03, 0x00, 0xFD, 0x15};
  Serial.write (conf8,11);
  delay(300);
  byte conf9[13]={0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0xF0, 0x01, 0x00, 0xFB, 0x11};  //disable unnecessary NMEA messages, it takes less bytes than disable all and enable GGA, GSA and RMC
  Serial.write (conf9,11);
  delay(300);
  byte conf11[30]={0xB5, 0x62, 0x06, 0x00, 0x14, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD0, 0x08, 0x00, 0x00, 0x00, 0xC2, 0x01, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x96};   //again port speed, probably unnecessary but who knows, its residuum from tests, may be ommited..
  Serial.write (conf11,28);
  delay(300);
  byte conf7[23]={0xB5, 0x62, 0x06, 0x09, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x31, 0xBF};   //write config to GPS BBRAM, maybe not necessary because we will initialise it again next start...
  Serial.write (conf7,21);
  delay(100);





Awesome, thanks, will this work in the new code also if you have NEMA selected in the config.h on the I2C board instead of binary? When you hava a chance to update this for the new I2C code, please share. Thanks again so much!

User avatar
Jonit
Posts: 37
Joined: Sat May 12, 2012 10:12 pm
Location: Slovakia

Re: GPS integration

Post by Jonit »

JirkaA wrote:
Insert this just after "void setup() {" in your I2C_GPS_NAV.ino (version r33!!!!). I know that code isn't pretty and should be optimized, but there was lot of free resources and less time ;). I'll try the same for newest version too, but I'll out of home to end of this week due to work trip.

Code: Select all

  

delay(5000);
  Serial.begin(9600);          //some time for GPS initialisation
 
 
  byte conf12[30]={0xB5, 0x62, 0x06, 0x00, 0x14, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD0, 0x08, 0x00, 0x00, 0x00, 0xC2, 0x01, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x96};
  Serial.write (conf12,28);     // port speed to 115200
 
  delay(2000);
  Serial.begin(115200); 
  delay(1000);
  byte conf2[16]={0xB5, 0x62, 0x06, 0x08, 0x06, 0x00, 0xC8, 0x00, 0x01, 0x00, 0x01, 0x00, 0xDE, 0x6A};    // GPS rate to 200ms (5Hz)
  Serial.write (conf2,14);
  delay(300);
  byte conf3[38]={0xB5, 0x62, 0x06, 0x03, 0x1C, 0x00, 0x02, 0x03, 0x10, 0x18, 0x14, 0x05, 0x00, 0x3C, 0x3C, 0x14, 0xE8, 0x03, 0x00, 0x00, 0x00, 0x17, 0xFA, 0x00, 0xFA, 0x00, 0x64, 0x00, 0x2C, 0x01, 0x0F, 0x00, 0x00, 0x00, 0x8D, 0xE4};
  Serial.write (conf3,36);
  delay(300);
  byte conf4[50]={0xB5, 0x62, 0x06, 0x1A, 0x28, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x04, 0x10, 0x02, 0x50, 0xC3, 0x00, 0x00, 0x18, 0x14, 0x05, 0x3C, 0x00, 0x03, 0x00, 0x00, 0xFA, 0x00, 0xFA, 0x00, 0x64, 0x00, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x6D};
  Serial.write (conf4,48);
  delay(300);
  byte conf5[46]={0xB5, 0x62, 0x06, 0x24, 0x24, 0x00, 0xFF, 0xFF, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00, 0x05, 0x00, 0xFA, 0x00, 0xFA, 0x00, 0x64, 0x00, 0x2C, 0x01, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x82};    //some changes in GPS parameters recommended somewhere on forums i.e. dynamic to pedestrian etc..
  Serial.write (conf5,44);
  delay(300);
  byte conf6[13]={0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0xF0, 0x05, 0x00, 0xFF, 0x19};
  Serial.write (conf6,11);
  delay(300);
  byte conf8[13]={0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0xF0, 0x03, 0x00, 0xFD, 0x15};
  Serial.write (conf8,11);
  delay(300);
  byte conf9[13]={0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0xF0, 0x01, 0x00, 0xFB, 0x11};  //disable unnecessary NMEA messages, it takes less bytes than disable all and enable GGA, GSA and RMC
  Serial.write (conf9,11);
  delay(300);
  byte conf11[30]={0xB5, 0x62, 0x06, 0x00, 0x14, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD0, 0x08, 0x00, 0x00, 0x00, 0xC2, 0x01, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x96};   //again port speed, probably unnecessary but who knows, its residuum from tests, may be ommited..
  Serial.write (conf11,28);
  delay(300);
  byte conf7[23]={0xB5, 0x62, 0x06, 0x09, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x31, 0xBF};   //write config to GPS BBRAM, maybe not necessary because we will initialise it again next start...
  Serial.write (conf7,21);
  delay(100);



I don't have I2C device. Can I use this code for serial GPS? If so, where the code needs to be placed? ;) Thanks.

Jonit.

User avatar
EOSBandi
Posts: 802
Joined: Sun Jun 19, 2011 11:32 am
Location: Budapest, Hungary
Contact:

Re: SBAS settings for Australia

Post by EOSBandi »

Matt. wrote:Hi,

I am trying to figure out what SBAS settings I should use for my Ublox NEO-6P. Most of the information on the web seems old, from what I read is that we dont have a zone and perhaps I should switch it off. Does anyone else have any input??

Cheers

Matt

There are now SBAS coverage in Australia, so enabling it does not make sense.... :(

Vilhelmsson
Posts: 8
Joined: Sun May 20, 2012 7:09 am

Re: GPS integration

Post by Vilhelmsson »

Hi thnx for all nice job and updates, have an problem with Ublox 6, the bat went dead and i replaced it with a 3.6 lithium backup bat and now it got no fix :-( could it be some settings or did i brick it, tried with you're config but no use.
KR Anders

krystal
Posts: 12
Joined: Fri Mar 30, 2012 2:06 am

Re: GPS integration

Post by krystal »

Any simple solution to keep configuration for long time in neo-6M ?

mr.rc-cam
Posts: 457
Joined: Wed Jul 27, 2011 11:36 pm

Re: GPS integration

Post by mr.rc-cam »

I've been working on integrating FrSky's telemetry into my MWC. Things are going well and I'm at the point of interfacing it to the I2C "EOSbandi GPS" board. But unfortunately I am still waiting for the rctimer board to arrive (I ordered it several weeks ago). So that I can continue with the coding, I need a bit of help ...

Re-posted for reference.

i2c gps and even the serial gps implementation works at 5-10hz upate rate. Frsky cannot handle more than 1hz.. so connecting directly to the gps module is out of the question.

In my implementation there is a DiY built i2c-FrSky bridge interface. In concept it is similar to your i2c GPS board (Thank You! for creating it.). Regarding the FrSky 1Hz limit, from my experiments the telemetry's data frame rates published by FrSky can be increased. Of course it is possible to overflow the telemetry's buffer, so it's important to ensure that does not happen. For example, I'm currently sending GPS telemetry data at 3Hz and my Open9X upgraded FlySky (Turnigy) transmitter does great with it.

so you have to convert the lat lon values back to nmea format, and output it on the serial port, but this will prohibit gui connections.... so it is also a dead end imho.

I agree with you. I did not want to give up the GUI port, so that is why I use a i2c bridge. One end plugs into the FrSky Rx's data port and the other end connects to the MWC's I2C port. It's a clean installation.

In a few weeks I plan on discussing the new FrSky project at the rc-cam.com site. The scope of this new effort is very similar to my previous DiY FrSky hub project that is discussed in detail here:
http://www.rc-cam.com/forum/index.php?/ ... y-gps-hub/

But first I need to get my GPS board from rctimer and figure out the GPS data conversions that are needed from it. That is why I was here looking for ways to keep the project moving forward while the slow boat from China delivers the i2c GPS. I did not intend to take the topic off-subject, so I'll gracefully exit for now and work out the details when I get my GPS interface.

- Thomas

User avatar
EOSBandi
Posts: 802
Joined: Sun Jun 19, 2011 11:32 am
Location: Budapest, Hungary
Contact:

Re: GPS integration

Post by EOSBandi »

Hi !
I think the best way to achieve what you want, if your i2c bridge acts as an i2c slave device. You can add a couple of registers and write them from the MWC code.
The GPS coordinates are stored and transfered via the i2c bus as signed long (4 bytes each) in a decimal degree format multiplied by 10e7. (1 deg = 10e7)
Regards,
Andras

mr.rc-cam
Posts: 457
Joined: Wed Jul 27, 2011 11:36 pm

Re: GPS integration

Post by mr.rc-cam »

The GPS coordinates are stored and transfered via the i2c bus as signed long (4 bytes each) in a decimal degree format multiplied by 10e7. (1 deg = 10e7)

Thanks for the information. Every little tidbit helps. :)

- Thomas

krystal
Posts: 12
Joined: Fri Mar 30, 2012 2:06 am

Re: GPS integration

Post by krystal »

I'm using u-blox neo 6m with ublox protocol and i2c converter. After GPS cold start, the led is flashing one time per second. Im waiting and waiting and no fix. Im disconecting FC board from voltage, conect again and have fix in 10 seconds. Its normal?

ReM
Posts: 14
Joined: Sun Jul 08, 2012 12:02 pm
Location: Lithuania

Re: GPS integration

Post by ReM »

I rewrote MTK firmware (AXN1.51_2722_3329_384.1151100.5) and tried to use MTK binary protocol. But in flight I saw big position overshots. GPS effect was too big. Deviations has been increasing...
Before this I used the same GPS module, NMEA protocol, 5Hz. PH and RTH was working very well. PID was the same in both situations.
I tried to decrease PH P to 1, but overshots also were.

User avatar
EOSBandi
Posts: 802
Joined: Sun Jun 19, 2011 11:32 am
Location: Budapest, Hungary
Contact:

Re: GPS integration

Post by EOSBandi »

ReM wrote:I rewrote MTK firmware (AXN1.51_2722_3329_384.1151100.5) and tried to use MTK binary protocol. But in flight I saw big position overshots. GPS effect was too big. Deviations has been increasing...
Before this I used the same GPS module, NMEA protocol, 5Hz. PH and RTH was working very well. PID was the same in both situations.
I tried to decrease PH P to 1, but overshots also were.


Use 5Hz, it seems that MTK is NOT capable of 10Hz with a Binary protocol...
Also try to switch off GPS_FILTERING

User avatar
EOSBandi
Posts: 802
Joined: Sun Jun 19, 2011 11:32 am
Location: Budapest, Hungary
Contact:

Re: GPS integration

Post by EOSBandi »

krystal wrote:I'm using u-blox neo 6m with ublox protocol and i2c converter. After GPS cold start, the led is flashing one time per second. Im waiting and waiting and no fix. Im disconecting FC board from voltage, conect again and have fix in 10 seconds. Its normal?


Did you saved config to Ublox, is your backup battery working ?

User avatar
EOSBandi
Posts: 802
Joined: Sun Jun 19, 2011 11:32 am
Location: Budapest, Hungary
Contact:

Re: GPS integration

Post by EOSBandi »

HI Guys,
I put together a hw hack guide for U-Blox modules. You can find it here : http://code.google.com/p/i2c-gps-nav/downloads/list
Contains :
- Some ideas about antenna selection
- Repairing modules with faulty backup battery circuit
- Adding an I2C EEPROM for permanent config storage
- Protect the serial RX line from 5V

*Disclaimer : As usual use it on your own, if it breaks you can keep both pieces.... :D

User avatar
EOSBandi
Posts: 802
Joined: Sun Jun 19, 2011 11:32 am
Location: Budapest, Hungary
Contact:

Re: GPS integration

Post by EOSBandi »

Yesterday got some wind, and I went out for a poshold test : http://www.youtube.com/watch?v=5K2hvz4Y4Vo

User avatar
mOuchadino
Posts: 15
Joined: Sat Jul 07, 2012 3:51 am

Re: GPS integration

Post by mOuchadino »

Thank you....EOSBandi it's gOOd jOb..... and :D

User avatar
mOuchadino
Posts: 15
Joined: Sat Jul 07, 2012 3:51 am

Re: GPS integration

Post by mOuchadino »


Vilhelmsson
Posts: 8
Joined: Sun May 20, 2012 7:09 am

Re: GPS integration

Post by Vilhelmsson »

Thnx for ublox hack Andras

jaames74
Posts: 22
Joined: Tue Jun 12, 2012 5:56 pm

Re: GPS integration

Post by jaames74 »

EOSBandi wrote:
ReM wrote:I rewrote MTK firmware (AXN1.51_2722_3329_384.1151100.5) and tried to use MTK binary protocol. But in flight I saw big position overshots. GPS effect was too big. Deviations has been increasing...
Before this I used the same GPS module, NMEA protocol, 5Hz. PH and RTH was working very well. PID was the same in both situations.
I tried to decrease PH P to 1, but overshots also were.


Use 5Hz, it seems that MTK is NOT capable of 10Hz with a Binary protocol...
Also try to switch off GPS_FILTERING


ok, im a little confused... :?
i have the navigatron v2 what should i define in NAV's config.h??

#define MTK
OR
#define NMEA ??

BTW, what was the default setting with r33??

thanks

User avatar
EOSBandi
Posts: 802
Joined: Sun Jun 19, 2011 11:32 am
Location: Budapest, Hungary
Contact:

Re: GPS integration

Post by EOSBandi »

it depends on your gps settings, with axn 1.51 gps firmware you can go with mtk otherwise nmea

Sympster
Posts: 15
Joined: Thu May 24, 2012 1:45 am

Re: GPS integration

Post by Sympster »

krystal wrote:I'm using u-blox neo 6m with ublox protocol and i2c converter. After GPS cold start, the led is flashing one time per second. Im waiting and waiting and no fix. Im disconecting FC board from voltage, conect again and have fix in 10 seconds. Its normal?


This is my experience also.

little nellie
Posts: 33
Joined: Mon Jun 11, 2012 6:44 pm

Re: GPS integration

Post by little nellie »

Hello, I am very new into MultiWii, I been reading past post about installing GPS. I just received the CRIUS GPS and the NAV module.

Question, is this correct that before I install and config MultiWii with GPS, I need to config the I2C NAV module?

If yes, I will need to solder on FTDI jumper on the I2C module and config with the I2C_GPS_NAV , adding the setup code for the CRIUS board?

Please let me know if I need to do more, thanks for your time.

crashlander
Posts: 506
Joined: Thu May 05, 2011 8:13 am
Location: Slovenia

Re: GPS integration

Post by crashlander »

EOSBandi wrote:HI Guys,
- Adding an I2C EEPROM for permanent config storage

Can you please post some EBay (or other) source for that EEPROM. Thank you.
BTW: it seems that GLB's NEO-6 has proper backup battery connection but the battery lasts only couple of hours.

dr.tom
Posts: 141
Joined: Fri Mar 30, 2012 4:46 pm
Location: Croatia
Contact:

Re: GPS integration

Post by dr.tom »

crashlander wrote:
EOSBandi wrote:HI Guys,
- Adding an I2C EEPROM for permanent config storage

Can you please post some EBay (or other) source for that EEPROM. Thank you.


+1 for link please :)

Thanks for detailed hack guide,
will be usefull now when melihk is out of stock for a long time with his great I2C GPS product... 8-)

(P.S. found microchip link where they even send some samples, worth a try, I selected 24AA32A-I/MS SOP
http://www.microchip.com/samples/Defaul ... ly=24AA32A )
Last edited by dr.tom on Fri Jul 20, 2012 12:42 pm, edited 1 time in total.


Tazzy
Posts: 75
Joined: Sun Jun 19, 2011 4:45 pm
Location: Sweden

Re: GPS integration

Post by Tazzy »

EOSBandi wrote:Yesterday got some wind, and I went out for a poshold test : http://www.youtube.com/watch?v=5K2hvz4Y4Vo

Hello EOSBandi
Impressive show off ;) for us that don't nail the pid as good you do lol
I'm interested in a screen dump with all your pids of that tri copter not only the gps values is that possible you can share that ?

Thanks

// Fredde

User avatar
Gaijin
Posts: 82
Joined: Sat Jan 14, 2012 8:00 am

Re: GPS integration

Post by Gaijin »

Hey Eos,

Have you cracked the UBlox configuration code yet, and when it functions do you still really need an Eeprom?

Surely if you set the module up at every boot there is no point?

N.B After flashing my MTK based module up with the new binary firmware it defaults to 1hz and I no longer seem to have any remaining set attempts in MiniGPS, does this matter or does it set the refresh rate automatically, I'm sure I had at least 8 remaining with the last firmware.

little nellie
Posts: 33
Joined: Mon Jun 11, 2012 6:44 pm

Re: GPS integration

Post by little nellie »

little nellie wrote:Hello, I am very new into MultiWii, I been reading past post about installing GPS. I just received the CRIUS GPS and the NAV module.

Question, is this correct that before I install and config MultiWii with GPS, I need to config the I2C NAV module?

If yes, I will need to solder on FTDI jumper on the I2C module and config with the I2C_GPS_NAV , adding the setup code for the CRIUS board?

Please let me know if I need to do more, thanks for your time.


I reloaded the I2C module and no GPS data appears in MultiWii COnfig screen, Does someone has any idea what step I failed to do?

thanks for your time.

Tazzy
Posts: 75
Joined: Sun Jun 19, 2011 4:45 pm
Location: Sweden

Re: GPS integration

Post by Tazzy »

little nellie wrote:
little nellie wrote:Hello, I am very new into MultiWii, I been reading past post about installing GPS. I just received the CRIUS GPS and the NAV module.

Question, is this correct that before I install and config MultiWii with GPS, I need to config the I2C NAV module?

If yes, I will need to solder on FTDI jumper on the I2C module and config with the I2C_GPS_NAV , adding the setup code for the CRIUS board?

Please let me know if I need to do more, thanks for your time.


I reloaded the I2C module and no GPS data appears in MultiWii COnfig screen, Does someone has any idea what step I failed to do?

thanks for your time.

Do you have right speed on com port from i2c nav unit and the gps and tx rx pins right connected ?

// Tazzy

little nellie
Posts: 33
Joined: Mon Jun 11, 2012 6:44 pm

Re: GPS integration

Post by little nellie »

Hello Tazzy,

I am using the GPS from RCTimer (CRIUS), I have no way to confirm what the GPS Speed is as they come from the factory. It is plug directly to the I2C board, also from RCTimer (CRIUS). The cable between the two boards is pre-made and matches the picture shown at their site.

Currently, in config.h of I2C_GPS_NAV is set to #define GPS_SERIAL_SPEED 115200

I verify with the u-blox s/w and it is set at 115200 and GPS is receiving and transmitting data.

What is the best way to check if the I2C is passing data?

thanks for your time.
Last edited by little nellie on Fri Jul 20, 2012 11:41 pm, edited 1 time in total.

User avatar
TermicOne
Posts: 15
Joined: Wed Jul 04, 2012 9:13 pm
Location: Italy - Milan

Re: GPS integration

Post by TermicOne »

Today installation, setup and GPS maiden flight on a CRIUS AIO Pro V1 (ublox GPS from RCTimer). Tested GPS Pos Hold function....I'm really impressed. I haven't done yet any PID tuning and I'm still flying with all default PID values. Even with these defaults the GPS HOLD function works pretty well (BARO needs some tuning). You can even push away the quad and he comes back to you.....fantastic!

I had some problems in setting up the GPS.
1 - GPS doesn't send any frame if you don't switch it on/off a couple of times...I don't think this is the proper behaviour.
2 - I can't set navigation rate to 2 into the GPS configuration tool. I set it to 2 ...but it comes back immediately to 1 and you can't save the value. For now I left it to 1 (don't know the impact of this value for our application). OK for 115200 baud rate and 10Hz values.

..have you got an idea if there is a solution to these strange problems?

This is a 5 min video of the first flights...a little boring ...but it's just for documenting that with all sensors ON (LEVEL, BARO, MAG and GPS) you can really leave the quad flying without any command for several minutes! At the end of the vid quad landed itself without any intervention (battery quite low and BARO could not compensate - looks like autolanding!).

http://www.youtube.com/watch?v=_LygiWPKxF4

Thanks for this development!

Luciano

Next step...GPS RTH!

penpen77
Posts: 73
Joined: Tue Jan 24, 2012 10:45 pm

Re: GPS integration

Post by penpen77 »

TermicOne : what is your quad size/KV/prop size and what pid values did you set ? I'm using the rctimer i2c/gps board and a mtk gps from a fried APM2, working perfectly, but my Position Hold is wayyyy too touchy, yoyo effect and crazy move, even with 9 sat, and i can't find how to tune correctly my pid on gps, i've tried to lowering P value and other thing, check apm sim to understand what param is doing what but..... bad results/no better results as before

Sympster
Posts: 15
Joined: Thu May 24, 2012 1:45 am

Re: GPS integration

Post by Sympster »

little nellie wrote:Hello Tazzy,

I am using the GPS from RCTimer (CRIUS), I have no way to confirm what the GPS Speed is as they come from the factory. It is plug directly to the I2C board, also from RCTimer (CRIUS). The cable between the two boards is pre-made and matches the picture shown at their site.

Currently, in config.h of I2C_GPS_NAV is set to #define GPS_SERIAL_SPEED 115200

I verify with the u-blox s/w and it is set at 115200 and GPS is receiving and transmitting data.

What is the best way to check if the I2C is passing data?

thanks for your time.



Check out the documentation file here: http://code.google.com/p/i2c-gps-nav/downloads/list

From that file: "If you use i2c-gps, you can watch the status led on the i2c-board. (this is the blue led on Navigatron).
* 3 short flash at startup * blinks once per second if GPS is sending data but no position lock yet * blinks twice fast, then off for a second if GPS 2D position is available * blinks 3 times fast, then off for a second if GPS 3D position is available * or goes on for a second, off for a second, (long pulse) if not getting any NEMA sentences for over 5 seconds"


For UBlox GPS setup: http://diydrones.com/profiles/blogs/tutorial-programming-your?xg_source=activity
and this: http://fpvcentral.net/2012/07/crius-all-in-one-gps-and-installation-howto-multiwii-part-1/

User avatar
TermicOne
Posts: 15
Joined: Wed Jul 04, 2012 9:13 pm
Location: Italy - Milan

Re: GPS integration

Post by TermicOne »

penpen77 wrote:TermicOne : what is your quad size/KV/prop size and what pid values did you set ? I'm using the rctimer i2c/gps board and a mtk gps from a fried APM2, working perfectly, but my Position Hold is wayyyy too touchy, yoyo effect and crazy move, even with 9 sat, and i can't find how to tune correctly my pid on gps, i've tried to lowering P value and other thing, check apm sim to understand what param is doing what but..... bad results/no better results as before


Motors: 2213N 800Kv
Props: APC 10x3.8
Esc: TURNIGY Plush 25amp
Control Board: CRIUS AIO Pro V1 - RCTimer serial GPS
Lipo: 2800mAh
FPV Kit: 5.8Ghz - 200mW
OSD: HobbyKing E-OSD
Cam: GoPro
Motor to motor: 57cm
Weight: 1250gr
PID Values: default PID from 2.1

Post Reply