Post Go back to editing

ADXL313的实际分辨率和灵敏度问题

在《ADXL313 Quick Start User Guide》中提到如下数据转换:

To calculate the acceleration value in units of g, multiply the two's complement value obtained times the Scale Factor (1/sensitivity, units: [g]/LSB) at the given range and resolution. For this example, the Scale Factor is 4 [g]/ 1024 LSB which is equal to 3.9[mg]/LSB.

In code this is:

X_g = (twos_complement(X_raw,13)*0.0039;

where X_g is the X-axis acceleration in units of g.

我现在将ADXL的Z轴朝上放置,

1.在±4G时得到Z轴数据0x03E5,按照以上计算±4G可以得到的加计值+3.89g,

Z_g = (twos_complement(Z_raw,10)(4.0/1024.0);

±1G,±2G输出也在0x03E5附近。

2.我又测试了±0.5G情况下,得到Z轴数据0x1FF,按照公式

Z_g = (twos_complement(Z_raw,10))/1024.0;

可以得到正确数据。

我的问题是:1.ADXL313的数据手册上说明了在在全分辨率下每个范围都有1024LSB/g的灵敏度,比例因子按照 4 [g]/ 1024 LSB计算,那实际上灵敏度应该是256LSB/g

                        2.在±4G得到的分辨率应该是13位。可是实测在接近最大值时的数据0x03E5没有到13位