Difference between revisions of "Microduino-NEO-6M"

From Microduino Wiki
Jump to: navigation, search
Line 3: Line 3:
 
|
 
|
 
[[file:Microduino-NEO-rect.jpg|400px|thumb|right|Microduino-NEO]]
 
[[file:Microduino-NEO-rect.jpg|400px|thumb|right|Microduino-NEO]]
这也许是你见过最精美的GPS模块,核心采用UBLOX NEO-6M模组,高灵敏度,更新速率最高可达5Hz,采用IPEX接口的迷你陶瓷天线,自带可充电后备电池。
+
Microduino-NEO module maybe the most beautiful GPS module that you've seen. Its core module use UBLOX NEO-6M, high sensitivity, update rate up to 5Hz, using mini ceramic antenna with IPEX interface, and build-in a rechargeable battery backup.
 
 
  
 
|-
 
|-
|==特色==
+
|
*高灵敏度;
+
==Feature==
*更新速率最高可达5Hz;
+
*High sensitivity;
*有功能强大的PC上位机支持:u-center;
+
*Update rate up to 5Hz;
*PPS指示灯,我们就可以很方便的判断模块的当前状态;
+
*With a powerful PC support:u-center;
*自带可充电后备电池(支持温启动或热启动);
+
*PPS indicator,easily determine the current status of the module;
*小巧、便宜、堆叠、开放;
+
*Built-in rechargeable backup battery (to support warm start or hot start);
*开源的硬件电路设计,与 Arduino 兼容的编程开发环境程;
+
*Small, cheap, stackable, opened platform;
*统一的 Microduino 接口规范,和丰富的外围模块,可方便、灵活的与其他符合 Microduino 接口规范的模块、传感器进行快速的连接和扩展;
+
*Open source hardware circuit design, compatible with the Arduino IDE development environment for programming; ;
*2.54间距的排母接口方便集成到洞洞板。
+
*Define unified interface Microduino specification and contain rich peripheral modules. Set up the quick connection with other Microduino modules and sensors easily and flexibly.
 +
*2.54 pitch row female connector for easy integration into breadboard.
  
 
|-
 
|-
 
|
 
|
 
==Specifications==
 
==Specifications==
*通信协议:
+
*Communication protocol:
**Microduino NEO-6M模块默认采用 NMEA-0183 协议输出 GPS 定位数据,并可以通过 UBX 协议对模块进行配置;
+
**Microduino NEO-6M module use NMEA-0183 protocol and output GPS data, using the UBX protocol to configure the module.
  
*接收特性
+
*Reception characteristics
**50 通道,GPS L1(1575.42Mhz) C/A 码,SBAS:WAAS/EGNOS/MSAS
+
**50 channels,GPS L1(1575.42Mhz) C/A 码,SBAS:WAAS/EGNOS/MSAS
**捕获追踪灵敏度:-161dBm
+
**Capture tracking sensitivity:-161dBm
  
*定位精度
+
*Positioning accuracy
 
**2.5 mCEP (SBAS:2.0mCEP)
 
**2.5 mCEP (SBAS:2.0mCEP)
  
*更新速率
+
*Update rate
**最大 5Hz
+
**Maximum 5Hz
  
*捕获时间
+
*Capture time
**冷启动 1:27S(最快)
+
**cold start:27S(Fastest time)
**温启动:27S
+
**warm start:27S
**热启动:1S
+
**hot start:1S
  
*附:
+
*Note:
**冷启动是指模块保存的GPS接收历史信息都丢失了(相当于主电源和后备电池都没电了),这种情况下重启,称之为冷启动。
+
**Cold start means that module stored history information which GPS receiver has lost (corresponding to the main power supply and battery both lost power), then restart the module, called cold start.
**温启动是指模块保存了GPS接收历史信息,但是当前可视卫星的信息和保存的信息不一致了,这样的条件下重启,称之为温启动。
+
**Warm start means that the is the module saved the historical information, but this information is inconsistent with information of currently visible satellites, and under such conditions to start module, called warm start.
**热启动是指模块保存了GPS接收历史信息且与当前可视卫星信息一致,这样的条件下重启,称之为热启动。
+
**Hot start means that module stored GPS history information which consistent with the currently visible satellite's information, then restart the module, called a hot start.
  
