5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
查看: 2820|回复: 2
打印 上一主题 下一主题

新手修改I2C导航板实现自动重配置NEO 6M GPS模块

[复制链接]
跳转到指定楼层
楼主
发表于 2015-5-3 10:48 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
对四轴感兴趣,但对多轴完全一窍不通,目前正在用QQ飞控,正在主攻MWC中……图的是MWC可以自己修改代码,学习学习……
网上买的NEO 6M GPS套装,包括一块NEO 6M GPS和 I2C导航板,然后兴致勃勃地把导航板的通讯速率改为115200,5Hz,结果……没有信号……

然后折腾很久,才在宝贝链接里面发现,GPS 模块默认参数是9600,1Hz……我要1Hz我随便买个廉价模块好了,我就是图5Hz啊啊啊啊

然后找到传说中的GPS配置软件U-CENTER,配置好后,可以输出115200,5Hz信号了,本以为这样就结束

谁知道,这个GPS模块是个啃爹货,掉电后,几分钟内,设置的GPS参数还在的,但几分钟后,貌似GPS电池耗尽,然后参数就丢了

都什么年代了,还会有掉电丢配置的事情???我明明在调参软件设置了SAVE TO EEPROM啊

然后我拿起GPS模块,仔细端详,再看看宝贝说明(说明上没写有EEPROM),再看看别的店铺的GPS模块说明,发现别的店铺中,如果宝贝说明写了有EEPROM芯片的,GPS价格就会比我的GPS贵几十块

我被宰了,而且被宰得无语,因为我买的宝贝的确没有说明有EEPROM

既然调参软件可以配置GPS,而且I2C导航板的源码是开源的,于是想着,就让I2C导航板充当调参软件,在代码上面增加一些NEO 6M的调参命令。

然后我花了一个星期空余时间研究了U-CENTER的行为,捕获到了相关的GPS指令,然后修改I2C导航板的源码……OK,成功了

思路是这样的:既然GPS默认参数是9600,我就首先让导航板的串口强制运行在9600速率。
然后向串口发送一串代码,作用是命令GPS模块运行在115200速度。
发送完毕后,再让导航板的串口运行在115200。
接着,在115200速度下,发送命令,要求GPS模块的定位信息进行5Hz刷新
GPS就这样重新配置完毕,剩下的就是I2C导航板的原版代码。

然后把修改后的I2C导航板源码重新烧入。接线,开机。 为了测试,我将GPS的TX并联到穷人OSD的RX上。

开机,穷人OSD显示“无GPS”(穷人OSD我已经配置为 115200,因为GPS默认9600,参数不对,穷人OSD肯定找不到GPS)
过了几秒钟,穷人OSD不再提示“无GPS”,大喜,至少说明GPS真的运行在115200,而且穷人OSD应该找到它熟悉的GPS命令。

过了6分钟,穷人OSD能够显示出经纬度了,而且GPS的经纬度因为GPS漂移的关系,一秒钟刷新四、五次,说明了自动配置完全生效!!!

欢迎继续阅读楼主其他信息

3
发表于 2016-7-30 12:39 | 只看该作者
请教一下,我的GPS插到APM飞控,mission planner上显示无GPS ,并且 I2C errors :2,也是因为波特率不一样吗?

沙发
发表于 2016-4-3 19:42 | 只看该作者
高手想请教一下你说的怎么搞 我的也是GPS掉电不保存数据......能否教我一下 Q:281471299  感激不尽
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /1 下一条

快速回复 返回顶部 返回列表