3、飞控固件与地面站的关系:什么是固件?固件版本与地面站版本的匹配。如何查看当前固件版本。
很多刚接触飞控的朋友,上来就问:「我该刷哪个固件?」「为什么地面站连不上飞控?」
说白了,这些问题都绕不开一个核心概念——固件。
今天我们就把它彻底讲清楚。
3.1 什么是固件?
固件,你可以理解为飞控板的「操作系统」。它是一段烧录在飞控芯片里的程序代码,负责解读传感器数据、执行控制算法、输出PWM信号给电机。
我习惯这么比喻:飞控硬件是身体,固件是灵魂。没有固件的飞控,就是一块会发光的电路板,什么都干不了。
固件的本质:
- 一段固化在硬件中的软件代码
- 负责飞控的所有核心逻辑(姿态解算、位置控制、导航)
- 用户可以通过地面站进行参数调整,但无法直接修改固件源码(除非你重新编译)
目前主流的开源飞控固件有:
- ArduPilot(APM固件):功能最全,支持固定翼、多旋翼、无人车、无人船
- PX4:代码结构清晰,学术圈和商业项目用得比较多
- Betaflight / iNav:穿越机领域的主流选择
嗯,这里要注意:不同固件对硬件平台有要求。比如ArduPilot主要跑在Pixhawk系列硬件上,Betaflight则主要针对F4/F7飞控。
3.2 固件版本与地面站版本的匹配
这是新手最容易踩坑的地方。
你想想看,地面站是「遥控器界面」,固件是「底层大脑」。两者之间通过MAVLink协议通信。如果版本不匹配,就像你用Windows 11的遥控器去控制一台Windows 98的电脑——能连上才怪。
我曾经遇到过:一个学员拿着Mission Planner 1.3.70去连一个刷了ArduCopter 3.2.1的老Pixhawk,结果参数列表全是乱码,校准页面直接崩溃。折腾了两天,最后发现是地面站版本太新,旧固件不兼容新协议。
所以,版本匹配是硬道理。我一般遵循这个原则:
| 地面站 | 推荐固件版本范围 | 备注 |
|---|---|---|
| Mission Planner 1.3.70+ | ArduPilot 4.0.x ~ 4.5.x | 最新版兼容性最好 |
| Mission Planner 1.3.50 ~ 1.3.69 | ArduPilot 3.6.x ~ 4.3.x | 中间版本,注意协议差异 |
| QGroundControl 4.0+ | PX4 1.11.x ~ 1.14.x | QGC对PX4支持最完善 |
| Betaflight Configurator 10.8+ | Betaflight 4.2.x ~ 4.4.x | 穿越机专用 |
我的个人习惯:每次拿到新飞控,先不急着刷固件。先连上地面站,看看当前固件版本,再去官网查对应的地面站版本。如果地面站提示「固件版本过旧,建议升级」,我会先备份参数,再升级。
为什么会这样?因为固件升级往往伴随着参数结构的变化。旧参数在新固件下可能被重置或报错。我见过有人升级后没备份参数,结果整机PID全部归零,试飞时直接翻车。
3.3 如何查看当前固件版本
这个操作其实很简单,但不同地面站入口不一样。我分别说一下:
3.3.1 Mission Planner(APM固件)
- 用USB线连接飞控和电脑
- 打开Mission Planner,选择正确的COM口和波特率(通常115200)
- 点击右上角「Connect」按钮
- 连接成功后,看左上角标题栏——会直接显示固件类型和版本号
示例显示:
ArduCopter V4.3.2 (f103e7a3)
—— 这就是固件版本
另外,你也可以在「初始设置」→「安装固件」页面,看到当前已安装的固件版本。
3.3.2 QGroundControl(PX4固件)
- 连接飞控,打开QGC
- 点击左上角「Q」图标 → 选择「车辆设置」
- 在左侧菜单找到「固件」选项
- 页面顶部会显示当前固件版本和构建时间
示例显示:
PX4 Autopilot v1.13.3 stable
—— 版本号一目了然
3.3.3 Betaflight Configurator
- 连接飞控,打开Betaflight Configurator
- 选择端口,点击「Connect」
- 连接后,主界面右上角直接显示固件版本
示例显示:
Betaflight / STM32F405 (S4) 4.3.1 Nov 19 2022 / 22:47:12 (e7a3f1c)
—— 包含芯片型号和编译时间
注意:如果连接后地面站没有任何版本信息显示,或者显示「Unknown」,大概率是以下原因:
- 波特率设置错误(试试57600或921600)
- USB驱动没装好(Windows上常见的是CP210x或CH340驱动)
- 飞控处于bootloader模式(需要重新上电)
3.4 固件与地面站的「握手」过程
为了让你更直观地理解,我画了一张流程图:
你看,整个流程其实就五步。最关键的就是最后一步——版本校验。如果固件版本和地面站版本不匹配,地面站要么拒绝连接,要么功能异常。
避坑指南:我建议你每次拿到新飞控,第一件事就是查看固件版本,然后去官网下载对应版本的地面站。不要盲目追求最新版。最新版地面站可能已经放弃了对旧固件的支持。
举个例子:Mission Planner 1.3.80之后,不再支持ArduPilot 3.5.x以下的固件。如果你手里有个2018年的老Pixhawk,刷的是3.4.6,那就只能用1.3.70左右的老版本地面站。
3.5 小结
今天的内容其实就三个核心点:
- 固件是什么——飞控的操作系统,硬件和地面站之间的桥梁
- 版本匹配——固件和地面站版本必须对应,否则无法正常工作
- 查看版本——不同地面站入口不同,但都很简单
嗯,这些基础概念搞清楚了,后面配置飞行模式的时候,你才知道自己到底在调什么。不然出了问题,连是固件的问题还是地面站的问题都分不清。