文档目录
文章目录
NxtPX4v2飞控用户手册
产品概览
NxtPX4v2 是由 HKUST Aerial Robotics / Nxt 系列硬件方案发展而来的紧凑型高性能飞控。它采用 STM32H743 主控、双 BMI088 IMU、SPL06 气压计和 microSD 存储,提供 7 组 UART、8 路 PWM、外部 I²C、外部 SPI 及独立 5 V / 12 V BEC。飞控同时支持 ArduPilot 与 PX4,适合对计算性能、冗余 IMU 传感器与开放硬件资源有要求的无人机项目。


核心特性
| 项目 | 规格 |
|---|---|
| 主控 | STM32H743VIH6,480 MHz,2 MB Flash |
| IMU | 双 BMI088 |
| 气压计 | SPL06 |
| 数据记录 | microSD 卡槽 |
| 串口 | 7 组 UART |
| 电机 / 舵机输出 | 8 路 PWM |
| 扩展总线 | 1 路外部 I²C、1 路外部 SPI、1 路 SWD |
| 模拟采样 | 2 路 ADC,用于电压与电流监测 |
| USB | USB Type-C |
| 稳压输出 | 5 V / 2.5 A、12 V / 2.5 A |
| 固件支持 | ArduPilot、PX4 |
| 安装孔距 | 20 × 20 mm,孔径约 3 mm |
| 外形尺寸 | 约 27 × 32 × 8 mm |
| 重量 | 约 6.5 g |
产品购买
硬件规格
处理器与传感器
STM32H743VIH6 提供 480 MHz 主频和 2 MB Flash。双 BMI088 为飞控提供两套惯性测量来源,可用于传感器一致性检查和冗余。SPL06 提供气压高度测量。
NxtPX4v2 无板载磁力计。需要航向信息时,应通过外部 I²C 连接带磁力计的 GPS 或独立磁力计。
接口与输出
- 7 组 UART:GPS、数传、数字图传、接收机、ESC 遥测等。
- 8 路 PWM:均可用于电机或舵机输出。
- 1 路外部 I²C:连接磁力计、空速计等传感器。
- 1 路外部 SPI:供高级扩展使用。
- 3 路 AUX GPIO:可用于自定义功能。
- 2 路 ADC:电压与电流采样。
- microSD:飞行日志记录。
- SWD:底层调试与恢复。
电源与结构
飞控提供 5 V / 2.5 A 与 12 V / 2.5 A 稳压输出。电源输入支持 3 - 6S。
尺寸与安装

安装建议:
- 使用 20 × 20 mm 软胶柱或减震安装结构。
- 按板载箭头安装;若旋转安装,必须在固件中设置正确朝向。
- 避免让 GPS 天线、电源线或数字图传天线紧贴 IMU 区域。
- 保留 USB Type-C 与 microSD 卡槽的维护空间。
- 双 IMU 能提高诊断能力,但不能替代合理的机械减震。
首次装机时拍摄清晰的飞控正面、背面和全部线束照片。之后若需要确认插头方向、线序或硬件版本,这些照片会非常有用。
接口与供电
接口定义

典型接线

