3、传感器校准与配置:飞控上电后的第一道门槛

说实话,很多新手拿到飞控板,焊好线、刷好固件,就急着想飞。我特别理解这种心情。但我要泼一盆冷水——校准没做好,炸机是迟早的事。

我自己就吃过亏。几年前做一架测绘无人机,赶工期,加速度计校准马马虎虎就过了。结果飞机一起飞就朝一边偏,增稳模式都救不回来。后来排查半天,发现是加速度计偏置没校干净。从那以后,我给自己定了个规矩:校准环节,一步都不能省。

这一章,咱们把 ArduPilot 里最关键的几个校准流程过一遍。你跟着做,基本不会出大问题。

核心原则: 校准的顺序很重要。我的习惯是:加速度计 → 水平校准 → 罗盘 → 遥控器 → 电调 → 安全开关。打乱顺序,可能会让前面的校准失效。
传感器校准流程与依赖关系 加速度计校准 水平校准 罗盘校准 遥控器校准 电调校准 安全开关设置 注意 加速度计和水平校准 必须在同一平面上完成。 罗盘校准需远离金属。

3.1 加速度计校准

加速度计是飞控感知姿态的基础。它告诉你:飞机现在是平的吗?在加速吗?如果它不准,那姿态估计、位置控制全都会跑偏。

校准的原理其实很简单:让飞控知道,在静止状态下,各个轴感受到的重力是多少。理想情况下,水平放置时,Z轴应该是 1g(约 9.8 m/s²),X 和 Y 轴接近 0。

在 Mission Planner 里,操作路径是:初始设置 → 必备硬件 → 加速度计校准。点进去之后,它会提示你把飞机摆成 6 个不同的姿态。嗯,这里要注意:

  • 摆放面一定要水平。我见过有人把飞机放在工具箱上校,工具箱表面是斜的,结果校出来全是偏的。
  • 每个姿态保持静止 2-3 秒。等 Mission Planner 上的数值稳定了再点下一步。
  • 6 个姿态分别是:平放(机头朝前)、左侧躺、右侧躺、机头朝下、机头朝上、倒扣。
我的小技巧: 如果你用的是 Pixhawk 这类飞控,校准前先检查一下飞控的安装方向。在 Mission Planner 里把 AHRS_ORIENTATION 参数设对,否则你摆的姿态和飞控感知的姿态对不上,校准结果就是错的。

校准完成后,你可以查看 INS_ACCX_OFFSET、INS_ACCY_OFFSET、INS_ACCZ_OFFSET 这三个参数。正常值应该在 ±300 以内。如果超出这个范围,说明飞控安装可能有应力,或者传感器本身有问题。

3.2 水平校准

水平校准,说白了就是告诉飞控:现在这个姿态,就是“水平”的基准。它和加速度计校准是两回事,但经常被混淆。

加速度计校准是消除传感器本身的偏置误差。水平校准是设定一个参考平面。你想想看,如果飞机安装时本身就带一点仰角,那飞控必须知道这个角度,才能把“带仰角的姿态”当作水平。

操作很简单:把飞机放在一个真正的水平面上,然后在 Mission Planner 里点击 初始设置 → 必备硬件 → 水平校准,点一下“执行”就行。飞控会记录当前姿态作为零位。

我曾经踩过的坑: 有一次我换了一对更长的机臂,装完后忘了重新做水平校准。结果飞机悬停时一直朝一个方向飘,调了半天的 PID 都没用。后来才想起来,机臂加长后飞控的安装角度变了。所以记住:只要动过飞控的物理安装,就必须重新做水平校准。

3.3 罗盘校准

罗盘(磁力计)是飞控感知航向的关键。GPS 只能告诉你位置,但航向要靠罗盘。如果罗盘不准,飞机就会“找不到北”,航线飞行时就会跑偏。

罗盘校准的核心目标是:消除硬铁干扰和软铁干扰。硬铁干扰来自飞控附近的永磁体(比如电机、扬声器),软铁干扰来自导磁材料(比如碳纤维、金属件)。

校准步骤:

  1. 在 Mission Planner 里进入 初始设置 → 必备硬件 → 罗盘校准。
  2. 点击“开始校准”。
  3. 拿起飞机,在空中画“8”字。或者更规范的做法:让飞机绕每个轴(俯仰、横滚、偏航)都旋转 360 度。
  4. 直到 Mission Planner 上的进度条走满,并且显示“校准成功”。

