Q43 NEO-F9P GNSS Helical RTK Module 使用教程

产品参数

天线参数信号频段

GPS: L1/L5
BDS: B1I/B1C/B2a
GLONASS: G1
Galileo: E1/E5a
QZSS: L1/L5

特性阻抗50Ω
极化方式RHCP (右旋圆极化)
覆盖范围360°
峰值增益2.5dBi
驻波比 (VSWR)≤2
轴比≤3dB
放大器参数增益23dB
噪声系数1.5dB
输出驻波比≤2
系统参数定位模块NEO-F9P-15B
地磁传感器QMC5883P
工作电压3.3V ~ 16V
功耗500mW(典型值)
PVT 单点定位精度水平方向: 1.5m
垂直方向: 2.0m
SBAS 定位精度水平方向: 1.0m
垂直方向: 1.5m
RTK 精度水平方向: 1cm + 1ppm
垂直方向: 1cm + 1ppm
时间精度(均方根值)30ns
速度精度(均方根值)0.05m/s
冷启动首次定位时间<30s
初始化时间<5s(典型值)
初始化可靠性>99.9%
数据更新率25Hz (Max)
数据格式RTCM 3.3; SPARTN 2.0.1
其他参数通信接口I2C,UART (9.6k ~ 921.6kbps def 38.4kbps)
物理接口GH1.25 8PIN
工作温度范围-40℃ ~ +85℃
存储温度范围
湿度≤95%
尺寸37.00 × Φ47.04 (mm)

引脚定义


产品尺寸



Windows 使用说明

此章节是使用 Windows 电脑上的 u-center 等软件对 Q43 NEO-F9P GNSS Helical RTK Module 进行快速设置和使用的说明,u-center 的详细使用说明请参考 u-center 用户指南 文件

硬件连接

  • 通过 USB 转串口模块 将 Q43 接入 PC / Raspberry Pi / Jetson Orin 系列主板,这里以 Windows 电脑为例测试,默认波特率 38400bps,硬件连接如下图:


  • 下载并安装:
  • 下载 RTK 调试工具 (免安装,附源码,支持二次开发)

RTK 流动站定位实现

示例说明

一个 Q43 NEO-F9P GNSS Helical RTK Module 作为流动站,接入 RTK 基站服务测试。

  • 打开 u-center 软件,选择对应的串口模块的 COM 口: 

  • 在 u-center 菜单栏中点击 Receiver -> NTRIP,在弹出的选项卡中输入以下参数:

    Address: ntrip.geodetic.gov.hk
    Port: 2101
    Mount Point: HKCL_32
    Username: admin
    Password: admin
    注意

    用户需先申请当地可用的参考基站服务。例如,美国用户可向 UNAVCO 等机构申请相关服务。笔者位于深圳,以 Hong Kong Geodetic Survey Services 为例进行测试。参考站距离、网络覆盖、差分数据质量及当地环境都会影响定位效果。因此,建议用户根据实际使用地点,选择合适的本地基站或 NTRIP 服务;也可选用 Trimble、Hexagon 或 Qianxun SI 等商业服务,以获得更稳定的使用体验。

  • 输入完成后点击 Update source table,在 NTRIP mount point 下拉框选择 HKCL_32 后,点击 OK 保存即可运行 RTK 服务:


  • NTRIP 连接成功后,u-center 底端显示 NTRIP 连接状态:


RTK Base➡️RTK Caster➡️RTK Rover

示例说明

两个 Q43 NEO-F9P GNSS Helical RTK Module 模块分别作为 RTK 基站和流动站定位实现。

  • 搭建基站模块前,先了解 NTRIP(Networked Transport of RTCM via Internet,即通过互联网传输 RTK 差分数据),是一种通过 Internet/本地网络分发 RTK 校正数据的协议。NTRIP 可扩展支持多基站和多流动站的 RTK 网络。具有多个 NTRIP 设备的网络称为 NTRIP 网络。

    NTRIP 网络中有 3 个角色:NTRIP Caster 是一个服务器,负责接收和发送 GNSS 差分数据。从一个或多个基站收集 RTK 校正数据(即 RTCM 数据),再分配给 RTK 流动站。Emlid Caster 和 rtk2go 等是基于云的公共 Caster,可将 RTCM 数据上传到这些中转站,避免自行搭建 Caster。

