2019年3月5日-MPU9250使用(二)

为提高精度,尝试用MPU9250的Z轴角速度数据自行计算角度,但遇到初始角度漂移和数据噪声问题。添加初始误差修正后,效果仍不理想。引入滤波器平滑数据,发现单靠陀螺仪测量和设备安装角度的不确定性导致计算不准,需要考虑实际应用中的偏移校正。
摘要由CSDN通过智能技术生成

感觉MPU6050的DMP算的不准,想YAW只与Z轴的角速度“gyroz”有关,只有一个参数的话,自己写个公式计算一下应该更准确;

尝试自己写,首先

MPU_Get_Gyroscope(&gyrox,&gyroy,&gyroz);    //得到陀螺仪数据

然后,记录两次计算的时间间隔

TIM3_Init(5000-1,9000-1);       //定时器3初始化,(定时器3挂在APB1上,时钟为HCLK/2),HCLK = 180MHz,定时器时钟为90M,分频系数为9000-1,所以定时器3的频率为90M/9000=10K,也就是1s计数为10K。
自动重装载为5000-1,那么定时器周期就是500ms(这个不重要)

最后就是计算,角速度的积分就是角度了

ys1_yaw = = ys1_yaw + gyroz/63.5*(TIM3->CNT);
//63.5因为我设置的满量程范围为正负500°
if(ys1_yaw > 180)
{
	ys1_yaw = ys1_yaw-360;
}
else if(ys1_yaw < -180)
{
	ys1_yaw = ys1_yaw+360;
}
//将角度限制在正负180°

然后,失败了。

角度一直在转圈圈,分析数据得知,gyroz有初始值;添加初始误差修正;

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值