校准完成后,检查 COMPASS_OFS_X/Y/Z 参数。正常值应该在 ±200 以内。如果某个轴的值超过 300,说明附近有强磁干扰源,需要排查。

干扰类型 来源 校准后参数特征 解决方法
硬铁干扰 电机磁铁、扬声器、电流 偏置值大(>300) 将罗盘远离干扰源,或使用外部罗盘
软铁干扰 碳纤维、金属件、电池 校准后椭圆度大 使用 COMPASS_SCALE 参数补偿
环境磁场异常 高压线、铁轨、钢筋建筑 校准值不稳定 换个地方重新校准
我个人的习惯: 罗盘校准最好在室外进行。室内有钢筋、电线,磁场环境很复杂。另外,校准前把飞机上的所有用电设备都通电(包括电机),因为电流产生的磁场也会影响罗盘。

3.4 遥控器校准

遥控器校准,就是让飞控知道你的摇杆在什么位置对应什么值。说白了,就是教会飞控:“你收到 1100 的时候,是油门最低;1900 的时候,是油门最高”。

操作路径:初始设置 → 必备硬件 → 遥控器校准。点进去后,点击“开始校准”,然后把所有摇杆都推到极限位置,再回中。Mission Planner 会记录每个通道的最小值、最大值和中间值。

校准完成后,检查一下 RC1_MIN/MAX 到 RC4_MIN/MAX 这几个参数。正常范围应该是:

  • 最小值:1000 ~ 1100
  • 最大值:1900 ~ 2000
  • 中间值:1500 左右

如果某个通道的值偏差很大,比如最小值只有 980,或者最大值只有 1850,那可能是遥控器的行程设置有问题,或者接收机信号不稳定。

注意: 遥控器校准必须在飞控没有解锁、电机没有通电的情况下进行。我曾经见过有人在校准过程中不小心碰到了油门,电机突然转起来,挺危险的。

3.5 电调校准

电调校准,目的是让所有电调对油门信号的解读保持一致。说白了,就是让四个电机在收到同一个油门信号时,转速尽量相同。

为什么需要这个?因为不同电调之间,甚至同一个电调的不同批次,对 PWM 信号的响应都有细微差异。如果不校准,可能会出现“同油门、不同转速”的情况,导致飞机起飞时倾斜。

校准步骤(以 Mission Planner 为例):

  1. 确保电池没有连接。
  2. 把遥控器油门推到最高。
  3. 连接电池,等待电调发出“滴滴”声(表示进入校准模式)。
  4. 在 2 秒内把油门拉到最低。
  5. 电调会发出“滴”一声,表示校准完成。

如果你用的是 DShot 协议的数字电调,那就不需要传统校准了。DShot 协议本身是数字信号,不存在 PWM 的精度问题。我个人现在基本都用 DShot,省心很多。

一个小细节: 电调校准最好一个一个来。如果你有四个电调,可以先把三个电调的信号线拔掉,只留一个。校准完一个,再接下一个。这样可以确保每个电调都准确收到了校准信号。

3.6 安全开关设置

安全开关,是 ArduPilot 里一个非常实用的安全机制。它的作用是:在飞控解锁之前,必须手动按一下安全开关,否则电机不会通电。

为什么要这个?想象一下这个场景:你拿着飞机准备起飞,不小心碰到了解锁开关,电机突然转起来……嗯,后果很严重。安全开关就是防止这种意外解锁的。

设置方法:

  • 在 Mission Planner 的 初始设置 → 必备硬件 → 安全开关 里,可以设置安全开关的启用/禁用。
  • 如果你用的是 Pixhawk,安全开关默认接在 I2C 接口旁边的 SWITCH 口 上。
  • 启用后,飞控上电时,安全开关的 LED 会闪烁。按一下,LED 常亮,表示安全开关已解除,可以解锁了。

我个人建议:所有无人机都启用安全开关。尤其是做自主任务规划时,飞机可能在地面站控制下自动解锁,有个安全开关多一层保障。

参数设置: 如果你不想用物理安全开关,也可以把 BRD_SAFETYENABLE 参数设为 0,完全禁用安全开关功能。但我不推荐这么做,除非你非常确定自己的操作流程不会出错。

好了,这一章的校准内容就这些。每一步都不难,但每一步都很关键。你把这些校准都做扎实了,后面的任务规划才能有可靠的硬件基础。