Difference between revisions of "MCookie-GPS"

From Microduino Wiki
Jump to: navigation, search
(Features)
 
(5 intermediate revisions by the same user not shown)
Line 17: Line 17:
 
==Specification==
 
==Specification==
  
*Communication protocol:
+
*Communication protocol:
**Microduino NEO-6M module adopts NMEA-0183 protocol to output GPS location data by default, and it can configure the modules through UBX protocol;
+
**Microduino NEO-6M module adopts NMEA-0183 protocol to output GPS location data by default, and it can configure the modules through UBX protocol;
  
*Receiving characteristics
+
*Receiving characteristics:
 
**50 channel, GPS L1(1575.42Mhz) C/A code, SBAS:WAAS/EGNOS/MSAS
 
**50 channel, GPS L1(1575.42Mhz) C/A code, SBAS:WAAS/EGNOS/MSAS
**Capture tracking sensitivity:-161dBm
+
**Capture tracking sensitivity: -161dBm
  
 
*Accuracy of positioning
 
*Accuracy of positioning
**2.5 mCEP (SBAS:2.0mCEP)
+
**2.5 mCEP (SBAS: 2.0mCEP)
  
 
*Update date
 
*Update date
Line 32: Line 32:
 
*Capture time
 
*Capture time
 
**Cold start : 27S(at the soonest)
 
**Cold start : 27S(at the soonest)
**Hot start:1S
+
**Hot start: 1S
  
 
*The attached:
 
*The attached:
Line 41: Line 41:
 
*Characteristics of interfaces
 
*Characteristics of interfaces
 
**TTL, compatible with 3.3V/5V single-chip microcomputer system
 
**TTL, compatible with 3.3V/5V single-chip microcomputer system
**Serial communication baud rate:
+
**Serial communication baud rate:
***Microduino NEO-6M module supports multiple communication baud rate:4800、9600、38400(default)、57600;
+
***Microduino NEO-6M module supports multiple communication baud rate: 4800, 9600, 38400(default), 57600;
  
*Set baud rate through the two resistance on the module(R3 and R4, recommend 1k value):
+
*Set baud rate through the two resistance on the module(R3 and R4, recommend 1k value):
 
