GPS Series - Part 1 EM-406A. Interface to a GPS Module or Receiver. By Michael Simpson

Similar documents
Remember you can download a complete NMEA 0183 reference manual here:

GPS Series. Build a GPS Smart Logger. By Michael Simpson. As seen in November 2008 of Servo Magazine Pick up an issue at

User Manual Bluetooth GPS Receiver

GPS Module. Ct-G431. Specifications Sheet V0.3

GPS Receiver with Compact Flash Interface

L ast month, we used Wi-Fi to control Megabot. One

MG-S01SP. SiRF Star III LowPower GPS Module. User s Manual Ver 1.03

Fortuna Slim Bluetooth GPS Receiver

Bluetooth GPS Receiver. User s Guide

GPS Module. Ct-G432. Specifications Sheet V0.1

AWQDZXVC Multi-functional BTGP-38KM Bluetooth GPS Data Logger V1.0

Number Name Description Notes Image 0101 Resistor, 100 ohm. brown-black-browngold. ¼ watt, 5% tolerance, red-red-brown-gold. brown-black-red-gold.

CONTENTS. General Introductions to MMF GPS 2-4. Detail Technical Specifications 5. MMF GPS Package 6. LED Indication & External Autenna 7

Bluetooth GPS receiver with Digital Compass

Executive summary. Gather up the materials & tools required. Set up the BT2S for the ProChrono baud rate:

GLONASS SHIELD USER MANUAL

GPS Receiver. User s Guide. June. 03, 2003

GPS MOBILE LOCATOR USER S MANUAL

Retrieving and installing GPS Controller

BT-Q818 extreme Super 51-CH Bluetooth GPS Receiver

Table of Contents 1. OVERVIEW PACKAGE CONTENT PRODUCT SPECIFICATION MAIN FEATURES INTRODUCTION...

Arduino Panel Meter Clock. By Russ Hughes

FSA-CU Configuration Utility Programming Guide

PPS usable by timing applications via serial port emulation

GPS Module. Ct-G431R. Specifications Sheet V0.1

The JT-DO1 GPS-disciplined IRIG-B timecode generator produces timecode according to the IRIG-

GPS MOBILE LOCATOR USER S MANUAL

Seeburg JCU-DEC Kit Convert Your Seeburg DEC Wallbox Into a Jukebox

BT-R900. Bluetooth GPS Receiver. User s Manual. Date: April 2006 Version: 2.1. All Rights Reserved

Rainbowduino Word Clock. By Russ Hughes

TA0139 USER MANUAL ARDUINO 2 WHEEL DRIVE WIRELESS BLUETOOTH ROBOT KIT

USER MANUAL HPS-120. About this product: Your Communications Solutions Provider

SMM501/501-H (Surveillance Mode Module) Ford Police Interceptors (Sedan and SUV)

GPS MOBILE LOCATOR USER S MANUAL

GPS-BT55S. User s Guide. GPS-BT55S User s Guide

Firebox X Edge e-series De-Manufacturing Instructions

Adafruit USB Power Gauge Mini-Kit

RF RF 433MHz Transceiver Module

USER MANUAL- HPU-120

GPS/GLONASS NV08C-RTK-EVK. Evaluation Kit. User Guide. Version 1.0. NVS Technologies AG

Supplement for module D061 incl. ATMega128 Prozessor

Vector Compact-S (NMEA 0183) Vector Compact-N (NMEA 2000) Quick Installation Guide

Wireless Receiver W/ USB Output BA/RCVxxx-USB Installation and Operating Instructions

The basic product comes with the IRS5 control board, 3 internal cables, 1 external cable with a 5 volt adapter and a mounting bracket with hardware.

USB Dongle Series. User Manual

12.3 Pro Dash Quick Start Guide

MobileMapper 6 Frequently Asked Questions

Phi-panel backpack assembly and keypad options Dr. John Liu 12/16/2012

Installing PRO/DGX or Pro Soloist MIDI interface. R Grieb 9/08/2017

Computer Temperature Interface model CTI-2. Description. Installation. Control Module

FCB1010 Phantom Power Adaptor

ibt-gps Bluetooth GPS Data Logger User s Manual

Project Proposal: Black Box Michail Turovskiy Done for: CSCS299, Spring 08. Project Abstract:

NS3Kview Quick-Start Guide

PowerBook G4 Aluminum 12" GHz Logic Board Replacement

Flight Data Recorder Hardware Version 1.0

