飞控固件刷写与配置:PX4/ArduPilot 固件选择、通过 QGC 刷写固件、飞控参数基础设置

飞控固件,说白了就是无人机的大脑操作系统。选对了、刷对了、配好了,飞机才能听话。我见过太多新手在这步栽跟头——固件版本不对、校准跳过、参数乱改,最后炸机了还不知道问题出在哪。

这一章,咱们就把固件选择、刷写流程、基础校准这三件事彻底讲透。你跟着我的节奏走,保证少走弯路。

一、PX4 vs ArduPilot:到底选哪个?

很多学员一上来就问我:「老师,PX4 和 ArduPilot 哪个好?」我的回答永远是——看你的场景。

这两套固件都是开源界的顶梁柱,但设计哲学完全不同。我做个对比表,你一看就明白。

对比维度 PX4 ArduPilot
架构 模块化、微内核 整体式、功能集成
适用机型 多旋翼、固定翼、VTOL 多旋翼、固定翼、VTOL、无人车、无人船
代码语言 C++,现代风格 C++,历史包袱较重
参数复杂度 中等,默认参数较合理 极高,可调参数上千个
社区活跃度 Dronecode 基金会主导 ArduPilot 团队 + 全球贡献者
典型场景 科研、工业、竞速 航测、农业、DIY 折腾
我的建议: 如果你是做科研或工业应用,选 PX4,它的代码结构清晰,二次开发友好。如果你喜欢折腾、想玩无人车或船,或者需要极其丰富的功能,ArduPilot 更适合你。我个人习惯是:多旋翼用 PX4,固定翼和无人车用 ArduPilot。

二、通过 QGC 刷写固件

QGroundControl(QGC)是目前最主流的地面站软件之一。刷固件这件事,QGC 做得相当傻瓜化。但傻瓜化不代表你可以乱点——我见过有人刷到一半拔 USB 线,结果飞控变砖。

2.1 准备工作

  • 一台安装了 QGC 的电脑(Windows / macOS / Linux 均可)
  • 飞控板(如 Pixhawk、Cube、Holybro 系列)
  • Micro USB 或 USB-C 数据线(注意:要能传数据,不是充电线!)
  • 稳定的网络环境(QGC 需要从 GitHub 下载固件)

2.2 刷写步骤

  1. 用数据线连接飞控和电脑。QGC 会自动识别飞控。
  2. 点击 QGC 左上角「Q」图标 → 选择「Vehicle Setup」。
  3. 在左侧菜单找到「Firmware」页面。
  4. 选择你要刷的固件类型(PX4 或 ArduPilot)。
  5. QGC 会自动检测飞控硬件版本,并推荐对应的固件版本。
  6. 点击「Update」按钮,等待进度条走完。
  7. 刷写完成后,飞控会自动重启。
⚠️ 重要提醒: 刷写过程中千万不要断开 USB 连接或断电!我曾经有一次在实验室刷固件,学生不小心踢到了 USB 线,结果飞控的 bootloader 损坏,最后只能用 SWD 接口重新烧录,折腾了一下午。所以,刷固件时请确保 USB 接口牢固,最好用带卡扣的线。

2.3 固件版本选择策略

QGC 默认会推荐「稳定版」(Stable)。我个人建议:

  • 新手: 无脑选稳定版,别碰「开发版」或「每日构建版」。
  • 老手: 如果你需要某个新功能或修复,可以尝试「Beta 版」,但要做好回退的准备。
  • 避坑: 不要在生产无人机上使用「开发版」。我在项目中吃过这个亏——开发版的一个 bug 导致飞机在悬停时突然偏航,差点撞墙。

三、飞控参数基础设置

固件刷好了,接下来就是校准。这一步很多人觉得麻烦,想跳过。嗯,这里要注意——校准不做好,飞控就是瞎子。你想想看,一个瞎子飞行员能开好飞机吗?

3.1 IMU 校准

IMU(惯性测量单元)包含加速度计和陀螺仪。校准的目的是让飞控知道「什么是水平」。

