前言
GPS,其实应该是指 Global Navigation Satellite System 全球导航卫星系统,即 GNSS,主要是用来定位的系统,目前全球定位系统有下面几种:
- GLONASS 俄罗斯 格洛纳斯
- Galileo-NES 欧洲 伽利略
- BDS 中国 北斗
- GPS 美国 全球定位系统
- 关于更多无人机飞控 GPS 知识请移步:https://zhuanlan.zhihu.com/p/37063724
Ublox
目前,用于多旋翼无人机中的 GPS,常见的是 Ublox 的系列,像常见的 NEO-M8、NEO-M7、NEO-M6 等,笔者这次选购的是 NEO-M6 带陶瓷有缘天线版本的,因为 NEO-M8 模块要 40 元左右,M6 只需要 10 元,为了羞涩的钱包,笔者选择了少一点精度。关于产品的异同,可移步官网:https://www.u-blox.com/zh/product-search,连接好以后如下图。
注意:买这个模块的时候记得要问一句带不带 EEPROM,这个在你修改完模块的数据以后会自动保存的,即使断电它也会恢复你设置的参数,否则买那种只带电池或者不默认保存的,你可能每次都要修改参数,很麻烦的。
导航板
ATmega328P 的 MWC 飞控板不支持串口的 GPS,只支持 I2C 总线,我们需要另一块 ProMini 作为导航板,通过这块 mini 的串口连接 GPS,再用 I2C 总线将数据发回 MWC 主飞控。这就需要我们自己做一块 I2C-GPS 导航板,这块导航板同时还可以接超声波模块,用来低空定高。因为 I2C-GPS 导航板固件也是开源的,所以我们只需做一块导航板即可。固件下载:https://code.google.com/p/i2c-gps-nav/downloads/list
1、PCB 绘制
2、制板
3、组装 ProMini
NEO-M6 上传固件
上传固件之前,我们需要下载 U-Blox 的上位机 u-center,地址:https://www.u-blox.com/zh/product/u-center,
ISP | U-Blox |
---|---|
VCC | VCC |
TX | RX |
RX | TX |
GND | GND |
修改 U-BLOX 模块
1、端口选择
2、波特率选择,初始的应该都是 9600,不知道的可以问卖家
3、连接完成,查看视图,右下角绿色的连通标志,如果你所处的地方信号不错,右边可以定位你当前的位置
4、固件写入
注意:这个时候你的波特率已经变成了 115200,重启 u-center,波特率选择 115200。
NEO-M6 扩展
由于 M6 并不支持 10hz 刷新,只支持 5hz,还要手动修改下。100-200ms
导航版烧录
从 DTR 依次对应 Pro mini 的针脚,VCC 连接 VCC_IN 即可
打开下载好的开源的 I2C-GPS 导航板固件
修改参数,上传固件
你如果成功的到了这里,说明你飞控两大核心的功能已经完成了,下面我们把所有的模块连接起来。
测试
笔者使用的是 MultiWii GUI 测试的