GPS MOBILE LOCATOR USER S MANUAL

E-Blocks Easy GPS Bundle

UART GPS NEO-7M-C User Manual

Electron Asset Tracker

di-gps N1 digital images GPS

HOLUX. Bluetooth GPS Receiver. User s Guide. Aug. 10, 2004

Bullet Camera Installation in an Outdoor Enclosure

Vutog GPS Simulator White Paper

Personal Tracking System User Manual

BT-Q1200 Super 99 GPS Travel Recorder

HOLUX M-1200 Bluetooth GPS Receiver User s Manual M Bluetooth GPS Receiver. User s Guide

SNA KIT Assembly Guide

PowerBook G4 Aluminum 12" GHz Left Clutch Hinge Replacement

1. Introduction Features Specifications System Requirements of PC Package Software Installation

di-gps Pro L digital images GPS receiver (Built-in data Logger)

Bluetooth GPS Receiver. i-blue. User s Manual

GeoSDemo v1.34. User Manual

BT-335 Bluetooth Data Logger User Manual. Version 1.2

Ultimate LPF kit: Relay-switched LPF kit

Product description Rev. 3 11/06/14

nüvi for use with these nüvi models: 1300, 1310, 1340, 1350, 1370, 1390

ECI1. COMPASS display. ECI1-REV For latest update: Electronic Compass Indicator ECS1

GSM/GPRS/WCDMA/HSDPA/GPS. Automatic Vehicle Locator VT-1052C. Data Sheet

CONSOLE CONNECTOR KIT 9501 INSTALLATION INSTRUCTIONS

GPS Firmware A1037-A

Product Guide UPDATED. Look into NovAtel s Precise Positioning Engines and Enclosures

ThunderBolt Display. by Adam Maurer, VK4GHZ

PowerBook G4 Aluminum 12" GHz Display Data Cable Replacement

Contents. BT GPS Receiver User Manual

LM058 Bluetooth Serial Adapter SMA Antenna 100m m Range SPP GAP + Wireless DTR DSR RTS CTS

Robotics Jumpstart Training II. EasyC: Software & Firmware Updates

How to build an Olympus D-360L Trail Camera using the PixController Universal "Digital Trail Camera Kit" w/ RS-232-U PIC Chip

MICRO-1356 MULTI-PROTOCOL READER

XTM 2 Series De-manufacturing Instructions

SIM18_NMEA Messages_Specification_V1.00

PARTS LIST 1 x PC Board 36 x 5mm Red LED 36 x 12mm LED Standoff 36 x NPN Transistor 36 x 10kΩ Resistor OTHER PARTS YOU MAY NEED

µ-blox GPS-PS1 GPS Receiver Board based on SiRFstar I/LX TM -Datasheet-

-C5RS-LC RS232 EXTENDER

GSM/GPRS/GPS. Automatic Vehicle Locator VT-1052G. Data Sheet

TH E FI N EST I N G E E K E NTE RTAI N M E NT

Robustel GoRugged M1000 USB Quick Guide

Secured Series: Hub Plus Kit Single Door Controller Package Installation Manual

BEST Generic Kit Notes GMKR00002 Revision 7; August 2011

PowerBook G4 Aluminum 12" 867 MHz Display Replacement

Transcription:

GPS Series - Part 1 By Michael Simpson Interface to a GPS Module or Receiver As seen in October 2007 of Servo Magazine Pick up an issue at www.servomagazine.com I m sure you all have had dreams of using GPS in order to give your robot the ability to determine its position. In reality, a GPS system won t help you much if you need a resolution of less than 25 feet. Nor will it help you for most indoor robot projects. However, with more and more large scale outdoor competitions a GPS system is a must. You might even want to add two systems for redundancy. There is a plethora of GPS units available. In this series, I am going to concentrate on the EM-406A, EM-408, Etek and Copernicus modules, all available from Sparkfun Electronics. I will also be looking at the Holux GPSSlim 236 module. Each of the modules can be used with your Desktop PC, Laptop, Pocket PC, or a microcontroller. All the units support the NMEA 0183 protocol, as do many GPS modules. Later I will give you a walk through NMEA 0183 protocol. EM-406A Figure 1 Let s start by looking at the EM-406A module shown in Figure 1. The EM-406A is manufactured by USGlobalSat. The EM-406 is one of the modules available that has an optional development board. The development board is perfect if you are going to interface to a Desktop PC, Laptop, or Pocket PC. This makes the EM-406A a perfect starting point in the GPS series.

