OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2568|回复: 1

有没有玩过MPU6050的,二阶互补滤波什么原理?

[复制链接]

21

主题

66

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
273
金钱
273
注册时间
2017-7-19
在线时间
89 小时
发表于 2018-11-15 23:50:29 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 飛饵 于 2018-11-19 18:33 编辑

最近在做平衡小车,角度融合我试了下一阶互补滤波,效果一般般,参数没调好的话有很大的滞后,而且不够平滑。

然后网上找了二阶互补的代码,没看明白。一阶互补滤波计算很简洁,也很能通俗地解释,就是对陀螺仪和加速度计取值的权衡。
二阶互补滤波好像是一堆公式推导的?找了好多数字滤波器的资料也没总结出来。。。
能不能通俗解释下?

float K2 =0.2;  // 对加速度计取值的权重
float x1,x2,y1; //运算中间变量
float angle ;//滤波角度输出

void Erjielvbo(float angle_m,float gyro_m)
{
      x1 = (angle_m - angle) * (1 - K2) * (1 - K2);
      y1 = y1 + x1 * dt;
      x2 = y1 + 2 * (1 - K2) * (angle_m - angle2) + gyro_m;
      angle = angle + x2 * dt;
}

angle_m:加速度求出的角度
gyro_m:角速度
dt:积分时间




卡尔曼滤波太复杂了,先不考虑。


=======================================================================
看了两三天还是没懂原理,能用就行了吧。。。。
滤波.png
这个滤波效果怎样???
电机一直开着有震动,波形左边是晃动状态下,右边是平稳的。平稳时波动挺大,有0.2-0.6度左右。



正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-11-17 02:43:46 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-22 00:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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