4、震动分析与滤波:震动源分析(电机/桨叶/结构共振)、FFT频谱分析实操、低通滤波器截止频率选择、陷波滤波器配置
飞控调参这件事,很多人觉得调PID是核心。但说实话,震动问题不解决,PID调得再好也是白搭。我见过太多飞友,花了几周调PID,飞机还是抖得像筛糠,最后发现是电机座松了。嗯,咱们今天就把震动这个「隐形杀手」彻底扒清楚。
4.1 震动源分析:到底是谁在抖?
飞机上的震动,说白了就三个来源:电机、桨叶、结构共振。我习惯把它们叫做「震动三兄弟」。
4.1.1 电机震动
电机震动是最常见的。原因无非这么几个:
- 动平衡不好:电机转子出厂时就没做好平衡,高速转起来自然抖
- 轴承磨损:飞了几百个起落,轴承间隙变大,震动就上来了
- 安装不平:电机底座没打平,或者螺丝拧得不均匀
我在项目中遇到过一架六轴,悬停时IMU的Z轴震动飙到30m/s²。排查了半天,发现是其中一个电机底座垫了片橡胶垫圈——本来想减震,结果反而放大了震动。拆掉垫圈,震动直接降到8m/s²。
4.1.2 桨叶震动
桨叶的问题更隐蔽。你想想看,桨叶每分钟转几千转,哪怕只有0.1克的重量偏差,产生的离心力都相当可观。
- 桨叶不平衡:同一对桨,重量差超过0.5克就会有明显震动
- 桨尖损伤:磕碰过的小缺口,高速旋转时会产生涡流
- 桨叶太软:廉价桨叶刚性不足,高速下会变形
4.1.3 结构共振
这个最头疼。结构共振不是某个零件的问题,而是整机的「固有频率」被激发了。比如机臂的固有频率是120Hz,电机转速刚好产生120Hz的激励,那整个飞机就会剧烈抖动。
4.2 FFT频谱分析实操:用数据说话
光靠手感判断震动,那是玄学。真正靠谱的做法是看频谱。说白了,就是把震动信号从「时间域」转换到「频率域」,看看哪个频率的震动最大。
4.2.1 怎么采集数据
大部分飞控都支持震动日志。以Pixhawk为例:
- 把飞机固定好(或者悬停),记录2-3分钟的IMU数据
- 下载日志文件(.bin或.ulog)
- 用工具分析:PX4推荐用
pyulog或FlightPlot,ArduPilot用Mission Planner自带的FFT工具
4.2.2 读频谱图
拿到频谱图,怎么看?我教你三步:
- 找主峰:最高的那个峰,就是震动最大的频率
- 看谐波:主峰频率的2倍、3倍处如果有小峰,说明是电机或桨叶问题
- 看宽频噪声:如果整个频谱都「鼓起来」,说明是结构共振或轴承问题
举个例子。有一次我分析一架四轴的频谱,主峰在160Hz,2倍频320Hz也有个小峰。我算了一下,电机KV值是920,4S电池,悬停转速大概在4800RPM(80Hz)。160Hz正好是80Hz的2倍——说明是桨叶通过频率的问题。换了更平衡的桨,160Hz的峰直接降了60%。
桨叶通过频率 = (RPM / 60) × 桨叶数
比如:电机4800RPM,3叶桨 → 桨叶通过频率 = (4800/60)×3 = 240Hz
4.3 低通滤波器截止频率选择
滤波器的作用,说白了就是把震动信号「挡在门外」。但挡得太狠,有用的姿态信息也会被滤掉,飞控反应就变慢。
4.3.1 截止频率怎么定
我一般遵循这个原则:
| 机型 | 推荐截止频率 | 说明 |
|---|---|---|
| 小型穿越机 | 80-120 Hz | 响应快,震动大,需要高截止 |
| 中型航拍机 | 40-60 Hz | 平衡响应和滤波效果 |
| 大型测绘机 | 20-40 Hz | 对震动敏感,优先滤波 |
具体怎么调?我的做法是:
- 先看频谱,找到震动主峰的频率
- 把截止频率设在主峰频率的1/3到1/2
- 试飞,看姿态响应是否变迟钝
- 如果变迟钝,适当提高截止频率
4.4 陷波滤波器配置
低通滤波器是「一刀切」,把所有高频都砍掉。但有时候,震动只集中在一个很窄的频率范围。这时候用陷波滤波器更合适——它只干掉特定频率,其他频率不受影响。
4.4.1 什么时候用陷波
- 频谱图上有一个尖锐的峰(比如电机震动)
- 这个峰的频率不随油门变化(结构共振)
- 低通滤波器已经调到极限,但震动还是超标
4.4.2 配置参数
以PX4为例,陷波滤波器有三个关键参数:
- 中心频率:要滤掉的频率,直接从频谱图上读
- 带宽:滤除的频率范围,一般设为中心频率的10%-20%
- 衰减深度:滤除强度,一般设20-30dB
举个例子。我有一架六轴,频谱显示在120Hz有个尖锐的峰,带宽大概15Hz。配置如下:
IMU_GYRO_CUTOFF = 80 // 低通截止频率
IMU_GYRO_NF_FREQ = 120 // 陷波中心频率
IMU_GYRO_NF_BW = 15 // 陷波带宽
IMU_GYRO_NF_ATTEN = 25 // 衰减深度(dB)
配置完再飞,120Hz的峰几乎消失了,而且姿态响应几乎没有变化。这就是陷波滤波器的魅力。
4.5 总结一下我的工作流
嗯,说了这么多,最后给大家梳理一下我处理震动问题的标准流程:
- 先排查机械:检查电机、桨叶、螺丝、机架,把明显的机械问题解决掉
- 采集频谱:悬停2分钟,记录IMU数据,用工具分析
- 识别震动源:看主峰频率,判断是电机、桨叶还是结构共振
- 配置滤波器:先调低通截止频率,如果不够再加陷波
- 验证效果:再次采集频谱,确认震动是否降低
记住一句话:滤波器是最后的防线,不是第一选择。能通过机械手段解决的震动,就别指望滤波器。我在项目中见过太多人,滤波器调了一整天,结果发现是桨叶装反了——你说冤不冤?
好了,震动分析这块就聊到这儿。记住,好的震动环境是飞控稳定工作的基础。下次你的飞机抖得厉害,别急着调PID,先看看频谱——说不定问题就出在震动上。
公众号:蓝海资料掘金营,微信deep3321