2、飞控系统基础:飞控硬件组成、传感器(IMU、GPS、气压计)原理、控制回路(内环外环)概念

飞控系统是无人机的大脑与神经中枢,它负责感知飞行姿态、位置与速度,并根据任务指令或遥控输入实时计算控制量,驱动电机或舵面完成稳定飞行与轨迹跟踪。要独立进行参数调试,首先必须透彻理解飞控的硬件架构、传感器工作原理以及控制回路的层级关系。本章将围绕这三条主线展开,帮助您建立飞控系统的整体认知框架,为后续的PID调参、滤波配置与故障排查打下坚实基础。

飞控系统硬件与信号链路总览 传感器组 IMU (MPU6000/ICM42688) 3轴加速度 + 3轴陀螺仪 磁力计 (AK8963/IST8310) 3轴地磁强度 → 航向 GPS (M8N/F9P) 位置 + 速度 + 时间 气压计 (MS5611/BMP280) 大气压 → 高度 主控MCU STM32F405/F427/H743 姿态解算 (AHRS) 控制律计算 (PID) 传感器数据融合 (EKF) 执行机构 电调 ESC (PWM/DShot) 无刷电机 螺旋桨 舵机 (固定翼) 遥控接收机 (SBUS/CRSF) 油门/姿态/模式指令 电源模块 (PMU/BEC) 电压检测 + 5V/3.3V供电 数传/图传模块 遥测数据上行/下行 SPI/I2C (4kHz) I2C (100Hz) UART (5-10Hz) SPI/I2C (50Hz) PWM/DShot (1-8kHz) UART I2C (电压/电流) UART (遥测) 控制回路 内环 (角速率环) 4-8kHz 外环 (姿态环) 250-500Hz 位置环 (GPS) 5-10Hz 由内向外逐层嵌套 控制输出

2.1 飞控硬件组成与核心模块

飞控硬件并非单一芯片,而是一个由主控MCU、传感器组、接口电路、电源管理及执行驱动组成的嵌入式系统。理解各模块的功能边界与通信关系,是参数调试的第一步——因为很多异常现象(如噪声过大、数据跳变、响应延迟)根源在于硬件链路而非PID参数。

2.1.1 主控MCU与计算资源

主流飞控(如Pixhawk系列、Cube系列)采用ARM Cortex-M4/M7内核MCU,主频从168MHz到480MHz不等。MCU承担三类核心任务:传感器数据采集与预处理(通过SPI/I2C接口以固定频率读取原始数据)、姿态解算(将加速度计与陀螺仪数据融合为四元数或欧拉角)、控制律计算(执行PID运算并输出PWM/DShot信号)。MCU的算力直接决定了控制回路的最高执行频率——例如STM32F405可稳定运行4kHz内环,而H743可提升至8kHz。

调试要点:在Mission Planner或QGroundControl中查看“传感器频率”与“CPU负载”两项指标。若CPU负载持续超过70%,说明主频不足或任务调度不合理,此时应降低外环频率或关闭不必要的日志记录,而非盲目提高PID增益。

2.1.2 传感器组与接口

飞控传感器组通常包含IMU(惯性测量单元)、磁力计、气压计、GPS模块。它们通过不同接口与MCU通信,通信速率与数据更新率直接影响控制品质。下表总结了各传感器的典型参数与调试关注点:

传感器 测量物理量 通信接口 典型更新率 调试关注点
IMU(加速度计+陀螺仪) 三轴加速度、三轴角速度 SPI(推荐)/I2C 4-8kHz(内环) 噪声基底、温漂、轴间对齐
磁力计 三轴地磁强度 I2C(通常挂载于IMU总线) 50-100Hz 硬磁/软磁干扰、航向漂移
气压计 大气压力 SPI/I2C 25-50Hz 气压噪声、动态延迟
GPS 经纬度、海拔、速度、时间 UART(串口) 5-10Hz(定位) 卫星数、HDOP、速度精度

2.1.3 电源与执行驱动

飞控的电源管理模块(PMU)负责将电池电压(如4S 14.8V)降压为5V(供飞控与外设)和3.3V(供MCU与传感器)。同时PMU通过电流检测电阻测量总电流,用于功率估算与剩余电量计算。执行机构驱动方面,多旋翼通过PWM或DShot协议控制电调(ESC),固定翼则通过PWM控制舵机。调试时需注意:电源纹波过大会导致传感器数据异常,尤其是IMU的陀螺仪输出会出现周期性尖峰。

