仪式感一下:2024年最后一天,发布 PH47 代码框架的一次重要更新。当然这并不是有意的,而是直到现在才把更新的所有工作全部做完(希望确实如此)。
本次更新要点:
1、加入多IMU支持。本次更新正式加入对 MPU6500,ICM42699 2个IMU 以任意形式的组合(MPU6500 x 2, 或 ICM42688 x 2, 或板载 ICM42688+ 扩展 MPU6500, 或板载 MPU6500 + 扩展 ICM42688)。
2、IMU 为 ICM42688 时,在 Stm32F411 为 MPU 的 BBP v2 或 BBP mini 飞控板上 IMU 刷新及 AHRS 姿态解算频率为2000Hz,且有进一步提升的空间。IMU 为 MPU6500时,上述频率为1000hz。
3、对PH47框架下各线程(AHRS, FastLoop, NormalLoop, SlowLoop)运行调度机制进行了升级,更新频率稳定性大大提高。AHRS线程刷新频率从之前在 1200Hz 至 1500Hz 间波动变为了稳定在 2000hz(ICM42688), 或1000hz(MPU6500)。且彻底消除了姿态解算线程执行过程中会被其他线程抢占而瞬时中断的问题(几十至数百 us 级别)。FastLoop 线程运行频率也稳定在500hz。上述两线程刷新频率波动据目前观测,通常不会超过正负2hz
Gitee 代码仓库地址:https://gitee.com/ss15/ph47