2. 飞控硬件与传感器基础
飞控硬件是整架无人机的大脑与神经中枢。理解飞控的硬件架构、传感器接口和数据流,是后续调参与故障排查的基础。本节从典型飞控硬件平台入手,梳理传感器与飞控之间的连接关系和数据流向,并给出在 Mission Planner 中查看传感器原始数据的具体方法。
一、典型飞控硬件平台
目前 ArduPilot 生态中常见的飞控硬件主要有三大类:Pixhawk 系列、Cube 系列和 Matek 系列,它们在接口布局、传感器配置和适用场景上各有侧重。
Pixhawk 系列是 ArduPilot 官方参考硬件平台,经历了从 Pixhawk 1 到 Pixhawk 6X 的多代演进。以 Pixhawk 4 和 Pixhawk 6C 为例,其核心架构包括主控 MCU(STM32F7 或 H7 系列)、独立的 IO 协处理器(STM32F1 系列)、双 IMU 冗余、内置磁力计与气压计,以及丰富的 UART、I2C、SPI、CAN 接口。Pixhawk 的接口采用标准化定义:GPS 接口通常为 6 针 JST-GH,包含 5V、GND、TX、RX、I2C SDA、I2C SCL;电源接口为 6 针,除供电外还引入电压和电流检测信号;Telem 接口用于数传电台;I2C 接口用于外接磁力计、空速计等。
Cube 系列(原 Pixhawk 2)采用载板加分核模块的设计。核心模块集成 IMU、气压计和主控,载板提供接口扩展。Cube 的显著特点是传感器减震设计较好,IMU 采用独立减震结构,适合对振动敏感的多旋翼和垂直起降固定翼。Cube Orange 和 Cube Orange+ 是当前主流型号,搭载 H7 主控,支持三冗余 IMU 和双气压计。
Matek 系列以 F405、F765、H743 等型号为代表,主打轻量化和高集成度,常见于穿越机和中小型多旋翼。Matek 飞控通常将电源检测、OSD、蜂鸣器等电路集成在板上,接口以焊盘为主,适合空间受限的装机场景。其传感器配置相对精简,部分型号仅单 IMU,但价格亲民、体积小巧。
二、传感器接口与数据流
飞控通过不同总线与各类传感器通信,数据流的方向和协议决定了系统的实时性与可靠性。
IMU(惯性测量单元)通常通过 SPI 总线与主控连接,采样率可达 1kHz 以上。IMU 包含三轴加速度计和三轴陀螺仪,部分型号还集成三轴磁力计。SPI 的高速率保证了姿态解算所需的原始数据能低延迟送达。在双 IMU 配置中,两个 IMU 可能使用不同的 SPI 片选或挂载在不同总线上,实现冗余。
磁力计多通过 I2C 总线连接,常见于外置 GPS 模块内部(如 Here3、M9N)。I2C 速率较低(通常 400kHz),但磁力计更新率要求不高(约 10~100Hz),因此足够。内置磁力计易受电机电流干扰,外置磁力计通过 GPS 杆架高,可有效远离干扰源。
气压计一般直接焊接在飞控板上,通过 I2C 或 SPI 连接。气压计测量大气压推算高度,更新率约 10~50Hz。其读数受气流和温度影响,安装时需加海绵防风。
GPS 模块通过 UART 与飞控通信,使用 NMEA 或 UBX 协议。GPS 提供经纬度、高度、速度和时间信息,同时通过同一接口的 I2C 线传输外置磁力计数据。GPS 更新率通常为 5~10Hz,定位精度取决于卫星数量和 HDOP 值。
电源模块串联在电池与飞控之间,输出 5V 给飞控供电,同时通过分压电路和电流传感器产生电压、电流模拟信号,接入飞控的 ADC 引脚。飞控据此计算电池剩余电量和实时电流消耗。
三、使用 Mission Planner 查看传感器原始数据
Mission Planner 的“MAVLink Inspector”和“状态”页面是查看传感器原始数据的主要入口。连接飞控后,按 Ctrl+F 打开“MAVLink Inspector”,可实时查看各消息包的字段值。
以查看 IMU 数据为例,在 MAVLink Inspector 中找到 RAW_IMU 或 SCALED_IMU2 消息,展开后可看到 xacc、yacc、zacc(加速度)、xgyro、ygyro、zgyro(角速度)以及 xmag、ymag、zmag(磁力)的实时数值。静止水平放置时,Z 轴加速度应接近 +9.8 m/s²(或对应量纲的 1000 左右),X、Y 轴接近 0;陀螺仪三轴应接近 0,允许有微小零偏。
查看磁力计时,关注 RAW_IMU 中的 mag 字段或 MAG 消息。旋转机体时,三个轴的磁力值应呈正弦变化,且模值基本恒定。若某轴数值异常大或跳变剧烈,说明该轴受到电机或电流干扰。
气压计数据在 SCALED_PRESSURE 消息中,press_abs 为绝对气压(单位 hPa),press_diff 为差分气压(空速用),temperature 为温度。地面静止时,气压读数应稳定在 1013 hPa 附近(随海拔和天气变化),波动不应超过 ±2 hPa。
GPS 数据在 GPS_RAW_INT 消息中,可查看 fix_type(0=无定位,2=2D,3=3D)、satellites_visible(可见卫星数)、eph(水平精度 HDOP)和 epv(垂直精度 VDOP)。3D 定位且 HDOP 小于 1.5 时,GPS 数据可用于导航。
电源模块数据在 SYS_STATUS 消息中,voltage_battery 为电池电压(mV),current_battery 为电流(cA,即 10mA)。例如 voltage_battery=12600 表示 12.6V,current_battery=150 表示 1.5A。若电压读数明显偏离万用表实测值,需检查 BATT_VOLT_MULT 参数。
gyro、accel、mag、baro 是否正常)。
四、传感器数据异常的快速判断
实际调试中,传感器数据异常往往表现为 EKF 报错、姿态漂移或高度跳变。以下为常见现象与排查方向:
- 加速度计 Z 轴不为 +9.8:检查飞控安装方向参数
AHRS_ORIENTATION是否正确,或重新做加速度计校准。 - 磁力计模值随油门变化:动力线离磁力计太近,需重新布线或加装屏蔽,必要时改用外置磁力计。
- 气压计读数随电机转速波动:气压计未加海绵或海绵破损,需更换防风海绵并确保飞控仓内气流稳定。
- GPS 卫星数少、HDOP 大:检查 GPS 天线朝向、是否被碳纤维遮挡,或更换开阔场地测试。
- 电压读数偏差大:用万用表实测电池电压,对比
SYS_STATUS中的voltage_battery,按比例调整BATT_VOLT_MULT。
掌握这些硬件架构与数据流关系后,后续的加速度计校准、磁力计校准、EKF 调参和电源参数设置就有了明确的观察对象和判断依据。建议在首次装机后,先通过 Mission Planner 逐一确认各传感器原始数据正常,再进行解锁和试飞。