ADXL345零点漂移问题

手动测量的数据如下:

加速度(g) x轴 y轴 z轴
z轴向上 -0.75 -1.18 3.89
z轴向下 -0.83 -1.17 1.84
x轴向上 0.40 -1.13 2.88
x轴向下 -2.04 -1.18 2.81
y轴向上 -0.83 0 2.85
y轴向下 -0.85 -2.88 2.88

//********************ADXL345初始化**************************//

   Single_Write_ADXL345(0x31,0x0B);   //测量范围,正负16g,13位模式

   Single_Write_ADXL345(0x2C,0x1F);   //速率设定为3200Hz p13

   Single_Write_ADXL345(0x2D,0x08);   //功耗模式   p24

   Single_Write_ADXL345(0x2E,0x00);   //不启用中断

   Single_Write_ADXL345(0x1E,0x00);   //X 偏移量

   Single_Write_ADXL345(0x1F,0x00);   //Y 偏移量

   Single_Write_ADXL345(0x20,0x00);   //Z 偏移量

//*****************************************************************//

具体程序如附件。

问题一:

    ADXL345的数字输出数据为16位二进制补码,在数据处理时即使转换成原码仍然不对,需要进行数据转换吗?

问题二:

    如果我通过矫正偏移量,将在z轴向下时定为零点,那对THRESH_ACT和THRESH_INACT的设置有无影响?

我也看到有人也是跟我一样的问题,如果说芯片坏了应该不会巧合到连数据都差不多,请帮看下程序对不对,谢谢

correct.c.zip
Parents Reply Children
No Data