*接口特性
+
*Interface characteristics
**TTL,兼容 3.3V/5V 单片机系统
+
**TTL,compatible 3.3V/5V microcontroller system
**串口通信波特率:
+
**Serial communication baud rate:
***Microduino NEO-6M模块支持多种通信波特率:4800、9600、38400(默认)、57600;
+
***Microduino NEO-6M module supports several baud rate:4800、9600、38400(defult)、57600;
  
*通过模块上两个电阻(R3、R4,推荐1K阻值)设置波特率:
+
* Set the baud rate by two resistors (R3,R4,recommend value is 1k):
 
{|class="wikitable"
 
{|class="wikitable"
! rowspan="1" | R3 || R4 || 使用协议 || 波特率
+
! rowspan="1" | R3 || R4 || Protocol || Baud rate
 
|-
 
|-
| 不焊接 || 不焊接 || NMEA || 9600
+
| No welding || No welding || NMEA || 9600
 
|-
 
|-
| 不焊接 || 焊接 || NMEA || 38400
+
| No welding || welding || NMEA || 38400
 
|-
 
|-
| 焊接 || 不焊接 || NMEA || 4800
+
| welding || No welding || NMEA || 4800
 
|-
 
|-
| 焊接 || 焊接 || UBX || 57600
+
| welding || welding || UBX || 57600
 
|}
 
|}
  
===引脚说明===
+
===Pin Description===
 
{|class="wikitable"
 
{|class="wikitable"
! rowspan="1" | NEO-6M模块引脚名 || Microduino引脚 || 功能
+
! rowspan="1" | NEO-6M Module Pin || Microduino Pin|| Function
 
|-
 
|-
| TX || RX0(or D2) || 模块串口发送脚(TTL电平),可接单片机的 RXD
+
| TX || RX0(or D2) || Module serial send pin (TTL level), connect to microcontroller's RXD
 
|-
 
|-
| RX || TX1(or D3) || 模块串口接收脚(TTL电平),可接单片机的 TXD
+
| RX || TX1(or D3) || Module serial receive pin (TTL level), connect to microcontroller's MCU TXD
 
|}
 
|}
  
Line 76: Line 76:
  
  
==文档==
+
==Document==
 
Eagle PCB '''[[File:Microduino-NEO6M.zip]]'''
 
Eagle PCB '''[[File:Microduino-NEO6M.zip]]'''
  
  
===主要元件===
+
===Main components===
*GPS模组:UBLOX NEO-6M:'''[[File:NEO-6 DataSheet (GPS.G6-HW-09005).pdf]]'''
+
*GPS module:UBLOX NEO-6M:'''[[File:NEO-6 DataSheet (GPS.G6-HW-09005).pdf]]'''
*超级电容:XH414H '''[[File:XH414H.pdf]]'''
+
*Super capacitor:XH414H '''[[File:XH414H.pdf]]'''
*天线接座:IPEX '''[[File:IPEX.pdf]]'''
+
*Antenna Socket:IPEX '''[[File:IPEX.pdf]]'''
  
*NMEA-0183_协议: '''[[File:NMEA-0183 CN.pdf]]''','''[[File:NMEA-0183 EN.pdf]]'''
+
*NMEA-0183 protocol: '''[[File:NMEA-0183 CN.pdf]]''','''[[File:NMEA-0183 EN.pdf]]'''
 
*u-center GPS evaluation software User Guide: '''[[File:U-center GPS evaluation software User Guide.pdf]]'''
 
*u-center GPS evaluation software User Guide: '''[[File:U-center GPS evaluation software User Guide.pdf]]'''
  
  
==开发==
+
==Development==
*请先确定+3.3v电源的电流能达到200ma,不推荐直接采用FT232R调试,因为FT232R输出的+3.3v的电流太小。
+
* Make sure the +3.3 v power supply current can reach 200ma, not recommended use FT232R debugging directly, because FT232R's output +3.3 v current is too small.
  
