打印
[四轴技术交流]

震动对MPU传感器的影响及其解决办法

[复制链接]
7188|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zypdd|  楼主 | 2017-8-28 11:45 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zypdd 于 2017-8-28 12:56 编辑

DIY四轴已经很久了,从最开始自己画PCB,自己画机架,到最近直接买的开源的飞控板,从学习MK,MWC,cleanFlight,前前后后走了很长的路,也很少和其他人一起沟通,故借此贴希望能够认识更多的自己开发飞控的同学,一起沟通一起成长。废话不多说,开始进入正题。

     话说对四轴来说最核心的问题就是震动。试想如果没有震动,那么四轴就没有这么复杂,我用一个加速度传感器就能知道当前的倾角,而且是准确无误的,那么控制就很简单了,但是现实情是很残酷的,震动不但影响加速度,同样影响角速度(陀螺仪)。震动处理的好坏直接影响到四轴的最终效果。


在机械震动情况下测量的角速度经过kalman滤波后,数据明显有一个干扰数据夹杂在里面,形成如下图所见的往复周期:
由此可以证明kalman滤波能帮助我们找到最解决真实的数据,但是无法过滤掉其中有效的其他频率的数据(后面会有测试数据证明)。
下图中蓝色和粉色表示实时测量的角速度:


局部放大后发现波形是这样的:大概25hz的震动干扰数据,这个震动干扰数据严重的影响内环PID的计算,因此需要解决。




为了解决上图中出现的问题,采用了二阶低通滤波器(参考cleanflight代码),经过软件模拟对比发现:在延迟(30ms)情况下,二阶低通滤波器数据明显更接近真实数据。下图是模拟数据进行测试结果:



  上机验证结果图:

Kalman滤波+二阶低通滤波器,蓝色为滤波后的结果,从下图可看到,和软件模拟的结果完全一致,系统能有效的去除震动的干扰。


下图详细展示滤波前数据:后红色为原始测量数据,黄色为kalman滤波结果,蓝色为二阶低通波滤波器结果,效果非常明显


综上:通过低通滤波器能有效的减少震动对角速度的影响(加速度同样的处理即可)


附录:
下图展示了针对同样一个数据源分别做kalman滤波,二阶低通滤波,RC低通滤波的模拟效果:

其中:红色:kalman滤波,蓝色:二阶低通滤波,绿色:RC低通滤波
从上图可知:
1.相同延迟Kalman无法消除震动的影响
2.RC延迟比较大

第一次发帖,以上如有不对的地方请大家轻拍,欢迎沟通,大家可以加我Q:871542082

【本帖为作者原创,如要转载到其他网站,请联系作者】


相关帖子

沙发
bobde163| | 2021-1-21 16:57 | 只看该作者
就喜欢这种技术分析帖,谢谢楼主分享

使用特权

评论回复
板凳
那个谁啊| | 2021-1-21 21:20 | 只看该作者
谢谢楼主分享

使用特权

评论回复
地板
bjfxxc| | 2021-3-10 14:41 | 只看该作者
高手,谢谢分享。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