MPU-6050 不可能读数覆盆子

MPU-6050 impossible readings Raspberry

我正在编写一个 MPU-6050 accelerometer/gyro 来为我提供加速度和旋转速度。现在代码可以为我提供所有加速度和 angular 速度。

但结果给我的结果有点奇怪。如果我将加速度计指向正 z 轴指向上方,我得到的海拔高度读数会略低于预期读数(应该在 9.7 左右,但我得到了 8.9 左右)。现在,如果我转动加速度计,使正 z 轴的读数大于预期读数(超过 10.1)。如果我沿着重力指向它们,所有其他轴也是如此。

低读数起初并没有让我惊慌,因为我认为加速度计没有完全垂直放置。但高于预期的读数绝对令人担忧。

这意味着加速度计中性点似乎有点不对(它在一侧读数不足,在另一侧读数过高)。我需要校准加速度计吗?这似乎几乎是不可能的,因为人们永远无法使加速度计完全笔直。

请指教。你想看我的代码吗?

经过许多小时的研究和摆弄,我发现几乎所有电子传感器都有偏差。 (bias是一个偏移量)

现在甚至加速度计显然也有严重的偏移。所以我最终做的是建造一个由四个螺丝平衡的小型试验台。通过 运行 一个活跃的 while 循环,并从加速度计输出实时数据,我能够在收集数据时将一直未指向重力的 "other two" 轴几乎归零。一旦水平,我 运行 几分钟的程序,对结果进行平均,从而发现偏差。我在每个轴上执行了 4/5 次,发现剩余的错误是由于噪声造成的,无法恢复。我显然必须为所有 3 轴执行此操作。

此外,我发现在我将偏差归零后读数太高。我不确定我在这里所做的是否正确,但这似乎是合乎逻辑的进步方式。校准所有轴所有 3 个轴后,它们分别给了我不同的重力读数。然后我所做的就是添加一个校正因子以获得我期望在我的高度获得的重力读数。这些校正因子非常小(例如 0.966.....),但在我看来仍然很重要。

希望这对像我一样迷路的人有所帮助