一、飞控系统概述:飞控到底是什么?
大家好,我是老张。做飞控调参这些年,我带过不少新人。每次第一节课,我都会问一个问题:飞控到底是什么?
有人说是「无人机的大脑」,有人说是「一块电路板」。都对,但不够。
我个人习惯把飞控理解成「一个在极端环境下做实时决策的微型系统」。它要在每秒几百次的循环里,回答三个问题:
- 我现在是什么姿态?(感知)
- 我想去什么姿态?(期望)
- 怎么让电机转才能过去?(控制)
说白了,飞控就是感知 → 解算 → 控制的闭环。这个闭环跑得稳不稳,直接决定了你的飞机是「指哪打哪」还是「原地翻跟头」。
核心一句话:飞控不是一块板子,而是一套从传感器读到电机转的完整链路。
二、飞控的核心组成:这些传感器到底在干嘛?
飞控硬件上最关键的,就是那几个传感器。我见过不少新手,上来就调PID,结果发现飞机乱飘——其实问题根本不在PID,而是传感器数据就是脏的。
1. IMU(惯性测量单元)—— 飞控的「内耳」
IMU包含加速度计和陀螺仪,通常还带一个磁力计(有的厂家把磁力计单独放)。
- 加速度计:测的是「我感受到的力」。悬停时它感受到重力,所以输出 (0, 0, -g)。但它怕震动——震动一来,数据就全是噪声。
- 陀螺仪:测的是「我转得有多快」。它不怕震动,但会漂移。你把它放桌上不动,过几分钟它可能告诉你「我在以每秒5度旋转」——这就是零偏。
我的经验:加速度计和陀螺仪是互补的。加速度计长期准但短期噪声大,陀螺仪短期准但长期会漂。飞控的「姿态解算」本质上就是用加速度计去校正陀螺仪的漂移。
2. GPS(全球定位系统)—— 飞控的「眼睛」
GPS告诉你位置和速度。但注意,GPS更新频率很慢(通常5-10Hz),而且受卫星数量、多径效应影响很大。
我曾经在楼宇间飞一架测绘无人机,GPS定位突然跳了3米,飞机直接往墙上撞。后来我养成了一个习惯:在城市环境里,永远不要100%信任GPS。
3. 气压计 —— 飞控的「高度计」
气压计通过测量大气压来推算高度。每上升100米,气压下降约12hPa。听起来很准对吧?但问题来了:风一吹,气压就变。你飞机悬停着,一阵风过来,气压计告诉你「你上升了0.5米」——其实根本没动。
避坑指南:我曾经在调试一款四旋翼时,发现高度保持模式一直在上下抖动。查了两天,最后发现是气压计直接暴露在螺旋桨下洗气流中。解决办法:加一块海绵做导流,或者用卡尔曼滤波把气压计和加速度计融合。
4. 磁力计 —— 飞控的「指南针」
磁力计测量地球磁场,用来确定航向(偏航角)。但它有个致命弱点:怕干扰。电机通电后的磁场、机身上的铁磁材料、甚至地下的钢筋,都会让它「找不着北」。
嗯,这里要注意:磁力计必须做校准。我见过有人直接拿没校准的磁力计飞航线,结果飞机一直在画圈——因为航向一直在漂。
三、飞控的工作原理:姿态解算与控制链路
好,传感器数据进来了。然后呢?飞控内部到底是怎么工作的?
我画了一张图,帮你理清整个链路:
第一步:姿态解算
传感器数据进来了,但都是「原始值」。加速度计告诉你「我感受到2.3g的力」,陀螺仪告诉你「我在以每秒30度旋转」——这些数字本身没有意义。
飞控要做的是:把这些原始数据转换成「我现在的姿态是什么」。
常用的方法有两种:
- 互补滤波:简单、计算量小、适合资源受限的MCU。我早期在STM32F103上做飞控时用的就是它。
- 卡尔曼滤波:更精确、但计算量大。现在主流飞控(如Pixhawk)用的都是它。
为什么需要滤波?因为单一传感器不可靠。你想想看,如果只用陀螺仪积分算角度,10秒后角度就漂了。如果只用加速度计,飞机一震数据就炸了。所以必须融合。
核心公式(互补滤波简化版):
角度 = 0.98 × (上一时刻角度 + 陀螺仪×dt) + 0.02 × 加速度计角度
0.98和0.02就是权重。陀螺仪占大头,加速度计做长期校正。
第二步:控制链路
姿态解算完了,飞控知道了「我现在在哪」。接下来要回答:「我怎么去我想要的位置?」
这就是控制链路的事。典型的飞控控制链路是串级PID:
| 控制层级 | 输入 | 输出 | 更新频率 |
|---|---|---|---|
| 外环(位置环) | 期望位置 vs 实际位置 | 期望速度 | 10-50 Hz |
| 中环(速度环) | 期望速度 vs 实际速度 | 期望姿态角 | 50-100 Hz |
| 内环(姿态环) | 期望姿态 vs 实际姿态 | 期望角速率 | 100-400 Hz |
| 最内环(角速率环) | 期望角速率 vs 实际角速率 | 电机PWM值 | 400-1000 Hz |
为什么要串级?因为内环比外环快。外环发现位置偏了,告诉内环「往右倾斜5度」,内环立刻执行。如果只用单环,等位置误差累积到一定程度再直接控制电机,飞机早就晃成筛子了。
调参经验:我建议新手先从内环(角速率环)开始调。内环调稳了,外环再差也不会炸。内环没调好就动外环——嗯,我当年就是这么炸了一架450轴距的机架。
四、总结:飞控调参的核心逻辑
讲到这里,你应该明白了:飞控调参,调的不是某个参数,而是整个链路的配合。
- 传感器数据不准 → 姿态解算就错 → 控制就乱 → 飞机就炸
- 内环响应太慢 → 外环再准也没用 → 飞机就晃
- 外环增益太大 → 内环饱和 → 飞机就抖
所以,我每次拿到一架新飞机,第一步不是调PID,而是:
- 检查传感器数据:加速度计有没有噪声?陀螺仪零偏大不大?磁力计校准了没?
- 检查姿态解算:用手晃动飞机,看姿态角跟不跟得上?有没有延迟?
- 再调控制:从内环到外环,一层一层来。
记住一句话:数据是基础,解算是桥梁,控制是执行。任何一个环节出问题,飞机都飞不好。
好,这一章就到这里。下一章我们开始讲具体的调参工具和流程——到时候我会拿实际数据出来,带你们走一遍完整的调参过程。