Let s take a quick look at the feature set of the EM-406A 20 Channel Receiver Built-in antenna High sensitivity: -159dBm 30 Positional Accuracy / 25 with WAAS Supports WAAS in default mode. Hot Start : 8 seconds Warm Start : 38 seconds Cold Start : 42 seconds 70mA power consumption 4.5 6.5 volt operation Outputs NMEA 0183 and SiRF binary protocols Small foot print : 30mm x 30mm x 10.5mm Built-in LED status indicator 6-pin interface cable included We are going to start by connecting the module to our PC using the EM406 Evaluation Board shown in Figure 2. This board will allow you to use a standard AC adapter and 9- pin cable to connect the EM-406A to your PC, Laptop or Pocket PC. Sparkfun Electronics also sells a USB EM406 Evaluation Board. You may use this board as well, as it sets up a com port that you can use once it s connected to your PC or laptop. You can t use the USB board with your Pocket PC or microcontroller.

Figure 2 In order to secure your EM-406A to the evaluation board, I recommend the following steps: Step 1 Place some double stick foam tape to the underside of the EM-406A. I recommend 4 small pieces rather than 1 large piece as shown in Figure 3. This will make it easier to remove later. One of the reasons we are using foam tape is to keep the metal bottom of the module from shorting out any of the evaluation board connections.

Figure 3 Step 2 Remove the backing from the foam tape and affix the module to the evaluation board as shown in Figure 4. It s ok if some of the foam tape is on top of a couple of the small components. Figure 4 Step 3 You need to keep the bottom of the evaluation board from shorting out. One way to do this is to place small standoffs on the board as shown in Figure 5. Note that I added small nylon washers on the top to prevent the screws from shorting out any of the pads on the evaluation board.

Figure 5 Step 4 The standoffs shown in Step 3 are fine for bench top testing, or mounting on a larger surface. If you plan on using your evaluation board in your car, I recommend sandwiching the board between two pieces of plastic. Start by marking the hole for the board. This is easily done by placing the board on top of the plastic and tracing the holes. Once the holes are drilled in the bottom piece, use it to mark the top piece of plastic. Insert four, #4 3/8 machine screws through the bottom of the base plastic piece and secure them with 4 nuts. I recommend adding 4 small nylon washers for insulation. Next, place the module on top of the screws as shown in Figure 6.

Figure 6 Step 5 Place four more nylon washers on top of the machine screws, then attach four, 1/2" standoffs to the screws. Next, place the top piece over the standoffs and attach with four, #4 3/8 machine screws as shown in Figure 7. Figure 7

EM-408 Figure 8 The EM-408 module shown in Figure 8 is also manufactured by USGlobalSat. While it does not have its own evaluation board, you can use the Copernicus Evaluation Board available from SparkFun. The EM-408 also has a built-in antenna, but also sports a MMCX connector for attaching an external antenna. EM-408 Features 20 Channel Receiver Built-in antenna High sensitivity: -159dBm 30 Positional Accuracy / 25 with WAAS Supports WAAS in default mode. Hot Start : 8 seconds Warm Start : 38 seconds Cold Start : 42 seconds 75mA power consumption 3.3 volt operation Outputs NMEA 0183 and SiRF binary protocols 30gram weight Built-in LED status indicator 5-pin interface cable included External MMCX antenna connector In order to plug the EM-408 into the Copernicus evaluation board, you need to add a couple of headers to the 5-pin connector that comes with the EM-408. Even if you don t

plan on using the Copernicus board, you will still need to mount the headers if you plan on connecting to a microcontroller, which I will detail later in this series. Step 1 Refer to Figures 9 and 10 and add a 3-pin header attaching the Enable, Vcc and Gnd leads as shown. Mark them with different colored heat shrink so you can identify the pins later when you plug it into the evaluation board. Notice that the gray colored wire is the Enable lead. Next, connect the two outside pins on a 3-pin header to the RX and TX leads as shown in Figure 10. Figure 9 Figure 10

Step 2 Plug the male headers into the female headers on the evaluation board as shown in Figure 11. Figure 11 Step 3 Take some double stick foam tape and attach them as shown in Figure 12. I recommend using two pieces on each to double the thickness.

Figure 12 Step 4 Peel the backing from the tape and attach the EM-408 as shown in Figure 13. Make sure you do not cover the mounting holes.

