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

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文手册全靠它了。。。

永不止步步 发表于11-12 16:33 浏览65535次
分享到:

已有0条评论

暂时还没有回复哟,快来抢沙发吧

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

永不止步步
金币:67410个|学分:307967个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号