搜索
bottom↓
回复: 22

MPU6050数据问题

[复制链接]

出0入0汤圆

发表于 2014-3-28 18:50:26 | 显示全部楼层 |阅读模式
本帖最后由 onev 于 2014-3-28 20:44 编辑

如图,这是读出的数据,加速度的数据已经转成了加速度,陀螺也转成了角速度,68是读器件WHO_AM_I的返回,说明MPU6050是正常的。加速度的数据也符合实际,因为这是静止平放(当然其实不可能很平)时的输出,但陀螺的输出就不正常了,X轴基本是零符合实际,Y、Z轴输出却总有图中的69.7+,这是为什么呢?求大神解答

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入0汤圆

发表于 2014-3-28 20:53:02 | 显示全部楼层
你陀螺仪量程多少,一般陀螺仪有偏差很正常,再加上焊接时高温也有所影响。所以应用起来我一般都要加补偿的。

出0入0汤圆

 楼主| 发表于 2014-3-28 21:02:43 | 显示全部楼层
cshp138 发表于 2014-3-28 20:53
你陀螺仪量程多少,一般陀螺仪有偏差很正常,再加上焊接时高温也有所影响。所以应用起来我一般都要加补偿的 ...

{/*MPU6050_GYRO_CONFIG*/ 0x1B, 3<<3}, //陀螺仪量程,2000dps 不自检     

出0入0汤圆

 楼主| 发表于 2014-3-30 16:21:24 | 显示全部楼层
cshp138 发表于 2014-3-28 20:53
你陀螺仪量程多少,一般陀螺仪有偏差很正常,再加上焊接时高温也有所影响。所以应用起来我一般都要加补偿的 ...

大神,还是这个问题,这个数据蹊跷的地方在于:我特地读了一下陀螺的Y和Z轴的数据,他们的高8位都是255,Y轴的低8位是252,Z轴低8位是224。  255这个数据说明8位是全1啊。

出0入0汤圆

发表于 2014-3-30 17:33:06 | 显示全部楼层
你这 Y Z 数据不正常啊 ,算是漂移也不会这么大,我最近也在搞个,前天读取的,一点木有问题啊,是不是你传感器已坏。。或者读取Y Z时已经被打断了什么的

出0入0汤圆

 楼主| 发表于 2014-3-30 17:57:48 | 显示全部楼层
309579471 发表于 2014-3-30 17:33
你这 Y Z 数据不正常啊 ,算是漂移也不会这么大,我最近也在搞个,前天读取的,一点木有问题啊,是不是你传 ...

能看一下你的程序吗    onev2012@163.com

出0入0汤圆

发表于 2014-3-30 18:46:01 | 显示全部楼层
用了好几百片6050没见过你这问题,觉得是你I2C读数据错位了或者原始数据换算错误;你先把16位原始数据串口打印出来看看,如果还是出入很大,用逻辑分析仪看看时序有错不;排除到最后还是不行就只能换个芯片

出0入0汤圆

 楼主| 发表于 2014-3-30 19:47:10 | 显示全部楼层
cshp138 发表于 2014-3-30 18:46
用了好几百片6050没见过你这问题,觉得是你I2C读数据错位了或者原始数据换算错误;你先把16位原始数据串口 ...

你说的   其实我都试过了 单独将陀螺的Y和Z轴数据高、低位分别读出的,静止平放就是上面说的情况,如果用手把片子改变一下位置,能使Y、Z轴数据变成接近0  所以无法判断片子到底有没有坏   另外 我用的是IIC_DMA应该没有问题,因为读加计没有问题

出0入0汤圆

发表于 2014-3-31 09:21:35 | 显示全部楼层
onev 发表于 2014-3-30 16:21
大神,还是这个问题,这个数据蹊跷的地方在于:我特地读了一下陀螺的Y和Z轴的数据,他们的高8位都是255, ...

高8位都是255,Y轴的低8位是252,
说明这是个负数,值为-4。
楼主该不会是把它的16位数据当成是无符号数了吧?

出0入0汤圆

发表于 2014-3-31 10:13:24 | 显示全部楼层
你用的硬件IIC  网上据说可能有问题,虽然我还没发现。。。。

出0入0汤圆

 楼主| 发表于 2014-3-31 22:24:23 | 显示全部楼层
本帖最后由 onev 于 2014-4-1 11:01 编辑
309579471 发表于 2014-3-31 10:13
你用的硬件IIC  网上据说可能有问题,虽然我还没发现。。。。


不应该  如果有问题  那读加计的数据也应该不正常  另外 我特地单独读出了陀螺的数据  和我一起读(同时读16字节)是一样的

出0入0汤圆

 楼主| 发表于 2014-4-1 10:59:48 | 显示全部楼层
