PX4 Autopilot CUAV X25-MEGA 飞控详解:硬件规格、接口映射与固件构建
2026/9/24 16:01:23 网站建设 项目流程
  • 嵌入式
  • 物联网
  • 机器人
  • 自动驾驶
  • 智能硬件

【免费下载链接】PX4-Autopilot

PX4 Autopilot Software

项目地址:https://gitcode.com/gh_mirrors/px/PX4-Autopilot
点击查看免费下载

CUAV X25-MEGA 是 CUAV 推出的高端自动驾驶仪,面向商业系统集成、学术研究等场景设计,并从 PX4 v1.18 起获得官方支持。本文以 PX4 Autopilot 仓库中的 cuav_x25-mega.md 为主线,结合 boards/cuav/x25-mega 下的板级源码(默认配置、传感器初始化脚本、定时器映射、PWM 电压切换模块等),完整梳理该飞控的硬件规格、电气特性、接口引脚、串口映射、PWM 输出能力、冗余供电机制以及固件构建与调试方法,帮助开发者在选购、接线、装机与二次开发时快速上手。

说明:PX4 官方不生产该(或任何)飞控硬件,硬件支持与合规性问题请直接联系制造商 CUAV类别,即固件与驱动由 PX4 社区提供,硬件问题由厂商负责。

核心特性总览

X25-MEGA 的定位是"在每个维度都提供极致性能、稳定性与可靠性"的高端飞控,其核心特性包括:

  • Arm® Cortex-M7® 处理器(STM32H743XI),带浮点运算单元(FPU),主频 480MHz,内置 2MB Flash,可承载更复杂的算法与模型,提升开发效率。
  • 车规级 RM3100 磁力计,稳定性和抗干扰能力更佳。
  • 三冗余 IMU + 双冗余气压计,分布于独立总线上;PX4 检测到传感器故障时会无缝切换至另一颗传感器,维持飞行控制可靠性。
  • 独立 LDO 电源控制为每组传感器供电;减振系统过滤高频振动、降低噪声,保证测量精度,从而提升整机飞行性能。
  • 集成 Microchip Ethernet PHY,支持通过以太网与机载电脑等设备高速通信。
  • 双温度补偿系统分别位于 IMU 板与 FMU 板上,通过板载加热电阻将 IMU 控制在最佳工作温度。
  • PWM 舵机输出电平可在 3.3V 与 5V 之间切换
  • 模块化设计,便于 DIY 载板。

这些特性在板级配置中均有对应实现:例如以太网、温度补偿、PWM 电压切换等都在 boards/cuav/x25-mega/init/rc.board_defaults 启动脚本中显式启用(详见下文各小节),而三冗余 IMU 与双气压计的驱动则在 boards/cuav/x25-mega/init/rc.board_sensors 中完成初始化。

处理器与传感器配置

主处理器

项目规格
主控芯片STM32H743XI
内核32 位 Arm® Cortex®-M7,480MHz
存储2MB Flash,1MB RAM

在 boards/cuav/x25-mega/nuttx-config/include/board.h 中可以看到该芯片的时钟配置:外部 16MHz 晶振(HSE),经 PLL1(16MHz/1 × 60 = 960MHz VCO,PLL1P 分频 2)得到SYSCLK/CPUCLK = 480MHz,AHB 时钟(HCLK)240MHz,APB1/APB2 各 120MHz,Flash 等待周期配置为 2。

板载传感器

类型型号挂载总线(据 rc.board_sensors)
Accel/GyroADIS16607SPI1(总线 1,片选 1)
Accel/GyroIIM42652SPI(总线 2,片选 2,ODR 32768Hz)
Accel/GyroIIM42653SPI5(总线 5,片选 12)
MagnetometerRM3100I2C(总线 4)
BarometerBMP581I2C(总线 4)
BarometerICP-20100I2C(总线 4)

三颗 IMU 分别挂载在不同的 SPI 总线上,两颗气压计与磁力计共享 I2C 总线 4,这正是"三冗余 IMU 与双冗余气压计分布在独立总线"的源码级体现。板级传感器初始化脚本 boards/cuav/x25-mega/init/rc.board_sensors 中的实际启动命令为:

adis16607 -s -b 1 start iim42652 -s -b 2 -R 2 -C 32768 start iim42653 -s -b 5 -R 12 start rm3100 -s -b 4 start bmp581 -s -b 4 start icp201xx -I -b 4 start

此外,GPS1 端口(I2C1 总线)默认还启动一颗外部磁力计ist8310 -X -b 1 -R 10 start,用于兼容 Holybro Pixhawk 4 或 CUAV V5 的 GPS/罗盘模块(带灯、安全开关与蜂鸣器)。

电气数据

项目数值
输入电压10~18V
USB 供电输入4.75~5.25V
舵机供电轨输入0~9.9V
总输出最大电流10A
TELEM1/TELEM2输出限流4A
CAN1/CAN2输出限流2.4A
其他端口输出限流1.5A

