news 2026/9/14 18:50:49

基于 ArduPilot 的 Diatone Mamba Basic F405 飞控板配置指南:硬件定义、引脚映射与固件烧录

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于 ArduPilot 的 Diatone Mamba Basic F405 飞控板配置指南:硬件定义、引脚映射与固件烧录

基于 ArduPilot 的 Diatone Mamba Basic F405 飞控板配置指南:硬件定义、引脚映射与固件烧录

【免费下载链接】ardupilotArduPlane, ArduCopter, ArduRover, ArduSub source项目地址: https://gitcode.com/GitHub_Trending/ar/ardupilot

本篇技术指南以 ArduPilot 仓库中 Mamba Basic F405 飞控板的硬件定义文档为核心,系统讲解 Diatone Mamba Basic F405(20x20 与 30x30 两种尺寸)的板载资源、UART 映射、RC 输入、PWM 输出、电池监控参数、外接罗盘以及 DFU 固件加载流程。读完本文,你将能够根据libraries/AP_HAL_ChibiOS/hwdef/MambaF405US-I2C/下的硬件定义文件,正确接线、配置参数并完成首次固件刷写与后续更新。

板卡概述与硬件特性

Mamba Basic F405 系列飞控由 Diatone 生产,ArduPilot 官方为其维护了独立的硬件定义目录 libraries/AP_HAL_ChibiOS/hwdef/MambaF405US-I2C/,涵盖 30x30(Basic F405 MK3 Lite)与 20x20(Basic F405 Mini MK3.5)两种安装孔位规格。

根据 README.md 与 hwdef.dat,该板卡的核心特性如下:

| 特性 | 规格 | | :- | :- | | 主控 MCU | STM32F405RGT6(Cortex-M4F,1MB Flash / 192KB RAM) | | IMU | MPU6000(通过 SPI1 挂载,ROTATION_YAW_90安装朝向) | | OSD | AT7456E(通过 SPI2 挂载,MAX7456 驱动) | | 串口 | 4 个 UART(另含 USB 虚拟串口) | | PWM 输出 | 4 路(ESC1~ESC4),支持 DShot 及全部 PWM 类型 | | 电压/电流传感 | 板载,最高支持 6S LiPo |

从 hwdef.dat 可以看到,板卡标识APJ_BOARD_ID AP_HW_MAMBABASICF4,对应 bootloader 板卡 ID 1038(见 Tools/AP_Bootloader/board_types.txt)。晶体频率为 8MHz,I2C 总线顺序为 I2C1,串口顺序(含 USB)为OTG1 USART1 USART2 USART3 UART4 UART5 USART6,与板上丝印标注顺序一致。

引脚图与引脚布局

Mamba Basic F405 的 20x20 与 30x30 两个版本各有独立的引脚图,原文档分别给出了对应图片,可直接对照实物接线:

引脚图中标有电源(3V3/5V/GND/5V-IN)、UART(TXn/RXn)、PWM/ESC(RC、SERVO、CAM)、USB Type-C(含 BOOT 按键)以及外接 GPS、接收机、图传等外设接口。20x20 版本偏重基础功能(如 MAMBA MSR 接收机、摄像头),30x30 版本额外提供了更丰富的 LED/图传扩展接口,适合挂载更多外设。

UART 映射

Mamba Basic F405 的 UART 以 Rn / Tn 丝印标注,其中 Rn 为 UARTn 的接收引脚(RX),Tn 为发送引脚(TX)。出厂默认的串口功能映射如下:

| 名称 | 引脚 | 功能 | | :- | :- | :- | | SERIAL0 | COMPUTER | USB | | SERIAL1 | PPM/RX1/SBUS/TX1 | UART1(RC 输入) | | SERIAL2 | TX2/RX2 | UART2(空) | | SERIAL3 | TX3/RX3 | UART3(Telem1) | | SERIAL4 | TX4/RX4 | UART4(空) | | SERIAL6 | TX6/RX6 | UART6(GPS) |

在 hwdef.dat 中可以看到各 UART 的实际引脚分配:USART1 接 SBUS/PPM 输入,USART2/3、UART4、UART5、USART6 均被分配,其中 UART4(PA0/PA1)与 UART5(PC12/PD2)标记为NODMA,即在 DMA 资源受限时仍可保证收发可用。USB 使用 PA11/PA12(OTG_FS),VBUS 检测接 PC5。

实际使用中,SERIAL3(USART3)默认作为第一遥测口,SERIAL6(USART6)默认作为 GPS 口,SERIAL2、SERIAL4 可根据需要在地面站中重新指定功能(如数传、OSD、外接传感器等)。

RC 输入

RC 输入配置在 PPM(UART1_RX)引脚上,支持所有 RC 协议(SBUS、IBUS、DSM、CRSF 等)。

