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 文件格式
操作步骤很简单:
- 用USB或数传连接飞控
- 打开QGC,进入“参数”页面
- 搜索你要修改的参数名
- 输入新值,点击“写入”
- (可选)点击“刷新”确认写入成功
小技巧: 在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还没调到位?
本章要点回顾:
- 飞控参数分为系统参数(硬件配置)、传感器参数(校准数据)、PID参数(控制增益)三大类
- 参数存储在SD卡的.param文件中,纯文本格式,可批量修改
- QGC提供图形化参数管理界面,MAVLink Inspector用于实时监控参数变化
- 每次调参后务必导出备份,标注日期和版本