"LSB/Unit"和"Unit/LSB"的含义

Gen*_*ock 17 math physics electronics sensor

目前我正在玩LSM303DLHC加速度计/磁力计/温度计.

这是它的数据表:http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00027543.pdf

一切都运作良好,但我不知道如何解释输出值.数据表(第9页)说的是关于我配置中的线性加速度灵敏度的"1 mg/LSB"(不,不是毫克:D).这到底应该是什么意思?与温度传感器输出变化(8 LSB /°C)和磁增益设置(1100 LSB /高斯)相同,只是相反.

例如,如何处理此加速度计输出:16384?那是我测得的重力加速度.

Gen*_*ock 13

现在我得到了诀窍.您必须知道这个MEMS上有几件事情,但数据表中没有提到:

  1. 加速度计的输出寄存器只有12位而不是16位,因此您需要将值右移4并将其与0,001 G相乘.此外,它是小端的.
  2. 磁力计的输出寄存器是16位,但是大端.此外,矢量顺序是(X | Z | Y)而不是(X | Y | Z).要计算正确的值,你需要将X和Y分别设置为980高斯 - 1,而Z的值为1100高斯 - .
  3. 温度传感器工作,但它没有校准.所以你可以用它来测量温度变化,但没有绝对温度.它也只是12位,但是big-endian你必须将输出分配8 C -1.

有了这些信息,就可以使用LSM303DLHC.但到底是谁发明了这个?"让我们在一个封装中构建一个新的加速度计,磁力计和温度计,并通过混合字长和字节顺序来提升用户,而无需在数据表中提及它."

  • 创世记岩石是正确的。数据表中未提及加速度计数据的12位分辨率或左对齐。ST以显着方式将球丢了上去。确实应该显出类似这样的内容。这不是对寄存器的误解-只是没有解释寄存器所需的信息!这个答案也帮助了我。谢谢! (2认同)

Rau*_*ulp 12

LSB /单位或单位/ LSB是您必须乘以原始传感器数据的因子(称为灵敏度).假设传感器A有X,Y和Z寄存器,每个寄存器中的值需要与LSB /单位或单位/ LSB因子进行分频/相乘.这是因为数据表说@特定的满量程你会有这么大的灵敏度(LSB /单位或单位/ LSB)

对于LSB /单位:

x lsb表示 - 1个单位

1 lsb表示 - 1/x单位

值lsb(寄存器中的值)=(1/x)*(寄存器中的值) - 在此处应用单位方法.

类似地,对于Unit/LSB,您必须乘以灵敏度.

您可以在一个模块中构建加速度计,磁力计或温度传感器或者可以是陀螺仪,但如果客户/用户只需要一个传感器,该怎么办?

Rgds,Rp