搜索
bottom↓
回复: 4

ADXL345静止时读取数据有跳变

[复制链接]

出0入0汤圆

发表于 2012-1-20 12:23:43 | 显示全部楼层 |阅读模式
各位高手,最近在处理加速度传感器的数据时,发现读取的原始数据有错误。
------x =   -254, Y =     51, Z =    297
------x =      1, Y =     60, Z =    284
------x =   -256, Y =     76, Z =    261
------x =   -254, Y =     50, Z =    287
------x =      2, Y =     41, Z =    252
------x =      2, Y =     33, Z =    277
------x =   -255, Y =     72, Z =    221
------x =      0, Y =     50, Z =    245
------x =   -256, Y =     35, Z =    292
------x =   -255, Y =     44, Z =    280
------x =   -256, Y =     53, Z =    237
------x =   -256, Y =     57, Z =    252
------x =    255, Y =     20, Z =    228
------x =   -255, Y =     82, Z =    258
------x =      3, Y =     37, Z =    266
------x =      1, Y =     39, Z =    212
------x =   -251, Y =     25, Z =    224
------x =   -256, Y =     53, Z =    255
------x =      1, Y =     45, Z =    246
------x =   -255, Y =     44, Z =    250
------x =    255, Y =     12, Z =    233
------x =   -253, Y =     89, Z =    270
------x =     -4, Y =     48, Z =    301
------x =      1, Y =     46, Z =    251
------x =   -252, Y =     71, Z =    299
------x =      0, Y =     51, Z =    242
------x =      1, Y =     32, Z =    232
------x =   -253, Y =     49, Z =    205
------x =   -255, Y =     65, Z =    253
------x =      2, Y =     53, Z =    285
------x =   -254, Y =     42, Z =    281
------x =   -255, Y =     54, Z =    289
------x =      1, Y =     39, Z =    268
------x =      1, Y =     52, Z =    262
------x =   -254, Y =     67, Z =    272
------x =   -254, Y =     30, Z =    258
------x =   -249, Y =     49, Z =    256
------x =      2, Y =     44, Z =    229
------x =      1, Y =     37, Z =    251
上面是读取的数据。Z轴由于有重力,所以读取的数据比较大,正常,Y轴也正常,唯独X轴的数据跳变比较严重。
我对原始数据的处理方法与陀螺仪的时候是一样的。
以下是寄存器的设置:
   IIC_WriteReg(ACCELERATE_ADDR,DATA_FORMAT,0x0A);
   IIC_WriteReg(ACCELERATE_ADDR,BW_RATE,0x0A);
   IIC_WriteReg(ACCELERATE_ADDR,POWER_CTL,0x08);
   IIC_WriteReg(ACCELERATE_ADDR,INT_ENABLE,0x80);
   IIC_WriteReg(ACCELERATE_ADDR,OFSX,0x00);
   IIC_WriteReg(ACCELERATE_ADDR,OFSY,0x00);
   IIC_WriteReg(ACCELERATE_ADDR,OFSZ,0x00);
   IIC_WriteReg(ACCELERATE_ADDR,ACCE_FIFO_CTL,0x9E);
我用了FIFO的STREAM模式,但用其他模式的时候,一样的问题。下面是数据处理的过程。
                AcceRawData.x = (short int)( AcceData[1]<<8|AcceData[0]);
                AcceRawData.y = (short int)( AcceData[3]<<8|AcceData[2]);
                AcceRawData.z = (short int)( AcceData[5]<<8|AcceData[4]);
需要说明的是,在陀螺仪中,我使用的几乎是相同的算法,但是为什么用在这里就不对了呢?求指教

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

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2012-6-8 11:05:04 | 显示全部楼层
楼主 你解决了吗 我也遇到这个问题

出0入0汤圆

发表于 2013-4-28 23:25:43 | 显示全部楼层
楼主,我也遇到相同问题,请教一下楼主是什么原因导致啊?

出0入0汤圆

发表于 2013-5-18 22:23:50 | 显示全部楼层
蕾蕾 发表于 2013-4-28 23:25
楼主,我也遇到相同问题,请教一下楼主是什么原因导致啊?

我也遇到了相同的问题,静止放置时,单步调试发现每个轴都会有20LSB左右的跳动,不知道是什么情况,不知道各位是否解决了??

出0入0汤圆

发表于 2013-5-26 00:27:51 | 显示全部楼层
我们也有这个问题,就是没有你们的严重,只是偶尔来一两个突变的数,用中值滤波就好了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-8-26 20:52

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

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