LG290P GNSS RTK Module
| |||||||||||||||||
| |||||||||||||||||
产品说明
产品简介
LG290P GNSS RTK Module 是一款多星座四频 GNSS RTK 模块,可追踪 L1 + L2 + L5 + E6 多频信号,兼容 GPS、BDS、GLONASS、Galileo、QZSS、NavIC 等系统。模块基于高性能 GNSS SoC 架构,内置干扰检测与抑制算法,可有效抑制多重窄带干扰信号,在复杂电磁环境下仍保持高灵敏度与强抗干扰性能,通过多频观测与 RTK 实时差分算法,能够显著降低多径误差,实现厘米级高精度定位。整机采用邮票孔封装设计,体积小巧、接口丰富,便于嵌入式集成,为智能机器人、精准农业、采矿、测绘、自动驾驶等高精度导航应用场景的理想选择。
产品特性
- 支持 GPS / GLONASS / Galileo / BDS / QZSS / NavIC 多重卫星系统
- 支持 L1 + L2 + L5 + E6 四频段信号接收,定位精度更高、抗干扰能力更强
- 厘米级 RTK 实时差分定位精度,可实时反映差分定位状态
- 邮票孔沉金工艺设计,体积小巧,方便直接焊接或通过排针插入等方式集成到设备上
- 板载 Type-C 接口,支持 USB-UART 通信与模块供电,方便开发与调试
- 板载 2PIN JST 接口,在接 RTC 电池情况下,可有效缩短首次定位时间 (TTFF)
- 板载 3 个 LED 指示灯,方便查看模块运行状态
- 提供完善的配套资料手册 (Raspberry Pi / Raspberry Pi Pico / Jetson Orin / ESP32 / Arduino)
产品参数
| 产品型号 | LG290P GNSS RTK Module |
LC29H(AA) GPS HAT |
LC29H(DA) GPS/RTK HAT |
LC29H(BS) GPS/RTK HAT |
ZED-F9P GPS-RTK HAT | |
|---|---|---|---|---|---|---|
| 信号频段 | GPS: L1 C/A,L1C*,L5,L2C GLONASS: L1,L2 |
GPS/QZSS:L1C/A,L5 BDS:B1I,B2a |
GPS/QZSS:L1C/A,L2C BDS:B1I,B2I | |||
| 并发星系数量 | 5 + QZSS | GPS/QZSS + BDS + Galileo + GLONASS | ||||
| SBAS | WAAS、EGNOS、BDSBAS、MSAS、GAGAN 和 SDCM | WAAS、EGNOS、MSAS 和 GAGAN | - | WAAS、EGNOS、MSAS 和 GAGAN | ||
| RTK 功能 | RTK Rover and Base | - | RTK Rover | RTK Base | RTK Rover and Base | |
| 定位精度 | PVT | 0.7m CEP | 1m CEP | - | 1.5m CEP | |
| RTK | 0.8cm + 1ppm CEP | - | 0.01m + 1ppm CEP | - | 0.01m + 1ppm CEP | |
| 更新频率 | PVT | Default:10Hz Max.:20Hz |
1~10Hz | - | 1~10Hz | |
| RTK | - | 1Hz | - | 1~8Hz | ||
| RAW | 1Hz | 1~20Hz | ||||
| RTK 收敛时间 (开阔户外测试) |
<5s | - | <10s | - | <10s | |
| 首次定位时间 (AGNSS 关闭) |
冷启动 | 28s | 26s | - | 24s | |
| 热启动 | 1.7s | 1s | - | 2s | ||
| 温启动 | 28s | 16s | - | 2s | ||
| 首次定位时间 (EASY 开启) |
- | 2s | - | |||
| 首次定位时间 (AGNSS 开启) |
冷启动 | - | 5s | - | TBD | |
| 热启动 | - | 5s | - | TBD | ||
| 辅助启动 | - | 5s | - | TBD | ||
| 灵敏度 | 跟踪和 导航 |
-160dBm | -165dBm | -167dBm | ||
| 重捕获 | -155dBm | -159dBm | -157dBm | -159dBm | -160dBm | |
| 冷启动 | -146dBm | -147dBm | -145dBm | -147dBm | -148dBm | |
| 速度精度 | 0.03m/s | 0.2m/s | - | 0.05m/s | ||
| PPS 精度 | 5ns | 20ns | - | 30ns | ||
| 动态性能 | 加速度 (Max):4g | |||||
| 海拔高度 (Max):10000m | 海拔高度 (Max):50000m | |||||
| 速度 (Max):490m/s | 速度 (Max):500m/s | |||||
| 通信接口 | USB,UART (4800~ 921600bps 默认 460800bps) | UART (9600~3000000bps 默认 115200bps), I2C (Max 400KHz) |
USB,UART (4800~921600bps 默认 9600bps),I2C (Max 400KHz),SPI (5MHz) | |||
| 通信协议 | NMEA 0183/RTCM 3.x | NMEA 0183 V4.10,RTCM 3.x | NMEA 0183 V4.10,UBX,RTCM 3.3 | |||
| 供电电压 | 5V | |||||
| 整机耗流 | 小于 100mA@5V (Continue 模式) | 小于 40mA@5V (Continue 模式) | 小于 120mA@5V (Continue 模式) | |||
| 工作温度 | -40~85℃ | |||||
| 产品尺寸 | 33 × 33 (mm) | 65 × 30.5 (mm) | ||||
资源和接口说明
| 引脚(上图左) | 功能说明 | 引脚(上图右) | 功能说明 |
|---|---|---|---|
| 5V | 5V 电源正 | 5V | 5V 电源正 |
| GND | 电源地 | GND | 电源地 |
| 3V3 | 3.3V 电源正 | 3V3 | 3.3V 电源正 |
| PWR | 模块电源控制引脚 | GND | 电源地 |
| RXD2 | UART2 接收,用于 RTCM 差分输入 | RXD3 | UART3 接收,用于调试通道 |
| TXD2 | UART2 发送,基站差分输出 | TXD3 | UART3 发送,可输出 NMEA 报文 |
| SCL | I2C 时钟线(预留) | RST | 模块复位引脚 |
| SDA | I2C 数据线(预留) | PPS | 1PPS 秒脉冲 |
| RTK | RTK 状态输出 | EVENT | 事件输出信号,用于定位完成或授时触发 |
产品尺寸
定位原理
什么是GNSS?
GNSS全称Global Navigation Satellite System(全球导航卫星系统) , 是多个卫星系统的总称 , 目前世界上有BDS(中国) , GLONASS(俄罗斯) , GPS(美国) , Galileo(欧洲) , QZSS(日本) , IRNSS(印度)导航卫星系统 , GNSS特性如下:
- GPS系统是现阶段应用较为广泛 , 技术较成熟的卫星定位技术 . 相继发展出L1C/A , L2C , L5等频段信号提高了定位精度 .
- 多系统多频段GNSS模组能够捕获来自不同卫星系统的卫星信号 , 使得有效卫星数大幅度提升 , 提高定位精度和稳定性 .
- GNSS模组接收到的信号包含反射和折射信号 , 产生多路径效应影响定位精度 , 多频段多星座系统技术可以有效抑制削弱大气层误差 , 提高定位精度 .
- 随着GNSS发展 , 出现了多种定位技术如RTK , PPP-RTK和多传感融合定位DR(Dead Reckoning 航位推测法)等 , 满足差异化高精度定位需求 .
GPS工作原理
本小节简述GPS接收机定位的工作原理如下图所示 细节描述如下5点 :
- GPS卫星在空中连续发送带有自身时间和位置信息的无线电信号 , 供GPS接收机(GNSS模组如ZED-F9P)接收
- 卫星和接收机内部会产生伪随机码 , 一旦两个伪随机码实现同步 , 接收机便能测定无线电信号发射时间与到达接收机的时间之差(简称时延) , 将时延乘上光速便得到距离(简称伪距)
- GPS系统时间是由每颗卫星上原子钟的铷原子频标保持的 . 这些星钟一般来讲精确到世界协调时(UTC)的几纳秒以内 , UTC是由海军观象台的“主钟”保持的,每台主钟的稳定性为若干个10^(-13)秒 .
- GPS卫星上的计算机和导航信息发生器精确地了解其轨道位置和系统时间 , 而全球监测站网保持连续跟踪卫星的轨道位置和系统时间 . 位于科罗拉多州施里弗(Schriever)空军基地内的主控站与其运控段一起 , 至少每天一次对每颗GPS卫星注入由复杂模型基础上计算出的轨道位置和星上时钟校正数据 .
- 计算GPS接收机(GNSS模组)的三维位置 , 要求GPS接收机至少接收来自4颗卫星的信号 , 根据空间三角形勾股定理和四元一次方程计算得到三维位置.
什么是RTK?
RTK全称Real Time Kinematic (实时动态技术) , 又称载波相位差分技术 , 是一种支持厘米级定位精度的GNSS定位技术(简称RTK技术) , 是实时处理两个测量站载波相位观测量的差分方法 , RTK技术工作过程如下图所示,通过移动网络实时将基准站(GNSS接收机)的生成的DGPS corrections传输给流动站(GNSS接收机)进行计算实现厘米定位 .
![]()
RTK技术的应用
- 各种控制测量比如传统的大地测量 , 工程控制测量采用三角网 , 导线网方法来施测,采用RTK技术实时测得定位精度保证观测质量 , 提高作业效率 , 相比常规GPS静态测量 , 快速静态 , 伪动态这些非实时性方法在测量完成后,后续处理若发现精度不合要求还须返测 . 另外RTK技术用于公路控制测量 , 电子线路控制测量 , 水利工程控制测量 , 大地测量 , 可减少人力强度 , 节省费用 , 在几分钟甚至于几秒钟内就可完成控制点测量 .
- 地形测图 . 采用RTK时,仅需一人背着仪器在要测的地形地貌碎部点呆上一二秒种,并同时输入特征编码,通过手簿可以实时知道点位精度,把一个区域测完后回到室内,由专业的软件接口就可以输出所要求的地形图,这样用RTK仅需一人操作,不要求点间通视,大大提高了工作效率,采用RTK配合电子手簿可以测设各种地形图,如普通测图、铁路线路带状地形图的测设,公路管线地形图的测设,配合测深仪可以用于测水库地形图,航 海海洋测图等等。
- 放样程放样是测量一个应用分支,采用RTK技术放样时,仅需把设计好的点位坐标输入到电子手簿中,背着GPS接收机,它会提醒你走到要放样点的位置,既迅速又方便,由于GPS是通过坐标来直接放样的,而且精度很高也很均匀,因而在外业放样中效率会大大提高,且只需一个人操作。
使用说明
RTK Rover 指使用 LG290P 模块作为流动站,连接并接收千寻位置(中国大陆)或其它参考基站服务商的 RTCM 数据流,实现高精度厘米级定位
RTK Base 指配置 LG290P 模块为基站模式,建立CORS(Continuous Operational Reference System 连续运行参考站),为其它设备提供 RTCM 数据流,实现设备的实时厘米级定位
Windows
Windows小结是使用 Windows 电脑上的 QGNSS 等软件对 LG290P 系列模组进行快速设置和使用的说明,QGNSS 软件的详细使用说明请参考 QGNSS_2.2.zip中的Quectel_QGNSS_User_Guide_V3.2.pdf文件
安装CH343驱动
下载和双击安装CH343 Window VCP驱动
RTK 流动站定位实现
- 下载并打开QGSS工具,1️⃣点击NTRIP client ,2️⃣点击view3️⃣选择Data View 打开4️⃣打开卫星信号条形图界面5️⃣配置下方Addressh和Port参数到相应位置:
Address: ntrip.geodetic.gov.hk Port: 2101 Mount Point: HKCL_32 Username: 留空 Password: 留空
6️⃣点击 Update NTRIP Source Table 7️⃣ 选择 HKCL_32 节点 8️⃣打开ON,按钮边绿色,和基站通信成功,NTRIP Client 打印以下信息:
Received (14)bytes from server : ICY 200 OK
等2-15分钟,待右侧Data View窗口出现经纬度和Float RTK 提示,实现RTK 定位,9️⃣打开偏差图,可以看到定位精度
RTK Base➡️RTK Caster➡️RTK Rover
- 搭建基站模块前,先了解下NTRIP(Networked Transport of RTCM via Internet)简称通过互联网传输 RTK 差分数据,是一种通过 Internet/本地网络分发 RTK 校正数据的协议.这允许扩展具有无限基地和无限流动站的 RTK 网络.具有多个 NTRIP 设备的网络称为 NTRIP 网络.NTRIP 网络中有 3 个角色:NTRIP Caster,它是一个服务器,负责接收、发送 GNSS 差分数据.从一个或多个基站收集 RTK 校正数据(即RTCM 数据),并将它们分配给 RTK 流动站. Emlid Caster 和rtk2go 等 是基于云的公共 Caster,可以将 RTCM 数据通过上传到这些中转站,省去搭建Caster的繁琐步骤,下述以搭建Emlid Caster 公共Caster 为例测试:
将上图的My mount points 配置给基站,My rovers 参数配置给流动站
- 打开QGNSS工具,2️⃣在NTIRP Server 窗口输入从Emlid Caster 获取到的参数
ADDRESS: 164.90.243.252 PORT: 2101 MOUNT POINT: MP24981d PASSWORD: 62XXXX
- 然后勾选启动 ,成功连接到服务器后,打印
Connect to caster success ICY 200 OK;
- LG29H 作为基站运行时,收敛时间比较长,一般建议让基站收敛12小时后的位置作为基站位置,天线应安装在固定点上尽量选择具有良好天空视野、避免遮挡的位置安装
- 配套的天线主要是用于流动站,如果要有更好的基站定位效果,请选用稳定的抗环境能力强的 基站天线
- Emlid Caster 仅用于测试硬件功能,实际投入使用过程中,可能自行搭建服务器效果更好
#配置模块工作模式为基站模式 $PQTMCFGRCVRMODE,W,2*29 #命令执行成功 $PQTMCFGRCVRMODE,OK*64 #保存配置 $PQTMSAVEPAR*5A #命令执行成功 $PQTMSAVEPAR,OK*72 #重启模块(通过发送相关命令或硬件 RESET_N 引脚重启均可,此处使用命令重启) $PQTMSRR*4B #等待模块开机 #配置基站 Survey-in 模式,定位(收敛)次数为 60 次,3D 位置精度阈值为 15.0 米) $PQTMCFGSVIN,W,1,60,15.0,0,0,0*3E #命令执行成功 $PQTMCFGSVIN,OK*70 #通过 PQTMCFGMSGRATE 配置 PQTMSVINSTATUS 为每定位一次输出一次以查看 Survey-in 状态(该步骤为可选步骤) $PQTMCFGMSGRATE,W,PQTMSVINSTATUS,1,1*58 #命令执行成功 $PQTMCFGMSGRATE,OK*29 #保存配置 $PQTMSAVEPAR*5A #命令执行成功 $PQTMSAVEPAR,OK*72 #重启模块(通过发送相关命令或硬件 RESET_N 引脚重启均可,此处使用命令重启) $PQTMSRR*4B #通过 RTCM3-1005 输出基站收敛均值 ECEF 坐标(该语句在模块作为基站模式下默认输出) D3 00 13 3E D1 22 03 3B 54 97 DA 6F 8C 99 B2 AF 40 06 4C FC 1A 4B 1E 7D F1 #通过 PQTMSVINSTATUS 查看基站 ECEF 坐标收敛均值从开始收敛到收敛完成(该步骤为可选步骤并建议在收敛完成后关闭该语句输出) $PQTMSVINSTATUS,1,291264000,1,,11,1,60,-2005560.2218,5411825.5447,2706139.7061,1.8691*0C $PQTMSVINSTATUS,1,291265000,1,,11,2,60,-2005560.1264,5411824.9421,2706139.6738,4.9992*09 $PQTMSVINSTATUS,1,291266000,1,,11,3,60,-2005560.1137,5411824.5510,2706139.6722,4.3119*0B $PQTMSVINSTATUS,1,291267000,1,,11,4,60,-2005560.2000,5411824.9447,2706140.0627,1.3000*04 … $PQTMSVINSTATUS,1,291320000,1,,11,57,60,-2005559.8625,5411823.2315,2706139.4103,1.7206*36 $PQTMSVINSTATUS,1,291321000,1,,11,58,60,-2005559.8577,5411823.2160,2706139.4067,1.6716*3A $PQTMSVINSTATUS,1,291322000,1,,11,59,60,-2005559.8530,5411823.2016,2706139.4032,1.7830*31 $PQTMSVINSTATUS,1,291323000,2,,11,60,60,-2005559.8481,5411823.1873,2706139.3995,1.8075*3F $PQTMSVINSTATUS,1,291324000,2,,11,60,60,-2005559.8481,5411823.1873,2706139.3995,1.8075*38 $PQTMSVINSTATUS,1,291325000,2,,11,60,60,-2005559.8481,5411823.1873,2706139.3995,1.8075*39 #完成收敛后,通过 PQTMCFGMSGRATE 关闭 PQTMSVINSTATUS $PQTMCFGMSGRATE,W,PQTMSVINSTATUS,0,1*59 #命令执行成功 $PQTMCFGMSGRATE,OK*29 #保存配置 $PQTMSAVEPAR*5A #命令执行成功 $PQTMSAVEPAR,OK*72 #重启模块(通过发送相关命令或硬件 RESET_N 引脚重启均可,此处使用命令重启) $PQTMSRR*4B
- 同时打开Data View 看基站收敛情况3️⃣,等成功收敛后,会获得基站的经纬度,等12 小时左右,可获取先对准确的基站坐标
- 这些数据会通过caster中转站传输给流动站,因此也需要将caster对应的参数配置流动站,
ADDRESS: 164.90.243.252 PORT: 2101 MOUNT POINT: MP24981d USERNAME u92454 PASSWORD: 35XXXX
- 等上数小时,待基站和流动站都稳定后,出现Float RTK,RTK 定位成功
RaspberryPi
此小结是以 Raspberry Pi 和 LG290P HAT 的为例测试的说明, 其实Linux 操作系统都是大差不差的,也可以适配到Jetson 和 RDK 等常见的Linux 系列主板,在空旷晴朗☀️的户外可视天空下测试,越是空旷,天气越晴朗☀️,RTK定位越精准
环境设置
- 通过USB连接到Linux 主机,树莓派会新版本的系统都已经内置CH343驱动,加载出默认是ttyACM0串口
- 在树莓派终端shell界面下载和运行python3程序,在浏览器输入生成的IP+端口号,可以得到Ntrip Client 的窗口界面,输入中海达(Hi-Target)、千寻(Chihiro)、Trimble或自建基站等等的相关参数,这里以中海达的cors 账号为例测试:
pip3 install flask pyserial wget https://files.waveshare.com/wiki/LG290P-GNSS-RTK-Module/Demo/LG290P-GNSS-RTK-Module-Demo.zip sudo unzip LG290P-GNSS-RTK-Module-Demo.zip cd LG290P-GNSS-RTK-Module-Demo/Raspberry_Pi/Python/RTK_Rover/ sudo python3 web_rtk.py
- 请复制程序生成的IP+端口号到树莓派本身或同局域网的主机浏览器,按下回车可访问RTK配置网页,这里是
http://192.168.10.10:5000
- 配置对应的串口号,默认是ttyACM0,将Hi-Target RTK 参数对应复制到配置框,点击Start RTK
RTK BASE
Windows 系统可以使用STRSVR将基站信息上传服务器,Linux 系统可以参考以下步骤安装rtkbase工具上传服务器,这里以树莓派为例测试,Jetson等Linux主机测试步骤类似,可以共用Demo:
- 请复制以下命令行到树莓派终端
https://github.com/Stefal/rtkbase git clone https://github.com/Stefal/rtkbase.git cd rtkbase/tools sudo ./install.sh --all release
- 打开终端,运行以下命令,接受新的 Suite 值:
sudo apt-get update --allow-releaseinfo-change
- 如果上述步骤不起作用,你可以尝试执行以下命令,显式地接受新的 Suite 值:
sudo apt-get update --allow-releaseinfo-change --allow-unauthenticated
- 缺少相应的公钥。解决这个问题的方法是导入正确的公钥。可以使用以下命令导入缺失的公钥:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9 6ED0E7B82643E131
- 正确安装工具到网页后,会有以下提示:
- 然后直接打开浏览器访问本机(树莓派IP)地址(这里是192.168.10.87),树莓派那边要打开对应的按钮,才可以实现服务器在线
ESP32测试
- LG290P GNSS RTK Module通过UART接到 ESP32, ,同时也将天线接好,置于开阔的户外,或者至少将定位天线接收器置于可视天空下测试,引脚连接示意图图如下:
- 这里以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";
- 编译和烧录GetGPS-RTK.ino程序到esp32,室内测试效果如下图所示:
- 室内是无法实现GNSS和RTK定位的,带笔记本到可视天空下🌤️测试效果如下图,笔记本没安装arduino环境,这里用sscom展示:
Raspberry Pi Pico 测试
- 如果需要使用RTK功能,请使用Raspberry Pi Pico 2 W 系列,类似ESP32的步骤实现RTK定位,这里以Raspberry Pi Pico 2 为例测试普通GNSS定位,GNSS定位也是LG290P GNSS RTK Module的最基本功能,接线示意图如下:
- 在Thonny 中打开和运行例程,可以获得原始GNSS报文,如下图所示:
资料
文档
工程图纸
程序
软件
- Windows RTK调试工具:
数据手册
更多应用案例
FAQ
- 实测可以到20cm,在理想的环境下,误差还可以更小,不通的环境,误差不一样
- 如果用例程分享和免费的基站服务器测试,误差会偏大,因为和基站的位置越远,误差就越大,建议自行购买运营商基站服务器测试,获取更精准的定位体验
{{{5}}}
更多详细步骤,请参考这个Github开源方案
{{{5}}}
- 1)基站端是否真的在输出RTCM(MSM+1005),QGNSS二进制窗口能否看到对应帧;
- 2)Rover角色是否为1、基站为2,并已保存参数后断电重启;
- 3)NTRIP挂载点频段与接收机一致,账号与mountpoint无误;
- 4)天线视场与接地板是否达标,先在空旷处测试;
- 5)位置输出频率与串口波特率匹配,避免拥塞丢包。
{{{5}}}
# 更新软件包列表 sudo apt-get update # 安装 Python3 Flask sudo apt-get install python3-flask # 安装 Python3 串口库 sudo apt-get install python3-serial # 安装 Python3 包管理工具(可选,用于后续安装其他包) sudo apt-get install python3-pip
{{{5}}}
$PQTMCFGRCVRMODE,W,1*2A //返回 $PQTMCFGRCVRMODE,OK*64 $PQTMSAVEPAR*5A $PQTMSRR*4B
{{{5}}}
















