智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1490|回复: 3
打印 上一主题 下一主题

清华直立的滤波方案问题

[复制链接]

15

主题

383

帖子

0

精华

杰出人士

三轮飙车狂魔

Rank: 12Rank: 12Rank: 12

积分
18033
威望
12399
贡献
3288
兑换币
2783
注册时间
2015-10-15
在线时间
1173 小时
毕业学校
北方邮政大学
跳转到指定楼层
1#
发表于 2015-12-25 20:01:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 361369499 于 2015-12-25 20:06 编辑

按照官方方案,将陀螺仪积分出来的角度与加速度计测得的角度做差
然后除以一个时间补偿系数(Tg)补偿在角速度上

按照官方方案,Tg取3、4就可以拟合得很好,但是我取3、4的话波形跟随的不错,
但是静止状态下得出的角度和加速度计测得的角度差了十几度
即使Tg取到1也差了2-5度

查了一下以前的帖子,说可能是陀螺仪的温飘
关于温飘,我是在上电的时候取一千次取了平均作为温飘值

不知道问题在哪儿,请各位指教
Tg取4的波形:


角度拟合的代码:
  1. void GetAngle(){
  2.         float f_angle_sub;
  3.         g_f_angle=g_f_angle_integral;
  4.         f_angle_sub=(g_f_gravity_angle-g_f_angle)/g_u16_Tg;
  5.         g_f_angle_integral+=(f_angle_sub+g_f_gyro_result_Y)/ANGLE_CALCULATE_FREQENCY;
  6.       
  7. }
复制代码




补充内容 (2015-12-27 10:52):
问题解决了,将Tg取尽量小是没问题的。最后Tg取了0.8。
然后在上电的时候取零偏值。这时候可能不太准确,多复位几次就准确了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

6

主题

142

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1005
QQ
威望
534
贡献
287
兑换币
346
注册时间
2015-11-15
在线时间
92 小时
毕业学校
FF14
2#
发表于 2015-12-25 20:43:21 | 只看该作者
但是静止状态下得出的角度和加速度计测得的角度差了十几度 你这句话指的是什么?
回复 支持 反对

使用道具 举报

15

主题

383

帖子

0

精华

杰出人士

三轮飙车狂魔

Rank: 12Rank: 12Rank: 12

积分
18033
威望
12399
贡献
3288
兑换币
2783
注册时间
2015-10-15
在线时间
1173 小时
毕业学校
北方邮政大学
3#
 楼主| 发表于 2015-12-25 21:10:56 | 只看该作者
紫猫 发表于 2015-12-25 20:43
但是静止状态下得出的角度和加速度计测得的角度差了十几度 你这句话指的是什么?

就是说比如将车静止地摆放一定角度,加速度计测出来的角度值是-40,而用陀螺仪积分补偿出来的角度就可能只有-22

就像我上传的那张图一样,两个波形在Y轴差了一定的值
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1917
威望
897
贡献
568
兑换币
587
注册时间
2014-5-12
在线时间
226 小时
4#
发表于 2015-12-26 00:46:36 | 只看该作者
静止时测陀螺仪零偏后写到flash。后面读这个。不要每次都测,如果你启动的时候不是静止的零偏就是错的。换了位置才需要重新测
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-27 14:22 , Processed in 0.052598 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表