一、飞控系统概述:什么是飞控系统

飞控系统,说白了就是无人机的大脑加小脑。

大脑负责思考——我要飞多高、往哪去、怎么转弯。小脑负责平衡——我歪了要扶正,风来了要稳住。两者合在一起,就是飞控系统。

我在项目里见过不少新手,上来就调PID、改参数,结果飞机上天就翻。为什么?因为他根本不知道飞控在干什么。你想想看,连系统怎么工作的都不清楚,调参不就是瞎蒙吗?

所以这一章,我们先打好基础。把飞控系统的定义、组成、工作原理讲透。后面调参的时候,你才知道每个参数在动什么。

核心定义:飞控系统(Flight Control System)是无人机中负责感知姿态、计算控制量、驱动执行机构的闭环控制系统。它让无人机能够自主稳定飞行,并响应遥控指令。

二、飞控系统的核心组成

飞控系统由三大块组成:传感器、处理器、执行器。缺一不可。

2.1 传感器——感知世界

传感器是飞控的眼睛和耳朵。它告诉处理器:我现在是什么姿态、在什么位置、速度多快。

常见的传感器包括:

  • IMU(惯性测量单元):包含加速度计和陀螺仪。加速度计测重力方向,陀螺仪测角速度。两者配合,就能知道飞机的俯仰、横滚、偏航角度。
  • 磁力计(电子罗盘):测地磁场方向,用来确定航向。说白了就是指南针的电子版。
  • 气压计:测大气压力,换算成高度。我遇到过一个问题——气压计受温度影响很大,夏天中午和傍晚测出来的高度能差好几米。嗯,这个后面调参时会讲到怎么处理。
  • GPS/北斗:提供经纬度和海拔,用于定位和航线飞行。
  • 光流/超声波/激光雷达:用于室内或低空定高、避障。

个人经验:我建议新手先关注IMU和气压计。这两个是飞控最核心的传感器。GPS在城市里容易丢星,磁力计容易受电机干扰。先把基础传感器搞明白,再谈别的。

2.2 处理器——计算决策

处理器是飞控的大脑。它读取传感器数据,运行控制算法,输出控制指令。

常见的飞控处理器有:

处理器型号 架构 主频 常见飞控
STM32F4/F7 ARM Cortex-M 168-216 MHz Pixhawk、CUAV
STM32H7 ARM Cortex-M7 480 MHz Pixhawk 4、CUAV V5+
ESP32 Xtensa LX6 240 MHz DIY飞控、INAV
RP2040 ARM Cortex-M0+ 133 MHz 树莓派Pico飞控

处理器上跑的是实时操作系统(RTOS),比如FreeRTOS、NuttX。为什么不用Linux?因为Linux调度延迟不可控。飞控要求毫秒级响应,Linux做不到。我曾经试过在树莓派上跑飞控,结果一个中断来了,系统正在刷屏,飞机直接翻了。嗯,从那以后我再也不敢在飞控上用非实时系统。

2.3 执行器——动手干活

执行器是飞控的手和脚。它接收处理器的指令,驱动电机、舵机等设备。

常见的执行器包括:

  • 电子调速器(ESC):控制无刷电机的转速。飞控输出PWM信号给ESC,ESC驱动电机旋转。
  • 舵机:控制飞机的舵面(副翼、升降舵、方向舵)或云台角度。
  • 电机:提供升力和推力。多旋翼用无刷电机,固定翼用有刷或无刷电机。

注意:执行器的响应速度直接影响飞行品质。我见过有人用便宜的ESC,结果电机响应延迟了50ms,飞机在空中像喝醉了一样。调参调了半天,最后发现是ESC的问题。所以,硬件选型别省钱。

三、飞控系统的工作原理

飞控系统的工作原理,可以用一句话概括:感知-决策-执行。这是一个闭环控制过程。

下面这张图展示了飞控系统的工作流程:

飞控系统工作原理流程图 传感器 IMU / 气压计 / GPS 处理器 姿态解算 / 控制算法 执行器 ESC / 舵机 / 电机 反馈(传感器再次测量) 遥控器输入 闭环控制:传感器测量 → 处理器计算偏差 → 执行器调整 → 传感器再次测量 感知 决策 执行 反馈

具体来说,飞控系统的工作流程是这样的:

  1. 传感器采集数据:IMU读取加速度和角速度,气压计读取高度,GPS读取位置。这些数据以几百到几千赫兹的频率不断更新。
  2. 姿态解算:处理器把传感器原始数据融合成姿态信息。常用的算法有互补滤波、卡尔曼滤波。说白了,就是把加速度计和陀螺仪的数据结合起来,算出飞机当前是平躺还是倾斜。
  3. 控制计算:处理器比较当前姿态和目标姿态(来自遥控器或航线),计算偏差。然后通过PID控制器算出需要调整的量。
  4. 输出指令:处理器把控制量转换成PWM信号,发送给ESC和舵机。
  5. 执行动作:电机加速或减速,舵机偏转,飞机姿态改变。
  6. 反馈循环:传感器再次测量新的姿态,回到第1步。这个循环每秒执行几百次到上千次。

关键点:飞控系统是一个实时闭环系统。它的核心是「快」和「准」。快——控制周期要短,一般4-10ms。准——姿态估计要精确,误差控制在1度以内。

3.1 控制周期

控制周期是飞控最重要的参数之一。它决定了飞控的响应速度。

常见的控制周期:

控制层级 频率 周期 说明
姿态控制 250-400 Hz 2.5-4 ms 最内环,控制角速度
角度控制 100-200 Hz 5-10 ms 中间环,控制姿态角
位置控制 10-50 Hz 20-100 ms 最外环,控制位置

为什么会这样分层?因为内环需要更快的响应。你想想看,飞机要翻了你得马上扶正,这个反应时间必须短。而位置控制可以慢一点,因为位置变化没那么快。

避坑指南:我曾经调一个四轴,姿态控制频率设到了500Hz,结果处理器跑不过来,反而导致控制不稳定。后来降到333Hz,一切正常。所以不是频率越高越好,要看处理器能不能扛得住。

3.2 控制算法

飞控最常用的控制算法是PID控制。PID就是比例、积分、微分三个环节的组合。

简单来说:

  • P(比例):当前偏差有多大,就输出多大的控制量。偏差大,输出大;偏差小,输出小。
  • I(积分):把过去的偏差累积起来。用来消除稳态误差。比如飞机一直往左偏,积分项会慢慢把飞机拉回来。
  • D(微分):预测偏差的变化趋势。偏差在变大,就提前加大控制量;偏差在变小,就减小控制量。用来抑制震荡。

PID控制的数学表达式:

输出 = Kp × 偏差 + Ki × ∫偏差 dt + Kd × d(偏差)/dt

嗯,这个公式看着简单,但调起来学问大了。后面几章我们会专门讲怎么调PID参数。

注意:PID参数不是万能的。如果飞机本身机械结构有问题(比如重心偏了、电机振动大),调PID也救不回来。我见过有人花了两周调参,最后发现是螺旋桨装反了。所以,调参之前先检查硬件。

四、总结

飞控系统就是传感器+处理器+执行器,三者配合完成感知-决策-执行的闭环控制。

传感器告诉处理器「我在哪」,处理器算出「我要去哪」,执行器负责「把我送到那」。然后传感器再告诉处理器「我到了没」,没到就继续调。

这个循环每秒跑几百次,你才能看到飞机稳稳地悬停在空中。

下一章我们会深入讲传感器——IMU的工作原理和数据处理。到时候我会分享一些我在实际项目中踩过的坑,比如怎么处理传感器噪声、怎么校准磁力计。嗯,那都是真金白银换来的经验。


公众号:蓝海资料掘金营,微信deep3321