风险提示:当电机大油门工作时,若电源模块滤波电容不足,可能导致MCU复位或传感器数据跳变。若在日志中发现陀螺仪Z轴数据出现与油门同步的周期性波动,应优先检查电源质量,而非调整滤波器参数。

2.2 传感器工作原理与数据特性

传感器是飞控感知外部环境的“感官”。每种传感器都有其物理原理、输出特性与局限性。只有深入理解这些特性,才能在调试时正确判断数据是否可信,以及如何设置滤波器与融合算法。

2.2.1 IMU:加速度计与陀螺仪

加速度计基于MEMS(微机电系统)电容检测原理,测量物体受到的比力(重力与惯性力的矢量和)。静止时,加速度计输出重力矢量(约9.8m/s²),可用于计算俯仰与横滚角。陀螺仪基于科里奥利效应,测量绕三轴的角速度(单位:°/s),对角速度积分可获得角度变化。然而陀螺仪存在零偏漂移(bias instability),长时间积分会导致角度发散,因此需要加速度计进行长期校正。

在调试中,IMU数据的关键指标包括:

  • 噪声密度:单位√Hz内的噪声幅度,影响滤波器截止频率的选择。
  • 零偏稳定性:静止时陀螺仪输出的波动范围,典型值0.5-5°/h。
  • 量程:加速度计通常±16g,陀螺仪±2000°/s,超出量程会削波。
经验值:在Betaflight或ArduPilot中,若陀螺仪噪声RMS(均方根)大于0.3°/s,建议先检查机械减震(飞控是否用减震棉/胶垫),再考虑降低陀螺仪低通滤波截止频率(如从256Hz降至188Hz)。

2.2.2 磁力计与航向确定

磁力计测量地球磁场在机体坐标系下的三轴分量。通过将磁场矢量投影到水平面,可计算出磁航向角。但磁力计极易受干扰:电机电流产生的磁场、金属结构件、高压线等都会造成测量偏差。因此实际飞控中,磁力计通常与GPS航迹方向(地速方向)进行融合,以抑制短时干扰。

调试时需进行磁力计校准:将飞行器在空中旋转多个姿态,采集足够样本以拟合椭球模型,消除硬磁(固定偏移)与软磁(比例缩放)误差。校准后,在日志中检查磁航向与GPS航迹的差值,若偏差持续大于10°,应检查机架是否有强磁源。

2.2.3 气压计与高度测量

气压计通过测量大气压力换算海拔高度。根据国际标准大气模型,海平面气压1013.25hPa,每升高8.4m气压下降约1hPa。气压计的分辨率可达0.01hPa(约0.1m),但受气流扰动、螺旋桨下洗气流、温度变化影响较大。因此气压计数据必须经过低通滤波或与加速度计融合(互补滤波)才能用于高度控制。

实战场景:某四轴飞行器在悬停时高度波动达±1.5m。检查日志发现气压计原始数据噪声RMS为0.3m,且与油门输出强相关。判断为螺旋桨气流直接冲击气压计。解决方案:将气压计移至远离螺旋桨气流的位置,并加装海绵防风罩。调整后高度波动降至±0.3m。

2.3 控制回路:内环与外环的层级关系

飞控的控制系统采用级联PID结构,由内向外分为角速率环(内环)、姿态环(外环)、位置环(最外层)。每一层环路的输出作为下一层环路的输入指令,形成嵌套的负反馈系统。理解这种层级关系是调参的核心——必须先整定内环,再整定外环,否则内外环相互干扰,参数难以收敛。

2.3.1 内环(角速率环)

内环直接控制飞行器的三轴角速度(p、q、r),是响应最快的回路。其输入为期望角速度(来自姿态环输出),输出为电机/舵机控制量。内环PID参数(P、I、D)直接决定了飞行器的“手感”与抗风性。内环频率通常为4-8kHz,以保证足够的相位裕度。

内环调试的核心指标是角速率跟踪延迟与超调量。通过遥控器打副翼杆,观察日志中期望角速度与实际角速度的跟随情况。若实际角速度滞后超过20ms,应增大P增益;若出现振荡(高频抖动),应增大D增益或降低P增益。

2.3.2 外环(姿态环)

