使用加速度计计算倾角?

电器工程 加速度计 倾角
2022-01-21 13:42:41

我在面包板上有一个模拟设备 ADXL203 加速度计,我想用它来测量一些设备在相当高的频率(20-30 Hz)下的倾斜度。我将它连接到坎贝尔 cr3000 记录器上进行传感。有没有人有关于如何解释传感器输出的指示。谢谢

4个回答

我在这里有很多话要说,其中一些确实涉及同意 pingswept 和一些同意 penjuin。

cr3000

以 16 位和 100 Hz 采样的 cr3000 采样速度会稍微慢一些,以便您轻松地从数据中去除噪声,但可以使用更高的精度。如果没有一些非常好的过滤算法,我怀疑你能否获得 13 或 14 位的精度。加速度计告诉我振动是魔鬼,爆炸声子。

输出电容

您需要确保按照数据表的说明和信号理论的说明进行操作。引用数据表:

ADXL103/ADXL203 的输出具有 2.5 kHz 的典型带宽。用户此时必须过滤信号以限制混叠错误。模拟带宽不得超过模数采样频率的一半,以尽量减少混叠。可以进一步降低模拟带宽以降低噪声并提高分辨率。

这意味着您需要选择一个电容器以将您的速率保持在 50Hz 以下。如果你把它放在上面,你会得到混叠,而混叠会使振动噪声成为你与之签约的魔鬼。他们说明了如何计算设备的噪声水平,并且在 50Hz 带宽下,峰峰值噪声为 0.006 * 如果您在有振动的设备上使用它,甚至不会注意到重力。

解释数据

这可能是您最感兴趣的,并且相对容易做到。您需要标记设备处于中性状态的时间,即它是平坦的并且您相对静止的时间。在这一点上给它一两秒钟,然后你可以取这个数据的中值来确定 no-G 电压。然后,您可以将此作为与设备进行比较的点。现在,从这一点开始,我可以直接引用数据表:

当加速度计垂直于重力时,其输出每倾斜度数变化近 17.5 毫克

所以如果你不打算倾斜太多,你可以简单地使用这个近似值,但如果你计划在两个方向和角度都不是非常小的倾斜,你将需要使用几何。

如果您要变得更大,他们甚至将方程式拼写为:

PITCH = ASIN(AX/1 g)
ROLL = ASIN(AY/1 g)

据我所知,您的设备每加速 1G 就会产生 1V 的变化。如果您已经完成了校准阶段,那么您应该能够进行测量,减去偏移量,并且您可以体验到 Gs 的数量。

除非您遇到问题或者您想要更多信息来改进方法,否则请停止阅读此处。

我添加了更多关于其他方法和方法的更多内容,以改进您针对快速变化的系统或您将要对执行样本的设备进行编程的系统的方法。

采样频率

您的采样速度需要明显快于设备改变加速方向的速度,因为您必须每秒测量 20-30 次方向。您需要能够以足够快的速度进行测量,以滤除由于其他影响而产生的振动噪声和加速度,我发现在使用加速度计时这些影响非常大。

三轴加速度计

其次,如果您有一个三轴加速度计,那么您可以很容易地识别出一个轴何时因重力而失去部分加速度(即,当 z 轴的幅度下降 2m/s^2 时,您知道你在另一个轴上看到的增益是重力)。这仍然会很混乱,但通常会增加加速度,它给出改变方向所需的速度,然后由于方向变化而改变加速度,通常允许你识别方向。

2 轴的问题

正如 penjuin 所说,这对于 2 轴加速度计来说几乎是不可能的,如果你有一个每秒可以有 20-30 个不同方向的系统,或者如果你需要精确测量方向一直。我相信硕士生可以就此写一篇相当不错的论文,或者博士生可以写一篇关于改进该算法的论文。

振动噪音

再补充一点,如果您可以将您的设备放在可以静态锁定设备运动但抑制振动的设备之上,您将获得更好的数字,并且不需要太多的软件过滤。可以在加速度计和您的设备之间放置一些简单的泡沫型填充物,如果它是数字的,这不会增加电噪声并有助于吸收一些振动噪声。仅当您发现振动噪音问题时才应这样做。

数字加速度计

我建议您使用 SPI 连接的数字加速度计。数据可以以非常高的速率输出,您可以在后台工作,因为您的 SPI 会不断地加载下一组值。如果要以数字方式完成,您将需要一个不错的微控制器。如果你能给我关于你想要做什么的更好的细节,我可以提供更好的反馈。如果您想要基于倾斜检测的警告,那么使用所有模拟应该很容易做到,但是如果您想在操作过程中测量设备的位置和角度,请准备好进行一些工作。

如果我可以添加一些内容以使此答案更清晰或适用于您正在寻找的内容,请告诉我。

我已经用许多疯狂的数学思想多次编写和重写了这个答案,但老实说,我认为这不能准确地完成。你可以做一些向量数学,但如果:

  • 物体停止移动
  • 物体具有恒定的速度
  • 物体撞到了/你撞到了它
  • 向上倾斜产生的力低于 Z 轴的分辨率

虽然我确信做这种事情有一些疯狂的解决方法,但我不确定这是否值得;加速度计根本不是为这项任务设计的(至少据我所知)。对于您要实现的目标,我建议使用其中任何一种 的陀螺方法,所有 这些方法都可以很好地抵抗上述所有问题。

如果我正确理解数据表,当您围绕轴倾斜时,每个轴的输出将在 1.5 V 和 3.5 V 之间变化。当器件平坦时(忽略 ±1 度封装对齐误差),两个输出的读数应为 2.5 V。

如果您只需要测量一个方向的倾斜度,您可以取 2.5 V 的偏差的反正弦值以弧度为单位,然后转换为度数。如果设备可以向任何方向倾斜,您可以计算两个角度,然后从中计算复合角度。

明确地说:围绕一个轴的角度 = (180/π) * arcsin (Vout - 2.5)

要获得良好的频率响应,您需要使用小型输出电容器 Cx 和 Cy。从第 6 页脚注 6 开始。数据表的第 3 条,看起来 0.02 uF 会给您 250 Hz 的带宽,这可能适合您的采样率。您可能会高达 0.1 uF,将带宽限制为 50 Hz,但您的信号将开始衰减。

我要添加第二个答案,因为我的另一个答案很大,您可能只想简单。

您的过滤器上限需要为 0.10 uF 或更大,以使您低于混叠率 (50Hz)。您需要在 Z 方向上的所有重力加速度下,让您的设备水平放置几秒钟的校准阶段,这是为了确定您的零 G 点。

您为零 G 点测量的电压,对于 X 和 Y 方向可能会有所不同,代表什么。只需取任何电压并从中减去即可。减去偏移后的这个电压就是你在那个方向上得到的 Gs 的数量。

以反正弦为单位,您将在该方向上获得角度。

这忽略了噪音和其他加速度。如果您将其完全倾斜并且有任何噪音,请为 NaN 做好准备。