lcw_swust 发表于 2014-3-31 09:21
高8位都是255,Y轴的低8位是252,
说明这是个负数,值为-4。
楼主该不会是把它的16位数据当成是无符号数 ...

加计的原始数据,比如读出的是8位的某个数,你的意思是这8位中最高位是符号位吗?

出0入0汤圆

 楼主| 发表于 2014-4-1 11:11:10 | 显示全部楼层
本帖最后由 onev 于 2014-4-1 12:08 编辑
lcw_swust 发表于 2014-3-31 09:21
高8位都是255,Y轴的低8位是252,
说明这是个负数,值为-4。
楼主该不会是把它的16位数据当成是无符号数 ...


这是我在另一个论坛了看到的:mpu6050的输出是16位补码形式的,第一位是符号位,0便是正,1是负,
从0000到ffff,其中0000-7fff是表示正的0-2g,8000-ffff为负的0-2g
你是把得到的值直接除了Sensitivity得到的吧 是这样的吗   我在手册里没有看到这种说法呀  或许是我没看到  如果真是这样 能不能指个出处   或者你能否讲解一下也免得我在翻手册了 谢谢啊   请不吝赐教  纠结很久了  如果是负数  那要还原成原码  才能进行计算吗

出0入0汤圆

发表于 2014-4-1 11:59:47 | 显示全部楼层
onev 发表于 2014-4-1 11:11
这是我在另一个论坛了看到的:mpu6050的输出是16位补码形式的,第一位是符号位,0便是正,1是负,
从0000 ...

我可能说不清楚,楼主是否可以把完整的程序发上来?

出0入0汤圆

 楼主| 发表于 2014-4-1 12:15:04 | 显示全部楼层
lcw_swust 发表于 2014-4-1 11:59
我可能说不清楚,楼主是否可以把完整的程序发上来?

程序其实很简单嘛  就是用I2C_DMA  初始化MPU6050  然后读取数据  然后就是用串口显示出来

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-4-1 13:07:54 | 显示全部楼层
onev 发表于 2014-4-1 12:15
程序其实很简单嘛  就是用I2C_DMA  初始化MPU6050  然后读取数据  然后就是用串口显示出来 ...

程序不完整
我觉得楼主在某些该用有符号数的地方用了无符号数。
一楼图片里Gry.TrueY:69.731409,这个数有可能是从一个绝对值比较小的负数转化而来,并不是传感器的问题,而是数据转换的问题。

出0入0汤圆

 楼主| 发表于 2014-4-1 18:09:10 | 显示全部楼层
本帖最后由 onev 于 2014-4-1 18:12 编辑
lcw_swust 发表于 2014-4-1 13:07
程序不完整
我觉得楼主在某些该用有符号数的地方用了无符号数。
一楼图片里Gry.TrueY:69.731409,这个数 ...


68是读加计WHO_AM_I的返回,这个是没有问题的。然后第一行和第二行是读加计和陀螺仪的原始数据,第三行和第四行就是转成加速度和角速度的值(加速度计量程+-8G,陀螺仪2000dps)      另外能否回答一下13楼的问题

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2014-4-1 20:16:24 | 显示全部楼层
本帖最后由 onev 于 2014-4-1 20:19 编辑

多谢各位  问题已经解决   原来是我参考的别人的程序里有数据类型错误

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-4-20 21:29:30 | 显示全部楼层
数据类型是怎样的?我是读ID都是255,读什么都是255。。。

出0入0汤圆

 楼主| 发表于 2014-4-21 21:57:31 | 显示全部楼层
sylarwcy 发表于 2014-4-20 21:29
数据类型是怎样的?我是读ID都是255,读什么都是255。。。

读WHO_AM_I是255那说明你错了吧    那读到正确的才能去读它的数据    检查一下你的IIC确是没有问题然后注意数据类型

出0入0汤圆

发表于 2014-4-21 22:51:12 | 显示全部楼层
数据格式,我是低位和高位都是8位无符号,然后合成的是有符号的16位。


嗯,一定是IIC的问题,我现在已经转移精力了,不把主要精力放在IIC上面了,我买了串口的6050。

出0入0汤圆

 楼主| 发表于 2014-4-21 23:06:07 | 显示全部楼层
sylarwcy 发表于 2014-4-21 22:51
数据格式,我是低位和高位都是8位无符号,然后合成的是有符号的16位。

串口MPU6050模块吗   我最近也特郁闷   之前买的四轴小飞控板有严重问题 外部晶振不起振

出0入0汤圆

发表于 2014-4-22 00:15:18 | 显示全部楼层
我都不画板子了,直接杜邦线各种连,等过些天我开始整机上电调试时,给你来张我的全是杜邦线的四轴,哈哈。。。现在我还在设计杜邦线怎么缠绕怎么连接好看。。。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-10-3 12:27

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表