操作步骤:

  1. 在 QGC 的「Vehicle Setup」→「Sensors」页面,点击「Accelerometer」。
  2. 按照提示,将飞控依次放置到 6 个方向:水平朝上、水平朝下、左侧、右侧、机头朝上、机头朝下。
  3. 每个方向保持静止 2-3 秒,直到 QGC 显示「Completed」。
  4. 点击「Calibrate」按钮,等待校准完成。
我的经验: 校准 IMU 时,一定要把飞控放在一个绝对水平的台面上。我习惯用一块亚克力板,下面垫三个水平仪螺丝脚,调平后再校准。另外,校准过程中不要用手触碰飞控,人体晃动会影响加速度计读数。

3.2 罗盘校准

罗盘(磁力计)负责感知地球磁场,帮助飞控确定航向。但问题是——城市里到处都是电磁干扰。

操作步骤:

  1. 在 QGC 的「Sensors」页面,点击「Compass」。
  2. 手持无人机,在空中画「8」字轨迹。
  3. 确保无人机绕 X、Y、Z 三个轴都旋转到位。
  4. QGC 会实时显示校准进度。当三个轴的曲线都平滑且覆盖完整范围时,校准完成。
⚠️ 避坑指南: 我曾经在一个钢结构厂房里做罗盘校准,结果怎么都过不了。后来才发现,厂房里的钢筋结构严重干扰了磁场。所以,罗盘校准一定要在室外空旷处进行,远离钢筋、高压线、大型金属物体。如果校准后 QGC 显示「Compass Health」为红色,说明干扰太大,换个地方重新来。

3.3 遥控器校准

遥控器校准的目的是让飞控知道你的摇杆「中立点」和「最大行程」在哪里。

操作步骤:

  1. 在 QGC 的「Sensors」页面,点击「Radio」。
  2. 确保遥控器已对频并开启。
  3. 点击「Calibrate」按钮。
  4. 按照提示,依次将每个摇杆推到最大、最小、中立位置。
  5. QGC 会显示每个通道的 PWM 值范围。正常范围应在 1000-2000 之间,中立点应在 1500 左右。
  6. 点击「Apply」保存校准结果。
一个小技巧: 校准完成后,在 QGC 的「Radio」页面观察摇杆的实时数值。如果中立点偏离 1500 超过 20,说明遥控器的微调旋钮没归零。我习惯在每次飞行前都检查一遍这个数值,确保遥控器状态正常。

四、知识体系总览

下面这张图,帮你把本章的核心逻辑串起来。你照着这个流程走,固件刷写和基础设置就不会乱。

飞控固件刷写与配置流程 飞控固件刷写与配置流程 1. 固件选择 PX4(科研/工业) ArduPilot(航测/DIY) 2. 通过 QGC 刷写固件 3. 飞控参数基础设置 IMU 校准 罗盘校准 遥控器校准 提示:校准顺序建议为 IMU → 罗盘 → 遥控器,不要颠倒

五、常见问题与排查

刷写和校准过程中,你可能会遇到一些问题。我把最常见的几个列出来,你遇到了直接对照排查。

问题现象 可能原因 解决方法
QGC 无法识别飞控 驱动未安装 / USB 线质量问题 安装驱动(Windows 需装 Zadig),换一根数据线
刷写进度卡在 50% 网络不稳定 / GitHub 被墙 切换网络环境,或使用固件离线下载功能
IMU 校准一直失败 飞控未放平 / 震动干扰 放在水平台面上,确保飞控固定牢固
罗盘校准后航向不准 电磁干扰 / 罗盘安装位置不当 换到室外空旷处重新校准,检查罗盘是否远离大电流线缆
遥控器通道数值异常 遥控器微调未归零 / 接收机故障 将遥控器所有微调旋钮归零,重新校准

核心要点回顾:

  • 固件选择:PX4 适合科研/工业,ArduPilot 适合航测/DIY/无人车
  • 刷写固件:用 QGC,选稳定版,过程中不要断电
  • IMU 校准:6 个方向,水平台面,保持静止
  • 罗盘校准:室外空旷处,画 8 字,远离金属干扰
  • 遥控器校准:检查中立点 1500,微调归零