3、参数系统入门:飞控参数的作用与分类

各位同学,欢迎来到参数系统这一章。说实话,飞控参数这东西,刚入行的时候我总觉得它就是个配置文件,调来调去也就那么回事。直到有一次,我在外场调试一架四旋翼,因为一个不起眼的参数写错了,飞机起飞直接翻了个跟头……嗯,从那以后,我再也不敢小看这些数字了。

这一章,我们就来聊聊飞控参数到底是什么,它怎么分类,存在哪里,以及怎么查看和修改。说白了,参数就是飞控的“性格”——你给它设什么值,它就表现出什么样的飞行特性。

3.1 飞控参数的作用

飞控参数,本质上是一组决定飞控系统行为的配置变量。它们告诉飞控:

  • 传感器怎么校准——比如加速度计的偏移量、磁力计的软硬铁补偿
  • 姿态怎么控制——比如PID增益、限幅值、滤波器截止频率
  • 系统怎么运行——比如PWM输出频率、通信波特率、安全开关逻辑

我个人的习惯是,拿到一架新飞机,第一件事不是飞,而是先把参数导出来看一遍。你想想看,如果连参数都不清楚,出了问题你都不知道从哪查起。

核心观点:参数是飞控的“灵魂”。同样的硬件,参数不同,飞行品质天差地别。

3.2 参数的三大分类

飞控参数虽然多,但归纳起来就三大类。我按自己调试的优先级排了个序,你照着这个思路走,不会乱。

3.2.1 系统参数

系统参数决定了飞控的“骨架”——也就是硬件配置和运行模式。这类参数通常只在装机或更换硬件时才需要修改。

参数类别 典型参数 说明
机架类型 FRAME_TYPE, FRAME_CLASS 四旋翼、六旋翼、固定翼等
通信接口 SERIALx_PROTOCOL, GPS_TYPE 串口协议、GPS型号
安全机制 ARMING_CHECK, FS_ACTION 解锁检查、失控保护动作
输出映射 RCx_FUNCTION, SERVOx_FUNCTION 遥控通道与电机/舵机的映射

我记得有一次帮朋友调一架六旋翼,他死活解锁不了。查了半天,发现是 ARMING_CHECK 设成了全部检查,而他的罗盘根本没校准。这就是系统参数没配好的典型坑。

3.2.2 传感器参数

传感器参数,说白了就是让飞控“看清世界”的标尺。传感器不准,后面PID调得再好也没用。

  • 加速度计参数: INS_ACCx_OFFS、INS_ACCx_SCALE —— 校准偏移和比例因子
  • 陀螺仪参数: INS_GYRx_OFFS —— 零偏补偿
  • 磁力计参数: COMPASS_OFFSx、COMPASS_DIA —— 硬铁和软铁补偿
  • 气压计参数: BARO_ALT_OFFSET —— 高度偏移

我的经验:传感器参数最好在每次飞场环境变化后重新校准。比如你从北方飞到南方,磁偏角变了,磁力计参数就得重新来一遍。我曾经因为偷懒没重校,结果飞机在GPS模式下画起了“8”字……

3.2.3 PID参数

PID参数是飞控的“肌肉”——它决定了飞机对外界扰动的反应速度和稳定性。这部分是调试中最花时间的,也是最有意思的。

参数 作用 调大后的效果 调小后的效果
P(比例) 响应当前误差 反应快,但容易震荡 反应迟钝,稳态误差大
I(积分) 消除稳态误差 抗风好,但可能积分饱和 悬停漂移,抗风差
D(微分) 抑制超调 阻尼强,但噪声放大 超调大,容易来回晃

举个例子,在ArduPilot里,Roll轴的PID参数长这样:

ATC_RAT_RLL_P     : 0.1500
ATC_RAT_RLL_I     : 0.1000
ATC_RAT_RLL_D     : 0.0030
ATC_RAT_RLL_IMAX  : 0.3000

你想想看,如果P设得太大,飞机会像“抽风”一样高频抖动;如果D设得太大,电机就会发出尖锐的啸叫声——那是高频噪声被放大了。我刚开始调PID的时候,就吃过这个亏,差点把电机烧了。

3.3 参数存储机制

参数调好了,总得找个地方存起来吧?飞控的参数存储,主要有两种方式。

3.3.1 SD卡存储

