Zuhause> Blog> Handheld GPS positioning system based on PIC microcontroller and GPS receiving module

Handheld GPS positioning system based on PIC microcontroller and GPS receiving module

November 28, 2022

1 Introduction

GPS attracts many users around the world with its high precision, all-weather, global coverage, convenience and flexibility, and high quality and low price. The wide application of GPS has changed the way people work, improves work efficiency, and brings huge economic benefits. Here, a design scheme of a handheld GPS positioning system based on the EM411GPS receiving module and the PIC18F2550 microcontroller is proposed. The system uses a dot matrix character LCD to display and receive GPS satellite data, and uses the SD card to record the received GPS information, thereby realizing the GPS data to be imported into the electronic map.

2 Introduction to the NEMA Agreement

At present, GPS adopts NMEA-0183 protocol as the standard for transmitting and receiving data. NMEA-0183 is the standard developed by NaTIonal Marine ElectroNIcs AssociaTIon for unified marine navigation specification. This format standard has become an international one. The format is based on the compatibility of NMEA-180 and NMEA-0182. Various device interfaces and communication protocol definitions such as GPS, depth sounder, and compass orientation system have been added, and some specific vendors are allowed to communicate custom protocols for their devices. All data in the NMEA-0183 format data string is represented by ASCII text characters. The data transfer begins with "$" followed by the statement header. The statement header consists of 5 letters. The first two letters indicate "system ID", which means that the system belongs to the system or device, for example, GP indicates that the statement belongs to the GPS positioning system, HC indicates that the statement belongs to the compass orientation system; the last three letters indicate "statement ID" ", indicating that the statement is about the data. The header of the statement is the data body, which contains different data body fields. The end of the statement is the checksum (optional), which ends with the carriage return line feed "CR" and "LF", that is, the ACSII character "Enter" (hex. 0D) and "line feed" (0A in hex). Data fields are identified by a comma, and empty fields are left with a comma. Commonly used statements in the GPS system are GPGGA (GPS positioning information), GPGSA (current satellite information), GPGSV (visible satellite information), GPRMC (recommended positioning information), GPGLL (positioning geographic information), GPVTG (ground speed information), and the like. The GPS data transmission is transmitted in standard asynchronous serial mode, and its serial communication baud rate is 4 800 b/s, data bit 8 bits, stop bit 1 bit, no parity bit. The detailed data format of various GPS statements is given in [2].

3 EM411 GPS Receiver Module Introduction

The performance of the GPS receiver module is mainly determined by the GPS core chipset used internally. The GPS chipset SiRF Star III improves sensitivity and can be positioned indoors by using 200,000 times/frequency correlators (Correlators). The cold boot/warm boot/hot boot time is 42 s/38 s/1 s, respectively, and 20 satellite channels can be tracked simultaneously.

The EM411 GPS receiver module uses the SiRF Star III high-performance GPS chipset, which features: excellent sensitivity (tracking sensitivity: -159 dBm); when the signal is weak, TTFF (TIme to First Fix) is still very fast; support NMEA 0183 language format: GGA, GSA, GSV, RMC, GLL, VTG; built-in large capacitance, can store fast-obtained satellite signal data; built-in ceramic antenna; LED indicator shows satellite positioning status: receiver is off when LED is not lit When the LED is constantly on, it is not positioned or searched for a signal, and the LED is positioned when it blinks. In addition, the EM411 is small in size, 30 mm & TImes in size; 30 mm × 10.5 mm, with a supply voltage of 4.5 to 6.5 V and a current consumption of 60 mA. 6 pins are provided externally. When used, pins 1 and 5 are grounded, pin 2 is connected to the power supply, pin 3 is the serial output data line, pin 4 is the serial input data line, and pin 6 is left floating.

4 system hardware design

4.1 GPS receiving part

Figure 1 shows the circuit of the GPS receiving part of the portable GPS receiver. Since the system design is a handheld portable device, all device selection should consider cost saving and energy saving. In Figure 1, the MCU uses the PIC18F2520, a low-power 8-bit microcontroller using nanoWatt technology. It has a series of functions that can significantly reduce power consumption during operation, making it ideal for handheld portable devices. The device has 32 K Flash program memory, SPI, UART, I2C interface and 1O bit A/D converter. With internal PLL frequency multiplier, the clock speed can be up to 40 MHz. It can be connected through its UART interface (pin). RC6 and RC7) communicate with the EM411 GPS receiver module. Since the maximum output of the EM411 serial port is 2.85 V, which is lower than the minimum drive level required by the PIC18F2520 UART port, 4 V, so the PIC18F2520 and EM411 need to be added. U2 (74HCT04) constitutes a TTL/RS232 level conversion circuit, otherwise the PIC18F2520 will not be able to receive the positioning information of EM411. The PIC18F2520 communicates with the SD card through its SPI interface (pins RC0, RC3, RC4, RC5). The SD card provides two access modes: SD mode and SPI mode. SD mode allows 4-wire high speed data transfer. The SPI mode uses a general-purpose SPI interface that uses a lower SPI than the SD mode. The advantage of the interface is that the SD card can be read and written with only 4 data lines. The SD card pin functions are different depending on the communication mode. Since the PIC18F2520 has an SPI interface internally, this scheme uses SPI mode to achieve access to the SD card. In Figure 1, CS (RC0) is the chip select signal sent by the MCU to the card, and SCLK (RC3) is the clock signal sent by the MCU to the card. SDI is a one-way data signal sent by the MCU to the card, and SD0 is a one-way data signal sent by the card to the MCU. In addition, all SD card sockets have two pins, CD and WP, ​​and the CD pin is an SD card detection signal pin. When a card is inserted, the pin is shorted to ground (connected inside the socket). WP is a write-protected signal pin that is shorted to ground (connected inside the socket) when the card is inserted and there is no write protection.

