从饱和加速度计中恢复数据


10

我有一个ADXL345加速度计,并将其安装在混合动力火箭上进行发射。不幸的是,我忘记将范围设置为从默认值+/- 2g到+/- 8g(我们预计升空时为6g)。

对于+/- 2g范围,数据表列出了10位的输出分辨率,而对于+/- 8g,则列出了12位的分辨率。

我在上面链接的数据表中的DATA_FORMAT寄存器(0x31)下注意到了这一点:

该DATA_FORMAT寄存器控制演示数据寄存器0x32通过寄存器0x37。除+/- 16g范围外,所有数据都必须剪裁以避免翻转。(重点是我的

基于此陈述和功能框图(将三轴传感器连接到“传感电子设备”,然后再连接到ADC),我希望有一种方法可以解析正确的数据。比例因子在数据表的第3页上列出。

有没有办法我可以解析这些数据,至少要解析为1或2个有效数字?(例如,我检测到1.9414g-应该在6左右)。我不认为传感器饱和,仅仅是数据寄存器中的数字-并考虑到比例因子和一些创造性的位移(尚不清楚,当改变分辨率时,它们如何从10位变为12位),希望我能从我的数据中恢复有用的东西


如果您在假设数据显示为2g且有翻转的情况下绘制数据,那么您会看到一个较长字词的底部2g,结果如何。对于上升g,您希望看到一系列锯齿。0-2 = 0-2。2-4 = 0-2。4-6 = 0-2。
拉塞尔·麦克马洪

一旦我们恢复了火箭,我就给他开枪。我的数据是不够的,因为我们失去了云彩后面..
荡夸

Answers:


7

您实际上将什么值存储到“寄存器0x31—DATA_FORMAT”中?

我将假设您没有在该寄存器中存储任何内容,因此它仍处于其复位值00。换句话说,在收集数据时(来自ADXL345数据表的表16和第17页):

  • 寄存器0x31—DATA_FORMAT == 00。
  • FULL_RES ==0。因此,器件处于10位模式,并且范围位确定最大g范围和比例因子。
  • 对齐位==0。因此右对齐模式带有符号扩展。
  • 范围位==00。因此+-2g范围。

我要做的第一件事是恢复从加速度计读取的原始16位值。(即,如果我不小心丢掉了原始数据,剩下的只是以“ g”为单位的数字,这些数字是通过减去一些偏移量并乘以一些不正确的比例因子而得出的,我会将收集到的数据复制到电子表格并除以相同(不正确)的比例因子,然后添加该偏移量以尝试恢复接近原始值的内容)。

然后,我将对数据进行绘图,看看它看起来更像是“饱和”,“线性”或“翻转”(如下所述)。

数据表令人迷惑不解,当传感器经历大于2 g的加速度时会发生什么。

切线

我是否告诉过您,当技术作家坚持用被动语态写作时,有多少让我感到烦恼?当作者在您引用的句子中使用被动语态时,

“除±16 g范围外,所有数据都必须剪裁以避免翻转。” (第17页)

我无法确定究竟应该由谁来执行此剪辑。

许多人建议使用主动声音。当我遵循这些建议时,我的文字通常会更清楚地说明谁在做什么。当我编写更容易理解的东西而不是使用人们被骗去认为听起来“更专业”或“更学术”的风格时,这会更好吗?

自动裁剪

我最好的猜测是加速度计会自动进行削波。

饱和度:如果您看到加速度通过合理的值上升,然后神秘地停留在平稳状态,饱和度达到+ 2g或接近+ 2g,则加速度计“有帮助”地为您修剪了数据。裁剪后,“ top”值不再表示“加速度非常接近+ 2g”,而是现在表示“加速度至少2g,甚至可能更多,更多-无法分辨”。

因为它处于10位右对齐模式,所以当我将这16位值解释为普通的16位带符号整数时,我希望看到的值范围从

  • 0x01FF = +511,表示大于1.992 g。可能更多。
  • 0x01FE = +510,表示510/256 g〜= 1.992 g
  • 0x01FD = +509,表示510/256 g〜= 1.988 g
  • ...
  • 0x0001 = +1,表示1/256 g = 0.0039 g
  • 0x0000 = 0,表示0 g
  • 0xFFFF = -1,表示-1/256 g = 0.0039
  • ...
  • 0xFE02 = -510,表示-510/256 = -1.992 g
  • 0xFE01 = -511,表示-511/256 = -1.996 g
  • 0xFE00 = -512,表示负数-1.996 g。可能更远,更负面。

(是的,我知道此传感器不需要4位小数的精度)。(我已经看到某些设备在其他点达到饱和,例如-511或-510。我通常可以查看数据并找出实际的饱和点)。

您可以从此裁剪的数据集中恢复一些有用的数据。例如,您可以使用它来测量加速度至少为1.5 g的毫秒数。,当您在这种数据集中看到平稳状态时,就无法测量最大加速度或总脉冲-您所能做的就是说:“嗯,我们知道最大加速度至少为 2g,甚至可能更大”,然后计算出“好吧,我们计算出总冲量至少为(牛顿*秒)*”。

备择方案

应该可以从数据中确定加速度计是否进行削波。(我已经根据上升的角度描述了“饱和”,“线性”和“翻转”-使用一些数据集,改为观察下降可能更清楚)。

线性的:如果您看到加速度通过合理的值逐渐增加,然后继续增加至更高的值(大于512的值,或者大于-512的负值),那么您就走了-加速度计实际上没有进行任何削波,并且您拥有整个范围内的有效数据。

翻滚:如果您看到加速度通过合理的值增加,并且在达到+2 g之前,它会立即跳至-2 g附近的非实际值,然后继续增加-可能会增加从零开始,然后再次接近+ 2g,然后再次跳回-2 g附近-那么您将获得翻转环绕。如果幸运的话,这些值的变化非常平滑,可以检测到每个翻转并“解开”这些值以恢复真正的g力。

ps:随时编辑“ 断路:火箭计算机”


大!一旦我们收回了火箭,我就会尝试一下。到目前为止,我们不得不租用塞斯纳(Cessna)来帮助找到它。.但是希望我们能走运。
Dang Khoa 2012年

看来我们将无法收回火箭,所以这个讨论有些争议(我只有地面站的几个数据点)。但是谢谢!
Dang Khoa 2012年

@davidcary,开放电路:火箭计算机链接已断开
Mahendra Gunawardena

@MahendraGunawardena:谢谢你告诉我。现在工作了吗?
davidcary
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.