ArduPilot 支持 Holybro KakuteF7 飞控完整指南:引脚定义、UART 映射与 hwdef 配置解析

发布时间:2026/9/14 9:01:06
ArduPilot 支持 Holybro KakuteF7 飞控完整指南:引脚定义、UART 映射与 hwdef 配置解析 ArduPilot 支持 Holybro KakuteF7 飞控完整指南引脚定义、UART 映射与 hwdef 配置解析【免费下载链接】ardupilotArduPlane, ArduCopter, ArduRover, ArduSub source项目地址: https://gitcode.com/GitHub_Trending/ar/ardupilotHolybro KakuteF7 是一款搭载 STM32F745 的 FPV 四旋翼飞控分普通版与 AIOAll-In-One集成 OSD两种形态。本文以 ArduPilot 仓库中的板级支持文档 KakuteF7 README 为主线结合板级硬件定义文件 hwdef.dat 与引导程序定义 hwdef-bl.dat 的源码细节系统讲解该板的串口映射、RC 输入、FrSky 遥测、OSD、PWM 输出分组、电池监控以及固件加载流程。读完本文你将能完成 KakuteF7 的 ArduPilot 固件烧录与全部关键参数的配置。硬件特性概览根据官方板级文档KakuteF7 的核心硬件配置如下MCUSTM32F745 微控制器基于 ARM Cortex-M71MB FlashIMUICM20689六轴惯性测量单元气压计BMP280存储microSD 卡槽用于黑匣子日志记录OSDAT7456E仅 AIO 版板载串口6 路 UARTPWM 输出6 路该板由 Holybro 生产有两种变体一种是集成 OSD 的 AIOAll-In-One板另一种是更小的无 OSD 普通板。两种变体的串口资源Rn/Tn 标记完全一致差异主要体现在板载 OSD 与电机输出的集成度上AIO 版为 M1–M7 焊盘布局普通版外接电调。在 ArduPilot 源码中该板的板级 ID 定义于 Tools/AP_Bootloader/board_types.txtTARGET_HW_KAKUTEF7 123固件与引导程序均通过此 ID 标识硬件型号。引脚定义PinoutKakuteF7 普通版引脚图KakuteF7 AIO 版引脚图两块板子的引脚图均标注了 UART 收发焊盘Rn/Tn、电机输出焊盘M1–M6、I2C 引脚SDA/SCL、电源B、GND、5V、3V3、BOOT 按键、蜂鸣器Buz与 LED 等接口。其中 UART 焊盘按 RnUARTn 的接收脚和 TnUARTn 的发送脚命名例如 R1/T1 对应 UART1。UART 映射从板级文档可得到 ArduPilot 参数 SERIALn 与物理串口的对应关系ArduPilot 参数物理串口用途SERIAL0USB地面站 USB 连接SERIAL1UART1Telem1 遥测SERIAL2UART2Telem2 遥测SERIAL3UART3GPSSERIAL4UART4通用SERIAL5UART7ESC 遥测AIO 板四角各有 R7 焊盘SERIAL6UART6仅发送FrSky 遥测其中SERIAL5 端口UART7专用于 ESC 遥测在 KakuteF7 AIO 板的四个角上各有一个 R7 焊盘方便从任意电调接入遥测信号。从 hwdef.dat 可以看到串口在固件中的注册顺序注释特意说明将 USART3 排在第二位以与板面丝印顺序对应# order of UARTs (and USB), USART3 should be in second place to map order with the boards silk screen SERIAL_ORDER OTG1 USART1 USART2 USART3 UART4 UART7 USART6对应到源码引脚分配hwdef.datUSART1PA10 接收 / PA9 发送Telem1USART2PD6 接收 / PD5 发送Telem2USART3PB11 接收 / PB10 发送GPSUART4PA1 接收 / PA0 发送GPS2标注NODMAUART6PC7 接收 / PC6 发送可作 FPort 等协议备用UART7PE7 接收 / PE8 发送ESC 遥测RC 输入RC 输入默认配置在R6UART6_RX引脚上即 hwdef.dat 中的 PC7 引脚。该引脚默认以定时器捕获模式工作支持所有 RC 协议SBus、DSM、CRSF 等# RC input defaults to timer capture PC7 TIM8_CH2 TIM8 RCININT PULLDOWN同时源码还预留了备用配置——将 PC7 以复用功能ALT(1)切换为 USART6 接收用于需要串口式 RC 协议的场景如 FPort# alternative config using USART for protocols like FPort PC7 USART6_RX USART6 NODMA ALT(1) PC6 USART6_TX USART6 NODMA两种模式共用同一引脚通过 ArduPilot 的 RC 协议自动检测机制选择工作方式。FrSky 遥测FrSky 遥测使用T6 引脚UART6 发送。启用 FrSky S.PORT 需要设置以下参数SERIAL6_PROTOCOL 10FrSky D 模式 / S.PORT 遥测协议SERIAL6_OPTIONS 7使能该串口的反向输出等选项由于 UART6 的发送脚在硬件上支持反相输出S.PORT 为半双工反相信号所以无需额外硬件转换即可直连 FrSky 接收机的 S.PORT 脚。OSD 支持KakuteF7 AIO 版板载AT7456E OSD 芯片在 ArduPilot 中只需设置OSD_TYPE 1MAX7456 驱动从 hwdef.dat 可见 OSD 相关的固件配置默认启用 MAX7456 驱动、内置 OSD 字体ROMFS_WILDCARD libraries/AP_OSD/fonts/font*.bin并保留 MSP DisplayPortHAL_WITH_MSP_DISPLAYPORT 1以支持高清图传眼镜HD Goggle的 OSD 显示# setup for OSD define HAL_OSD_TYPE_DEFAULT 1 ROMFS_WILDCARD libraries/AP_OSD/fonts/font*.bin # make sure MSP HD Goggle support remains define HAL_WITH_MSP_DISPLAYPORT 1 define HAL_MSP_ENABLED 1PWM 输出与 DShotKakuteF7 支持最多6 路 PWM 输出M1–M6全部支持 DShot 以及所有 PWM 类型普通 PWM、OneShot、MultiShot 等。6 路输出分为 3 组PWM 1、2、3group1TIM1PWM 4、5group2TIM3PWM 6group3TIM5分组规则同一组内的通道必须使用相同的输出速率如果组内任一通道使用 DShot则整组所有通道都必须使用 DShot。在 hwdef.dat 中电机输出引脚分配如下PB1 TIM1_CH3N TIM1 PWM(1) GPIO(50) PE9 TIM1_CH1 TIM1 PWM(2) GPIO(51) PE11 TIM1_CH2 TIM1 PWM(3) GPIO(52) PB0 TIM3_CH3 TIM3 PWM(4) GPIO(53) PC9 TIM3_CH4 TIM3 PWM(5) GPIO(54) PA3 TIM5_CH4 TIM5 PWM(6) GPIO(55)可以看到 M1–M3 共用 TIM1group1M4–M5 共用 TIM3group2M6 单独使用 TIM5group3与文档描述完全一致。源码中还预留了 PWM7/PWM8PD12 为 LED 引脚、PD15 为蜂鸣器引脚但需注释掉对应功能后才能启用。另外引导程序定义 hwdef-bl.dat 中会将 6 路电机输出初始化为低电平保证上电时电调不会意外启动。电池监控该板内置电压与电流传感器电流传感器最大量程130 安培电压传感器支持最高6S LiPo 电池正确的电池参数设置如下参数值BATT_MONITOR4模拟电压电流BATT_VOLT_PIN13BATT_CURR_PIN12BATT_VOLT_MULT10.1BATT_AMP_PERVLT17.0这些默认值在 hwdef.dat 中已经以编译期默认参数的形式固化物理引脚为 PC3电压采样 ADC1与 PC2电流采样 ADC1PC3 BATT_VOLTAGE_SENS ADC1 SCALE(1) PC2 BATT_CURRENT_SENS ADC1 SCALE(1) define HAL_BATT_VOLT_PIN 13 define HAL_BATT_CURR_PIN 12 define HAL_BATT_VOLT_SCALE 10.1 define HAL_BATT_CURR_SCALE 17.0同时板上 PC5 还引出 RSSI 模拟输入BOARD_RSSI_ANA_PIN 15可接模拟 RSSI 信号用于图传信号强度监控。罗盘CompassKakuteF7 AIO没有板载罗盘但可以通过板上的SDA/SCL 焊盘以 I2C 方式外接罗盘。对应的硬件定义hwdef.dat做了两件事开启 I2C 总线上的外接罗盘探测并将默认安装方向AUTO_ROT设为 2即朝下安装# no built-in compass, but probe the i2c bus for all possible external compass types define AP_COMPASS_PROBING_ENABLED 1 define HAL_I2C_INTERNAL_MASK 0 define HAL_COMPASS_AUTO_ROT_DEFAULT 2板上的 I2C1 总线PB6 SCL / PB7 SDA同时挂载 BMP280 气压计地址 0x76并在固件中允许无气压计初始化HAL_BARO_ALLOW_INIT_NO_BARO。引导程序与固件加载Loading Firmware首次烧录DFU 模式首次加载固件时按住BOOT 按键的同时插入 USB进入 DFUDevice Firmware Upgrade模式。然后使用任意 DFU 烧录工具如dfu-util、STM32CubeProgrammer 或地面站自带的 DFU 工具加载with_bl.hex固件——该固件包含引导程序bootloader。后续升级地面站方式引导程序一旦烧录完成之后就可以使用任意 ArduPilot 地面站软件Mission Planner / QGroundControl通过 USB 或遥测链路更新固件此时应使用*.apj格式的固件文件。引导程序背后的源码细节hwdef-bl.dat 定义了引导程序专用配置与主固件的关键差异在于固件起始偏移FLASH_BOOTLOADER_LOAD_KB 96——引导程序把主固件放置在 96KB 偏移处对应主固件定义的FLASH_RESERVE_START_KB 96即保留前 2 个 Flash 扇区给引导程序Flash 总容量 1MBFLASH_SIZE_KB 1024外部晶振 8MHzOSCILLATOR_HZ 8000000并启用 32.768kHz 低速时钟STM32_LSECLK引导程序中即初始化 6 路电机输出为低电平并将 SD 卡、OSD、IMU 的片选CS引脚拉高防止外设在引导阶段被误触发板载 LED 作为引导程序状态指示HAL_LED_ON 0低电平点亮主固件 hwdef.dat 还引入了两个精简配置片段以节省 Flash 空间include ../include/minimize_fpv_osd.inc include ../include/no_bootloader_DFU.inc其中 minimize_fpv_osd.inc 是专为 FPV/OSD 用途的低 Flash 板提供的功能裁剪文件禁用光流AP_OPTICALFLOW_ENABLED 0、S.Bus 输出、发动机ICE驱动、高级失效保护AFS与精准降落PrecLand只保留 Quad/Hexa/Octa 机架类型与常用测距仪驱动等从而在 1MB Flash 内塞入完整 FPV 功能no_bootloader_DFU.inc则关闭部分冗余的 DFU 支持。同时固件显式只保留 BMP280 气压计后端AP_BARO_BMP280_ENABLED 1并保持外部气压计的 I2C 探测AP_BARO_PROBE_EXTERNAL_I2C_BUSES 1以支持后续自定义编译选项。从源码理解板级资源分配综合 hwdef.dat 的完整内容可以将该板的外设资源归纳为下表便于在排查配置问题时对照外设接口引脚 / 地址用途电机输出TIM1 / TIM3 / TIM5PB1、PE9、PE11、PB0、PC9、PA3M1–M6支持 DShotRC 输入TIM8_CH2默认/ USART6备用PC7全部 RC 协议FrSky 遥测USART6 TXPC6T6S.PORT需SERIAL6_PROTOCOL 10、SERIAL6_OPTIONS 7GPSUSART3PB10/PB11SERIAL3ESC 遥测UART7PE8/PE7SERIAL5AIO 板四角 R7 焊盘microSDSPI1PA4–PA7日志记录HAL_OS_FATFS_IO 1OSDSPI2PB12–PB15AT7456EOSD_TYPE 1IMUSPI4PE2、PE4–PE6ICM20689ROTATION_YAW_180气压计I2C1PB6/PB7地址 0x76BMP280电池电压/电流ADC1PC3 / PC2最高 130A、6SRSSIADC1PC5模拟 RSSII2C 罗盘I2C1SDA/SCL 焊盘外接罗盘其中 IMU 的安装方向在固件中已按ROTATION_YAW_180预置即 IMU 芯片相对飞控正面旋转 180° 安装这是飞控出厂已做好的硬件设计用户无需在参数中额外调整 IMU 方向。常见配置检查清单完成硬件接线后建议按以下顺序核对配置确认固件正确刷入 KakuteF7 对应的with_bl.hex首次或*.apj升级确保地面站识别的板型为 KakuteF7APJ 板 ID 123。检查传感器在初始设置向导中确认 IMUICM20689与气压计BMP280读数正常外接罗盘接入后确认罗盘方向默认 AUTO_ROT2。核对串口协议GPS 接 SERIAL3 设为SERIAL3_PROTOCOL 5GPSESC 遥测接 SERIAL5 设为SERIAL5_PROTOCOL 26ESC_TelemFrSky 接 SERIAL6 设为 10。设置电池参数如使用默认板载传感器确认BATT_MONITOR 4其余分压/分流系数可按实际电调与电池微调。电机输出测试确认电调信号线接到 M1–M6注意同组group1/group2/group3内的输出速率与 DShot 设置必须一致。OSD 验证AIO 版设置OSD_TYPE 1后进入 OSD 菜单检查叠加信息与字体是否正常。按照上述步骤即可完成 KakuteF7含 AIO 版在 ArduPilot 中的完整部署涵盖固件烧录、串口/遥测/OSD/电调与电池监控的全部配置。【免费下载链接】ardupilotArduPlane, ArduCopter, ArduRover, ArduSub source项目地址: https://gitcode.com/GitHub_Trending/ar/ardupilot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询