跳至内容

罗盘功率补偿

罗盘(磁力计)的安装应尽可能远离携带大电流的电缆,因为这些电缆会产生磁场,可能会破坏罗盘的读数。

本主题介绍在移动罗盘不现实的情况下如何补偿感应磁场。

TIP

要解决这个问题,最简单有效的方法就是将指南针远离供电电缆,因为磁场强度会随着与电缆距离的增加而呈二次方递减。

信息

演示的是多旋翼飞行器,但同样适用于其他类型的飞行器。

电力补偿何时适用?

只有当以下所有说法都成立时,才建议进行功率补偿:

  1. 指南针不能远离供电电缆。

  2. 罗盘读数与推力设定点和/或电池电流之间有很强的相关性。

    损坏的杂志

  3. 无人机电缆全部固定到位/不移动(如果载流电缆可以移动,则计算的补偿参数无效)。

如何补偿指南针

  1. 确保无人机运行的固件版本支持功率补偿(当前的主版本或 v.1.11.0 以来的版本)。

  2. 执行 标准指南针校准.

  3. 设置参数 SDLOG_MODE 调至 2 以启用开机数据记录。

  4. 设置参数 SDLOG_PROFILE 的复选框 传感器比较 (第 6 位)以获取更多数据点。

  5. 固定无人机,使其无法移动,并安装螺旋桨(这样电机就能获得与飞行时相同的电流)。本示例使用绑带固定飞行器。

    背带

  6. 接通载具电源并切换到 ACRO 飞行模式 (使用该模式可确保载具不会试图补偿绑带造成的移动)。

    • 启动载具,慢慢将油门升至最大值。
    • 慢慢将油门降至零
    • 解除载具上膛

    信息

    小心进行测试并密切监测振动。

  7. 读取 ulog 并使用 python 脚本 mag_compensation.py 以确定补偿参数。

    蟒蛇 mag_compensation.py ~/path/to/log/logfile.ulg

    信息

    如果日志中不包含电池电流测量值,则需要注释掉 Python 脚本中的相应行,使其只计算推力。

  8. 脚本将返回推力和电流的参数标识,并打印到控制台。脚本弹出的数字显示了每个罗盘实例的拟合优度,以及使用建议值进行补偿后的数据结果。如果有电流测量值,使用电流补偿通常会得到更好的结果。下面是一个日志示例,其中电流拟合效果很好,但推力参数由于不是线性关系而无法使用。

    线拟合

  9. 确定参数后,必须通过设置 cal_mag_comp_typ 为 1(使用推力参数时)或 2(使用电流参数时)。此外,还必须为每个罗盘的每个轴设置补偿参数。

    参数