外环控制飞行器的姿态角(横滚、俯仰、偏航),其输入为期望姿态角(来自遥控器或位置环),输出为期望角速度(送入内环)。外环通常只使用P控制器(部分飞控加入少量I),因为内环已包含积分项。外环频率为250-500Hz,响应速度比内环慢一个数量级。

外环调试时,观察飞行器在悬停时的姿态角波动。若波动幅度大(如横滚角RMS大于2°),说明外环P增益不足;若出现低频振荡(周期约1-2秒),说明外环P增益过大,导致内环饱和。

2.3.3 位置环(最外层)

位置环控制飞行器的三维位置(NED坐标系),其输入为期望位置(来自航线规划或定点指令),输出为期望姿态角(送入姿态环)。位置环通常使用P控制器,并依赖GPS或光流传感器提供位置反馈。位置环频率最低(5-10Hz),且受GPS延迟影响较大,因此需要加入前馈补偿。

控制层级 控制变量 典型频率 主要传感器 调试优先级
内环(角速率) p, q, r(°/s) 4-8kHz 陀螺仪 1(最先)
外环(姿态) φ, θ, ψ(°) 250-500Hz 加速度计+陀螺仪融合 2
位置环 X, Y, Z(m) 5-10Hz GPS/气压计/光流 3(最后)

2.3.4 案例拆解:内环参数调整导致外环振荡

背景:某穿越机(5寸,重量650g)在手动模式下飞行正常,但切换至定高模式后出现前后俯仰振荡,周期约1.5秒,振幅逐渐增大直至触发保护。

初始现象与数据:日志显示俯仰角期望值稳定在0°,但实际俯仰角在±8°之间摆动;内环角速率p在±50°/s之间波动;电机输出(油门)在40%-70%之间周期性变化。

分析过程:首先检查内环——角速率跟踪良好,延迟约8ms,无高频抖动,说明内环参数(P=0.08, D=0.02)正常。接着检查外环——发现外环P增益为4.5,而该机型推荐值为3.0-3.5。外环P过大导致期望角速率指令过大,内环输出饱和(电机达到输出限幅),形成极限环振荡。

操作步骤:将外环P从4.5降至3.2,同时将外环I从0.05降至0.02(减少积分累积)。重新飞行测试,振荡消失,定高精度从±1.2m提升至±0.4m。

复盘经验:外环参数过大会导致内环饱和,此时不应盲目调整内环,而应识别振荡频率(低频振荡通常与外环相关)。建议每次只调整一个参数,并记录调整前后的日志对比。

常见误区:许多初学者在遇到振荡时,首先想到降低内环P或增加内环D,但若振荡频率低于1Hz,大概率是外环问题。正确做法是:先确认内环跟踪性能良好(阶跃响应无超调),再调整外环。此外,不要同时调整多个参数,否则无法定位问题根源。

2.4 传感器数据融合与滤波基础

飞控中的传感器数据并非直接使用,而是经过滤波与融合。常用的融合算法包括互补滤波(用于姿态解算)和扩展卡尔曼滤波(EKF,用于位置与速度估计)。理解滤波器的角色有助于在调试时正确设置截止频率与协方差参数。

陀螺仪数据通常经过低通滤波(如Butterworth或FIR)以抑制高频噪声,但滤波会引入相位延迟。因此滤波器截止频率的选择需要在噪声抑制与响应速度之间权衡。加速度计数据则经过低通滤波(截止频率通常为10-50Hz)以去除振动噪声,但过低的截止频率会导致姿态响应迟钝。

调试建议:在ArduPilot中,可通过“INS_ACCEL_FILTER”和“INS_GYRO_FILTER”参数调整滤波器截止频率。若飞行器在悬停时姿态噪声大,可逐步降低截止频率(每次降低20Hz),观察姿态RMS变化。若降低后姿态RMS无明显改善,说明噪声主要来自机械振动而非传感器本身,应优先处理减震。

EKF融合GPS、气压计、加速度计、磁力计数据,输出位置、速度、姿态的最优估计。EKF的调参涉及过程噪声与测量噪声协方差矩阵,通常使用默认值即可,但在特殊场景(如GPS信号差、剧烈机动)下需要调整。调试时重点关注EKF状态中的“位置方差”与“速度方差”,若方差持续增大,说明传感器数据质量下降或融合参数不合理。