配置基站模式,设置 UART1 输出 RTCM

  • 打开 View -> Configuration View -> PRT 设置:

    Target: 1 - UART1
    Protocol in: UBX + NMEA + RTCM3
    Protocol out: UBX + NMEA + RTCM3
    Baudrate: 38400
    Databits: 8
    Stopbits: 1
    Parity: None
  • 然后点击 Send 确认配置


  • 接着选择 MSG (Messages) 选项 -> 逐个选择并设置到 UART1 输出

    RTCM3.3 1005
    RTCM3.3 1074
    RTCM3.3 1077
    RTCM3.3 1084
    RTCM3.3 1087
    RTCM3.3 1094
    RTCM3.3 1097
    RTCM3.3 1124
    RTCM3.3 1127
    RTCM3.3 1230


  • 再 View -> Configuration View -> TMODE3 -> 选择:

    Mode: Survey-in
    Minimum observation time: 120 s
    Required position accuracy: 30 m


    注意

    Q43 作为基站运行时收敛时间较长,建议让基站运行 12 小时后的收敛位置作为基站位置;天线应安装在固定点上,选择天空视野开阔、无遮挡的位置。

配置 Caster 服务

下述以 Emlid Caster 公共 Caster 为例测试:

  • 注册并登录 Emlid Caster,获得 NTRIP 安装点

  • 将下图的 My mount points 配置给基站,My rovers 参数配置给流动站,请用同一个 mount point。


    注意

    Emlid Caster 仅用于测试硬件功能;实际使用时建议自行搭建服务器以确保稳定性。

流动站实现 RTK 定位

说明

u-center 不适合作为公网 RTK Caster 服务,可使用 RTK 调试工具将基站数据传送到流动站。 RTK 调试工具根据 NEO-F9P 的指令手册开发,支持快速配置基站模式、NTRIP Client、NTRIP Caster 和 NTRIP Server 等功能,也可根据情况开发更适合现场应用的工具。

  • 打开 RTK 调试工具窗口 1,选择基站对应的串口模块 COM 口,配置好以下参数:

    Connect baud: 38400
    Host: 164.90.243.252
    Port: 2101
    Mount: MP24981
    Source password: 776XXX
  • 点击 Connect SOURCE,基站数据上传服务器


  • 另外再打开一个 RTK 调试工具窗口 2,选择流动站对应的串口模块 COM 口,配置好以下参数:

    Connect baud: 38400
    Host: 164.90.243.252
    Port: 2101
    Mount: MP24981
    User: u92454
    Password: 353xxx
  • 点击 Connect CLIENT,待出现 RTK Float 后实现 RTK 定位


ESP32 使用说明

  • Q43 NEO-F9P GNSS Helical RTK Module 通过 UART 接到 ESP32,同时也将天线接好,置于开阔的户外,或者至少将定位天线接收器置于可视天空下测试,引脚连接示意表格如下:

    ESP32-S3Q43 NEO-F9P GNSS Helical RTK Module
    GNDGND
    GPIO17SDA
    GPIO18SCL
    GPIO9TX1
    GPIO8RX1
    3V3/5VVCC
  • 这里以 ESP32-S3 测试为例,搭建 ESP32-S3 环境,修改例程中的以下参数。

    // 给 ESP 连接 WiFi,让能够获取基站服务器数据
    const char* ssid = "mate60"; // 热点 SSID
    const char* wifiPassword = "131433"; // 对应密码

    // ---------- NTRIP(这里以中海达 CORS 为例,对应修改以下参数) ----------
    const char* ntripHost = "120.253.226.97";
    const int ntripPort = 8001;
    const char* mountpoint = "RTCM33_GRCEJ";
    const char* ntripUser = "cvmh11286";
    const char* ntripPass = "fyxxx";
  • 下载 程序,在 Q43_NEO-F9P_GNSS_Helical_RTK_Module\ESP32\GetGPS-RTK 文件夹找到 GetGPS-RTK.ino,编译和烧录程序到 ESP32-S3,RTK 流动站定位测试效果如下图所示:


  • 实测 QMC5883P.ino 程序,得到所在环境中 X、Y、Z 三轴磁感应强度,如下图所示:


