查看: 1589|回复: 0

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

[复制链接]
  • TA的每日心情
    无聊
    2014-12-14 14:22
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2014-12-10 16:57:40 | 显示全部楼层 |阅读模式
    分享到:
    时间紧,分身乏术吖。。。赶着搞四轴,先研究各种传感器。。。
    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文手册全靠它了。。。
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-11-18 14:53 , Processed in 0.113941 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.