GPS Antenna ... some testing

439 views
Skip to first unread message

Thomas Roell

unread,
Dec 31, 2014, 10:27:58 AM12/31/14
to diyr...@googlegroups.com
There is always this question of how to improve GPS precision. One of the issues is antenna size.

I have here a GPS unit with a UBLOX7 G7020 chip onboard, and an active patch, CIROCOMM-580R. Here the link to the unit: http://www.wvshare.com/product/UART-GPS-NEO-7M-C.htm


Just for fun I did connect both of the indoors this morning. The 580R is 25x25x5, while the 0001 is 35x35x4. The attached screen shots do show quite an interesting picture. The difference is MASSIVE. The 580R setup struggled to find a fix, and had real issues to keep a fix. I had connected the GPS unit to my laptop via a CP2102 USB dongle. A quite noisy connection. The LCD of the laptop interferes also substantially. So not the best setup. However with the 0001 antenna there was an instant fix. I should mention here that I primed the GPS unit with a proper fix before. Hence it had all the satellite locations in the battery powered RAM. 

One more word about ublox 6 vs. ublox 7, as I think U-BLOX does a piss poor job explaining the real differences. The 6 series has a 16 satellite tracking engine (tracking is different from acquisition !). From those 16 channels if SBAS/WAAS is enabled, 3 will be used for SBAS/WAAS tracking, leaving 13 channels to track GPS birds. The 7 series on the other hand has 22 tracking channels, which means with the same 3 SBAS/WAAS reserved channels the unit can track 19 GPS birds. The current GPS constellation does use 32 satellites (one was down last time I checked). WIth a 5 degreee minimum elevation setting, I can see here in Colorado at average 14 GPS satelltites, and at a max 16 (in theory there could be 18, but I have never seen this). So in short UBLOX6 cannot track all the GPS satellties that could be tracked, while UBLOX7 can.

However there is a disadvantage with UBLOX7 (which is also not nicely documented). UBLOX6 does support an external EEPROM on I2C, UBLOX7 doesn't. However UBLOX7 would support something called an eFUSE, where you could write configuration data once (or a limited number of times ?). But I have not found documentation for that. Hence at the end of the day for UBLOX7 you have to add code that configures the unit properly on every boot. I suppose that's why it's not that popular with the 3DR/PX4 folks.

Ah, lastly, the UBLOX6 uses a ARM7DTMI as the core CPU, while UBLOX7 uses a Cortex-M3. Hence the latter one has much more processing horse power at much lower power. 

- Thomas


CIROCOMM-580R.JPG
CIROCOMM-0001.JPG

Thomas Roell

unread,
Dec 31, 2014, 1:44:56 PM12/31/14
to diyr...@googlegroups.com
A quick follow up. I just ran across something else there: http://www.ebay.com/itm/RY835AI-18Hz-USB-GPS-Glonass-BeiDou-antenna-module-pressure-Compass-Gyro-sonsor-/171607323229?pt=LH_DefaultDomain_0&hash=item27f497f25d

Thought I share, because this is hands down the best one I have seen. It's a NEO-M8N with a 35x35 passive patch antenna (see the difference that size makes above). It has a TTL UART along with a PPS pluse (that's a biggy for me). But it also has the NEO-M8N hooked up via I2C AND EXTINT0 is routed as well (*WOW*, *KINNLADE-RUNTERFALL*). The latter feature means that you can enable the TXRDY functionaltiy on EXTINT0, route that to the MCU and have the I2C driver read the expected number of bytes right when EXTINT0 is triggered. And then when it couldn't really get any better, there is a MPU6050, HMC5893 & BMP180 on there as well, with INT/DRDY routed !!!! And then just to top it off, there are mouting holes !

Whatever I was missing with the excellent products that csgshop has, this module got it all right ;-)

- Thomas

Jon Watte