大多数飞控板(比如Pixhawk系列)都带有SD卡槽。飞控启动时,会从SD卡读取参数文件。如果SD卡不存在或文件损坏,飞控会使用固件内置的默认参数。

  • 优点: 方便批量修改、备份、跨飞控迁移
  • 缺点: SD卡质量参差不齐,接触不良可能导致参数丢失

警告: 我曾经遇到过劣质SD卡在高温下数据损坏,导致飞控参数全部归零。建议使用工业级SD卡,并且养成每次调参后都导出备份的习惯。

3.3.2 参数文件格式

参数文件通常是纯文本格式,每行一个参数。以ArduPilot为例,参数文件长这样:

# 这是注释行
FRAME_TYPE,1
FRAME_CLASS,1
ATC_RAT_RLL_P,0.1500
ATC_RAT_RLL_I,0.1000
INS_ACC1_OFFS_X,0.0123
INS_ACC1_OFFS_Y,-0.0056
INS_ACC1_OFFS_Z,0.0987

格式很简单:参数名,值。你可以用文本编辑器打开,批量修改,然后保存回SD卡。我个人习惯在每次飞行前,把参数文件复制一份到电脑上,标注日期和版本——这个习惯救过我很多次。

3.4 常用参数查看与修改工具

手动改文件太麻烦?别急,我们有图形化工具。

3.4.1 QGroundControl(QGC)

QGC是目前最主流的飞控地面站软件之一。它提供了完整的参数管理界面:

  • 参数列表: 按类别分组,支持搜索和过滤
  • 在线修改: 连接飞控后,直接修改并写入
  • 参数比较: 可以对比两组参数的差异
  • 导入/导出: 支持 .param 文件格式

操作步骤很简单:

  1. 用USB或数传连接飞控
  2. 打开QGC,进入“参数”页面
  3. 搜索你要修改的参数名
  4. 输入新值,点击“写入”
  5. (可选)点击“刷新”确认写入成功

小技巧: 在QGC里,你可以按住参数名旁边的“齿轮”图标,会弹出该参数的详细说明——包括取值范围、默认值、单位。这个功能我经常用,尤其是遇到不熟悉的参数时。

3.4.2 MAVLink Inspector

MAVLink Inspector是QGC内置的一个调试工具,专门用来查看飞控发出的MAVLink消息。对于参数调试来说,它有两个核心用途:

  • 实时监控参数变化: 当你修改参数后,可以观察飞控的响应
  • 查看NAMED_VALUE_FLOAT消息: 有些飞控会把内部变量通过这个协议发出来,方便调试

举个例子,你在调PID的时候,可以用MAVLink Inspector盯着 ATTITUDE 消息里的Roll/Pitch/Yaw角度,看看修改参数后姿态响应有没有改善。

我个人更喜欢用MAVLink Inspector来排查“软故障”——就是那种参数看起来都对,但飞起来就是不对劲的情况。有一次,我发现飞控的 VFR_HUD 消息里显示的空速和地速差得离谱,顺藤摸瓜找到了空速计参数配置错误。

3.5 本章知识体系总览

说了这么多,咱们用一张图把整个参数系统的脉络理清楚:

飞控参数系统知识体系 飞控参数系统 系统参数 传感器参数 PID参数 机架类型 通信接口 安全机制 输出映射 加速度计 陀螺仪 磁力计 气压计 P增益 I增益 D增益 限幅值 参数存储机制 查看与修改工具 SD卡存储 参数文件(.param) QGroundControl MAVLink Inspector 💡 参数是飞控的“灵魂”——系统参数定骨架,传感器参数定精度,PID参数定手感 存储机制保证参数持久化,工具让调参变得可视化、可追溯

这张图把参数系统的三大分类、存储机制和调试工具串在了一起。你调试的时候,可以对照这张图,看看自己当前卡在哪一层——是系统参数没配好?还是传感器没校准?或者是PID还没调到位?

本章要点回顾:

  • 飞控参数分为系统参数(硬件配置)、传感器参数(校准数据)、PID参数(控制增益)三大类
  • 参数存储在SD卡的.param文件中,纯文本格式,可批量修改
  • QGC提供图形化参数管理界面,MAVLink Inspector用于实时监控参数变化
  • 每次调参后务必导出备份,标注日期和版本