问题描述
此刻,我正在使用LSM303DLHC加速度计/磁力计/温度计.
At the moment I'm playing with the LSM303DLHC accelerometer/magnetometer/thermometer.
这是其数据表: http: //www.st.com/st-web-ui/static/active/zh/resource/technical/document/datasheet/DM00027543.pdf
一切正常,但是我不知道如何解释输出值.数据表(第9页)对我的配置中的线性加速度敏感度说"1 mg/LSB"(不,不是毫克:D).这到底是什么意思?与温度传感器的输出变化(8 LSB/°C)和磁增益设置(1100 LSB/高斯)相同,反之亦然.
Everything is working quite well, but I don't know how to interpret the output values. The datasheet (page 9) says something like "1 mg/LSB" (no, it's not milligramm :D) about the linear acceleration sensitivity in my configuration. What the hell should that mean? Same with temperature sensor output change (8 LSB/°C) and magnetic gain setting (1100 LSB/gauss), only the other way around.
例如,该加速度计输出如何处理:16384?那是我测得的重力加速度.
For example, what to do with this accelerometer output: 16384? That is my measured gravitational acceleration.
推荐答案
现在我掌握了窍门.您必须了解此MEMS上的几件事,但数据表中未提及:
Now I got the trick. There are several things on this MEMS you have to know, but which are not mentioned in the datasheet:
- 加速度计的输出寄存器只有12位而不是16位,因此您需要将值右移4并将其乘以0,001G.此外,它是小尾数法.
- 磁力计的输出寄存器为16位,但为big-endian.此外,向量顺序是(X | Z | Y)而不是(X | Y | Z).要计算正确的值,您需要将X和Y分别除以980高斯⁻¹,而将Z设为1100高斯⁻¹.
- 温度传感器正常工作,但未校准.因此,您可以使用它来测量温度变化,但不能测量绝对温度.它也只有12位,但是使用big-endian,并且您必须将输出分配8C⁻¹.
有了该信息,便可以使用LSM303DLHC.但是到底是谁发明了这个呢? 让我们在一个封装中构建一个新的加速度计,磁力计和温度计,并通过混淆字长和字节序来使用户不知所措."
With that Information it's possible to use the LSM303DLHC. But who the hell invented this? "Let's build a new accelerometer, magnetometer and thermometer in one package and screw the user up by mixing word length and endianness up without mentioning it in the datasheet."
这篇关于"LSB/单位"的含义是:和“单位/LSB"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!