测量振动

飞控的加速度计对振动非常敏感。这些加速度计的值与气压计和GPS数据相结合,以估算飞行器的位置。如果振动过大,估算值会被忽略,让依赖精确定位的模式(例如,直升机:定高、定点,RTL,引导,位置和自动飞行模式)下飞行出现非常差的性能。

这些说明说明了如何测量振动水平。如果发现它们超出公差范围,请遵循“减振”页面上的建议。


地面站中的实时视图

地面站可以显示振动和削波的实时视图。如果使用Mission Planner,请在HUD上单击“振动”以显示当前的振动水平。

低于30m/s/s的振动水平通常是可以接受的。高于30m/s/s的水平可能会出现问题,而高于60m/s/s的水平几乎总是会出现位置或定高问题。


闪存中的震动信息

检查记录的震动水平大部分在30m/s/s以下:

进行至少几分钟的常规飞行(即不只是简单地悬停),然后下载闪存日志。

使用Mission Planner或其他地面站绘制VIBE消息的VibeX,VibeY和VibeZ值。这些显示了主加速度计输出的标准偏差,单位是m/s/s。下图取自3DR IRIS,显示正常水平,低于15m/s/s,但偶尔会达到30m/s/s。最大可接受值似乎低于30m/s/s(请参见下面的第二张图片)。

绘制Clip0,Clip1和Clip2值,每当一个加速度计达到其最大极限(16G)时,这些值就会增加。 理想情况下,对于整个飞行,这些值应为零,但较小的数字(<100)可能还算可以,一般它们在硬着陆期间产生。通过日志有规律地增加的数量表明有严重的振动问题,应该修复。

这是一个飞行器由于高振动而产生位置估算出现问题的例子。

计算振动水平的算法可以在AP_InertialSensor.cpp的calc_vibration_and_clipping()方法中看到,但简而言之,它包括计算加速度计读数的标准偏差,如下所示:


查找“倾斜原因”

当飞行器的姿态计算出现严重错误时候,即使飞行器是被控制在水平飞行,也会发生大幅倾斜。问题的原因通常是加速度计出现错误,可以通过比较每个估算系统(即每个AHRS或EKF)的横滚和俯仰姿态估计来确认。姿态估算值应该在几度之内。

下图显示了一个典型的日志,其中姿态非常匹配。


使用FFT进行高级分析

关于如何收集大量的IMU数据并执行FFT分析以确定振动最大的频率,请参阅使用IMU批量采样器测量振动页面的说明。



IMU 闪存日志消息

对于非常老版本的飞控,不包括Vibe消息,可以直接检查IMU值。

确保LOG_BITMASK参数被设置为包含IMU数据,这样加速度计的值就会被记录到闪存日志中。

在自稳飞行模式下,并保持水平悬停(不需要完全稳定或水平)。

下载dataflash日志,下载完成后,使用任务计划器的“查看日志”按钮在日志目录中打开最新文件(最后一位是下载的日志编号,因此在上面的示例中我们下载了Log# 1,因此文件名以1.log结尾)。

当出现日志表格时候,向下滚动,直到找到包含IMU的消息。单击行中的AccX并按下“将此数据绘制图表”按钮。重复执行AccY和AccZ列,生成如下图所示的图表。


检查左侧的刻度,并确保AccX和AccY的振动水平在-3和+3之间。对于AccZ,可接受的范围是-15至-5。如果它们非常接近或超过这些极限,则应返回到“减震”页面以获取可能的解决方案。 完成上述所有操作后,请转到Mission Planner的标准参数页面(你可能需要再次按连接按钮),然后将Log Bitmask(日志位掩码)设置回“ Default”(默认)。这一点很重要,因为特别是在APM上,日志记录需要大量的CPU资源,如果确实不需记录震动日志,会浪费很多CUP资源。



登录后回复