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

From Microduino Wiki
Jump to: navigation, search
(Specifications)
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接口的迷你陶瓷天线,自带可充电后备电池。
 +
 +
 +
|-
 +
|==特色==
 +
*高灵敏度;
 +
*更新速率最高可达5Hz;
 +
*有功能强大的PC上位机支持:u-center;
 +
*PPS指示灯,我们就可以很方便的判断模块的当前状态;
 +
*自带可充电后备电池(支持温启动或热启动);
 +
*小巧、便宜、堆叠、开放;
 +
*开源的硬件电路设计,与 Arduino 兼容的编程开发环境程;
 +
*统一的 Microduino 接口规范,和丰富的外围模块,可方便、灵活的与其他符合 Microduino 接口规范的模块、传感器进行快速的连接和扩展;
 +
*2.54间距的排母接口方便集成到洞洞板。
 +
 
|-
 
|-
 
|
 
|
 
==Specifications==
 
==Specifications==
 +
*通信协议:
 +
**Microduino NEO-6M模块默认采用 NMEA-0183 协议输出 GPS 定位数据,并可以通过 UBX 协议对模块进行配置;
 +
 +
*接收特性
 +
**50 通道,GPS L1(1575.42Mhz) C/A 码,SBAS:WAAS/EGNOS/MSAS
 +
**捕获追踪灵敏度:-161dBm
 +
 +
*定位精度
 +
**2.5 mCEP (SBAS:2.0mCEP)
 +
 +
*更新速率
 +
**最大 5Hz
 +
 +
*捕获时间
 +
**冷启动 1:27S(最快)
 +
**温启动:27S
 +
**热启动:1S
 +
 +
*附:
 +
**冷启动是指模块保存的GPS接收历史信息都丢失了(相当于主电源和后备电池都没电了),这种情况下重启,称之为冷启动。
 +
**温启动是指模块保存了GPS接收历史信息,但是当前可视卫星的信息和保存的信息不一致了,这样的条件下重启,称之为温启动。
 +
**热启动是指模块保存了GPS接收历史信息且与当前可视卫星信息一致,这样的条件下重启,称之为热启动。
 +
 +
*接口特性
 +
**TTL,兼容 3.3V/5V 单片机系统
 +
**串口通信波特率:
 +
***Microduino NEO-6M模块支持多种通信波特率:4800、9600、38400(默认)、57600;
 +
 +
*通过模块上两个电阻(R3、R4,推荐1K阻值)设置波特率:
 +
{|class="wikitable"
 +
! rowspan="1" | R3 || R4 || 使用协议 || 波特率
 +
|-
 +
| 不焊接 || 不焊接 || NMEA || 9600
 +
|-
 +
| 不焊接  || 焊接 || NMEA || 38400
 +
|-
 +
| 焊接 || 不焊接 || NMEA || 4800
 +
|-
 +
| 焊接 || 焊接 || UBX || 57600
 +
|}
 +
 +
===引脚说明===
 +
{|class="wikitable"
 +
! rowspan="1" | NEO-6M模块引脚名 || Microduino引脚 || 功能
 +
|-
 +
| TX || RX0(or D2) || 模块串口发送脚(TTL电平),可接单片机的 RXD
 +
|-
 +
| RX || TX1(or D3) || 模块串口接收脚(TTL电平),可接单片机的 TXD
 +
|}
 +
 +
 
[[File:NEO6M-Pinout-2.jpg|800px|thumb|center|Microduino-NEO6M-Pinout]]
 
[[File:NEO6M-Pinout-2.jpg|800px|thumb|center|Microduino-NEO6M-Pinout]]
 
[[File:NEO6M-Pinout-1.jpg|800px|thumb|center|Microduino-NEO6M-Pinout]]
 
[[File:NEO6M-Pinout-1.jpg|800px|thumb|center|Microduino-NEO6M-Pinout]]
 +
 +
 +
==文档==
 +
Eagle PCB '''[[File:Microduino-NEO6M.zip]]'''
 +
 +
 +
===主要元件===
 +
*GPS模组:UBLOX NEO-6M:'''[[File:NEO-6 DataSheet (GPS.G6-HW-09005).pdf]]'''
 +
*超级电容:XH414H '''[[File:XH414H.pdf]]'''
 +
*天线接座:IPEX  '''[[File:IPEX.pdf]]'''
 +
 +
*NMEA-0183_协议: '''[[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]]'''
 +
 +
 +
==开发==
 +
*请先确定+3.3v电源的电流能达到200ma,不推荐直接采用FT232R调试,因为FT232R输出的+3.3v的电流太小。
 +
 +
