1、定位模块选型指南:主流GNSS模块对比

做嵌入式定位项目,第一步就是选模块。这事儿我踩过不少坑。早些年我图便宜,随便挑了个模块就往板子上焊,结果项目交付时定位飘得离谱,最后连夜换方案,差点没赶上 deadline。所以这一章,咱们把选型这件事彻底聊透。

说白了,GNSS 模块选型就三个维度:性能够不够用、成本能不能接受、好不好开发。下面我按这个逻辑展开。

1.1 主流GNSS模块厂商概览

目前市面上能打的就三家:UBLOX、中科微、华大北斗。我个人的习惯是,高端项目用 UBLOX,性价比项目选中科微,国产替代看华大北斗。

厂商 代表型号 定位精度 冷启动时间 灵敏度 参考价格
UBLOX NEO-M8N / ZED-F9P 2.5m / 0.01m(RTK) 26s -167dBm ¥80~¥600
中科微 ATGM336H / ATGM332D 2.5m 32s -162dBm ¥25~¥50
华大北斗 HD8020 / HD8040 2.0m 28s -165dBm ¥35~¥80

你可能会问,为什么 UBLOX 贵那么多?嗯,这里有个关键点:UBLOX 的固件算法和抗干扰能力确实强。我在一个无人机项目中用过 NEO-M8N,在强电磁干扰环境下依然能保持稳定输出,换成中科微的模块就偶尔会丢星。但话说回来,如果你做的是车载定位器或者共享单车,中科微完全够用,没必要多花那个钱。

1.2 核心性能参数解读

很多新手拿到模块 datasheet,看到一堆参数就懵了。其实你只需要盯住三个:灵敏度、定位精度、冷启动时间。其他的比如更新率、协议类型,按项目需求选就行。

1.2.1 灵敏度

灵敏度决定了模块在弱信号环境下能不能定位。单位是 dBm,数值越低越灵敏。比如 -167dBm 就比 -162dBm 强。

我在一个地下车库的定位项目里吃过亏。当时选了灵敏度 -160dBm 的模块,结果在地下车库深处完全搜不到星。后来换成 -165dBm 的模块,虽然还是有点飘,但至少能定位了。所以我的建议是:室内或遮挡环境,灵敏度至少 -165dBm 起步。

我的经验: 灵敏度不是越高越好。太灵敏的模块在城市峡谷里容易收到多径反射信号,反而导致定位抖动。选型时要结合使用场景做取舍。

1.2.2 定位精度

定位精度分两种:单点定位精度和差分定位精度。单点定位就是模块自己算出来的位置,一般 2~3 米。差分定位需要基站或者星基增强,可以做到厘米级。

你想想看,如果你的项目只是显示个大概位置,2.5 米精度完全够用。但如果是自动驾驶或者精准农业,那就得上 RTK 了。我记得有个做割草机器人的客户,一开始用单点定位,结果机器人总是割到邻居家的草坪……后来换了 ZED-F9P 加 RTK,问题才解决。

1.2.3 冷启动时间

冷启动时间是指模块从完全断电到首次定位的时间。这个参数很关键,尤其是做电池供电的设备。冷启动时间越短,用户体验越好。

为什么冷启动时间有差异?说白了,模块内部有没有保存星历和历书。冷启动时模块啥都不知道,得从头下载卫星轨道数据,这个过程很慢。热启动就快得多,因为数据还在内存里。

避坑指南: 我曾经遇到过一款模块,冷启动标称 35 秒,但在实际测试中经常要 50 秒以上。后来发现是天线匹配有问题。所以选型时一定要留余量,别卡着标称值设计。

1.3 选型决策矩阵

光看参数还不够,你得把参数和项目需求对应起来。下面这个矩阵是我自己总结的,每次选型我都会过一遍。

项目类型 推荐模块 关键考量 预算范围
消费级车载定位 中科微 ATGM336H 成本优先,精度够用 ¥25~¥35
工业级资产追踪 华大北斗 HD8020 国产化要求,灵敏度高 ¥40~¥60
无人机/机器人 UBLOX NEO-M8N 抗干扰,稳定性 ¥80~¥120
高精度测绘/农业 UBLOX ZED-F9P RTK 厘米级定位 ¥400~¥600
共享单车/电动车 中科微 ATGM332D 低功耗,小尺寸 ¥30~¥45

这个矩阵不是死的。比如你做一个高端共享单车,也可以上华大北斗的模块,毕竟国产化是趋势。我的建议是:先定预算,再定性能,最后选模块。

1.4 选型流程框架图

下面这张图是我做选型时的思考路径,你可以直接拿来用。

GNSS 模块选型决策流程 明确项目需求 确定预算范围与性能底线 消费级:中科微 成本优先 工业级:华大北斗 国产化/灵敏度 高端/高精度:UBLOX 稳定性/RTK 打样测试 + 实际场景验证 通过验证? 否 重新选型 确定模块,进入设计

这个流程我用了好几年,基本没出过大的选型失误。核心就是:别只看参数,一定要打样测试。我曾经在选型阶段跳过测试,直接按 datasheet 设计,结果量产时发现模块在低温环境下冷启动时间翻倍,差点造成批量召回。

1.5 选型时的几个常见坑

  • 只看精度不看环境:城市峡谷、高架桥下、隧道里,精度会急剧下降。选型时一定要考虑最差场景。
  • 忽略天线匹配:模块再好,天线不匹配也是白搭。我见过太多人花大价钱买 UBLOX 模块,结果配了个 10 块钱的陶瓷天线,定位效果还不如中科微。
  • 不关注功耗:电池供电的项目,模块的跟踪功耗和休眠功耗比冷启动时间更重要。中科微的模块在低功耗模式下表现不错,UBLOX 的功耗控制也做得很好。
  • 忘记固件升级:有些模块支持通过 UART 升级固件,有些不行。如果你的产品需要长期维护,选支持固件升级的模块会省很多事。
一句话总结: 选型不是选最贵的,也不是选参数最好的,而是选最匹配你项目场景的。先定预算,再定性能底线,然后打样测试,最后才批量采购。这个顺序别搞反了。