|
用了MPU6050的DMP很久了,并且用这个DMP调过大小四轴,平衡车,都能用。
不过有时候就是奇怪一个现象:四轴稳定飞行的时候偶尔会自动往一个方向倾斜,平衡车站的很稳的时候,一段时间后必然会往一个方向倾斜。
实在不知道,我就把自己做的IMU模块插上jlink,debug了,结果发现了一个神奇的现象:
MPU6050上电跑DMP后,经过如果15S之内IMU保持不动,那么15S的时候,MPU6050的DMP算出来的ROLL,PITCH必然会降低一个数值,大概1.7度左右。
实在好奇,继续实验:
情况1:上电后让IMU模块一直动,数据正常。
情况2:上电后一直动,一段时间后让IMU静止,开始计时,天啊,静止开始第15S必然会出现ROLL,PITCH数值变小的问题。
情况3:出现这个问题一次后,后面再怎么静止,MPU6050的输出都稳定的不能再稳定了。
综上,有朋友也遇到过吗?或者有没有朋友用软件四元数或则卡尔曼滤波计算过MPU6050输出的欧拉角?是否也有这个问题。
如果不搞清楚,那么每次上电的时候,四轴或者平衡车都需要等待15S后才敢用MPU输出的数据,这样做产品会影响用户体验。
大家手头如果有MPU6050可以试试,一起交流。
我附上调过的STM32的MPU6050的DMP程序,里面已经算出pitch,roll,yaw了,这个程序时纯粹的MPU6050解算出来的,没有磁力计。
谢谢。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|