Answers:
我在这里有很多话要说,其中一些确实涉及同意pingsept和企鹅。
cr3000以16位和100 Hz进行采样的速度会稍慢一些,以便您轻松删除数据中的噪声,但可以使用的精度要高得多。我怀疑如果没有一些非常好的过滤算法,您能否获得13或14位的精度。加速度计告诉我振动是魔鬼,爆炸的声子。
您需要确保按照数据手册所述和信号理论的指示进行操作。引用数据表:
这意味着您需要选择一个电容器以将速率保持在50Hz以下。如果将其放置在此之上,则可以得到混叠,并且混叠使振动噪声成为您与之签约的魔鬼。它们说明了如何计算设备的噪声水平,并且在50Hz带宽下,峰峰值噪声为.006 *如果在带有振动的设备上放置重力,甚至不会注意到重力。
这可能是您最感兴趣的,并且相对容易实现。您需要标记设备处于中性的时间,这是指设备处于平坦状态并且相对静止的时间。在这一点上给它一秒钟或两秒钟,然后您可以使用此数据的中值确定无G电压。然后,您可以将其用作比较设备的依据。现在,从这一点来看,我可以直接引用数据表:
因此,如果您不会非常倾斜,则可以简单地使用此近似值,但是如果您打算在两个方向和一个非常小的角度都倾斜,则需要使用几何形状。
如果您要变得更大,它们甚至具有以下等式:
据我所知,您的设备每放置1G加速度,就会产生1V变化。如果您已经完成了校准阶段,那么您应该能够进行测量,减去偏移量,并且您将获得G的数量。
我还增加了一些其他方面的讨论,以讨论其他方法和方法,以改进快速变化的系统或将对设备进行采样的系统编程的系统的方法。
您必须以比设备更改其加速方向的速度快得多的速度采样,因为您必须每秒测量20-30次定向。您需要能够足够快地进行测量,以滤除由于其他因素引起的振动噪声和加速度,我发现在使用加速度计时,噪声和加速度会很大。
其次,如果您有一个三轴加速度计,那么您可以很容易地识别出一个轴何时由于重力而失去部分加速度(即,当z轴的幅度下降2m / s ^ 2时,您知道您在另一轴上看到的增益是重力。这仍然很混乱,但是通常会增加加速度,该加速度会提供更改方向所需的速度,然后由于方向更改而导致加速度发生变化,这通常使您能够识别方向。
正如penjuin所说,这将是使用2轴加速度计几乎不可能实现的,如果您的系统每秒可具有20-30个不同的方向,或者如果您需要精确地测量方向,则充其量只能是粗略的一直。我相信,硕士生可以为此写一篇很好的论文,或者博士学位可以写一篇有关改进该算法的论文。
要添加更多内容,如果可以将设备放在可以使其静态锁定到设备运动的顶部,但可以减少振动,则可以得到更好的数值,并且不需要太多的软件过滤。可以在加速度计和设备之间放置一些简单的泡沫填充物,如果是数字填充物,则不应增加电噪声并有助于吸收一些振动噪声。仅当看到振动噪声问题时才应这样做。
我建议您使用SPI来连接数字加速度计。数据可以非常高的速率输出,并且您可以在SPI中进行后台工作,因为SPI会不断地加载下一组值。如果要用数字方式完成,您将需要一个不错的微控制器。如果您可以给我更好的具体信息,我可以提供更好的反馈。如果要基于倾斜检测发出警告,那么使用所有模拟信号都应该非常容易,但是如果要在操作过程中测量设备的位置和角度,请做好一些准备工作。
请让我知道是否可以添加一些内容,以使此答案更加清楚或适用于您所寻找的内容。
我已经用许多疯狂的数学思想多次写和改写了这个答案,但是老实说,我认为这不可能做到任何准确性。您可以做一些向量数学,但是如果:
尽管我确定可以通过某种疯狂的解决方法来执行此类操作,但我不确定这样做是否值得。加速度计根本不是为完成此任务而设计的(至少据我所知)。对于你想达到什么目的,我建议使用一个陀螺仪的方法任何 的 这些,所有这些都将是以上所有的问题有相当的抵抗力。
如果我正确理解数据表,则围绕轴倾斜时,每个轴的输出将在1.5 V和3.5 V之间变化。当设备是平坦的时(忽略±1度的封装对准误差),两个输出均应读取2.5V。
如果只需要测量一个方向上的倾斜度,则可以取与2.5 V的偏差的反正弦值,以弧度为单位获取角度,然后转换为度。如果设备可以向任何方向倾斜,则可以计算两个角度,然后根据这些角度计算复合角度。
明确地说:围绕一个轴的角度=(180 /π)*反正弦(Vout-2.5)
为了获得良好的频率响应,您将需要较小的输出电容器Cx和Cy。从第6页脚注6开始。在数据表3中,看起来0.02 uF可以为您提供250 Hz的带宽,这大概适合您的采样率。您可能会高达0.1 uF,将带宽限制为50 Hz,但是您的信号将开始衰减。
为了获得任何角度,您需要在X和Y方向上测量重力加速度。减去中间电压(2.5V),使零表示“无加速度”。
现在,您可以使用arcsin(y / x)找到角度。但是,由于除法以及符号不明确,因此使用起来很烦人,因此您真正想要的是C函数atan2(y,x)。atan2()获得所有360度正确的符号。
离题,因为您没有使用微型计算机:如果您正在寻找要在微控制器上使用的atan2(),我的网站上有一个atan2()生成器:http : //vivara.net/cgi-bin/柯基