Circuit diagram

The system design uses a 20×4 dot matrix character liquid crystal display to display the received GPS positioning information. The liquid crystal display is set in 4 bit mode. The MCU saves MCUI/O by controlling the LCD display through 4 data lines and enable pins. Port resource. The system is equipped with 2 buttons for controlling the data storage of the SD card. When the SW1 button is pressed, the data save time interval is set by the software delay. When the SW2 button is pressed, the system writes the received GPS positioning information to the SD card. In Figure 1, switch K2 is used to turn the LCD backlight power on and off: the RA port resource of the PIC18F2520 is not used. It can be reserved for future system upgrades, such as inputting the DC analog voltage signal from the battery to the RA port and converting it to a digital signal using the PIC18F2520's 10-bit A/D converter. The battery level is displayed on the LCD for user convenience.

4.2 Power section

The portable GPS receiver is powered by two AA-type 1.5 V batteries. Using a micropower, high efficiency DC-DC converter LT1300, the 3 V voltage is converted to 5 V for use in the circuit. The LT1300 has a minimum input voltage as low as 1.8 V. Conversion efficiency is as high as 88%. With an input voltage of 2 V and an output voltage of 5 V, the LT1300's output current can reach 220 mA. The LT1300 is available in an 8-lead SOIC package with pin 1 signal ground (GND) and pin 2 output select (SEL). When connected to the input supply, it outputs 5 V. When this pin is grounded, the LT1300 Output 3.3 V voltage. Pin 3 (SHUTDOWN) is used to select the working mode. When this pin is grounded, the LT1300 is in normal operation mode; when this pin is connected to the high level, the LT1300 is in the power-down mode. Pin 4 (SENSE) is the output of the LT1300. Pin 5 is current limited. When this pin is grounded, its maximum switching current is 400 mA. Pins 6 to 8 of the LT1300 are the power input, output switch, and power ground. 2 is a GPS receiver power supply circuit composed of the LT1300. Switch K1 in Figure 2 is the total power switch of the GPS receiver. Since the main part of the GPS receiver uses 5 V, pin 2 and pin 6 of the LT1300 are connected to the positive terminal of the battery, and pin 3, pin 5, pin 1, and pin 8 are grounded. When working, pin 7 needs an external inductor and diode. Its function is that when the battery power consumption is too large, the switching effect inside the LT1300 will cause the current on the inductor L1 to alternately increase. At this time, the diode VD1 will dump this part of energy to Capacitor C4 to increase the output voltage of the LT1300. Refer to the recommended model and parameters in the LT1300 data sheet for the diodes designed in this section and the parameters of the inductor L1 and electrolytic capacitor C4. It should be noted that since the LT1300 is a high-speed, high-current device, the L1 should be placed close to the pin 7 as much as possible in the PCB layout. The trace should be as short as possible, and the power ground should be connected to the signal ground to reduce the circuit. Interference noise.

Circuit diagram 2

5 system software design

Figure 3 shows the main program flow of the portable GPS receiver. The first is the initialization of the PIC18F2520, which mainly includes general-purpose I/O ports, UART, SPI, and LCD initialization, and displays the initial boot information on the LCD. The PIC18F2520 then begins receiving GPS positioning information transmitted from the EM411. The PIC18F2520 is designed to receive only GPSGGA and GPSRMC statement information and will store the received information. Then extract the information to be displayed on the LCD and write it to the predefined display buffer array and send it to the LCD display. Then the keyboard scans, if there is a key press, the keyboard interrupt program is processed. When the SW1 button is pressed, the software sets a fixed save interval by the delay subroutine. When the SW2 key is pressed, the software executes the SD card driver subroutine. The micro core company provides the complete SD card driver code used by the PIC microcontroller, and can conveniently save the GPS positioning information to the SD card in the FAT file format, and These files can be opened under the Windows operating system. The SD card driver subroutine mainly performs tasks such as SD card initialization, card insertion detection, write protection detection, SD card read/write command transmission/reception, file renaming, and file data transmission. The literature [6] gives a detailed description of the microchip company's PIC microcontroller SD card driver.

Program flow chart

6 Conclusion

After the circuit is built, the portable GPS receiver is tested in an outdoor open space, office building, bustling street, and car environment. The GPS receiver can receive multiple satellites in outdoor, indoor and mobile cars. GPS positioning information, when the LCD backlight display is turned off, can work continuously for more than 10 hours. The received GPS data can be imported into an electronic map such as Google Earth by means of an SD card and a PC. The handheld GPS receiver consisting of EN411 GPS receiving module and PIC18F2520 has the advantages of simple circuit, low cost and high sensitivity. The received data can be saved to SD card in FAT file format, which has high practical value. The system design Can be widely used in field operations, outdoor sports and other fields.

Kontaktiere uns

Author:

Ms. Zoe Zhong

Phone/WhatsApp:

+86 18617178558

beliebte Produkte
You may also like
Related Categories

Mail an Lieferanten

Fach:
Mobiltelefon:
E-Mail-Adresse:
Nachrichten:

Your message must be betwwen 20-8000 characters

Kontakten

  • Telefonnummer: 86-186-17178558
  • Whatsapp: +86 18617178558
  • E-Mail-Adresse: sales07@ynxantenna.com
  • Firmenadresse: Room #101,201,301,5BLDG , No.4 of XinWuCun New Area ,Shabo community Maluan Street Pingshan District, Shenzhen ,Guangdong , China, Shenzhen, Guangdong China

Send Inquiry

We will contact you immediately

Fill in more information so that we can get in touch with you faster

Privacy statement: Your privacy is very important to Us. Our company promises not to disclose your personal information to any external company with out your explicit permission.

senden