3. Pixhawk硬件平台与传感器接入

Pixhawk并不是某一款飞控的型号,而是一套由Dronecode/PX4社区维护的开放硬件标准。理解这一点很关键:只要某块飞控标注为“Pixhawk标准”,它的接口定义、供电规范、传感器总线和调试方式就应当遵循同一套约定。常见的Pixhawk系列包括Pixhawk 4、Pixhawk 6C/6X、CUAV V5+/Nora、Holybro Durandal等,它们在主控芯片、IMU冗余数量、接口数量上有差异,但核心架构一致:一颗主MCU负责飞行控制,一颗IO协处理器负责PWM输出与安全开关,传感器通过SPI/I2C/UART/CAN挂载。

从硬件资源看,Pixhawk飞控通常包含以下部分:主控STM32H7/F7系列,运行PX4固件;IO协处理器STM32F1系列,负责8路PWM与安全开关;两到三组IMU(加速度计+陀螺仪),部分型号还带内置磁力计和气压计;一个microSD卡槽用于日志;USB-C调试口;以及多路UART、I2C、SPI、CAN接口。以Pixhawk 6C为例,它提供3组IMU、1个内置气压计、1个microSD、6路PWM输出、3路UART、2路I2C、1路CAN。这些资源决定了它能接什么外设、能跑什么机型。

传感器接入是本节的核心。IMU通常已经板载,通过SPI总线与主控通信,PX4会自动识别并分配为IMU0/IMU1/IMU2。磁力计和气压计可能板载,也可能外接。外接磁力计一般走I2C,常见于GPS模块内部,例如Here3、M9N等GPS模块同时集成磁力计和气压计。GPS模块通过UART接入,PX4中对应GPS_1_CONFIG参数,波特率通常为115200。接线时要注意:GPS的TX接飞控的RX,RX接飞控的TX,这是初学者最容易接反的地方。

Pixhawk飞控传感器与外设接入拓扑 Pixhawk 飞控 主控 STM32H7 + IO协处理器 IMU0 / IMU1 / IMU2(板载SPI) 气压计(板载I2C/SPI) microSD 日志卡 USB-C 调试口 GPS/磁力计模块 Here3 / M9N UART + I2C GPS_1_CONFIG=GPS1 UART 外接磁力计 I2C 总线 CAL_MAG0_ID I2C 电调/舵机 PWM / DShot MAIN 1-8 / AUX 1-6 PWM_MAIN_RATE PWM/DShot 电源与安全开关 Power Module Safety Switch BATT1_V_DIV 电源/安全 CAN 外设扩展 UAVCAN 电调 / 空速计 / 测距 CAN

PWM与DShot输出是飞控驱动电调的方式。Pixhawk的MAIN输出口由IO协处理器产生,支持标准PWM(50~400Hz)和OneShot;AUX输出口由主控直接产生,支持DShot150/300/600/1200。DShot是数字协议,不需要校准行程,抗干扰能力更强,是目前多旋翼的首选。配置时通过PWM_MAIN_RATE设置PWM频率,通过DSHOT_CONFIG选择DShot速率。注意:DShot只能用在AUX口,MAIN口不支持。如果电机接在MAIN口却配置了DShot,电调不会响应。

电源与安全开关部分需要重点关注。Pixhawk通过Power Module供电,同时测量电池电压和电流。电压分压比由BATT1_V_DIV参数决定,电流由BATT1_A_PER_V决定。如果这两个参数不对,地面站显示的电压电流就是错的,可能触发低电量返航甚至炸机。安全开关(Safety Switch)是Pixhawk的强制安全机制,按下后飞控才允许解锁电机。在调试阶段,可以通过COM_PREARM_MODE参数临时调整,但正式飞行必须保留。安全开关的LED状态:慢闪表示未解锁,常亮表示已解锁,快闪表示校准中。

外设扩展与接线调试是实际工程中最容易出问题的环节。接线前先确认接口类型:GPS接GPS口,I2C设备接I2C口,CAN设备接CAN口,不要混接。接线后通过QGroundControl的“传感器”页面检查:IMU是否显示三组数据、磁力计是否有读数、GPS是否搜到星。如果某个传感器不显示,先检查线序,再检查参数配置。例如外接磁力计不识别,可能是I2C地址冲突,需要修改CAL_MAG0_ID或调整总线。调试时建议用USB供电,先不接电池,避免误触发电机。

接线检查顺序建议:先看物理连接(插头方向、线序),再看参数配置(GPS_1_CONFIG、CAL_MAG0_ID),最后看日志(dmesg或QGC的MAVLink Console)。三步都过了再上电测试。

最后给出一个典型的Pixhawk 6C接线检查表,供实际调试时逐项核对:

检查项接口/参数正常表现
GPS模块GPS口,GPS_1_CONFIG=GPS1QGC显示卫星数≥6,HDOP<1.5
外接磁力计I2C口,CAL_MAG0_ID磁力计读数随转动变化
IMU冗余板载SPIQGC显示IMU0/1/2三组
PWM输出MAIN口,PWM_MAIN_RATE舵机/电调有响应
DShot输出AUX口,DSHOT_CONFIG电机转动无卡顿
电源模块BATT1_V_DIV / BATT1_A_PER_V电压显示与万用表一致
安全开关Safety Switch按下后LED常亮,可解锁

掌握这些硬件资源和接入方法后,后续的固件烧录、参数配置和飞行调试才有稳定的物理基础。实际工程中,80%的“飞控不工作”问题都出在接线和传感器识别上,而不是固件本身。先把这一节的内容做扎实,后面会省很多时间。