Figure 13 Step 5 As I showed in the EM-406 instructions, cut two pieces of plastic and mount the Copernicus board as I outlined. The plastic should be at least 3.5 x 2.5. When finished it should look like the module shown in Figure 14.

Figure 14 When connecting to this evaluation board use Port A. Testing the Modules You now have a nice platform for testing your EM-406A and EM-408. All you need to do is apply power to the 2.1 coax and connect the 9-pin connector to your PC with a cable. For power, I used a small 9vDC ac adapter I had lying around (Center positive). Sparkfun sells both the AC adapter and cable if you don t already have them. Note that on the Copernicus board we used Port A.

Once you apply power to the evaluation board there is a small switch that needs to be turned on. Once on, the main power LED on the board will light. On the EM-406, the small status LED on the module will light as well. Both the EM-406A and the EM-408 outputs its data at 4800 baud, 8N1. I have included a program called QuickTerm_DT.exe in the downloads. This is a simple terminal program that will allow you to see the raw NMEA 0183 data that the GPS unit is transmitting. Once you connect your module to your PC, Laptop or Pocket PC, you should see a form that looks something like Figure 15. If you don t, make sure you set the comport using the Settings menu. Even if you are deep in your basement you should still see this data coming from the module. Please note that if you are using a Pocket PC you need to use the QuickTerm_PPc.exe file. You will also need a null modem. (TX and RX crossover) Figure 15 NMEA 0183 Protocol In the old days there were as many GPS protocols as there were GPS manufacturers. Even today my Magellan Meridian has three different output protocols available. However, the NMEA 0183 protocol has evolved to become the protocol of choice for most software applications. Just about any GPS module or receiver now supports it. The National Electrical Manufacturer Association (NMEA) has defined a series of messages. These messages are referred to at the NMEA 0183 protocol. You can download a complete NMEA 0183 reference manual here: http://www.sparkfun.com/datasheets/gps/nmea%20reference%20manual1.pdf

Let s take a closer look at the NMEA 0183 protocol. Table 1 shows some of the NMEA messages that we will be looking at. Message GGA GSA GSV RMC Description Time, Position, Fix Type GPS receiver operating mode, Satellite used in the position solution, DOP values The number of GPS satellites in view, Satellite ID numbers, Elevation, Azimuth, SNR values. Time, Date, Position, Course, Speed Table 1 A NMEA 0183 message begins with a $GP and ends with a carriage return. It looks something like this: $GPGSV,3,1,12,20,00,000,,10,00,000,,25,00,000,,27,00,000,*79 The message name, which is also referred to as the option, are the characters just following the $GP. Each data element is separated by a comma. The data elements are terminated by the * character, followed by the checksum. There is an 8-bit XOR of Each character between the $ and * to form the checksum. The last two characters in the message are a hex representation of the calculated checksum. Once you supply power to your GPS module it will attempt to acquire and track satellites. The GPS module needs to track at least 3 satellites in order to report its position. There are two commands the protocol uses to relay the current satellite tracking status. GSA Field 1, Mode (M=Manual, A=Auto) Field 2, Fix (1=No Fix, 2=2D, 3=3D) Fields 3-14, the satellite numbers used to calculate position. Field 15, PDOP (Position Dilution of Precision) Field 17, HDOP (Horizontal Dilution of Precision) Field 18, VDOP (Vertical Dilution of Precision) The main field we are interested in is Field 2 (Fix). If this field value is a 1 then not enough satellites can be tracked to get a signal. If it is 2, then the module is in 2D mode. This means that only the X and Y positions can be reported. If the value is 3 then the module is in 3D mode and X, Y and Z axis positions can be reported. GSV

Field 1, Number of Messages (1-3) Field 2, Current Message Number (1-3) Field 3, Satellites in View Field 4-7, Satellite Number (1-32), Elevation (0-90), Azimuth (0-359), SNR (0-99) Fields 8-11, Satellite Number (1-32), Elevation (0-90), Azimuth (0-359), SNR (0-99) Fields 12-15, Satellite Number (1-32), Elevation (0-90), Azimuth (0-359), SNR (0-99) Fields 16-19, Satellite Number (1-32), Elevation (0-90), Azimuth (0-359), SNR (0-99) The GSV message reports the number of satellites in view and the actual signal values of any of those satellites that it is able to track. The third field reports the number of satellites in view. After that, 4 fields for each of the satellites in view report the satellite number, Elevation, Azimuth and SNR. I have provided a program called Satellites_DT.exe that will plot each satellite being tracked as shown in Figure 9. I have also included the ZeusPro source code with the download files so that you can see how I parsed the data. Figure 9 I have included the compiled Desktop and Pocket PC programs as well as the ZeusPro source code so that you can see how I parsed the data. As the series continues, I will continue to add programs and source code for you to experiment with. The main function called procnmea, shown in Program Segment 1, is where I test for the particular output messages and make the appropriate call to the message handler. In the segment I have also provided an example of the GGA handler.

