打印

攸米板学习八: 测试6轴传感器MPU6050

[复制链接]
4040|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
quyifei|  楼主 | 2013-11-11 14:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 quyifei 于 2013-11-11 14:52 编辑

攸米板的介绍请看 https://bbs.21ic.com/icview-560714-1-1.html

    对于运动控制方面的应用开发,往往需要对姿态进行动态的实时测量。 对于姿态的测量,往往需要6个参数,三个是三个方向的加速度,另外三个是三个轴的转动角速度。 MEMS加速度传感器用于测量加速度,MEMS陀螺仪用于测量角速度。 对于要求较高的飞行姿态控制, 还需要加入3个参数标明磁场方向,用于对方向的准确测量。

   世界上许多的半导体厂商都生产MEMS传感器,参数各不相同,适用于不同的场合。对于广大DIY爱好者,我认为MPU6050是比较适合的一款。 它是由美国Invensense公司生产的。为什么说它比较适合呢? 从我使用的经验来看,主要有以下几点。

    1. 首先面积非常小,只有4mm * 4mm。 现在的设备做的都越来越小,小的面积是一个非常大的优势。
    2. 灵敏度比较高。 MPU6050是16位的传感器,在检测范围配置成+-2g时,可以检测到0.00006g(4/2的16次方)的加速度,可以感知非常微小的动作。 我之前使用过官方的STM32F4 Discovery板,板上的3轴加速度传感器是8位的,对于非常细微的运动是无能为力的(我估计用于汽车上安全气囊的开启判断还是可以的)。
    3. 数据打包。 MPU6050的数据接口是I2C,通过配置它可以以100Hz或者400Hz的频率向主处理器发送加速度和角速度的数据。 除此以外,它可以通过另一组I2C接口连接其他的传感器,例如压力传感器,磁力传感器 ,MPU6050会把其他传感器的数据和自己的数据一起打包传到主处理器。 这样大大简化了系统设计。 硬件方面主处理器只需要消耗一个I2C接口,软件方面只需要管理一个I2C接口,而且一次就可以同时读出各个传感器的值,避免了不同时间读取传感器的值导致的误差。
   4. DMP功能。 什么是DMP? Dynamic Motion Processor,是Invensense公司的一个专利。 MPU6050芯片内部有一个大小4K的RAM,该RAM可以上载Invensense官方提供的DMP代码并运行,这样一些运动方面的参数可以计算后传到主处理器,可以显著减少主处理器的负荷并简化软件设计调试。
   5. 价格相对便宜。 一颗MPU6050在淘宝上十几块一个,MPU5060模块二三十一个。

    说了这么多的好处,眼见为实,先看一个视频吧,基于攸米板的MPU6050演示。
  
   

   代码是基于Invensense官方的DMP演示代码,我移植到了攸米板上。



沙发
quyifei|  楼主 | 2013-11-11 14:46 | 只看该作者
源代码还需要整理,2天后发布出来,稍等一下!

使用特权

评论回复
板凳
quyifei|  楼主 | 2013-11-13 10:49 | 只看该作者
源代码来了

YOCTO_MPU6050.zip

532.22 KB, 阅读权限: 10

MPU6050攸米板测试代码

使用特权

评论回复
地板
SLHSu37| | 2013-11-13 11:13 | 只看该作者
学习学习~~

使用特权

评论回复
5
伊泽瑞拉| | 2014-5-17 11:52 | 只看该作者
  同新手   没遇到这种问题

使用特权

评论回复
6
bioger| | 2015-4-16 09:37 | 只看该作者
好东西啊 学习学习   不过问一句  DMP代码是在哪里找到的呢

使用特权

评论回复
7
小班儿| | 2015-4-16 18:01 | 只看该作者
赞一个!!!

使用特权

评论回复
8
我思故我在12345| | 2015-4-16 20:54 | 只看该作者
对于运动控制方面的应用开发,往往需要对姿态进行动态的实时测量。 对

使用特权

评论回复
9
FireBat| | 2015-4-17 08:01 | 只看该作者
硬件iic啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:最小STM32开发板-攸米板淘宝: yifei-stm.taobao.com 博客: blog.sina.com.cn/yifeistm

29

主题

146

帖子

1

粉丝