xuyaogyo 发表于 2013-6-5 00:19:05

arduino - MPU6050 新手学习笔记

1.MPU6050是什么?

MPU6050是一个6轴运动处理组件,包含了3轴加速度 和3轴陀螺仪。

2.加速度传感器是干嘛用的?

这个要结合图片来说明,大家可以看这里:
http://download.csdn.net/download/feixiangtiakongn/4545536
总而言这,加速度传感器,其实是力传感器。用来检查上下左右前后哪几个面都受了多少力(包括重力)

3.陀螺仪是干嘛用的?
简而言之,陀螺仪就是角速度检测仪。比如,一块板,以X轴为轴心,在一秒钟的时间转到了90度,那么它在X轴上的角速度就是 90度/秒(DPS, 角速度单位,Degree Per Second的缩写°/S ,体现了转动的快慢)


4.MPU6050分辨率是多少?

3轴加速度 和3轴陀螺仪分别用了3个16位的ADC, 也就是说,加速度有3个16位ADC,其中每个轴使用了一个。也是说,每个轴输出的数据,是2^16 也就是 -32768 ---- +32768。陀螺仪也是一样。

5. 单位换算
上面说的-32768 --- +32768 ,那么这个数字到底代表了什么呢?比如陀螺仪 32768 到底是指角速度达到多少度/秒 ?
这个其实是根据MPU6050设置的量程来决定的,量程不一样,32768代表的值就不一样。

MPU6050的量程设置,在 MPU6050::initialize() (MPU6050.cpp库)初始化函数中进行了设置:
setFullScaleGyroRange(MPU6050_GYRO_FS_250);
setFullScaleAccelRange(MPU6050_ACCEL_FS_2);
分别设置为,250度/秒 , 2g

按陀螺仪来说,MPU6050 有四个量程可选:
±250,±500,±1000,±2000 度/s
比方说,设置了是 ±250 , 那么-32768---- +32768 就代表了 -250 ---- +250 。此时它的LSB(拉傻B,最低有效位) 是 131 LSB/(度/s)


http://www.geek-workshop.com/forum.php?mod=viewthread&tid=2471





hymeeg 发表于 2013-6-5 10:22:48

学习赚分中

hymeeg 发表于 2013-6-5 10:23:55

努力赚分ing....

ryangecko 发表于 2013-6-5 23:37:37

对新手很有帮助,哈哈,我刚会取到原始数据

Randy 发表于 2013-6-6 00:12:39

很好的初级教程,多多努力,继续....

Mr.妥 发表于 2013-7-8 11:09:05

新手 学习了

linkkl 发表于 2013-7-8 20:27:24

学习学习。。。

baoliguo 发表于 2013-8-7 13:25:49

请问楼主,那个初始化代码中,有读mpu的id号,这个id号地址寄存器为06,是不是呢??

MEMS_bdtx 发表于 2013-11-14 15:52:51

{:soso_e100:}新手 终于弄懂这些数据的含义了   谢谢楼主分享!!!

scyishuying 发表于 2013-11-15 01:29:47

MPU6050模块只有加速度和角速度信息,而实际使用时都需要解算出角度信息才行。需要上卡尔曼滤波进行数据融合,不过现在已经有现成的集成卡尔曼滤波的模块了,50一块,价格还是合理,而且已经放出了arduino的链接代码了。http://www.geek-workshop.com/thread-7765-1-1.html

浅墨飞鱼 发表于 2014-4-15 16:11:24

不错啊,学习啦~

渔夫 发表于 2014-5-16 20:12:11

好贴,占一个

看云听歌 发表于 2014-8-10 21:09:32

请问楼主有没有其他的资料啊

b9ss 发表于 2014-8-11 20:38:51

据说这玩意需要校准 而且要叫到很准还比较难

wangsheng108 发表于 2014-8-11 21:27:18

b9ss 发表于 2014-8-11 20:38 static/image/common/back.gif
据说这玩意需要校准 而且要叫到很准还比较难

这两天我就在校准,确实很难。:funk:
页: [1] 2
查看完整版本: arduino - MPU6050 新手学习笔记