Adafruit Ultimate GPS Logger Shield - Update Rate

Adafruit Ethernet, Motor, Proto, Wave, Datalogger, GPS Shields - etc!

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
shane_g
 
Posts: 5
Joined: Thu Nov 12, 2015 6:58 pm

Adafruit Ultimate GPS Logger Shield - Update Rate

Post by shane_g »

Hello,

I have a GPS project I'm working on that will be used for a high-speed application traveling up to 70mph. I'm researching if the Adafruit Ultimate GPS Logger Shield w/Ultimate GPS module would work for my application.

The GPS module says it supports -165 dBm sensitivity, 10 Hz updates (10 times per second), 66 channels.

"For example, we can ask the GPS to send different sentences, and change how often it sends data. 10 Hz (10 times a second) is the max speed, and is a lot of data. You may not be able to output "all data" at that speed because the 9600 baud rate is not fast enough." My obvious concern is the baud rate, which is only 9600.

See info just ABOVE 'Parse Data': https://learn.adafruit.com/adafruit-ult ... d?view=all

According to GlobalTop: See 'Requirement' http://www.gtop-tech.com/en/software/10 ... es_06.html

GlobalTop GPS module supports up to 10Hz update rate. High data transmission baud rate is necessary to enable 10Hz update rate. Minimal of 38400bps is required and 115200bps is recommended.

Can I increase the baud rate to 38400bps (minimum) or 115200bps (preferred) on the Adafruit Ultimate GPS Logger Shield?
If not, what would you suggest?

Warm regards,
Shane

User avatar
adafruit_support_mike
 
Posts: 67485
Joined: Thu Feb 11, 2010 2:51 pm

Re: Adafruit Ultimate GPS Logger Shield - Update Rate

Post by adafruit_support_mike »

Yeah, you can set the GPS module's output rate up to 115200.

The only gotcha when changing the NMEA output rate is that the module will reject any rate it can't transmit at the given baudrate. Change the baudrate first, then the refresh rate, then the NMEA sentence rate.

You might also want to modify the list of sentences the module emits to save unwanted transmission overhead.

The commands for all of that are in the GPS module's command sheet: http://www.adafruit.com/datasheets/PMTK_A11.pdf

shane_g
 
Posts: 5
Joined: Thu Nov 12, 2015 6:58 pm

Re: Adafruit Ultimate GPS Logger Shield - Update Rate

Post by shane_g »

Hello Mike,

As I mentioned previously I need data logged 10 times per second, and I have a question regarding your Ultimate GPS Breakout.

The Adafruit Description says:
"It is not possible to change what is logged and how often, as its hardcoded into the module but we found that this arrangement covers many of the most common GPS datalogging requirements." See 5th paragraph, last sentence: https://www.adafruit.com/products/746

If this is a limitation, how can one utilized the 10Hz capabilities of the module? Also, does this limitation also apply to the Ultimate GPS Logger Shield or can it be modified via LOCUS? What am I missing here?

Lastly, provided they can be configured to log at 10 times per second, is their a solution to send/transmit the logged data via WIFI 802.11 to be parsed? Bear with me, I'm a web developer and recently started with electronics. It is really fascinating.

Thank you in advance,

Shane
Last edited by shane_g on Tue Nov 17, 2015 12:01 pm, edited 1 time in total.

User avatar
adafruit_support_mike
 
Posts: 67485
Joined: Thu Feb 11, 2010 2:51 pm

Re: Adafruit Ultimate GPS Logger Shield - Update Rate

Post by adafruit_support_mike »

Are you asking about the radio module or the Locus internal logging memory? They're two different systems in the same module.

The radio can check the satellites at 10Hz, and can transmit that information to an Arduino or other microcontroller at up to 115200 baud.

The internal Locus logging system has absolutely no connection to the serial baudrate. It's a 64k memory array, and each update consumes 16 bytes. Logging to it at 10Hz (if that were possible) would fill it in about 400 seconds.

An external microcontroller could read NMEA sentences at 10Hz over the serial connection and store them to something like an SD card.

shane_g
 
Posts: 5
Joined: Thu Nov 12, 2015 6:58 pm

Re: Adafruit Ultimate GPS Logger Shield - Update Rate