func procnmea(lndat as string) dim msg as string '----------------------------- 'Print message to console print lndat,len(lndat),asc(mid(lndat,1,1)) if calcchecksum(lndat) = 0 then print "Checksum Error" exit() endif '----------------------------- 'Get msg type msg = replace(getword(lndat,1,1,","),"$gp","") select case msg case "GGA" procgga(lndat) case "RMC" procrmc(lndat) case "GSA" procgsa(lndat) case "GSV" procgsv(lndat) endselect endfunc '------------------------------------------ 'Global Positioning System Fixed Data ' Populates ' GGA_UTC, GGA_Latitude, GGA_NS ' GGA_Longitude, GGA_EW, GGA_FIX ' GGA_SATS, GGA_Alt, GGA_AltUnit '------------------------------------------ func procgga(lndat as string) global GGA_UTC as string global GGA_Latitude as string global GGA_NS as string global GGA_Longitude as string global GGA_EW as string global GGA_FIX as string global GGA_SATS as string

global GGA_Alt as string global GGA_AltUnit as string GGA_UTC=getword(lndat,1,2,",") GGA_Latitude=getword(lndat,1,3,",") GGA_NS=getword(lndat,1,4,",") GGA_Longitude=getword(lndat,1,5,",") GGA_EW=getword(lndat,1,6,",") GGA_FIX=getword(lndat,1,7,",") GGA_SATS=getword(lndat,1,8,",") GGA_Alt=getword(lndat,1,10,",") GGA_AltUnit=getword(lndat,1,11,",") endfunc Program Segment 1 Final Thoughts When you purchase a GPS module or standalone receiver you want as many channels as possible. You also want a module or receiver that supports the NMEA 0183 protocol. If you are going to connect to a microcontroller you should also look for some sort of TTL level serial output. Before I close this article it s important that I point out that there are literally 100s of GPS modules and receivers that are available. Here are two that I have used. Holux GPSlim236 The Holux GPSlim236 module supports a Bluetooth wireless interface. I use it with my Pocket PC and laptop for most of my trip navigation. The connector is actually a non inverting TTL serial interface that we will explore later when interfacing to microcontrollers. The GPSlim236 has a built-in battery that will power the GPS for up to 10 hours. You can also supply power to the connecter that will both charge and power the unit. This receiver will run you between $60 and $100, depending on where you purchase.

Figure 17 NAVIBE 611 Sport GPS The NAVIBE 611 shown in Figure 18 is a small GPS module. It runs off of 2 AA batteries, or can be powered via the rear connector. I picked one of these little gems up from an ebay store for $24 new. It displays current and max speed in the small display window and spits out the NMEA 0183 protocol via a small connector. The connector supplies both a serial and USB inteface. This unit also has the ability to log GPS data for later retrieval. Figure 18 What s Next

Next month we will look at interfacing a couple more SparkFun modules and take our NMEA 0183 interface to the next level. I will show you how to pull the positional data from the NMEA messages. Be sure to check for updates and downloads for this article at: http://www.kronosrobotics.com/projects/gps.shtml Parts The following is a breakdown of the source for all the components needed for Parts 2 and 3 of this project. Spark Fun Electronics EM-406A GPS module http://www.sparkfun.com/commerce/product_info.php?products_id=465 EM-406 Evaluation Board http://www.sparkfun.com/commerce/product_info.php?products_id=653 EM-408 GPS Module http://www.sparkfun.com/commerce/product_info.php?products_id=8234 Copernicus Evaluation Board http://www.sparkfun.com/commerce/product_info.php?products_id=8145 9-Pin Serial Cable http://www.sparkfun.com/commerce/product_info.php?products_id=65 6V AC Adapter http://www.sparkfun.com/commerce/product_info.php?products_id=737 External Antenna with SMA connector http://www.sparkfun.com/commerce/product_info.php?products_id=464 SMA to MMCX adapter cable http://www.sparkfun.com/commerce/product_info.php?products_id=285

KRMicros ZeusPro http://www.krmicros.com/development/zeuspro/zeuspro.htm