捣鼓了几天的AHRS(MPU6050+HMC5883+BMP085)

作者: 质的飞跃
上传时间为: 2014-12-10 04:57 PM

时间紧,分身乏术吖。。。赶着搞四轴,先研究各种传感器。。。

MPU6050,整合性6轴运动处理器件,也就是3轴陀螺仪和3轴加速度计整合在一起。免除陀螺仪和加速度计在组合时的轴间差。。。挺不错的,用起来方便。

列下常用的引脚吧:

MPU和其通讯使用I2C,即它的23和24脚,其第6和第7脚为主机I2C接口,也就是说,MPU6050可以作为主机对其它从机操作,默认情况下不开启此功能,此时6和7脚旁路到23和24脚。。。所以接在第6和7脚的I2C从设备默认情况下直接接在23和24脚。。。刚开始不知道这个东东,害我浪费浪费青春,后来看了下datasheep才知道。。。

有一个灰常重要的引脚就是第9,这个引脚呢,是作为I2C地址的最低位的,也就是说,当9引脚为低电平时,MPU6050的I2C地址为0x68,其为高电平时,地址为0x69。(我绝对不会告诉你我在这里浪费了1天的时间,说起来就伤心吖。。。参考网上的程序,地址都是0x68,然后然后一直不行。。。最后看了手册才知道,这就是不看手册后果,虽然E文手册看着蛋疼)

关于寄存器117 – Who Am I 这个寄存器,刚开始看到其值一直都是0x68,而不是想当然的0x69,感觉很纳闷,后来看了下手册,有那么一句“The value of the AD0 pin is not reflected in this register.”,呵呵,手册不是万能的,没有手册是万万不能的。

HMC5883,这是个三轴电子罗盘,也就是指北针。。。说起他。。。好像没什么好说的,比较简单,就是角度计算可能烦点。。。

BMP085,这是个气压计,可以测出大气气压和粗略测量温度吧,测量温度是为了计算出更准确的气压,大家都知道温度对气压的影响吧,不知道别问我。。。

其引脚吧:’SDA’, ‘SCL’, ‘XCLR’, ‘EOC’, ‘GND’,’VCC’。

SDA和SCL是I2C总线引脚;XCLR是master的复位引脚,低有效,如果把它与地相连,就可以复位BMP085。

ECO意为 ”end of conversion”,是BMP085的压力或温度转换完成时触发产生的信号。XCLR、ECO是可选的2个信号,如果不需要用它,则可以不连接。

刚开始看到数据很奇怪,查了一下BMP085的手册,温度的单位是0.1 摄氏度,压力是1Pa,换算下就不奇怪了呵呵。。。

可以根据气压计算出海拔高度,自己百度去。。。

有道吖有道,这是个东西,看那E文手册全靠它了。。。

全部评论 ()

创建讨论帖子

登录 后参与评论
系统提示