从 hwdef.dat 的源码细节可以看到:

  • 默认情况下PB7 TIM4_CH2 TIM4 RCININT PULLDOWN,即 RC 输入走定时器捕获(RCININT),这是"ALT 0"配置;
  • 同时PC0 USART1_RXINV OUTPUT HIGH GPIO(78) POL(0)是 SBUS 反相控制脚(低电平有效),用于驱动 SBUS 信号反相;
  • 若切换到"ALT 1"配置,PB7则被重新定义为USART1_RX,RC 信号改由 UART 接收。

OSD 支持

Mamba Basic F405 的 OSD 使用 MAX7456 驱动,地面站中设置OSD_TYPE 1即可启用。

硬件层面,AT7456E 通过 SPI2 挂载(SPIDEV osd SPI2 DEVID4 OSD_CS MODE0 10*MHZ 10*MHZ,见 hwdef.dat),且默认define OSD_ENABLED 1define HAL_OSD_TYPE_DEFAULT 1,固件编译时即默认开启 MAX7456 类型 OSD。OSD 字体通过ROMFS_WILDCARD libraries/AP_OSD/fonts/font*.bin打包进固件。

PWM 输出

Mamba Basic F405 支持最多4 路 PWM 输出,对应引脚图中的 ESC1~ESC4 焊盘,全部支持 DShot 以及所有 PWM 类型(PWM、OneShot 等)。

PWM 通道分配与定时器分组如下(hwdef.dat):

| 输出 | 引脚 | 定时器通道 | GPIO | | :- | :- | :- | :- | | PWM(1) | PA9 | TIM1_CH2 | GPIO(50) | | PWM(2) | PA8 | TIM1_CH1 | GPIO(51) | | PWM(3) | PC9 | TIM3_CH4 | GPIO(52) | | PWM(4) | PC8 | TIM3_CH3 | GPIO(53) |

重要限制:4 路输出同属一个定时器组(TIM1+TIM3 共用同一输出组)。同一组内的通道必须使用相同的输出速率;如果组内任一通道使用 DShot,则整组通道都必须使用 DShot。这一点在布线电机和设置 SERVOx_FUNCTION 时务必注意,避免混用不同协议导致输出异常。

电池监控

Mamba Basic F405 板载电压传感器,最高支持 6S LiPo。推荐的电池参数设置如下:

  • BATT_MONITOR= 3(使用板载模拟电压/电流传感)
  • BATT_VOLT_PIN= 11(电压采样 ADC 引脚 PC1)
  • BATT_VOLT_MULT≈ 11.0(电压分压系数)
  • BATT_CURR_PIN= 13(电流采样 ADC 引脚 PC3)
  • BATT_CURR_MULT≈ 28(20x20 配 40A 电调,计算值,需实测标定)

这些默认值在 hwdef.dat 中已通过编译期宏给出基准:HAL_BATT_VOLT_PIN 11HAL_BATT_CURR_PIN 13HAL_BATT_VOLT_SCALE 11HAL_BATT_CURR_SCALE 39。需要注意的是,hwdef 中的电流比例默认值(39)与 README 建议的 28 略有差异——README 中 28 是依据 20x20 40A 电调计算得出的待验证值,实际装机后应以万用表/电流计实测校准为准(可通过 BATT_CURR_MULT 微调,使地面站显示的电流与实际一致)。

此外板载还有PC2 RSSI_IN ADC1模拟 RSSI 输入,hwdef 中define BOARD_RSSI_ANA_PIN 12,该引脚也可作为模拟空速计输入复用。

罗盘(Compass)

Mamba Basic F405没有板载罗盘,需要使用外部罗盘,通过板上 SDA / SCL 焊盘(I2C1,PB8/PB9)外接。

hwdef.dat 中的配置印证了这一点:

# 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 总线上自动探测所有可能的外部罗盘类型,且不屏蔽任何内部设备;HAL_COMPASS_AUTO_ROT_DEFAULT 2表示外部罗盘默认按 ROTATION_YAW_270 方向假设安装(若实测指向不对,可在 COMPASS_ORIENT 中调整)。接线时注意 I2C 引脚在 hwdef 中已声明PULLUPPB8 I2C1_SCL I2C1 PULLUPPB9 I2C1_SDA I2C1 PULLUP,见 hwdef.dat)。

作为补充,该板的气压计同样通过 I2C 探测,默认仅启用 BMP280(BARO BMP280 I2C:0:0x76AP_BARO_BMP280_ENABLED 1),其余气压计后端默认关闭以节省 Flash。

备选配置(BRD_ALT_CONFIG)

通过BRD_ALT_CONFIG参数可以切换 RX1 引脚的备用功能:

BRD_ALT_CONFIGRX1 功能
ALT 0(默认)RCININT(定时器捕获,RC 输入)
ALT 1RX1/TX1(UART1 串口收发)

