这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 物联网技术 » 【技术分享】调试MEMS加速度计,为什么Y轴和Z轴的MSB输出数据是0xFF?

共7条 1/1 1 跳转至

【技术分享】调试MEMS加速度计,为什么Y轴和Z轴的MSB输出数据是0xFF?

高工
2024-01-09 13:57:19     打赏

提问:

调试ADXL372,Y轴和Z轴的MSB输出数据是0xFF?X轴输出是正常的,Y、Z轴MSB为什么输出是0xFF,读ID和寄存器都是正确的

1704779703870656.png

回答:

使能下自检(self test),看结果正常吗

提问:

检查了,你看我的处理程序,这是初始化

1704779711631606.png

等待数据准备好读取

640.png

回答:

二进制补码,所以高位寄存器00或FF都有可能,按二进制补码换算成十进制LSB和加速度值看一下,你截图的加速度值单位是什么,怎么换算转换出来的。

提问:

我也感觉是二进制补码

void ADXL372_RD_XYZ(void)

{

u8 BUF[6];

short tx2,ty2,tz2;

if(ADXL372_RD_Reg(ADXL372_STATUS_1)&0x01)

{

BUF[1] = ADXL372_RD_Reg(ADXL372_X_DATA_H);

BUF[0] = ADXL372_RD_Reg(ADXL372_X_DATA_L);

BUF[3] = ADXL372_RD_Reg(ADXL372_Y_DATA_H);

BUF[2] = ADXL372_RD_Reg(ADXL372_Y_DATA_L);

BUF[5] = ADXL372_RD_Reg(ADXL372_Z_DATA_H);

BUF[4] = ADXL372_RD_Reg(ADXL372_Z_DATA_L);

// BUF[4] = ADXL372_RD_Reg(0x0D);

// BUF[5] = ADXL372_RD_Reg(0x0C);

printf("\r\nBUF[0]:%x\r\n",BUF[0]);

printf("\r\nBUF[1]:%x\r\n",BUF[1]);

printf("\r\nBUF[2]:%x\r\n",BUF[2]);

printf("\r\nBUF[3]:%x\r\n",BUF[3]);

printf("\r\nBUF[4]:%x\r\n",BUF[4]);

printf("\r\nBUF[5]:%x\r\n",BUF[5]);

}

tx2 = (BUF[1] << 8 | BUF[0] ) ;

ty2 = (BUF[3] << 8 | BUF[2] ) ;

tz2 = (BUF[5] << 8 | BUF[4] ) ;

tx2 = tx2>>4;

ty2 = ty2>>4;

tz2 = tz2>>4;

// tx2 = ((BUF[1] << 4 | BUF[0]>>4 )) ;

// ty2 = ((BUF[3] << 4 | BUF[2]>>4 )) ;

// tz2 = ((BUF[5] << 4 | BUF[4]>>4 )) ;

a2 = (float)tx2 * ADXL372_USCALE;//97.65625;

b2 = (float)ty2 * ADXL372_USCALE;//97.65625;

c2 = (float)tz2 * ADXL372_USCALE;//97.65625; //加速度转换

a2/= 1000000;

b2/= 1000000;

c2/= 1000000;

printf("\r\nX轴加速度:%f\r\n",a2);

printf("\r\nY轴加速度:%f\r\n",b2);

printf("\r\nZ轴加速度:%f\r\n",c2);

}

这样处理有问题吗?

如果0xff 0xa0,实际应该是十进制多少数值?

如果我处理数据是对的,那这个数据采集的结果感觉误差很大,实际这个精度是±3g,大概在±30m/s2都属于正常吗?

回答:

ADXL372是大量程检测跌落冲击事件的传感器,噪声会大一点,2~3g峰峰值的噪声是正常的

1704779733696822.png

如果±3g有点大,可以改一下采样率做下fft看频域是否平坦,另外传感器要固定好,电源推荐用低噪声LDO。



*温馨提示:提问需要问题清晰,目的明确;涉及到的产品、型号完整;对问题所在时的测试环境等描述清楚、详细,并附上原理图。

来源:ADI智库




关键词: 技术     分享     调试     加速度计     ADXL372     MEM    

专家
2024-01-09 15:50:15     打赏
2楼

这不是我发的吗?


院士
2024-01-10 09:44:41     打赏
3楼

那不就是符号位而已嘛

现在都不学习《计算机原理》了吗?


工程师
2024-01-13 16:45:33     打赏
4楼

跟着学习经验了


工程师
2024-01-15 10:05:09     打赏
5楼

很好的资料。学习了。


高工
2024-01-23 08:39:38     打赏
6楼

学习了MEMS器件驱动


专家
2024-01-23 08:40:54     打赏
7楼

谢谢分享


共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]