基于电调遥测的谐波带阻滤波设置¶
如果使用带遥测功能的电调(通过单独的遥测线或双向 dshot),则可使用电调遥测功能动态设置谐波带阻滤波参考频率。谐波带阻滤波参考频率参数、 INS_HNTCH_FREQ 和/或 INS_HNTC2_FREQ用于指示电调遥测用于动态设置谐波带阻滤波参考频率的最低电机速度。建议将其设置为低于悬停频率但高于 ins_gyro_filter 频率
设置 INS_HNTCH_REF 和/或 INS_HNTC2_REF 参数设置为 1,将禁用谐波带阻滤波的缩放,并将 INS_HNTCH_MODE 和/或 INS_HNTC2_MODE 至 3 选择电调遥测。
设置 INS_HNTCH_MODE 和/或 INS_HNTC2_MODE = 3 使用 BLHeli 电调遥测支持设置谐波带阻滤波频率。这需要正确配置您的电调,以便通过以下方式支持 BLHeli 遥测功能 串口 或具有双向 DShot 功能,并使用支持该功能的 Ardupilot (飞行)控制器和固件。
设置 ins_hntch_enable 和/或 ins_hntc2_enable = 1,启用谐波带阻滤波
设置 INS_HNTCH_FREQ 和/或 INS_HNTC2_FREQ = 低于悬停频率 - 您可以通过轻微悬停和查看电调遥测数据轻松确定这一点
设置 INS_HNTCH_BW 和/或 INS_HNTC2_BW = INS_HNTCH_FREQ 的一半
备注
如果设置下面提到的多源选项(即每个电机一个凹口),带宽不应是频率的一半。由于更多的凹槽会导致更多的相位滞后(即延迟),因此带宽应大大减小,以保持合理的相位滞后,否则尽管与基于节流阀的滤波相比滤波更精确,但仍会产生振荡和较差的飞行稳定调整效果。建议的起始点是 INS_HNTCH_FREQ /电机数量。例如,四旋翼飞行器、 INS_HNTCH_FREQ / 4 建议作为起点。这是因为对于带阻滤波器来说,带宽越宽,每个带阻滤波的相位滞后越大。您也可以使用 过滤工具 来检查所选滤波设置的相位滞后。如果相位滞后高于基于节流阀的带阻滤波,则可以尝试进一步降低带宽,平衡相位滞后和系统中的噪音量。
中心频率回转¶
谐波带阻滤波频率的更新速率对 PID 循环中的噪声有很大影响。较慢的更新速率意味着频率的阶跃变化较大,从而产生所谓的脉冲噪声。较快的更新率可减少这种噪音,这也是使用双向 dshot 和 ESC 转速遥测报告对整个系统有益的主要原因。
默认情况下,更新速率为 200Hz,如果频率信息源比这一速率慢,例如使用电调遥测时,可维持的最大速率约为 100Hz,ArduPilot 将以 200Hz 的速率回转频率变化,以避免出现较大的步进。回转频率是电调遥测报告的频率,不过原始频率也可以在日志中看到。
在 CPU 速度更快的系统中(基于 H7 的(飞行)控制器),可以按照 VTOL 飞机使用的主环路速率(通常为 300-400Hz,由以下参数设置 调度循环速率通过设置凹槽选项的第 3 位,即
INS_HNTCH_OPTS 和/或 INS_HNTC2_OPTS = 4
回转装置可确保每次更新时的阶跃变化平稳,但为了获得最佳的系统性能,您可以使用双向 Dshot ESC,它可以在可能的情况下使用上述选项以 400Hz 的频率更新。
检查谐波带阻滤波效果¶
设置好带阻滤波器后,可以再次测量滤波器输出的频谱来检查其有效性。请参考 利用 IMU 批量采样器测量振动 或 用于 FFT 分析的 IMU 原始记录 页面。
虽然在基于转速模式的缺口设置之前并不绝对需要对噪声频率进行记录分析,但如果需要,可以使用该方法对确认飞行进行记录和分析,以确认噪声消除情况。
多源¶
默认情况下,基于电调的谐波带阻滤波将使用单个电机频率的平均值来驱动带阻滤波的中心频率,然后将此平均值用作首次谐波,并在首次谐波的较高频率倍数上添加其他谐波带阻滤波。可以将谐波配置为每个电机的一次谐波。这样就有了四个凹口,每个电机一个,可以精确跟踪电机速度。在动态飞行中,这可以提供更好的噪音衰减。
要配置该选项,请设置 INS_HNTCH_OPTS 和/或 INS_HNTC2_OPTS 为 "2"。您还需要将带阻滤波器的带宽减小到大约 INS_HNTCH_FREQ /电机数,否则相位滞后可能过大,导致 PID 性能下降。更多详情,请参阅上述说明。