接线原则:
- 外设
TX接飞控RX,外设RX接飞控TX。 - 所有串口外设必须与飞控共地。
- 主 GPS 连接 UART1;外置磁力计连接外部 I²C。
- DJI O3 连接 UART3 专用接口,接线前核对 12 V 与线序。
- SBUS 或 CRSF 接收机连接 UART5。
NxtPX4v2 的外设电源输出在仅连接 USB 时不会开启。若地面站能连接飞控但检测不到外置磁力计或其他外设,请先接入主电池,再连接 USB 检查。
串口映射
| ArduPilot 参数 | 硬件接口 | 默认 / 推荐用途 |
|---|---|---|
SERIAL0 | USB | USB 虚拟串口 |
SERIAL1 | UART2 | TELEM1 / 数传 |
SERIAL2 | UART4 | TELEM2 / 数传 |
SERIAL3 | UART1 | GPS1 |
SERIAL4 | UART3 | DJI O3 |
SERIAL5 | UART7 RX | ESC 遥测 |
SERIAL6 | UART5 | RC 输入 |
SERIAL7 | UART8 | TELEM3 / 其他串口设备 |
| PX4 设备名 | 硬件接口 | 默认 / 推荐用途 |
|---|---|---|
| USB | USB | USB 虚拟串口 |
GPS1 | UART1 | 主 GPS |
TELEM1 | UART2 | 数传 |
GPS2 | UART3 | DJI O3 / 第二 GPS,按机型配置 |
TELEM2 | UART4 | 数传 |
RC | UART5 | SBUS / CRSF 接收机 |
TELEM3 | UART7 | ESC 遥测或串口扩展 |
TELEM4 / SERIAL4 | UART8 | 数传或其他串口设备 |
PWM输出
NxtPX4v2 提供 8 路 PWM 输出,硬件定时器分组如下:
| 输出 | MCU 引脚 | 定时器 | 分组 |
|---|---|---|---|
| M1 | PE9 | TIM1_CH1 | 组 1 |
| M2 | PE11 | TIM1_CH2 | 组 1 |
| M3 | PE13 | TIM1_CH3 | 组 1 |
| M4 | PE14 | TIM1_CH4 | 组 1 |
| M5 | PB10 | TIM2_CH3 | 组 2 |
| M6 | PB11 | TIM2_CH4 | 组 2 |
| M7 | PB0 | TIM3_CH3 | 组 3 |
| M8 | PB1 | TIM3_CH4 | 组 3 |
- M1–M8 支持 DShot。
- ArduPilot 固件下 8 路输出均可支持双向 DShot。
- 同一分组内的通道通常应使用兼容的输出协议和频率。
接收机
UART5 是默认 RC 接口,支持 SBUS 与 CRSF 等串口接收机。
SBUS
- 信号线连接 UART5 RC 输入。
- 使用飞控提供的合适电源与 GND。
- ArduPilot 默认使用
SERIAL6_PROTOCOL=23。 - PX4 可使用
RC_INPUT_PROTO=Auto自动检测。
CRSF / ELRS
CRSF / ELRS 是双向高速协议,需要同时连接 UART5 TX 与 RX。
若接收机可以供电但没有通道数据,优先检查协议、TX/RX 方向和串口映射。
电池监测、磁力计与 I²C
电池监测
ArduPilot 固件的默认值如下:
| 参数 | 默认值 | 说明 |
|---|---|---|
BATT_MONITOR | 4 | 模拟电压与电流监测 |
BATT_VOLT_PIN | 4 | 电压采样通道 |
BATT_CURR_PIN | 8 | 电流采样通道 |
BATT_VOLT_MULT | 10.2 | 电压分压系数 |
BATT_AMP_PERVLT | 20.4 | 电流传感器换算系数 |
不同电源模块的电流传感器比例可能不同。应使用万用表和已知负载校准,而不是把其他飞控的比例直接复制过来。
外置磁力计
飞控本体没有磁力计,外置磁力计连接 I²C4:
SCL→ PD12SDA→ PD13
仅连接 USB 时,外部传感器可能没有供电。如果磁力计未被识别,请先接主电池使外设电源开启,再连接 USB 和地面站。
飞控固件
ArduPilot
- 官方硬件目标:
NxtPX4v2 - 从 ArduPilot 4.6.0 起进入官方硬件支持列表。
- 支持 Mission Planner、MicoConfigurator 在线烧录固件。
相关链接:
PX4
- PX4 板级目标:
hkust_nxt-dual - bootloader 目标:
hkust_nxt-dual_bootloader - 可以使用 MicoConfigurator 在线 DFU 烧录 PX4 固件。
从 PX4 源码构建默认固件:
make hkust_nxt-dual构建 bootloader:
make hkust_nxt-dual_bootloader相关链接:
常见问题
仅连接 USB 时检测不到外置磁力计
这是外设供电状态造成的常见现象。先接入主电池,使外部 5 V / 12 V 电源启用,再连接 USB 与地面站重新检测。
相关资源
附录 A:Pinout 引脚定义表
| 功能 | MCU 引脚 | 复用 / 说明 |
|---|---|---|
| USB DM | PA11 | OTG1 DM |
| USB DP | PA12 | OTG1 DP |
| USB VBUS 检测 | PD0 | USB 电源检测 |
| LED 红 | PD15 | 状态指示 |
| LED 绿 | PD11 | 状态指示 |
| LED 蓝 | PB15 | 状态指示 |
| GPS1 TX | PA9 | USART1_TX |
| GPS1 RX | PA10 | USART1_RX |
| TELEM1 TX | PD5 | USART2_TX |
| TELEM1 RX | PD6 | USART2_RX |
| DJI O3 TX | PD8 | USART3_TX |
| DJI O3 RX | PD9 | USART3_RX |
| TELEM2 TX | PB9 | UART4_TX |
| TELEM2 RX | PB8 | UART4_RX |
| RC TX | PB13 | UART5_TX |
| RC RX | PB12 | UART5_RX |
| SBUS 反相控制 | PD14 | SBUS_INV |
| ESC 遥测 RX | PE7 | UART7_RX |
| TELEM3 TX | PE1 | UART8_TX |
| TELEM3 RX | PE0 | UART8_RX |
| 内部 I²C SCL | PB6 | I²C1_SCL,板载气压计 |
| 内部 I²C SDA | PB7 | I²C1_SDA,板载气压计 |
| 外部 I²C SCL | PD12 | I²C4_SCL |
| 外部 I²C SDA | PD13 | I²C4_SDA |
| M1 | PE9 | TIM1_CH1 |
| M2 | PE11 | TIM1_CH2 |
| M3 | PE13 | TIM1_CH3 |
| M4 | PE14 | TIM1_CH4 |
| M5 | PB10 | TIM2_CH3 |
| M6 | PB11 | TIM2_CH4 |
| M7 | PB0 | TIM3_CH3 |
| M8 | PB1 | TIM3_CH4 |
| AUX1 | PA4 | GPIO 81 |
| AUX2 | PC1 | GPIO 82 |
| AUX3 | PC0 | GPIO 83 |
| 电压 ADC | PC4 | 电池电压采样 |
| 电流 ADC | PC5 | 电池电流采样 |
| microSD CLK | PC12 | SDMMC 时钟 |
| microSD CMD | PD2 | SDMMC 命令 |
| microSD D0 | PC8 | SDMMC 数据 |
| microSD D1 | PC9 | SDMMC 数据 |
| microSD D2 | PC10 | SDMMC 数据 |
| microSD D3 | PC11 | SDMMC 数据 |
| IMU1 SPI SCK | PA5 | SPI1_SCK |
| IMU1 SPI MISO | PA6 | SPI1_MISO |
| IMU1 SPI MOSI | PA7 | SPI1_MOSI |
| IMU1 陀螺仪 CS | PA3 | BMI088 片选 |
| IMU1 加速度计 CS | PA2 | BMI088 片选 |
| 外部 SPI SCK | PB3 | SPI3_SCK |
| 外部 SPI MISO | PB4 | SPI3_MISO |
| 外部 SPI MOSI | PB2 | SPI3_MOSI |
| IMU2 SPI SCK | PE2 | SPI4_SCK |
| IMU2 SPI MISO | PE5 | SPI4_MISO |
| IMU2 SPI MOSI | PE6 | SPI4_MOSI |
| IMU2 陀螺仪 CS | PC2 | BMI088 片选 |
| IMU2 加速度计 CS | PC13 | BMI088 片选 |
| SWDIO | PA13 | SWD 调试 |
| SWCLK | PA14 | SWD 调试 |