===Arduino库及支持包===
 +
*【Adafruit_GPS库'''[https://github.com/adafruit/Adafruit-GPS-Library github下载 ]''' 】
 +
*【U8glib库'''[http://code.google.com/p/u8glib/ google下载 ]''' 】
 +
 +
*[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叠加
 +
 +
===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”;
 +
[[File:U-center 01.jpg|thumb|703px|center|设置波特率]]
 +
**再打开相应串口开始通信:菜单:“Receiver”-“Port”-选中Microduino FT232R所对应的串口。
 +
[[File:U-center 02.jpg|thumb|703px|center|设置串口]]
 +
**现在,就可以在u-center看到相应数据了;
 +
[[File:U-center 03.jpg|thumb|703px|center|观察数据]]
 +
*更新速率的配置
 +
**打开菜单:“View”-“Messages View”,调出Messages窗口;
 +
**打开“UBX”-“CFG(Config)”-“RATE(Rates)”,假设你需要2HZ的更新速率,只要将 Measurement Period设置为500ms;
 +
**配置完成后,点击窗口左下角Send按钮,就可将配置发往Microduino NEO-6M模块;可看到其他信息窗口的数据更新速度变快了,说明设置成功。
 +
[[File:U-center 04.jpg|thumb|703px|center|配置窗口]]
  
 
==Pictures==
 
==Pictures==

Revision as of 06:29, 27 January 2014

Microduino-NEO

这也许是你见过最精美的GPS模块,核心采用UBLOX NEO-6M模组,高灵敏度,更新速率最高可达5Hz,采用IPEX接口的迷你陶瓷天线,自带可充电后备电池。


==特色==
  • 高灵敏度;
  • 更新速率最高可达5Hz;
  • 有功能强大的PC上位机支持:u-center;
  • PPS指示灯,我们就可以很方便的判断模块的当前状态;
  • 自带可充电后备电池(支持温启动或热启动);
  • 小巧、便宜、堆叠、开放;
  • 开源的硬件电路设计,与 Arduino 兼容的编程开发环境程;
  • 统一的 Microduino 接口规范,和丰富的外围模块,可方便、灵活的与其他符合 Microduino 接口规范的模块、传感器进行快速的连接和扩展;
  • 2.54间距的排母接口方便集成到洞洞板。

Specifications

  • 通信协议:
    • Microduino NEO-6M模块默认采用 NMEA-0183 协议输出 GPS 定位数据,并可以通过 UBX 协议对模块进行配置;
  • 接收特性
    • 50 通道,GPS L1(1575.42Mhz) C/A 码,SBAS:WAAS/EGNOS/MSAS
    • 捕获追踪灵敏度:-161dBm
  • 定位精度
    • 2.5 mCEP (SBAS:2.0mCEP)
  • 更新速率
    • 最大 5Hz
  • 捕获时间
    • 冷启动 1:27S(最快)
    • 温启动:27S
    • 热启动:1S
  • 附:
    • 冷启动是指模块保存的GPS接收历史信息都丢失了(相当于主电源和后备电池都没电了),这种情况下重启,称之为冷启动。
    • 温启动是指模块保存了GPS接收历史信息,但是当前可视卫星的信息和保存的信息不一致了,这样的条件下重启,称之为温启动。
    • 热启动是指模块保存了GPS接收历史信息且与当前可视卫星信息一致,这样的条件下重启,称之为热启动。
  • 接口特性
    • TTL,兼容 3.3V/5V 单片机系统
    • 串口通信波特率:
      • Microduino NEO-6M模块支持多种通信波特率:4800、9600、38400(默认)、57600;
  • 通过模块上两个电阻(R3、R4,推荐1K阻值)设置波特率:
R3 R4 使用协议 波特率
不焊接 不焊接 NMEA 9600
不焊接 焊接 NMEA 38400
焊接 不焊接 NMEA 4800
焊接 焊接 UBX 57600

引脚说明

NEO-6M模块引脚名 Microduino引脚 功能
TX RX0(or D2) 模块串口发送脚(TTL电平),可接单片机的 RXD
RX TX1(or D3) 模块串口接收脚(TTL电平),可接单片机的 TXD


Microduino-NEO6M-Pinout
Microduino-NEO6M-Pinout


文档

Eagle PCB File:Microduino-NEO6M.zip


主要元件


开发

  • 请先确定+3.3v电源的电流能达到200ma,不推荐直接采用FT232R调试,因为FT232R输出的+3.3v的电流太小。

Arduino库及支持包

  • Microduino NEO-6M模块默认与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