该机制在 hwdef.dat 中通过PB7 USART1_RX USART1 NODMA ALT(1)声明实现:只有 ALT(1) 生效时 PB7 才作为 USART1_RX 使用。选择 ALT 1 后,SERIAL1 变为标准串口,可用于外接串口设备(此时 RC 输入需改用其他方式接入)。

固件加载与升级

首次刷写(DFU)

Mamba Basic F405 的首次固件加载通过 DFU 模式完成:

  1. 按住板上的BOOT 按键插入 USB;
  2. 等待系统识别出 DFU 设备;
  3. 使用任意 DFU 加载工具刷写*_with_bl.hex固件(该版本包含 bootloader)。

从 hwdef-bl.dat 可以看到 bootloader 的布局约束:bootloader 本体限制在 16KB 以内(FLASH_USE_MAX_KB 16),安装在 Flash 零偏移处,而应用固件从 48KB 处开始加载(FLASH_BOOTLOADER_LOAD_KB 48),与主固件 hwdef 中的FLASH_RESERVE_START_KB 48严格对应——即主固件 Flash 布局预留了前 48KB 给 bootloader 与存储区。

后续升级

首次刷入with_bl.hex后,就可以用任意 ArduPilot 地面站(如 Mission Planner / QGroundControl)进行固件更新,更新时使用*.apj固件文件

需要注意:该板属于低 Flash 空间板卡,主固件通过 include/minimize_fpv_osd.inc 裁剪了大量不常用的驱动(如光流、大部分测距仪后端、SMBUS 电池计、油机、高级失效保护、PrecLand 等),并通过 include/no_bootloader_DFU.inc 关闭了 ROMFS 中的 bootloader 烧写功能(AP_BOOTLOADER_FLASHING_ENABLED 0),以节省约 11KB Flash。这意味着:

  • 日常更新用.apj即可,无需重新刷 bootloader;
  • 若确需升级 bootloader,必须重新进入 DFU 模式,用with_bl.hex镜像刷写。

同系列变体说明

仓库中还维护了与 MambaF405US-I2C 同源的变体配置,便于横向参考:

  • libraries/AP_HAL_ChibiOS/hwdef/MambaF405-2022/hwdef.dat:通过include ../MambaF405US-I2C/hwdef.dat复用本板定义,并在此基础上扩展为 6 路 PWM(PWM5/6 用 PB0/PB1)、LED 灯带输出(PB3 TIM2)、VTX 供电控制(PC5)等,IMU 升级为 icm42688,气压计改用 SPL06;
  • libraries/AP_HAL_ChibiOS/hwdef/MambaF405v2/:早期 Mamba F405 MK2 版本,板卡 ID 为AP_HW_MAMBA405,同样基于 F405 + MPU6000 + 7456 OSD 架构。

如果你使用的是这些派生板,请以对应目录的 README 与 hwdef 为准核对引脚与参数差异。

小结

Mamba Basic F405 是典型的 FPV 用途 F405 飞控:4 路同组 PWM、单 IMU、AT7456E OSD、无板载罗盘,Flash 空间有限。在 ArduPilot 中使用时,牢记以下几点即可快速上手:

  1. 首次刷写用 DFU +with_bl.hex,日常升级用.apj
  2. 电池参数以BATT_MONITOR 3为基础,电压倍率 11.0,电流倍率需实测标定;
  3. 4 路 PWM 同组同速率,混用 DShot 必须整组统一;
  4. 罗盘走 I2C1 外接,固件会自动探测;
  5. RC 输入默认在 PPM/RX1,需要串口时可切换BRD_ALT_CONFIG

如需查看完整硬件定义,可直接阅读 hwdef.dat 与 hwdef-bl.dat,并结合 README.md 中的两张引脚图进行实际接线。

【免费下载链接】ardupilotArduPlane, ArduCopter, ArduRover, ArduSub source项目地址: https://gitcode.com/GitHub_Trending/ar/ardupilot

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/14 18:50:30

MiGPT实战:3步把小爱音箱变成AI语音助手

MiGPT实战:3步把小爱音箱变成AI语音助手 【免费下载链接】mi-gpt 🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。 项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt 问小爱"为什么天空是蓝的"&#x…

作者头像 李华
网站建设 2026/9/14 18:50:17

5分钟跑通自动驾驶软件栈:Autoware 安装与快速上手完整指南

5分钟跑通自动驾驶软件栈:Autoware 安装与快速上手完整指南 【免费下载链接】autoware Autoware - the worlds leading open-source software project for autonomous driving 项目地址: https://gitcode.com/GitHub_Trending/au/autoware 装自动驾驶环境&am…

作者头像 李华
网站建设 2026/9/14 18:47:28

小爱音箱接大模型:MiGPT 四步部署实录

小爱音箱接大模型:MiGPT 四步部署实录 【免费下载链接】mi-gpt 🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。 项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt 你喊"小爱同学,今天天气怎么样…

作者头像 李华