搜索
bottom↓
回复: 11

ADXL345输出数据错误,X轴总是多出 -1g左右

[复制链接]

出0入0汤圆

发表于 2011-12-1 18:02:14 | 显示全部楼层 |阅读模式
先上代码

u8    adxl_init(void)
{
    adxl_port_config();                    //端口初始化
    //最小初始化序列
    adxl_writebyte(0x31,0x0B);            
    adxl_writebyte(0x2D,0x08);            
    adxl_writebyte(0x2E,0x80);            
    return ADXL_READY;
}

void  adxl_get3axis(u16 *buf)
{
    u8 i = 0;
    if(!ADXL_GET_INT())
      return;
    i = adxl_readbyte(0x30);
    ADXL_CS_ON();                                                      //使能芯片                                                  
    i = Spi1_SendReceiveByte(0xF2);                                    //     起始地址    读指令    MB:多字节
                                                                       //0xF2 = 0x32   |   0x80   |    0x40
    for(i=0;i<6;i++)
        buf = Spi1_SendReceiveByte(0xFF);
    ADXL_CS_OFF();                                                     //除能芯片
}

s16    adxl_getangle(u16 *buf, float *angle)
{
    s16 angleXX = (buf[1]<<8) | buf[0];
    s16 angleYY = (buf[3]<<8) | buf[2];
    s16 angleZZ = (buf[5]<<8) | buf[4];
    angle[0] = angleXX*3.9;
    angle[1] = angleYY*3.9;
    angle[2] = angleZZ*3.9;
}


处理到这个地方的时候发现,X轴总是多出-1g,任何姿态都是这个样子。

比如,按照手册上所述,水平向上的时候:
Xout = 0g    Yout = 0g    Zout = 1g

但是我的实际输出是:
Xout =-1g    Yout = 0g    Zout = 1g


X轴垂直指向上的时候,Xout达到-2g


不知道是哪里设置错了呢?

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

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2011-12-1 19:55:33 | 显示全部楼层
需要做零点校准的

出0入0汤圆

 楼主| 发表于 2011-12-2 10:38:50 | 显示全部楼层
回复【1楼】haolxy  飞鸟
需要做零点校准的
-----------------------------------------------------------------------

多谢

不校准的话,会漂移1g之多吗?

出0入0汤圆

 楼主| 发表于 2011-12-2 11:04:53 | 显示全部楼层
OMG
上电测试了一下,同样的程序
过了一夜,好了。。。

目前还没找到原因。。。

出0入0汤圆

发表于 2011-12-2 11:11:36 | 显示全部楼层
lz,加速度传感器在撞击,焊接,电源接反,等意外过后。很可能出现一个固定的异常数据。需要静置一夜的。以前曾经被它摆过一道

出0入0汤圆

 楼主| 发表于 2011-12-2 12:48:22 | 显示全部楼层
回复【4楼】cqy1028  秋阳
lz,加速度传感器在撞击,焊接,电源接反,等意外过后。很可能出现一个固定的异常数据。需要静置一夜的。以前曾经被它摆过一道
-----------------------------------------------------------------------

受教了

出0入0汤圆

 楼主| 发表于 2011-12-2 15:07:09 | 显示全部楼层
数值跳动在0.005g左右,不知道算大算小

出0入0汤圆

发表于 2011-12-3 12:45:33 | 显示全部楼层
回复【6楼】Alvin007
-----------------------------------------------------------------------

LZ 请教个问题,ADXL345数据格式,若是±8g,12位分辨率,右对齐情况下,其符号位占几位?如果分为高低各8位,那么是高五位都是符号位,还是高字节的第四位位符号位?谢谢

出0入0汤圆

发表于 2011-12-3 19:06:13 | 显示全部楼层
弄出来了,高5位都是符号位,或者全零或者全一

出0入0汤圆

发表于 2012-8-15 19:21:52 | 显示全部楼层
原来是这样啊   害我找了一整天的原因   先搁一夜看看  不就早上测试时候弹了它几下么  来脾气了还

出0入0汤圆

发表于 2012-9-1 12:48:42 | 显示全部楼层
我的ADXL345数据是正常,我用FIFO水印中断读取数值,一开始进不了中断,后来进去了,然后再取均值,数据跳的厉害,有没有人知道怎么写滤波的程序啊

出0入0汤圆

发表于 2013-5-1 12:37:35 | 显示全部楼层
cqy1028 发表于 2011-12-2 11:11
lz,加速度传感器在撞击,焊接,电源接反,等意外过后。很可能出现一个固定的异常数据。需要静置一夜的。以 ...

请问静置一夜具体是多长时间啊?我之前将传感器电源正负接反了,现在传感器各轴显示为0,不过我现在时间很紧,不知道是不是需要静置。。。还有,我用另外的模块各轴也是显示0 ,之前还是可以测得数据的,现在两个模块都不行了,不知道是不是这个原因啊。。。请教了~
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-7-24 00:18

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

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