智能车制作
标题:
清华直立的滤波方案问题
[打印本页]
作者:
361369499
时间:
2015-12-25 20:01
标题:
清华直立的滤波方案问题
本帖最后由 361369499 于 2015-12-25 20:06 编辑
按照官方方案,将陀螺仪积分出来的角度与加速度计测得的角度做差
然后除以一个时间补偿系数(Tg)补偿在角速度上
按照官方方案,Tg取3、4就可以拟合得很好,但是我取3、4的话波形跟随的不错,
但是静止状态下得出的角度和加速度计测得的角度差了十几度
即使Tg取到1也差了2-5度
查了一下以前的帖子,说可能是陀螺仪的温飘
关于温飘,我是在上电的时候取一千次取了平均作为温飘值
不知道问题在哪儿,请各位指教
Tg取4的波形:
[attach]83236[/attach]
角度拟合的代码:
void GetAngle(){
float f_angle_sub;
g_f_angle=g_f_angle_integral;
f_angle_sub=(g_f_gravity_angle-g_f_angle)/g_u16_Tg;
g_f_angle_integral+=(f_angle_sub+g_f_gyro_result_Y)/ANGLE_CALCULATE_FREQENCY;
}
复制代码
补充内容 (2015-12-27 10:52):
问题解决了,将Tg取尽量小是没问题的。最后Tg取了0.8。
然后在上电的时候取零偏值。这时候可能不太准确,多复位几次就准确了
作者:
紫猫
时间:
2015-12-25 20:43
但是静止状态下得出的角度和加速度计测得的角度差了十几度 你这句话指的是什么?
作者:
361369499
时间:
2015-12-25 21:10
紫猫 发表于 2015-12-25 20:43
但是静止状态下得出的角度和加速度计测得的角度差了十几度 你这句话指的是什么?
就是说比如将车静止地摆放一定角度,加速度计测出来的角度值是-40,而用陀螺仪积分补偿出来的角度就可能只有-22
就像我上传的那张图一样,两个波形在Y轴差了一定的值
作者:
1137475550
时间:
2015-12-26 00:46
静止时测陀螺仪零偏后写到flash。后面读这个。不要每次都测,如果你启动的时候不是静止的零偏就是错的。换了位置才需要重新测
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2