mpu9250姿态解算得到的yaw角不正确

我用mpu9250来解算姿态,加速度计做了六面校准法,磁力计做了椭球拟合,陀螺仪减了零偏,加速度和磁力计原始数据用的六深度窗口滑动进行滤波,用的mahony互补滤波解算姿态,但是得到的yaw角还是有问题:比如我只绕x轴转动,yaw角也会变化几十度,去掉磁力计的融合算法得到的数据就没有问题。
不知道有没有大佬知道这是为什么?我焊接温度在280度以下,换了好几家的9250芯片,也换用过madgwick算法和PX4算法进行姿态融合过,但是yaw角还是一直有问题,校正后的磁力计数据也单独看过,稳定在0.3GS左右,现在实在是不知道哪里有问题了。有没有大哥能指点一下图片说明(这是我的磁力计椭球拟合的结果,红色的是标定后的,磁力计数据也没什么问题)

老哥你问题解决没,我也出现了这问题,用的是madgwick的源码,通过调节基本都没问题,就是这个yaw

磁力计和加速度计的坐标系注意看看,他们不一样的

https://www.arduino.cn/thread-20331-1-1.html