Microduino-NEO-6M

From Microduino Wiki
Revision as of 03:12, 28 January 2014 by Jasonsheng (talk) (Development)
Jump to: navigation, search
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 uses RX0,TX1 to communicate with Core module, so can't superimposed with Microduino FT232R directly.

Debugging with PC

  • Use serial port to debugging;
    • Can't superimpose the FT232 module, connect the FT232 and NEO-6M using the RX0 and TX1.

Download and debug program with FT232R and Core Module

  • If you use default pin(RX0、TX1):
    • Unplug the Microduino NEO-6M module when downloading program;
  • If you want to change the jumper cables to meet your requirement:切断两组的焊盘中间与RX0/TX1的连线,将焊盘中间与D2、D3焊上即可。
    • If you changed the jumper cables,the serial connect between Microduino NEO-6M and Core should be changed to TX-D2、RX-D3 from connection TX-RX0、RX-TX1(corresponding to Core+'s Serial1)

PPS State indicator

  • This indicator connects to TIMEPULSE port on UBLOX NEO-6M module, the output characteristic can be set by program;
  • PPS indicator has two state as default value without program setting:
    • Keeping on,indicates that module has started, but but have not yet achieved positioning;
    • Flicker,(100ms off,900ms on),indicates that module has achieved position successfully.
  • Easy to identify the state of module by PPS indicator.

Connection mode

  • If use Microduino FT232R to debug,can't superimpose them directly.Because FT232 and NEO-6M have the same RX、TX pin definition,while the normal serial communication should be connected to TX and RX crossover;
  • Module and microcontroller connection requires only a minimum of four lines;
    • VCC and GND for power supply to the module, the module's TXD, RXD connects to the microcontroller's RXD TXD;
    • (Note:Pay attention to this,module's TXD 和 RXD can't connect to RS232 serial port on PC directly, must use the level converter chip (such as 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