从 default.px4board 可以看到,电源监控驱动默认同时启用了CONFIG_DRIVERS_POWER_MONITOR_INA226INA228INA238三种数字电源监控芯片驱动(实际运行哪一颗由参数SENS_EN_INA226/INA228/INA238决定,板级默认值为 0,见下文"供电与电压监控")。

接口一览

X25-MEGA 提供了非常丰富的外设接口:

  • 16 路 PWM 舵机输出
  • 1 路专用 R/C 输入(RC IN,支持 Spektrum / DSM 与 S.Bus
  • 1 路模拟/PWM RSSI 输入
  • 2 路 TELEM 端口(带完整流控)
  • 1 路 UART4 端口
  • 2 路 GPS 端口:GPS1 为完整 GPS + 安全开关端口,GPS2 为基本 GPS 端口(带 I2C)
  • 1 路 USB 端口(TYPE-C)
  • 1 路以太网端口:无变压器(Transformerless)应用,100Mbps
  • 3 路 I2C 总线端口
  • 1 路 SPI 总线:含 1 路片选线、1 路数据就绪线、1 路 SPI 复位线
  • 5 路 CAN 端口:3 路 CAN1 总线复用端口 + 2 路 CAN2 总线复用端口
  • 2 路电源输入端口:DroneCAN/UAVCAN 电源输入
  • 2 路 AD 端口:3.3V 模拟输入、6.6V 模拟输入(暂不支持)
  • 1 路专用调试端口:FMU Debug

以太网接口在板级配置中对应CONFIG_BOARD_ETHERNET=y(default.px4board),PHY 为 TI DP83848TSQ/NOPB(RMII 模式,PHY 地址 1,见 nuttx-config/include/board.h 中GPIO_ETH_RMII_*引脚定义)。

机械尺寸

购买渠道

可通过 CUAV 官方商店 购买。

组装与接线

X25-MEGA 的整机接线请参考官方《X25 MEGA Wiring Quick Start》,其中详细说明了 GPS、电源模块等关键外设的组装步骤:quick_start_cuav_x25_evo.md。

引脚定义(Pinouts)

接线前务必以官方引脚图为准,两张高清引脚图分别覆盖板卡两侧接口:

PWM 输出

X25-MEGA 支持16 路 FMU PWM 输出(MAIN)。输出能力如下:

  • 输出 1-8 支持 DShot;
  • 输出 9-16 不支持 DShot;
  • 输出 1-7 支持 双向 DShot(Bidirectional DShot);
  • 输出 8 仅支持双向 DShot 输出(无 eRPM 回传捕获)。

16 路输出分为 5 个组:

输出组输出通道定时器
group1输出 1-4Timer5
group2输出 5-8Timer4
group3输出 9-11Timer1
group4输出 12-14Timer8
group5输出 15-16Timer12

同一组内的所有输出必须使用相同的输出协议与速率。

从源码 boards/cuav/x25-mega/src/timer_config.cpp 可以看到定时器与通道的完整分配:Timer5_CH4/CH3/CH2/CH1对应 FMU_CH1-CH4(PI0/PH12/PH11/PH10),Timer4_CH2/CH3/CH1/CH4对应 FMU_CH5-CH8(PD13/PD14/PD12/PD15),而Timer1Timer8Timer12的 8 个通道在板级定义为捕获通道(FMU_CAP1-CAP8,即 PE11/PE9/PJ9/PI6/PI7/PI5/PH6/PH9)。这解释了为什么输出 9-16 不支持 DShot:它们复用自捕获定时器通道,不具备完整 DShot 信号输出能力;而输出 8(Timer4_CH4)仅支持单向的双向 DShot 输出、无法回传 eRPM,也与之对应。

PWM 输出电压切换(3.3V / 5V)

PWM 舵机输出电平可在 3.3V 与 5V 之间切换,由参数PWM_VOLT_SEL控制(pwm_voltage/parameters.yaml):

  • 0:3.3V(默认)
  • 1:5.0V

修改该参数后需要重启reboot_required: true)才会生效。其底层实现见 pwm_voltage/pwm_voltage.cpp:pwm_voltage_apply模块在启动时读取PWM_VOLT_SEL,非零则调用PWM_5V_VOLT_SEL(true)切到 5V,否则切到 3.3V。板级默认启动脚本 rc.board_defaults 中已加入pwm_voltage_apply start

串口映射

X25-MEGA 的串口映射如下表(设备路径与 PX4 参数SERIAL_*_CONFIG中的设备号对应):

UART设备端口
USART1/dev/ttyS0GPS1
USART2/dev/ttyS1GPS2
USART3/dev/ttyS2Debug Console
UART4/dev/ttyS3UART4
UART5/dev/ttyS4TELEM2
USART6/dev/ttyS5RC IN
UART7/dev/ttyS6TELEM1

