X-MAV AP-H743v3 飞控硬件指南:基于 ArduPilot hwdef 的接口映射、参数配置与固件烧录全解析
【免费下载链接】ardupilotArduPlane, ArduCopter, ArduRover, ArduSub source项目地址: https://gitcode.com/GitHub_Trending/ar/ardupilot
导读
本文以 ArduPilot 仓库中 X-MAV-AP-H743v3 板级定义文档 为核心,结合同目录下 hwdef.dat、hwdef-bl.dat 与 defaults.parm 等板级配置源码,系统讲解 X-MAV AP-H743v3 飞控的硬件资源、串口/UART 映射、RC 输入、模拟 OSD 与 DisplayPort HD OSD 双路视频、PWM 输出分组、CAN 总线、电池监控与罗盘的默认参数,以及 DFU 首刷与地面站升级的完整流程。读完本文,你将能够依据板卡接口图完成装机接线,并正确配置 ArduPilot 固件的串口协议、电池参数与 OSD 模式。
一、板卡概述与核心特性
AP-H743v3 是 X-MAV 设计并生产的一款 ArduPilot 兼容飞控,面向多旋翼等航模应用。其核心特性如下:
- 主控:STM32H743 微控制器(Cortex-M7,主频高、双精度浮点,运算与传感器处理能力强)
- 双 IMU:BMI088(SPI)+ ICM45686(SPI),互为冗余备份
- 气压计:SPL06(hwdef.dat 中登记为
BARO SPL06 I2C:0:0x76) - 磁力计:QMC5883P(板载)
- OSD:AT7456E 模拟字符叠加芯片
- 电源输入:支持 2–8S(6–35V)锂电池
- BEC:12V 2A 与 5V 2A 双路输出
- 存储:MicroSD 卡槽
- 外设接口:8 路 UART、8 路 PWM 输出、2 路 CAN、1 路 I2C 总线(2 个接口)、1 个 SWD 调试口
从板级定义文件可以进一步确认芯片级信息:hwdef.dat 中声明了MCU STM32H7xx STM32H743xx、8MHz 外部晶振(OSCILLATOR_HZ 8000000)、2048KB Flash(保留起始 128KB 给引导程序)、32768 字节参数存储区(HAL_STORAGE_SIZE)以及对应 board_types.txt 中登记的唯一板卡 IDAP_HW_X-MAV-AP-H743V3 = 1220。
二、物理接口与机械规格
2.1 板卡接口总览
板卡的顶部与底部接口分布如下图所示:
2.2 机械尺寸
- 安装孔距:30.5 × 30.5 mm,孔径 Φ4mm(标准 30.5mm 飞控安装孔位,兼容常见机架减震板)
- 外形尺寸:36 × 36 × 8 mm
- 重量:约 9g
2.3 供电与 BEC
板卡支持 2–8S(6–35V)宽压输入,并提供:
- 12V 2A BEC:用于 FPV 摄像头、模拟图传等 12V 外设供电
- 5V 2A BEC:用于接收机、外设等 5V 外设供电
需要特别注意的是,DJI Air Unit / HD VTX 接口上的 12V 引脚位于该连接器最右侧,切勿将其接入 5V 外设,以免烧毁设备。
三、UART 映射与串口默认协议
AP-H743v3 提供 8 个串口(USB 计入 SERIAL0),各串口默认用途如下:
| Serial# | 协议 | 端口 | 说明 |
|---|---|---|---|
| SERIAL0 | MAVLink2 | USB | 地面站/数传 |
| SERIAL1 | MAVLink2 | USART2 | DMA 使能 |
| SERIAL2 | MAVLink2 | UART4 | DMA 使能 |
| SERIAL3 | GPS | USART1 | DMA 使能,接 GPS/罗盘模块 |
| SERIAL4 | None(用户自定义) | USART6 | DMA 使能 |
| SERIAL5 | None(用户自定义) | UART8 | DMA 使能 |
| SERIAL6 | MSP DisplayPort | USART3 | DMA 使能,DJI O3 / HD VTX |
| SERIAL7 | RCIN | UART5 | DMA 使能,RC 接收机输入 |
| SERIAL8 | ESC Telemetry | UART7 | 仅 RX7,位于 ESC 连接器上 |
上述默认协议在 hwdef.dat 中通过DEFAULT_SERIALx_PROTOCOL宏定义固化,对应的协议枚举值可在 AP_SerialManager.h 中查到:
SerialProtocol_None = -1(SERIAL4/SERIAL5 默认关闭,可由用户自定义)SerialProtocol_ESCTelemetry = 16(SERIAL8 默认 ESC 遥测)SerialProtocol_RCIN = 23(SERIAL7 默认 RC 输入)SerialProtocol_MSP_DisplayPort = 42(SERIAL6 默认 DisplayPort)
串口物理引脚在 hwdef.dat 中有明确分配,例如 SERIAL3/GPS 使用 USART1(PA9 TX / PA10 RX)、SERIAL6 使用 USART3(PD8 TX / PD9 RX)、SERIAL7 使用 UART5(PB13 TX / PB12 RX)、SERIAL8 使用 UART7 的 RX7(PE7)。所有串口均启用 DMA 传输,可有效降低 CPU 占用、提升高速率下的稳定性。
四、RC 输入配置
板卡的默认 RC 输入配置在 UART5(SERIAL7)上,支持除 PPM 之外的所有 RC 协议(如 SBUS、DSM、CRSF、FPort 等)。SBUS 引脚为反相输入,连接到 RX5(PB12)。
接线注意事项:
- 使用RX5 或 SBUS时,另一个输入应保持悬空不连接;
- RC 接收机也可接到任意其他 UART 端口,前提是:
- 将该串口的
SERIALn_PROTOCOL设置为23(RCIN); - 将
SERIAL7_PROTOCOL改为非23的值,避免冲突。
- 将该串口的
五、OSD 双路视频系统
AP-H743v3 同时支持两路视频叠加输出:
- 板载模拟 OSD:基于 MAX7456 芯片(hwdef.dat 中登记为 AT7456E),通过 SPI3 挂载(
SPIDEV osd SPI3 DEVID5 AT7456E_CS MODE0 10*MHZ),用于模拟摄像头信号的字符叠加; - DisplayPort HD OSD:位于 DJI 连接器上,用于 DJI 高清图传系统,协议默认 DisplayPort(
OSD_TYPE2 5,见 defaults.parm)。
两路 OSD 可以同时工作互不干扰。板卡还提供了专用连接器:
- FPV Camera(12V、GND、VIDEO-IN):模拟摄像头输入到板载 OSD;
- VTX(Analog)(12V、GND、VIDEO-OUT):模拟视频输出到外部图传。
这两个连接器固定在 12V 供电轨上,不受 GPIO 继电器控制,即无法通过遥控通道开关其电源。
hwdef.dat 中通过define OSD_ENABLED 1、define HAL_OSD_TYPE_DEFAULT 1启用板载 OSD,并通过ROMFS_WILDCARD libraries/AP_OSD/fonts/font*.bin将字体文件打包进固件。
六、VTX 支持(DJI Air Unit / HD VTX)
SH1.0-6P 连接器支持 DJI Air Unit / HD VTX 连接,协议默认 DisplayPort(复用 SERIAL6/USART3 的 RX3、TX3)。
从元件面从左到右的物理针脚顺序为:
SBUS, GND, RX3, TX3, GND, 12V
注意:12V 电源在最右侧(顺序中的最后一脚),接线时务必确认方向,切勿将 12V 接到 5V 外设。
七、PWM 输出与 DShot
AP-H743v3 支持最多 8 路 PWM 输出,全部通道支持DShot 和 BiDir DShot(双向 DShot,可回传电调遥测)。输出按定时器分组,同一组内的输出必须使用相同的输出协议:
- Group 1:通道 1、2、3、4(TIM1:PE9/PE11/PE13/PE14)
- Group 2:通道 5、6(TIM3:PB0/PB1)
- Group 3:通道 7、8(TIM2:PB10/PB11)
分组关系在 hwdef.dat 中有清晰定义,其中通道 1、3、5、7 标注了BIDIR属性,配合支持双向 DShot 的电调即可回传 RPM 等遥测数据。
若需使用 ESC 遥测,可配置 SERIAL8(UART7 RX7,位于 ESC 连接器上)为 ESC Telemetry 协议(协议值 16),读取电调回传的电压、电流、温度与 RPM 信息。
八、CAN 总线
板卡提供两路 CAN 总线接口:
- CAN1:PD0(RX)、PD1(TX)
- CAN2:PB5(RX)、PB6(TX)
两路 CAN 均通过板卡底部接口的专用连接器引出。CAN 总线常用于连接 GPS/罗盘模块、DroneCAN 电调遥测或其他 CAN 外设(如 CAN 协议的空速计、测距仪等)。
九、电池监控与电流传感器
板卡内置电压传感器,并在 ESC 连接器上提供外部电流传感器输入接口。电压传感器最高支持 8S 锂聚合物电池(约 33.6V)。
9.1 默认电池参数
BATT_MONITOR 4(模拟电压/电流监控)BATT_VOLT_PIN 4(ADC4,对应 PC4,见 hwdef.datBATT_VOLTAGE_SENS ADC1 SCALE(1))BATT_CURR_PIN 8(ADC8,对应 PC5,见 hwdef.datBATT_CURRENT_SENS ADC2 SCALE(1))BATT_VOLT_MULT 12.11BATT_AMP_PERVLT 20.4
这些默认值在 hwdef.dat 中对应HAL_BATT_VOLT_SCALE 12.11与HAL_BATT_CURR_SCALE 20.4编译期宏,并最终映射为 AP_BattMonitor_Analog.cpp 中的BATT_VOLT_PIN/BATT_CURR_PIN参数默认值。
9.2 校准提示
上述倍率只是起始值。由于电流传感器是外置的(位于 ESC 连接器上),不同电流传感器的特性各异,装机后必须根据实测校准:
BATT_VOLT_MULT:用万用表测量电池实际电压,调整该值使地面站显示的电压与实测一致;BATT_AMP_PERVLT:结合已知负载电流校准,使电流读数与实际消耗一致。
校准方法可参考 ArduPilot 官方电池校准流程(使用BATT_AMP_PERVLT与BATT_VOLT_MULT参数进行两点校准)。
十、罗盘(磁力计)
板卡内置 QMC5883P 磁力计,通过 I2C 挂载。hwdef.dat 中的定义为:
COMPASS QMC5883P I2C:ALL_EXTERNAL:0x2C true ROTATION_NONE COMPASS QMC5883P I2C:ALL_INTERNAL:0x2C false ROTATION_PITCH_180即同时声明了内部与外部两种安装位置的探测配置。由于机架电流、电机磁场等因素的干扰,建议搭配外置 GPS/罗盘模块(通过 SDA/SCL 焊盘连接 I2C 总线)使用,以获得更稳定的航向数据。板卡提供两条 I2C 总线:I2C1(PB8/PB9,挂载气压计)与 I2C4(PD12/PD13,外接连接器)。
十一、存储与数据记录
板卡通过 SDMMC1 驱动 MicroSD 卡(PC8–PC12/PD2),并启用 FAT 文件系统支持(HAL_OS_FATFS_IO 1)。启用后可在任务结束后将黑匣子数据(DataFlash/AP_Logger)记录到 SD 卡,便于用 Mission Planner 等工具进行日志分析。此外,引导程序还启用了从 SD 卡刷写固件的能力(AP_BOOTLOADER_FLASH_FROM_SD_ENABLED 1,见 hwdef-bl.dat)。
十二、加载固件(DFU 首刷与升级)
12.1 首次刷写(Bootloader + 固件)
首次刷写必须通过DFU 模式进行:
- 按住板卡上的Boot 按钮,同时用 USB 连接电脑;
- 使用STM32CubeProgrammer或任意 DFU 工具;
- 刷入
X-MAV-AP-H743v3_bl.bin文件(Bootloader)。
注意:必须使用.bin文件,不要使用.hex文件,因为dfu-util无法解析 hex 格式。
固件可在 ArduPilot 固件服务器(firmware.ardupilot.org)的X-MAV-AP-H743v3目标下获取。首次刷写的流程对应 hwdef-bl.dat 的引导程序布局:引导程序从 Flash 零偏移安装(FLASH_RESERVE_START_KB 0),并将固件放置于偏移 128KB 处(FLASH_BOOTLOADER_LOAD_KB 128)。
12.2 后续升级
完成首次 bootloader/固件刷写后,即可使用任意 ArduPilot 地面站软件(如 Mission Planner、QGroundControl),通过*.apj固件文件在线升级,无需再进入 DFU 模式。
十三、装机参考接线图
以下接线图展示了板卡正面与背面的推荐接线方式,覆盖电源、电机电调、接收机、GPS、FPV 摄像头、图传等主要外设的接法:
十四、总结
X-MAV AP-H743v3 是一块资源完整、面向 FPV 多旋翼应用的 ArduPilot 飞控:STM32H743 主控搭配双 SPI IMU 冗余、板载模拟 OSD 与 DJI DisplayPort HD OSD 双路输出、8 路全 DShot(含 BiDir)PWM、8 路 UART、双 CAN 总线以及完善的电池监控。装机时只需按本文档的 UART 映射表核对接线、按分组约束配置电机协议,并完成BATT_VOLT_MULT与BATT_AMP_PERVLT的电压电流校准,即可快速进入调参试飞阶段。相关板级配置全部收录于 libraries/AP_HAL_ChibiOS/hwdef/X-MAV-AP-H743v3/ 目录,可随时查阅原始 hwdef 定义以确认每个引脚的复用关系。
【免费下载链接】ardupilotArduPlane, ArduCopter, ArduRover, ArduSub source项目地址: https://gitcode.com/GitHub_Trending/ar/ardupilot
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考