对四轴感兴趣,但对多轴完全一窍不通,目前正在用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漂移的关系,一秒钟刷新四、五次,说明了自动配置完全生效!!!
|