Raspberry Pi 使用说明

此小结以 Raspberry Pi + 2 个 Q43 为例进行测试说明:一个设置为基站模式,另一个设置为流动站模式,同时测试地磁传感器实现电子罗盘应用。Linux 系统整体操作差异不大,也可适配 Jetson、RDK 等常见 Linux 主板。建议在空旷、晴朗 ☀️、户外可视天空环境下测试:越空旷、天气越好 ☀️,RTK 定位越稳定、越精准。

环境配置

  • 通过 GH1.25 线将 Q43 模块接入树莓派的 UART0 和 I2C1 引脚,其中 UART 接到 RTK 定位模组,I2C 接到 QMC5883P 地磁传感器。硬件连接如下图:


  • 打开树莓派的 I2C 和 UART 接口:UART 设置中先选择 NO 关掉 shell 调试串口,再选择 YES 打开 UART 串口,如下图所示:


RTK Base

在树莓派终端下载并运行 Python 3 程序;然后在浏览器输入程序生成的 IP + 端口号,即可打开 NTRIP Server 网页界面。默认是 115200 波特率、串口 ttyAMA0 和 Caster Emlid 的预配置参数,可根据实际情况自定义:

pip3 install flask pyserial
wget https://files.waveshare.com/wiki/Q43_NEO-F9P_GNSS_Helical_RTK_Module/Demo/Q43_NEO-F9P_GNSS_Helical_RTK_Module.zip
sudo unzip Q43_NEO-F9P_GNSS_Helical_RTK_Module.zip
cd Q43-GNSS-Helical-RTK-Module/Raspberry-Pi/
sudo python3 Base-RTK.py


RTK Rover

在树莓派新开一个终端运行 Python 3 程序;然后在浏览器输入程序生成的 IP + 端口号,即可打开 NTRIP Client 网页界面。请根据实际 Caster 的参数填写,实现 RTK 精准定位:

sudo python3 Rover-RTK.py


电子罗盘

模块板载 QMC5883P 地磁传感器,可以通过 I2C 驱动实现电子罗盘应用,在树莓派上运行以下程序:

sudo python3 Compass-QMC5883P.py

运行程序后,可以获取环境磁场强度以及电子指南针般的体验:



Raspberry Pi Pico 使用说明

  • 如果需要使用 RTK 功能,请使用 Raspberry Pi Pico 2 W 系列,参考类似 ESP32 的步骤实现 RTK 定位;这里以 Raspberry Pi Pico 2 为例测试普通 GNSS 定位,接线表如下:

    Raspberry Pi Pico 2Q43 NEO-F9P GNSS Helical RTK Module
    GNDGND
    GP2SDA
    GP3SCL
    GP1TX1
    GP0RX1
    VBUSVCC
  • 在 Thonny 中打开并运行 GetGPS.py 例程,可以获得原始 GNSS 报文,如下图所示:


  • 运行 QMC5883P.py 例程,可以测量空间磁场强度,如下图所示:


相关资料

1. 硬件资料

开发板设计文件

2. 技术手册

3. 示例程序

4. 驱动和工具


技术支持

周一-周五(9:30-6:30)周六(9:30-5:30)

手机:13434470212

邮箱:services04@spotpear.cn

QQ:202004841