Post by shane_g »

Hey Mike,

Thank you for the clarification.

For my application it appears the Ultimate GPS Logger Shield with the onboard microSD card slot for data logging using the serial baudrate at 115200 will be best.
What do you recommend for the micro controller? Ardunio UNO?

Adafruit Description says:
"It is not possible to change what is logged and how often, as its hardcoded into the module but we found that this arrangement covers many of the most common GPS datalogging requirements." Does this only apply to the Ultimate GPS Breakout?? See 5th paragraph, last sentence: https://www.adafruit.com/products/746

Using the Ultimate GPS Logger Shield with a microcontroller (Arduino UNO), how do I set the radio to check the satellites at 10Hz and the microcontroller to read the data and log it to the microSD at 10Hz??

Thank you in advance,

Shane

User avatar
adafruit_support_mike
 
Posts: 67485
Joined: Thu Feb 11, 2010 2:51 pm

Re: Adafruit Ultimate GPS Logger Shield - Update Rate

Post by adafruit_support_mike »

shane_g wrote:For my application it appears the Ultimate GPS Logger Shield with the onboard microSD card slot for data logging using the serial baudrate at 115200 will be best.
What do you recommend for the micro controller? Ardunio UNO?
That would be the easiest to use. The Shield is made to fit on an Uno.
shane_g wrote:Adafruit Description says:
"It is not possible to change what is logged and how often, as its hardcoded into the module but we found that this arrangement covers many of the most common GPS datalogging requirements." Does this only apply to the Ultimate GPS Breakout??

That applies to the Locus datalogger, which is a firmware option built into the MTK3339 module. It's unrelated to the GPS fix rate, the NMEA sentence output rate, or the UART baudrate.

We specify that option for all the GPS modules we buy, so the limit applies to everything we sell that has a GPS module.

shane_g wrote:Using the Ultimate GPS Logger Shield with a microcontroller (Arduino UNO), how do I set the radio to check the satellites at 10Hz and the microcontroller to read the data and log it to the microSD at 10Hz??

The complete list of commands is in this document: http://www.adafruit.com/datasheets/PMTK ... 39-A01.pdf

You'll start by connecting to the GPS module at 9600 baud to issue commands. Send it a $PMTK251 command to change the baudrate, then close the serial connection and reopen it at the new rate. Then you can use the $PMTK314 command to select the set of NMEA sentences you want the module to emit and how often to emit them. Then you can set use the $PMTK220 to set the NMEA update rate.

shane_g
 
Posts: 5
Joined: Thu Nov 12, 2015 6:58 pm

Re: Adafruit Ultimate GPS Logger Shield - Update Rate

Post by shane_g »

Hello Mike,

Thank you for your guidance! You have a new customer as I just ordered the Adafruit Ultimate GPS Shield.

I look forward to working with it!

Warm regards,
S.

shane_g
 
Posts: 5
Joined: Thu Nov 12, 2015 6:58 pm

Re: Adafruit Ultimate GPS Logger Shield - Update Rate

Post by shane_g »

Hello Mike,

I was reviewing the Adafruit_GPS.h file in the Adafruit GPS library and the 'echo' file in the examples folder and noticed this: See bold

// different commands to set the update rate from once a second (1 Hz) to 10 times a second (10Hz)
// Note that these only control the rate at which the position is echoed, to actually speed up the
// position fix you must also send one of the position fix rate commands below too.
#define PMTK_SET_NMEA_UPDATE_100_MILLIHERTZ "$PMTK220,10000*2F" // Once every 10 seconds, 100 millihertz.
#define PMTK_SET_NMEA_UPDATE_200_MILLIHERTZ "$PMTK220,5000*1B" // Once every 5 seconds, 200 millihertz.
#define PMTK_SET_NMEA_UPDATE_1HZ "$PMTK220,1000*1F"
#define PMTK_SET_NMEA_UPDATE_5HZ "$PMTK220,200*2C"
#define PMTK_SET_NMEA_UPDATE_10HZ "$PMTK220,100*2F"
// Position fix update rate commands.
#define PMTK_API_SET_FIX_CTL_100_MILLIHERTZ "$PMTK300,10000,0,0,0,0*2C" // Once every 10 seconds, 100 millihertz.
#define PMTK_API_SET_FIX_CTL_200_MILLIHERTZ "$PMTK300,5000,0,0,0,0*18" // Once every 5 seconds, 200 millihertz.
#define PMTK_API_SET_FIX_CTL_1HZ "$PMTK300,1000,0,0,0,0*1C"
#define PMTK_API_SET_FIX_CTL_5HZ "$PMTK300,200,0,0,0,0*2F"
// Can't fix position faster than 5 times a second!

