前言
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测试的