目前我正在玩LSM303DLHC加速度计/磁强计/温度计。
这是它的数据表:http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00027543.pdf
一切都运行得很好,但我不知道如何解释输出值。数据表(第9页)类似于“1mg/LSB”(不,它不是毫克:D)关于我的配置中的线性加速度灵敏度。那到底是什么意思?同样的温度传感器输出变化(8 LSB/°C)和磁增益设置(1100 LSB/gauss),情况正好相反。
例如,如何处理这个加速度计的输出: 16384?这是我测量到的重力加速度。
发布于 2013-10-03 16:12:47
现在我有诀窍了。在这个MEMS上有几件事你必须知道,但在数据表中没有提到:
有了这些信息,就可以使用LSM303DLHC了。但这到底是谁发明的?“让我们把一个新的加速度计、磁强计和温度计放在一个包里,然后把单词长度和endianness混合起来,而不是在数据表中提到它。”
发布于 2013-10-04 03:44:01
LSB/unit或Unit/LSB是需要将原始传感器数据乘以的因子(称为灵敏度)。假设传感器A具有X、Y和Z寄存器,每个寄存器中的值需要与LSB/单位或单位/LSB因子相乘。这是因为数据表上写着:“特定的全面尺度,你会有这么大的敏感性(LSB/Unit或Unit/LSB)
LSB/股:
x指-1单位
1 lsb指- 1/x单位
值lsb(寄存器中的值)=(1/x)*(寄存器中的值)-在这里应用幺正方法。
同样,对于Unit/LSB,您必须将灵敏度乘以。
您可以建立加速度计,磁强计或温度传感器,或可能是陀螺仪表在一个模块,但如果客户/用户只需要一个传感器呢?
Rgds,Rp
发布于 2015-06-08 13:01:10
对于加速寄存器的解释,数据表显然是不清楚的。创世岩解决方案假设它是12位,这是可行的。(另一种解决方案是假设增益为16 mg/LSB,而不是1mg/LSB,但由于最后4位加速度似乎始终为零,前者的解决方案更有意义)。
但是对于温度和加速度,如果只考虑12位最重要的位。最后两位仍然是零,所以有效分辨率将是10位,这是令人困惑的。
我也无法理解温度读数,除非数据表中没有指定一个未知的偏移量。
我希望其他人能证实他们得到了同样的结果。
https://stackoverflow.com/questions/19161872
复制相似问题