And in the 'echo' file in the examples and noticed this:

// Set the update rate
// Note you must send both commands below to change both the output rate (how often the position
// is written to the serial line), and the position fix rate.
// 1 Hz update rate
//GPS.sendCommand(PMTK_SET_NMEA_UPDATE_1HZ);
//GPS.sendCommand(PMTK_API_SET_FIX_CTL_1HZ);
// 5 Hz update rate- for 9600 baud you'll have to set the output to RMC or RMCGGA only (see above)
GPS.sendCommand(PMTK_SET_NMEA_UPDATE_5HZ);
GPS.sendCommand(PMTK_API_SET_FIX_CTL_5HZ);
// 10 Hz update rate - for 9600 baud you'll have to set the output to RMC only (see above)
// Note the position can only be updated at most 5 times a second so it will lag behind serial output.
//GPS.sendCommand(PMTK_SET_NMEA_UPDATE_10HZ);
//GPS.sendCommand(PMTK_API_SET_FIX_CTL_5HZ);

Question: If the "Position Fix Rate" can only be updated at most 5 times a second, how can the one get NMEA sentence updates at 10HZ (10 times a second) written to the serial line??

Thank you,
Shane

User avatar
jboyton
 
Posts: 101
Joined: Tue Sep 16, 2014 2:52 pm

Re: Adafruit Ultimate GPS Logger Shield - Update Rate

Post by jboyton »

Shane, if it's true that 5Hz is the maximum it would be a limitation of that specific library/sketch code. The GPS can certainly send the data at 10Hz.

User avatar
dsegel
 
Posts: 25
Joined: Sun Aug 23, 2015 11:56 am

Re: Adafruit Ultimate GPS Logger Shield - Update Rate

Post by dsegel »

I have an additional question regarding the logging rate for this chipset - the spec sheets indicate a command to set the logging rate:

Example:
PMTK187,1,5*38<CR><LF> It means every 5 second to log a data.

Is this function not enabled? I tried using it but it still only logs at 15 second intervals.

User avatar
adafruit_support_mike
 
Posts: 67485
Joined: Thu Feb 11, 2010 2:51 pm

Re: Adafruit Ultimate GPS Logger Shield - Update Rate

Post by adafruit_support_mike »

I just tested that command with one of my own GPS modules and it worked. Are you getting a response packet from the module when you send the command?

User avatar
dsegel
 
Posts: 25
Joined: Sun Aug 23, 2015 11:56 am

Re: Adafruit Ultimate GPS Logger Shield - Update Rate

Post by dsegel »

Thanks - with confirmation that it worked I took a second look and found a typo in my checksum. It's working for me now.

User avatar
dsegel
 
Posts: 25
Joined: Sun Aug 23, 2015 11:56 am

Re: Adafruit Ultimate GPS Logger Shield - Update Rate

Post by dsegel »

OK, one more question - how do I change the logging mode to overlap instead of full stop? I see it mentioned in the command list, but can't find anything that states what command to actually use.

User avatar
adafruit_support_mike
 
Posts: 67485
Joined: Thu Feb 11, 2010 2:51 pm

Re: Adafruit Ultimate GPS Logger Shield - Update Rate

Post by adafruit_support_mike »

I think that's a fabrication option instead of something settable. We don't know of any way to change it.

User avatar
cjh39
 
Posts: 4
Joined: Thu Oct 25, 2018 8:25 pm

Re: Adafruit Ultimate GPS Logger Shield - Update Rate

Post by cjh39 »

Were you able to get the GPS to use 10Hz ? I have not found anything to get it set at 10Hz yet. No one has any working examples.

Locked
Please be positive and constructive with your questions and comments.

Return to “Arduino Shields from Adafruit”