====== GPS Modules ====== ===== Recommended GPS Modules ===== * At present there are 3 GPS Modules that are regularly used by UKHAS balloon flights. These modules use an AND statement rather than OR for their [[http://en.wikipedia.org/wiki/CoCom|COCOM limits]]. This allows them to be used in high altitude balloon flights as they continue to function above 18km (60,000ft) as long as it doesn't exceed 515 m/s (which our balloon/payloads hopefully don't!). * [[guides:ublox6|uBlox 6/7/8 Based Modules]] - The uBlox 6/7/8 family are the newest GPS module in use. Its the successor to the uBLOX 5. A 50 channel GPS in a SMD package. It is rated up to 50,000 meters altitude in flight mode. Its an inexpensive module with good performance available from [[https://store.uputronics.com/index.php?route=product/search&search=max|Uputronics]]. Also used in the Radionova M10382.Although surface mounted there are breakout boards available. * [[http://www.u-blox.com/en/gps-modules.html|Ublox 4/5]] - The ublox modules are more advanced then the Lassen IQ and have 20 or more channels and often are 4Hz, they also have additional technology so that they acquire locks much faster. Ublox GPS modules are surface mounted and so are often harder to work with but can be found on Gumstix GPSstix boards, [[http://www.sparkfun.com/commerce/product_info.php?products_id=8889|GS406]] from Sparkfun, the [[guides:falcom_fsa03|Falcom FSA03]], occasionally the development boards come up on ebay. Similarly to the Lassen, Ublox have their own binary protocol known as UBX but their modules also use NMEA. The uBlox 4 and 5 are now end of life and have been superseeded by the uBlox 6 based modules. * [[http://www.trimble.com/embeddedsystems/lasseniq.aspx?dtID=overview|Lassen IQ]] - The Timble Lassen IQ is a 12 channel 1Hz GPS module which is now end of life though still availble on E-Bay. It requires a breakout board of some form as the connector on the bottom is quite small. The module has been used in many flights and was the workhorse of UKHAS until superseeded by the uBlox chipset based modules. The Lassen IQ has 2 serial ports, the 1st by default sends data in a proprietary binary form TSIP while the 2nd transmits NMEA. * Other GPS Modules: * Garmin GPS35 * Motorola OnCore VP. * Holux GM-82 * Trimble Copernicus - MUST be configured to work in AIR mode (thus will work up to 50000m), can be easily activated using Trimble Studio, or just sending one command, look at the datasheet. Available at [[http://www.sparkfun.com/commerce/product_info.php?products_id=7951|Sparkfun]]. * Venus634FLPx - running old firmware, new firmware should allow > 18km. Confirmed by Brad (KF7FER) the Venus 634FLPx works up to at least 63k feet. ===== Known Problem GPSes ===== * [[guides:AdafruitUGPS|Adafruit Ultimate GPS]] - Earlier versions have a limit of 27km which isn't suitable for most HAB launches. We understand newer versions has a limit of 40km, one of the new firmware versions worked up to 38km. See article for more information. * SIRF III chipset - with original firmware, any GPS modules that have this chipset will freeze at 24km altitude, while they use AND instead of OR they don't appear to work above 24km. * GM862-GPS * GS405 Module * Garmin GPS20 * Trimble Condor C2626 GPS. Direct replacement for the Lassen IQ however doesn't work above 18km, doesn't seem to have a software flight mode. Behaviour is undocumented by Trimble but it just stops outputting anything via the serial port above 18km. Does recover when altitude drops below this. * [[guides:inventek-ism300|Inventek ISMF2-C5.1-V004 GPS]] module - SIRF III with custom firmware, although intended for High Altitude use it has a limit of 137,795 ft (42000m) which can be exceeded under certain flight conditions. Inconsistent information on the Inventek site as in parts it claims a maximum altitude of 135,000 feet. Untested at this altitude. ===== GPS Information ===== ==== GPS Implementation ==== At its simplest all that is reqired is Vcc (Power), Ground and a Tx line from the GPS module. When setting up a GPS module great care has to be made concerning voltage levels, many GPS modules run at 3.3V and can not cope with signals that are higher - it is therefore important to match up the GPS module with the flight computer. Either at the planning stage by choosing a module that has a voltage that matches your microprocessor or by implementing some form of voltage level shift such as by the Max232, transistors or voltage dividers. ** Be very careful when attaching a GPS module to your Computer/Laptop's serial port as many of these work at far higher voltages than the GPS module! ** ==== GPS Interference ==== One problem you might encounter is RFI (Radio Frequency Interference) generated by on-board microprocessors interfering with GPS signals. Typically this would exhibit itself as the on-board GPS not working with the antenna in different positions (particularly when the antenna is close to the source of interference). Any radio hash generated near (within a few 10s of MHz) the GPS center frequency 1575.42MHz is a real problem. A radio scanner covering this frequency is useful for detecting hash (just scan through the GPS frequency band - place the scanner antenna near the GPS antenna) - alternatively place a hand-held GPS with satellite signal strength display near the payload GPS antenna - if the GPS signal strength is affected by switching the payload on it,s a good indicator that you have radio hash problems. Typically processors with higher clock speeds will present more of a problem. Commercial processors (like the Gumstix) are likely to be less prone to RFI problems as they will have undergone some form of frequency interference testing. On-board radio transmitters may also present a problem - particularly where 1575MHz is near some multiple (harmonic) of the transmit frequency - fortunately 434MHz transmitters used in the UK present harmonics at 1302MHz (3rd harmonic) and 1736MHz (4th harmonic) - both well away from the GPS center frequency. One source of interference may be the GPS and active antenna itself. In at least one application it appears that shortening the co-ax from the active antenna caused the GPS/antenna to enter oscillation. The Chinese key ring video cameras are known to jam all GPS modules. Ensure these are placed away from the GPS antenna. ==== GPS antenna cable and connectors ==== It's worth noting that the cheapo RG174/U thin co-ax cable often used on GPS antenna is quite lossy - about 1.5dB per metre at GPS frequencies (1.5GHz) - so even a couple of metres will reduce the signal strength reaching reaching the GPS by half (3dB). This is particularly important with passive antennas. MMCX/MCX/SMB connectors typically have an insertion loss of 0.3dB for straight connectors and 0.6dB for right angle. GPS satellites orbit at 20,200Km - which means the line of sight distance varies from about 25,800Km as they come over the horizon down to 20,200Km if they are directly overhead. Correspondingly signal strength varies by about 2dB (a free space path loss of 182 to 184dB) while they are in view (assuming that the transmissions are omni-directional). ==== Temperature ==== On the BallastHalo 2 Floater flight which floated for over 7hrs the Ublox 4 GPS module lost lock during the night. At sunrise the GPS started to work again suggesting that the GPS module got too cold, the crystals it used drifted in frequency and therefore were unable to receive the GPS satellite transmissions. It is therefore recommended for long duration flights that there is some form of temperature control and that the flight computer code is capable of coping if the GPS module loses lock for long periods of time. ==== NMEA ==== NMEA is a standard protocol for communication with GPS Modules of a serial link. While it does not have many features it is implemented in all GPS modules however they often have their own protocol as well which can provide you with more information. Usually the connection is at 4800 baud 8-n-1 and there are a number of sentences transmitted containing different information. More information concerning NMEA sentences can be found [[http://www.gpsinformation.org/dale/nmea.htm#nmea|here]]. For balloon flights often flight computers only look for the $GPGGA sentences as it contains time, latitude, longitude and altitude however the $GPRMC can also be used as it has speed and bearing. It is sometimes therefore useful to turn off the transmission of the other sentences and this can be achieved by sending a particular string to the gps module (found in the gps module manual).