unread,
Dec 31, 2014, 5:34:36 PM12/31/14
to diyrovers
I have come to the determination that, if you want to throw money at GPS to be exact, you pay for Navstar :-)
I will not be doing that, though...
Also, the unit in the second message does look like it "has it all." Very nice!

Sincerely,

jw





Sincerely,

Jon Watte


--
"I find that the harder I work, the more luck I seem to have." -- Thomas Jefferson

--
You received this message because you are subscribed to the Google Groups "diyrovers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to diyrovers+...@googlegroups.com.
To post to this group, send email to diyr...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/diyrovers/3c3dd3e8-8514-4759-b44a-70049c02a22e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Thomas Roell

unread,
Dec 31, 2014, 5:39:40 PM12/31/14
to diyr...@googlegroups.com
The money scale seems to be open ended ;-) I was really more interested in what one could do at the very low end. Say $20 for the GPS unit itself, whether a bigger antenna would be worth it. 

Whether the better SNR would result in a more precise location, I have no idea.

- Thomas

wholder

unread,
Dec 31, 2014, 9:13:58 PM12/31/14
to diyr...@googlegroups.com
I've also been experimenting with using I2C to talk to the UBlox modules and find it superior to using a serial interface.  I've also found it frustrating that many of the PCB layouts for these modules fail to bring out all the interface lines.  However, this module looks like an improvement.  Thanks for the heads up.

I've also been experimenting with different antenna types and have noticed a big difference, too.  However, I haven't yet done enough experiments to reach any definitive conclusions.  The main issue I've noticed (with the antenna in a fixed position) is for the reports coords to wander off from time time and reports coords that are far outside the expected error circle.  I'm fairly sure this is related to multipath reception, or perhaps when the receiver switches from using one set of sats to another.  But, it's hard to know for sure.  I can live with a 2-3 meter CEP, but excursions outside that are hard to handle.

Wayne

Thomas Roell

unread,
Jan 1, 2015, 10:09:26 AM1/1/15
to diyr...@googlegroups.com
Wayne,

why do you find I2C superior ? Just curious there. Did you consider SPI as well ? (UBLOX 7 does SPI, and via eFUSE you could enable this per default).

Whether the GPS module I mentioned really is usable with IMU, might just depend upon where you can mount it. If the compass is to close to the motor you have a tad of a problem there.

Looks also like we are in the same boat with testing. I got a 18x18 passive patch, a 25x25 passive patch, and a 25x25 active patch, and now a 35x35 active patch (all UBLOX7 based). The idea was to connect them to one microcontroller, and see what they'd do if you put them ontop of the local GPS reference point. Perhaps the wandering around if related to something that the size of type of the antenna can fix. On the other hand it's possible that measurement of the GPS unit include doppler measurements for position. If those get fed into a common EKF then that might explain the wandering. So it stand to reason that adjusting UBX-CFG-NAV5 may help setting the proper filtering.  

Have you looked at what the hAcc/vAcc/speedAcc/headAcc (or ehpe/evpe/ehse/ehve/ehe as they are more commonly called) that get reported back ?

- Thomas

Thomas Roell

unread,
Jan 1, 2015, 10:48:22 AM1/1/15
to diyr...@googlegroups.com
Correction here. The Protocol Spec was not clear enough ;-)

If one wants to use I2C with UBLOX7, then the TxD pin of the UART can be remapped to be TXDRY. EXTINT on the other hand can be used for PowerMode control, or to measure raising edges via UBX-TIM-TM2.

- Thomas 

Jon Watte

unread,
Jan 1, 2015, 3:06:02 PM1/1/15
to diyrovers

My understanding is that the small, slow creep in position is based on atmospherics and such. The occasional big jumps ate because of switching satellites. Thus, one option would be to detect jumps that are "big" and cancel them out with a local correction factor.

After all, if the satellite says your rover moves faster than it's physically capable of, chances are the satellite is wrong :-)

Jw