===Arduino库及支持包===
+
===Arduino library and supported package===
*【Adafruit_GPS库'''[https://github.com/adafruit/Adafruit-GPS-Library github下载 ]''' 】
+
*【Adafruit_GPS library'''[https://github.com/adafruit/Adafruit-GPS-Library github download ]''' 】
*【U8glib库'''[http://code.google.com/p/u8glib/ google下载 ]''' 】
+
*【U8glib library'''[http://code.google.com/p/u8glib/ google download ]''' 】
  
 
*[http://www.u-blox.com/en/evaluation-tools-a-software/u-center/u-center.html u-center-8.0]
 
*[http://www.u-blox.com/en/evaluation-tools-a-software/u-center/u-center.html u-center-8.0]
  
*Microduino NEO-6M模块默认与Core的串口通讯引脚是RX0、TX1,因此不可直接与Microduino FT232R叠加
+
*Microduino NEO-6M use RX0,TX1 to comu模块默认与Core的串口通讯引脚是RX0、TX1,因此不可直接与Microduino FT232R叠加
  
 
===PC上位机调试时===
 
===PC上位机调试时===

Revision as of 08:46, 27 January 2014

Microduino-NEO

Microduino-NEO module maybe the most beautiful GPS module that you've seen. Its core module use UBLOX NEO-6M, high sensitivity, update rate up to 5Hz, using mini ceramic antenna with IPEX interface, and build-in a rechargeable battery backup.

Feature

  • High sensitivity;
  • Update rate up to 5Hz;
  • With a powerful PC support:u-center;
  • PPS indicator,easily determine the current status of the module;
  • Built-in rechargeable backup battery (to support warm start or hot start);
  • Small, cheap, stackable, opened platform;
  • Open source hardware circuit design, compatible with the Arduino IDE development environment for programming; ;
  • Define unified interface Microduino specification and contain rich peripheral modules. Set up the quick connection with other Microduino modules and sensors easily and flexibly.
  • 2.54 pitch row female connector for easy integration into breadboard.

Specifications

  • Communication protocol:
    • Microduino NEO-6M module use NMEA-0183 protocol and output GPS data, using the UBX protocol to configure the module.
  • Reception characteristics
    • 50 channels,GPS L1(1575.42Mhz) C/A 码,SBAS:WAAS/EGNOS/MSAS
    • Capture tracking sensitivity:-161dBm
  • Positioning accuracy
    • 2.5 mCEP (SBAS:2.0mCEP)
  • Update rate
    • Maximum 5Hz
  • Capture time
    • cold start:27S(Fastest time)
    • warm start:27S
    • hot start:1S
  • Note:
    • Cold start means that module stored history information which GPS receiver has lost (corresponding to the main power supply and battery both lost power), then restart the module, called cold start.
    • Warm start means that the is the module saved the historical information, but this information is inconsistent with information of currently visible satellites, and under such conditions to start module, called warm start.
    • Hot start means that module stored GPS history information which consistent with the currently visible satellite's information, then restart the module, called a hot start.
  • Interface characteristics
    • TTL,compatible 3.3V/5V microcontroller system
    • Serial communication baud rate:
      • Microduino NEO-6M module supports several baud rate:4800、9600、38400(defult)、57600;
  • Set the baud rate by two resistors (R3,R4,recommend value is 1k):
R3 R4 Protocol Baud rate
No welding No welding NMEA 9600
No welding welding NMEA 38400
welding No welding NMEA 4800
welding welding UBX 57600

Pin Description

NEO-6M Module Pin Microduino Pin Function
TX RX0(or D2) Module serial send pin (TTL level), connect to microcontroller's RXD
RX TX1(or D3) Module serial receive pin (TTL level), connect to microcontroller's MCU TXD


Microduino-NEO6M-Pinout
Microduino-NEO6M-Pinout


Document

Eagle PCB File:Microduino-NEO6M.zip


Main components


Development

  • Make sure the +3.3 v power supply current can reach 200ma, not recommended use FT232R debugging directly, because FT232R's output +3.3 v current is too small.

Arduino library and supported package

  • Microduino NEO-6M use RX0,TX1 to comu模块默认与Core的串口通讯引脚是RX0、TX1,因此不可直接与Microduino FT232R叠加

PC上位机调试时

  • 需要直接通过串口调试时:
    • 不直接叠加FT232,应该将FT232与NEO-6M二者的RX0、TX1交叉连接。

用FT232R、Core下载、调试程序时

  • 若保持默认跳线(RX0、TX1):
    • 下载程序时请拔下Microduino NEO-6M模块;
  • 玩家自己改动模块背面的跳线:切断两组的焊盘中间与RX0/TX1的连线,将焊盘中间与D2、D3焊上即可。
    • 若采用了改跳线的方法,可将Microduino NEO-6M与Core的串口连接由TX-RX0、RX-TX1改成:TX-D2、RX-D3(相对Core+的Serial1)

PPS状态指示灯

  • 该指示灯连接在 UBLOX NEO-6M 模组的TIMEPULSE 端口,该端口的输出特性可以通过程序设置;
  • PPS指示灯,在默认条件下(没经过程序设置),有 2 个状态:
    • 常亮,表示模块已开始工作,但还未实现定位;
    • 闪烁(100ms 灭,900ms 亮),表示模块已经定位成功。
  • 通过 PPS指示灯,可以很方便的判断模块的当前状态,方便使用。

连接方式

  • 如果采用Microduino FT232R调试,不可直接叠加,因为FT232与NEO-6M的串口RX、TX管脚定义一致,而正常的串口通信应该TX与RX交叉相连;
  • 模块与单片机连接最少只需要 4 根线即可:
    • VCC 和 GND用于给模块供电,模块 TXD 和 RXD 则连接单片机的 RXD 和 TXD。
    • (附:这里特别注意,模块的 TXD 和 RXD 脚不能直接连接到电脑的 RS232 串口上,必须经过电平转换芯片(MAX232 之类的),做电平转换后,才能与之连接)

应用

程序下载

测试程序:File:Program Test NEO-6M.zip

测试Microduino NEO-6M模块

  • 所需要准备的硬件有:Microduino FT232R、Microduino Core、Microduino OLED、Microduino NEO-6M;
  • 所需要准备的软件有:Arduino IDE(1.0版本以上)、Adafruit_GPS库、Microduino提供的测试程序(Arduino端);
  • 所需要准备的环境有:空阔地带,请勿在室内测试。
  • 将下载好的库文件夹放入Arduino IDE安装文件夹内的libraries中;
  • 启动Arduino IED,打开Microduino提供的测试程序,板卡选择Microduino Core (Atmega328P@16M,5V),直接下载即可;
  • 下载完毕后可观察OLED:
    • 半分钟左右,日期、时间将会先显示出来;
    • 继续等待,当你看到Microduino NEO-6M的PPS指示灯闪烁时,速度、经纬度指标都因该能显示出来,如果没有,请重启Microduino Core。


库的使用事项

  • 针对Adafruit_GPS库:
    • 请确认void setup()中GPS模块波特率为38400,即:GPS.begin(38400);
    • 如果您未曾改动过模块背面的跳线:
      • 下载程序时请拔下Microduino NEO-6M模块;
      • 使用Core或者Core+调试时,需要确定程序有如下定义:Adafruit_GPS GPS(&Serial);
    • 如果您改动过模块背面的跳线:
      • 使用Core+调试时,需要确定程序有如下定义:Adafruit_GPS GPS(&Serial1);
      • 使用Core调试时,需要确定程序有如下定义:SoftwareSerial mySerial(3, 2);、Adafruit_GPS GPS(&mySerial);


用u-center配置模块更新速率

  • 首先我们将 Microduino NEO-6M置于空阔的地方,并且通过Microduino FT232R连接到电脑;
  • 打开 u-center 软件
    • 先设置波特率:菜单:“Receiver”-“Baudrate”-“38400”;
设置波特率
    • 再打开相应串口开始通信:菜单:“Receiver”-“Port”-选中Microduino FT232R所对应的串口。
设置串口
    • 现在,就可以在u-center看到相应数据了;
观察数据
  • 更新速率的配置
    • 打开菜单:“View”-“Messages View”,调出Messages窗口;
    • 打开“UBX”-“CFG(Config)”-“RATE(Rates)”,假设你需要2HZ的更新速率,只要将 Measurement Period设置为500ms;
    • 配置完成后,点击窗口左下角Send按钮,就可将配置发往Microduino NEO-6M模块;可看到其他信息窗口的数据更新速度变快了,说明设置成功。
配置窗口

Pictures

Microduino NEO Front


Microduino NEO Back