该映射与板级配置文件一致:default.px4board 中声明了CONFIG_BOARD_SERIAL_GPS1="/dev/ttyS0"GPS2="/dev/ttyS1"TEL1="/dev/ttyS6"TEL2="/dev/ttyS4"EXT2="/dev/ttyS3"。对应的 USART 引脚复用(AF 映射)定义在 nuttx-config/include/board.h 中,例如 USART1(GPS1)使用 PB6/PB7,UART7(TELEM1)使用 PE8/PF6 并带 RTS/CTS 流控(PF8/PE10)。

RC 输入

RC IN引脚直接连接到 FMU 的UART6 TX,这意味着遥控接收机信号经串口透传到 FMU。板级对应CONFIG_DRIVERS_RC_INPUT=y(default.px4board),USART6 的 RX/TX 引脚复用为 PC7/PC6(见 board.h)。

供电冗余与电压监控

X25-MEGA 在提供三路电源时可以实现三重供电冗余。三路电源轨分别为POWER C1POWER C2USB

  • POWER C1POWER C2是 DroneCAN/UAVCAN 电池接口。

正常工作最大额定条件下,系统按以下优先级使用各路电源:

  1. POWER C1 / POWER C2 输入(10V ~ 18V)
  2. USB 输入(4.75V ~ 5.25V)

电压监控:默认启用数字式 DroneCAN/UAVCAN 电池监控。

在板级层面,rc.board_defaults 设置了UAVCAN_SUB_GPS 1UAVCAN_SUB_BAT 1,即默认订阅 DroneCAN/UAVCAN 的 GPS 与电池数据;同时SENS_EN_INA226/INA228/INA238三个数字电源监控参数的板级默认值均为 0(关闭),需要时可在 rc.board_sensors 对应的条件分支中手动开启(ina226 -X -b 1 -t 1 -k start等命令),并按 MFT 检测结果决定是否启动第二路电源监控器(HAVE_PM2)。

温度补偿(双加热系统)

双温度补偿系统是 X25-MEGA 的重要特性之一:加热电阻分别位于 IMU 板与 FMU 板上,将 IMU 维持在最适宜的工作温度。板级默认配置(rc.board_defaults)为:

param set-default SENS_EN_THERMAL 1 param set-default HEATER1_SENS_ID 6029322 param set-default HEATER1_TEMP 45 param set-default HEATER2_SENS_ID 3014698 param set-default HEATER2_TEMP 45

其中HEATER1_SENS_ID 6029322对应挂载在 SPI1 上的 ADIS16607,HEATER2_SENS_ID 3014698对应挂载在 SPI5 上的 IIM42653,目标温度均设为 45°C。这与 default.px4board 中CONFIG_DRIVERS_HEATER=yCONFIG_MODULES_TEMPERATURE_COMPENSATION=y相互印证。

构建固件

::: tip 从 PX4 v1.18 起,绝大多数用户无需自行构建该飞控的固件:当检测到对应硬件连接时,QGroundControl会自动安装预编译固件。 :::

如需手动构建 PX4,请先参考构建 PX4 固件完成环境准备,然后执行:

make cuav_x25-mega_default

构建目标与板级源码一一对应:目标目录为 boards/cuav/x25-mega,默认配置由 default.px4board 定义(STM32H7 架构、arm-none-eabi工具链,包含 Ethernet、UAVCAN、DShot、GPS、双气压计、三 IMU、INA 电源监控、加热器等驱动的完整模块集)。固件原型描述见 firmware.prototype,其board_id7004,最大镜像尺寸 1966080 字节(约 1.875MB),QGroundControl 依据该 ID 识别硬件并匹配固件。板载 bootloader 固件存放于 boards/cuav/x25-mega/extras/cuav_x25-mega_bootloader.bin。

调试端口(FMU Debug)

PX4 系统控制台(System Console)与 SWD 调试接口(SWD Debug)均通过FMU Debug端口工作。引脚定义如下:

引脚信号电压
1(红)5V++5V
2(黑)DEBUG TX (OUT)+3.3V
3(黑)DEBUG RX (IN)+3.3V
4(黑)FMU_SWDIO+3.3V
5(黑)FMU_SWCLK+3.3V
6(黑)GNDGND

支持的机型与机架

X25-MEGA 适用于任何可使用普通 RC 舵机或 Futaba S-Bus 舵机控制的多旋翼、固定翼、无人车(rover)或无人船(boat)。完整的支持配置列表请查阅机架参考(Airframes Reference)。

进一步阅读

  • 更多硬件文档与使用说明可参考 CUAV 官方文档。
  • 本仓库内的相关板级源码:板级默认参数 init/rc.board_defaults、传感器初始化 init/rc.board_sensors、默认构建配置 default.px4board、定时器/PWM 映射 src/timer_config.cpp。
  • 嵌入式
  • 物联网
  • 机器人
  • 自动驾驶
  • 智能硬件

【免费下载链接】PX4-Autopilot

PX4 Autopilot Software

项目地址:https://gitcode.com/gh_mirrors/px/PX4-Autopilot
点击查看免费下载

相关推荐

上一篇:如何快速修复Visual C++运行库:告别软件崩溃的终极指南
下一篇:Visual C++运行库一键修复工具:告别DLL错误的终极解决方案

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询