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,这是初学者最容易接反的地方。
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供电,先不接电池,避免误触发电机。
最后给出一个典型的Pixhawk 6C接线检查表,供实际调试时逐项核对:
| 检查项 | 接口/参数 | 正常表现 |
|---|---|---|
| GPS模块 | GPS口,GPS_1_CONFIG=GPS1 | QGC显示卫星数≥6,HDOP<1.5 |
| 外接磁力计 | I2C口,CAL_MAG0_ID | 磁力计读数随转动变化 |
| IMU冗余 | 板载SPI | QGC显示IMU0/1/2三组 |
| PWM输出 | MAIN口,PWM_MAIN_RATE | 舵机/电调有响应 |
| DShot输出 | AUX口,DSHOT_CONFIG | 电机转动无卡顿 |
| 电源模块 | BATT1_V_DIV / BATT1_A_PER_V | 电压显示与万用表一致 |
| 安全开关 | Safety Switch | 按下后LED常亮,可解锁 |
掌握这些硬件资源和接入方法后,后续的固件烧录、参数配置和飞行调试才有稳定的物理基础。实际工程中,80%的“飞控不工作”问题都出在接线和传感器识别上,而不是固件本身。先把这一节的内容做扎实,后面会省很多时间。