2

我对 Arduino 比较陌生,我想:

  1. IMU的频率设置为100 Hz。
  2. 同步 GPS 和 MPU6050 以便同时获取数据:

    1 set of IMU data and 1 set of GPS data ->
    99 sets of IMU data.     (//1 second) ->
    1 set of IMU data and 1 set of GPS data->
    99 sets of IMU data     (// 2 seconds)
    

我找不到任何我可以使用/理解的东西。

4

1 回答 1

2

Arduino 论坛中有几个针对同一类型项目的冗长主题。 是一个很好的起点。然后在此处此处此处此处查看 powergravity 的其他线程。他的程序的最后一个版本在这里。你有很多阅读要做。:)

很难将这些信息总结为“新 Arduino”用户可以“使用/理解”的内容,但我会尝试:

  • IMU 和 GPS 运行它们自己的时钟;你可以设置频率,但你不能设置它们发生的时间。它们的阶段或时间偏移可能不同。IMU 的运行速度可能比 100Hz 稍快或稍慢,因为它基于自己的振荡器,而不是 GPS 原子钟(在轨)。

  • 每个 GPS 数据点平均有 100 个 IMU 样本(精确的 1000 毫秒)。但由于 IMU 和 GPS 不同步,您可能会为每个 GPS 数据点获得 99 或 101 个 IMU 读数。

  • 你没有明确说明你对数据做了什么。不管是什么,它必须适应每个 GPS 周期不同数量的样本。我建议您的循环结构基于 GPS 时间。您甚至可以使用它来测量 Arduino 晶体的真实频率(以及micros()时钟)。

  • 在这些速率下,您需要明智地选择 GPS 串行端口。 这里有一些提示。

  • 您还需要一个高效的 GPS 解析器。我的NeoGPS库比所有其他库更小、更快、更可靠和更准确。

于 2017-06-16T12:56:07.017 回答