{|class="wikitable"
 
{|class="wikitable"
! rowspan="1" | R3 || R4 || Protocol ||Baud rate|-
+
! rowspan="1" | R3 || R4 || Protocol|| Baud Rate
 +
|-
 
| Not weld || Not weld || NMEA || 9600
 
| Not weld || Not weld || NMEA || 9600
 
|-
 
|-
| Not weld || Weld|| NMEA || 38400
+
| Not weld ||Weld || NMEA || 38400
 
|-
 
|-
| Weld ||Not weld || NMEA || 4800
+
| Weld || Not weld || NMEA || 4800
 
|-
 
|-
 
| Weld || Weld || UBX || 57600
 
| Weld || Weld || UBX || 57600
Line 69: Line 70:
  
 
===PPS Status Indicator Lamp===
 
===PPS Status Indicator Lamp===
*The light is connect to the TIMEPULSE port of UBLOX NEO-6M module set, and the output characteristics of the port can be set by the program;
+
*The light is connect to the TIMEPULSE port of UBLOX NEO-6M module set, and the output characteristics of the port can be set by the program;
*PPS light has two status, by default(without the program set):
+
*PPS light has two status, by default(without the program set):
**Lights all the time, means the module has started to work, but not yet realize positioning;
+
**Lights all the time, means the module has started to work, but not yet realize positioning;
 
**Twinkle(100ms off, and 900ms on), means the module has positioned successfully;
 
**Twinkle(100ms off, and 900ms on), means the module has positioned successfully;
 
*It is convenient to judge the current status of the module through the PPS indicator light.
 
*It is convenient to judge the current status of the module through the PPS indicator light.
Line 88: Line 89:
  
 
===Jumper Change===
 
===Jumper Change===
*Players change module jumper by themselves:Cut off the wire on the center and the left of the two groups(D2 and D3) of bonding pad, and weld the middle and the right (RX0、TX1)of the bonding pad.
+
*Players change module jumper by themselves:Cut off the wire on the center and the left of the two groups(D2 and D3) of bonding pad, and weld the middle and the right (RX0, TX1)of the bonding pad.
**If you has used the method of changing the jumper, you can connect Microduino NEO-6M with the serial port of the core, and change from TX-D2 and RX-D3 to:TX-RX0, RX-TX1.
+
**If you has used the method of changing the jumper, you can connect Microduino NEO-6M with the serial port of the core, and change from TX-D2 and RX-D3 to: TX-RX0, RX-TX1.
 
**After changing the jumper, when downloading programs, please unplug Microduino NEO-6M module;or it will have a conflict with downloading programs.
 
**After changing the jumper, when downloading programs, please unplug Microduino NEO-6M module;or it will have a conflict with downloading programs.
  
Line 99: Line 100:
  
 
===Use Items of Library===
 
===Use Items of Library===
*Open the example“gps_test” program
+
*Open the example"gps_test" program
 
[[file:gps_test.jpg|thumb|600px|center]]
 
[[file:gps_test.jpg|thumb|600px|center]]
*Please confirm that the GPS module baud rate in void setup() is 38400, namely:GPS.begin(38400);
+
*Please confirm that the GPS module baud rate in void setup() is 38400, namely:GPS.begin(38400);
*If you havn’t altered the jumper wire on the reverse of the module:
+
*If you haven't altered the jumper wire on the reverse of the module:
 
**When using Core+ to debug, you need to confirm that the program has the following definition:Adafruit_GPS GPS(&Serial1);
 
**When using Core+ to debug, you need to confirm that the program has the following definition:Adafruit_GPS GPS(&Serial1);
**When using Core to debug, you need to change “Adafruit_GPS GPS(&Serial1)into “SoftwareSerial mySerial(3, 2); and Adafruit_GPS GPS(&mySerial);
+
**When using Core to debug, you need to change "Adafruit_GPS GPS(&Serial1)" into "SoftwareSerial mySerial(3, 2); and Adafruit_GPS GPS(&mySerial);"
*If you have changed the jumper on the reverse of the module:
+
*If you have changed the jumper on the reverse of the module:
**When download programs, please unplug Microduino NEO-6M module;
+
**When download programs, please unplug Microduino NEO-6M module;
**When using Core or Core+ to debug, you need to confirm that the program has the following definition:Adafruit_GPS GPS(&Serial);
+
**When using Core or Core+ to debug, you need to confirm that the program has the following definition: Adafruit_GPS GPS(&Serial);
  
 
==Application==
 
==Application==
 
===Program Download===
 
===Program Download===
The testing programs:'''[[File:Program Test mCookie-GPS.zip]]'''
+
The testing programs: '''[[File:Program Test mCookie-GPS.zip]]'''
  
 
===Test Microduino NEO-6M Module===
 
===Test Microduino NEO-6M Module===
*Hardware needs to be prepared:Microduino USBTTL、Microduino Core+、Microduino OLED、Microduino GPS;
+
*Hardware needs to be prepared: Microduino USBTTL, Microduino Core+, Microduino OLED, Microduino GPS;
*Software needs to be prepared:Arduino IDE(Version 1.0 and above), Adafruit_GPS library, and the testing programs (Arduino end)that Microduino provides;
+
*Software needs to be prepared: Arduino IDE(Version 1.0 and above), Adafruit_GPS library, and the testing programs (Arduino end)that Microduino provides;
*Environment need preparing:Open area, please don’t test indoor.
+
*Environment need preparing: Open area, please don't test indoor.
*After downloading, you’d better stack Microduino NEO-6M after cut off the electricity,  to prevent stacking error , leading to short circuit and burn the modules.
+
*After downloading, you'd better stack Microduino NEO-6M after cut off the electricity,  to prevent stacking error , leading to short circuit and burn the modules.
*You can watch OLED after powering on:
+
*You can watch OLED after powering on:
**After about half a minute, the date and time will be displayed firstly;
+
**After about half a minute, the date and time will be displayed firstly;
 
**Continue waiting. When you see the PPS indicator light is twinkling, the velocity, latitude and longitude indexes should be all displayed. If not, please restart Microduino Core.
 
**Continue waiting. When you see the PPS indicator light is twinkling, the velocity, latitude and longitude indexes should be all displayed. If not, please restart Microduino Core.
  
Line 134: Line 135:
  
  
|-
 
|
 
  
 
==History==
 
==History==

Latest revision as of 03:25, 4 August 2017

Microduino-NEO

It may be the most beautiful GPS module that you have ever met. The core adopts UBLOX NEO-6M modules combination, which has high flexibility and the update rate can reach 5Hz. It adopts mini ceramic antenna of IPEX interface , and it has built-in rechargeable battery back-up.


Features

  • High flexibility;
  • The update rate can reach 5Hz maximumly;
  • Supported by strong-function PC upper computer:u-center;
  • PPS indicating lights, which can make it convenient to judge the current state of the module;
  • Built-in rechargeable battery back-up(support the warm start or hot start);
  • Small, cheap, stackable, and open;
  • Ope-source hardware circuit design, and compatible-with-Arduino programming development environment.

Specification

  • Communication protocol:
    • Microduino NEO-6M module adopts NMEA-0183 protocol to output GPS location data by default, and it can configure the modules through UBX protocol;
  • Receiving characteristics:
    • 50 channel, GPS L1(1575.42Mhz) C/A code, SBAS:WAAS/EGNOS/MSAS
    • Capture tracking sensitivity: -161dBm
  • Accuracy of positioning
    • 2.5 mCEP (SBAS: 2.0mCEP)
  • Update date
    • Maximum 5Hz
  • Capture time
    • Cold start : 27S(at the soonest)
    • Hot start: 1S
  • The attached:
    • Cold start means that restart when the GPS receiving history information saved by the module is all lost(which is equivalent to the main battery and the backup battery both have no power).
    • Warm start means that restart when the module saves the GPS receiving history information, but the current visual satellite information is not consistent with the saved information.
    • Hot start means that restart when the module saves the GPS receiving history information and it is consistent with the current visual satellite information.
  • Characteristics of interfaces
    • TTL, compatible with 3.3V/5V single-chip microcomputer system
    • Serial communication baud rate:
      • Microduino NEO-6M module supports multiple communication baud rate: 4800, 9600, 38400(default), 57600;
  • Set baud rate through the two resistance on the module(R3 and R4, recommend 1k value):
R3 R4 Protocol Baud Rate
Not weld Not weld NMEA 9600
Not weld Weld NMEA 38400
Weld Not weld NMEA 4800
Weld Weld UBX 57600

Description of Pins

Name of GPS module pins Microduino pin Function
TX Default D2 (you can choose RX0) Module serial port sending pin(TTL level), and can pick up SCM RXD
RX Default D3 (You can choose TX1) Module serial port receiving pin(TTL level), and can be connected to TXD of SCM

PPS Status Indicator Lamp

  • The light is connect to the TIMEPULSE port of UBLOX NEO-6M module set, and the output characteristics of the port can be set by the program;
  • PPS light has two status, by default(without the program set):
    • Lights all the time, means the module has started to work, but not yet realize positioning;
    • Twinkle(100ms off, and 900ms on), means the module has positioned successfully;
  • It is convenient to judge the current status of the module through the PPS indicator light.

Documents

Main Component

Development

*Please confirm whether the current of the +3.3v power supply can reach 200ma. It is not recommended that directly use the FT232R to debug, because the +3.3v current that FT232R outputs is too small.

Jumper Change

  • Players change module jumper by themselves:Cut off the wire on the center and the left of the two groups(D2 and D3) of bonding pad, and weld the middle and the right (RX0, TX1)of the bonding pad.
    • If you has used the method of changing the jumper, you can connect Microduino NEO-6M with the serial port of the core, and change from TX-D2 and RX-D3 to: TX-RX0, RX-TX1.
    • After changing the jumper, when downloading programs, please unplug Microduino NEO-6M module;or it will have a conflict with downloading programs.

Arduino Library and Support Package

Use Items of Library

  • Open the example"gps_test" program
Gps test.jpg
  • Please confirm that the GPS module baud rate in void setup() is 38400, namely:GPS.begin(38400);
  • If you haven't altered the jumper wire on the reverse of the module:
    • When using Core+ to debug, you need to confirm that the program has the following definition:Adafruit_GPS GPS(&Serial1);
    • When using Core to debug, you need to change "Adafruit_GPS GPS(&Serial1)" into "SoftwareSerial mySerial(3, 2); and Adafruit_GPS GPS(&mySerial);"
  • If you have changed the jumper on the reverse of the module:
    • When download programs, please unplug Microduino NEO-6M module;
    • When using Core or Core+ to debug, you need to confirm that the program has the following definition: Adafruit_GPS GPS(&Serial);

Application

Program Download

The testing programs: File:Program Test mCookie-GPS.zip

Test Microduino NEO-6M Module

  • Hardware needs to be prepared: Microduino USBTTL, Microduino Core+, Microduino OLED, Microduino GPS;
  • Software needs to be prepared: Arduino IDE(Version 1.0 and above), Adafruit_GPS library, and the testing programs (Arduino end)that Microduino provides;
  • Environment need preparing: Open area, please don't test indoor.
  • After downloading, you'd better stack Microduino NEO-6M after cut off the electricity, to prevent stacking error , leading to short circuit and burn the modules.
  • You can watch OLED after powering on:
    • After about half a minute, the date and time will be displayed firstly;
    • Continue waiting. When you see the PPS indicator light is twinkling, the velocity, latitude and longitude indexes should be all displayed. If not, please restart Microduino Core.

FAQ

  • What to do if some problems appear when using this module?
    • Please refer to the instruction and testing programs in wiki.
  • How much is the power consumption of Core module and GPS module?To choose the power.
    • You need to make sure that the 3.3v is more that 200ma
  • How to change the jumper

Purchase

History

Microduino-NEO-6M

Library

Microduino NEO Front


Microduino NEO Back


Video