使用 AHRS 传感器融合的 MPU9250 9DoF Arduino 示例
使用 AHRS 传感器融合的 MPU-9250 9 DoF 传感器的 Arduino 程序 最新且正确的版本是: MPU9250_MS5637_AHRS_t3.ino, 此外,要使用 Madgwick 和/或 Mahony 传感器融合算法,还需要在 IDE 文件夹中添加 quaternionFilters.ino。
演示 MPU-9250 的基本功能,包括参数化寄存器地址、初始化传感器、正确获取加速度计、陀螺仪和磁力计数据、传感器的校准和自检。添加了显示功能,以便在板上监视器上显示。增加了使用 开源 Madgwick 和 Mahony 过滤算法的 9 DoF 传感器融合。示例代码在 3.3 V 8 MHz 的 Pro Mini 和 Teensy 3.1 上运行。这里 介绍了对该传感器以及传感器融合的使用和限制。
我还添加了一个程序,允许使用 MPU-9250 9 轴运动传感器和 STM32F401 Nucleo 板,并使用 mbed 编译器进行传感器融合。STM32F401 通过使用 Madgwick MARG 融合滤波器,在 84 MHz 的 M4 Cortex ARM 处理器上实现了 4800 Hz 的传感器融合滤波器更新率;与使用相同的滤波器,在 96 MHz 的 M4 Cortex ARM 处理器上运行的 Teensy 3.1 实现的 2120 Hz 的传感器融合更新率相比。
这种差异的一个原因是STM32F401 核心中嵌入的单精度浮点引擎。虽然两款 ARM 处理器都实现了令人印象深刻的滤波速率,这对于大多数应用来说已经足够,但两倍的差异意味着相同的传感器融合性能下的功耗要低得多。如果能够在更低的处理器时钟速度下实现足够的传感器融合滤波,例如 1000 Hz,那么总体功耗将会降低。这对于可穿戴和其他便携式运动感知和控制应用来说非常重要。
我添加了一个基本草图版本,该版本使用专门为 Teensy 3.1 设计的 i2c_t3.h 'Wire' 库。它允许轻松访问 Teensy 特有的功能,例如指定将使用哪组硬件 I2C 引脚、总线速度(最高可达 1 MHz!)
暂无开放 Issues,或尚未同步最近议题。