--
You received this message because you are subscribed to the Google Groups "diyrovers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to diyrovers+...@googlegroups.com.
To post to this group, send email to diyr...@googlegroups.com.

Wayne Holder

unread,
Jan 1, 2015, 5:32:04 PM1/1/15
to diyr...@googlegroups.com
Thomas,

I've been working on code that lets me dynamically change settings in uBlox modules using binary UBX commands rather than having to bake settings into the onboard EEPROM.  However, I find that the modules often fail to process commands if they're busy reporting a position fix.  Often, I don't even see a NAK for these commands, they're simply lost and ignored.  So, I've had to resort to things like disabling incoming NAV messages, then wait for a message queue to empty, then send the commands I want it to process, then reenable the NAV messages.  While not perfect, I find that the modules tend to miss far fewer commands when I issue them via the I2C interface.  And, I think it's more responsive to read NAV messages via the I2C interface, too.  It might work even better to use the I2C just for configuration commands and route the NAV messages to a serial port, but I haven't had time to try this, yet.

Wayne

--
You received this message because you are subscribed to the Google Groups "diyrovers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to diyrovers+...@googlegroups.com.
To post to this group, send email to diyr...@googlegroups.com.

Wayne Holder

unread,
Jan 1, 2015, 5:49:20 PM1/1/15
to diyr...@googlegroups.com
Jon,

I've attached a fairly mild example of the "wander" effect.  This a screen cap from some software I wrote to investigate the effect of changing various parameters in a uBlox module, such as the dynamic model, minimum elevation, etc.  In this case, the dynamic model is set to "fixed" and the minimum elevation is 20 degrees.  The display shows a series of circles, the innermost one being 2 meters across (1 meter radius) and shows the reported position over a period of about 5 minutes with the receiver in a  fixed position.  As you can see, there are no jumps in position (I've never seen a jump in position in hours and ours of watching this display.)  However, at unpredictable times, the reported position will just head for the hills rather than cluster around the true position.  In this case, it has not wandered very far.  However, I've seen it wander 5 to 10 meters away on a number of test runs.

BTW, the black dots indicate when the set of satellites used in making the fix has changed.  The blue dot is the latest position fix.

Wayne




Jon Watte

unread,
Jan 1, 2015, 7:16:35 PM1/1/15
to diyrovers
Right -- exactlu how "jumpy" the big changes are probably depends on the filtering in the GPS unit.
Setting it to "aircraft" or perhaps "car" mode is likely going to filter less than "fixed" mode, and thus will be more pronounced separated into "slow drift" and "big jump" segments.

Sincerely,

jw





Sincerely,

Jon Watte


--
"I find that the harder I work, the more luck I seem to have." -- Thomas Jefferson

Thomas Roell

unread,
Jan 1, 2015, 8:47:39 PM1/1/15
to diyr...@googlegroups.com
Wayne,

thanx for pointing that out. I had similar issues that I put down to the fact that I was using a Linux environment throu a USB dongle. Perhaps that needs more thought there. Like saving the config into the battery back RAM and then simply query the config before trying to change things ...

- Thomas

Jon Watte

unread,
Mar 22, 2015, 8:46:15 PM3/22/15
to diyrovers

I have one of these ry835ai units I got in January. However, the USB connection only works if I squeeze it to the PCB with my fingers.
Anyone else see this?

Jw

--
You received this message because you are subscribed to the Google Groups "diyrovers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to diyrovers+...@googlegroups.com.
To post to this group, send email to diyr...@googlegroups.com.

Thomas Roell

unread,
Mar 22, 2015, 9:34:23 PM3/22/15
to diyr...@googlegroups.com

No issues here. Works like a charm.

You received this message because you are subscribed to a topic in the Google Groups "diyrovers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/diyrovers/x0y26Fm76_M/unsubscribe.
To unsubscribe from this group and all its topics, send an email to diyrovers+...@googlegroups.com.

To post to this group, send email to diyr...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages