news 2026/10/5 6:36:16

INAV 之 BeeRotor F4 飞控板适配指南:硬件特性、接线配置与目标源码解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
INAV 之 BeeRotor F4 飞控板适配指南:硬件特性、接线配置与目标源码解析
  • 无人机
  • 嵌入式
  • 智能硬件

【免费下载链接】inav

INAV: Navigation-enabled flight control software

项目地址:https://gitcode.com/gh_mirrors/in/inav
点击查看免费下载

BeeRotor F4 是基于 STM32F405 的四合一/独立飞控板,在 INAV 中以独立目标BEEROTORF4(板卡标识BRF4)的形式提供完整支持。本文以官方板卡文档为主体,结合仓库中 目标配置文件、定时器/电机输出映射 与 反相器驱动实现 等源码,系统梳理该板卡的硬件资源、接收机/USB/蜂鸣器接线、RSSI 与电压电流监控接线要点,以及当前版本下的已知限制,帮助用户在 INAV 中正确启用并安全使用这块板卡。

硬件特性概览

根据 BeeRotor F4 板卡文档 与目标定义,该板卡的核心硬件资源如下:

硬件资源规格源码/接口依据
主控 MCUSTM32F405(Cortex-M4F,168 MHz)CMakeLists.txt 中target_stm32f405xg(BEEROTORF4)
惯性测量单元(IMU)SPI 总线接口加速计/陀螺仪(文档标注为 MPU6050 系列)MPU6500_CS_PIN/BUS_SPI1,见 target.h
气压计BMP280,挂载于 I2C1 总线USE_BARO_BMP280+BARO_I2C_BUS BUS_I2C1
电机/舵机输出8 路 PWM 输出通道(M1–M8)target.c 中DEF_TIM定义
串口UART1、UART2、UART3(UART2/UART3 带反相器)USE_UART1/2/3及INVERTER_PIN_UART2_RX、INVERTER_PIN_UART3_RX
外部 SPI 总线3 组 SPI(SPI1/SPI2/SPI3)USE_SPI_DEVICE_1/2/3
SD 卡槽SPI2 接口,用于黑匣子日志记录USE_SDCARD+SDCARD_SPI_BUS BUS_SPI2
集成 OSDMAX7456 字符叠加芯片,SPI3 接口USE_MAX7456+MAX7456_SPI_BUS BUS_SPI3
蜂鸣器5V 压电蜂鸣器直连BUZ +/-引脚BEEPER PB3,BEEPER_INVERTED
LED 灯带WS2811 灯带输出WS2811_PIN PB8(TIM4_CH3,见 target.c)
指示灯LED0(PB4)LED0 PB4

需要说明的是:板卡文档写的是 "MPU6050",而当前仓库 target.h 中启用的是USE_IMU_MPU6500,即源码将 IMU 定义为了 MPU6500(同属 InvenSense MPU60x0/MPU6500 系列,且 INAV 的 accgyro 驱动对同一引脚定义兼容)。两者共用 SPI1 总线与片选引脚,实际以固件编译进的目标配置为准。

从 target.c 可以看到 8 路输出的完整定时器映射:

  • M1(PB0,TIM1_CH2N)、M2(PB1,TIM1_CH3N)——两组互补输出,DMA2;
  • M3(PA1,TIM2_CH2)、M4(PA0,TIM2_CH1)——TIM2,DMA1;
  • M5(PC6,TIM8_CH1)、M6(PC7,TIM8_CH2)——TIM8;
  • M7(PB5,TIM3_CH2)、M8(PB9,TIM4_CH4);
  • LED_STRIP 复用于 PB8(TIM4_CH3),与 M8 同属 TIM4 定时器。

源码注释中特别提示了 DMA 资源冲突:M5 与 M7 受 DMA 流共享限制,DSHOT 数字协议在这两个通道上不工作,如需 DShot 输出应优先使用其他通道。

当前未支持的功能

文档明确列出了两块尚未支持的功能,接线与调试前请先确认:

  • UART3 上的反相器:文档标注为未支持。不过从当前源码看,target.h 已定义了INVERTER_PIN_UART3_RX PC14,且 uart_inverter.c 在USE_UART_INVERTER编译开关下会为INVERTER_PIN_UART*_RX初始化对应反相控制引脚(initInverter将引脚配置为推挽输出并默认拉低)。也就是说,UART3 反相器的支持状态可能已随固件版本演进,使用前建议以目标固件实际编译配置为准。
  • IR 发射器输出:板卡文档指出 IR transmitter(红外发射器)输出不受支持。源码中相关TRANSPONDER宏(target.h)也全部处于注释状态,确认该功能未启用。

接收机接线:SerialRX、PPM 与 MSP

板卡支持SerialRX(串行接收机)、PPM 与 MSP三种接收机类型,接线规则如下:

  • SerialRX 与 PPM 接收机:接至 RX 排针上专用的PPM/SBUS引脚。从源码看,该引脚对应 PA3,同时也是 UART2 的 RX 引脚(target.hUART2_RX_PIN PA3 //Shared with PPM),因此 SBUS 等串行协议默认走 UART2。
  • MSP 接收机:接到任意配置为 MSP 功能的 UART 即可。

固件默认值已与硬件对应:DEFAULT_RX_TYPE RX_TYPE_SERIAL、SERIALRX_PROVIDER SERIALRX_SBUS、SERIALRX_UART SERIAL_PORT_USART2(target.h),即默认按SBUS 串行接收机接在 UART2/PPM-SBUS 引脚配置,上电后无需额外改动即可识别 SBUS 信号。

USB 连接与 DFU 刷写

该板使用STM32 VCP(虚拟串口)实现 USB 通信,插入 USB 时不占用任何 UART——也就是说,USB 连接不会与 UART1–3 的串行设备冲突,调试时串口仍可独立使用。Windows 下首次连接可能需要安装STM32 VCP 驱动。

刷写固件需要进入DFU 模式,并安装 STM32 DFU 驱动:

  • 进入 DFU 模式的操作与多数 STM32F4 板一致:按住 BOOT 按钮(或短接 BOOT0)的同时上电/复位;
  • 在 Windows 上,推荐使用Zadig工具为设备安装 WinUSB 驱动(文档原文引用的 Zadig 官方地址请自行搜索,本文不展开外部链接);
  • Linux/macOS 下可使用系统自带 dfu-util 或 INAV 配置器完成刷写。

板卡通过VBUS_SENSING_PIN PC5检测 USB 供电(VBUS_SENSING_ENABLED),用于判断是否处于 USB 连接状态。

蜂鸣器(Buzzer/Beeper)

5V 压电蜂鸣器可以直接接到板上的专用引脚BUZ +与BUZ -,不需要额外驱动电路(无需三极管或放大电路)。源码中蜂鸣器引脚定义为 PB3,且启用了BEEPER_INVERTED——这表示蜂鸣器信号为低电平有效(反相输出),接线时注意极性:BUZ +接蜂鸣器正极,BUZ -接负极。

RSSI 信号监控

RSSI(接收信号强度)监控请遵循以下要点:

  • 使用 RX 排针上的专用RSSI 引脚;
  • 该引脚为3.3V 电平容限,严禁接入 5V 信号,否则可能损坏 MCU 引脚。

对应源码中RSSI_ADC_CHANNEL ADC_CHN_3(ADC 通道 3,引脚 PC2,见 target.h)。接入模拟 RSSI 信号后,在 INAV 配置器的 Receiver/RSSI 界面中开启模拟 RSSI 输入即可读取强度百分比。

电流与电压监控接线

电流监控(Current monitoring)

  • 使用PDB 排针上的SI引脚,或板上的SI焊盘;
  • 3.3V 电平容限,严禁输入 5V;
  • 源码对应CURRENT_METER_ADC_CHANNEL ADC_CHN_2(引脚 PC1)。

电压监控(Voltage monitoring)

这是本板最需要注意安全性的接线点:

  • 使用PDB 排针上的SV引脚,或板上的SV焊盘;
  • 3.3V 电平容限,严禁输入 5V;
  • 关键警告:PDB 排针上的SV引脚没有板载分压电阻。若 PDB 上没有配套分压电路,直接把电池电压接到该引脚会烧毁板卡!
  • 板上的SV焊盘则带有分压电路——如果你的 PDB 没有分压,请务必使用板上的SV焊盘而不是排针。

源码中VBAT_ADC_CHANNEL ADC_CHN_1(引脚 PC0),并且定义了BOARD_HAS_VOLTAGE_DIVIDER(target.h),表明板载SV焊盘一侧已集成电压分压器。接入后可在 INAV 中校准电压分压系数(vbat_scale),使电量显示与实际电压一致。

LED 灯带接线

LED 灯带(WS2812B/WS2811 可寻址灯带)应接到LED/Buzzer 排针上的专用LED引脚。源码中WS2811_PIN PB8,定时器映射为 TIM4_CH3(target.c)。在 INAV 中启用 LED_STRIP 功能(目标默认未开启,需在 CLI 中执行feature LED_STRIP打开)后,即可配置灯带颜色、状态指示与布局。

其他固件默认值与实用提示

  • 默认功能集合(DEFAULT_FEATURES):TX_PROF_SEL、BLACKBOX、TELEMETRY、OSD(target.h)——黑匣子日志默认写往 SD 卡(ENABLE_BLACKBOX_LOGGING_ON_SDCARD_BY_DEFAULT),且 OSD、遥测开箱即用;
  • 串口计数:SERIAL_PORT_COUNT 4,即 3 个 UART + 1 个 USB VCP,共 4 个可配置串行端口;
  • 电调串行直通:启用USE_ESCSERIAL,ESCSERIAL_TIMER_TX_HARDWARE 0(PWM1),配合USE_SERIAL_4WAY_BLHELI_INTERFACE可通过串行 4 路接口直连 BLHeli 电调做调参;
  • 传感器集合:SENSORS_SET (SENSOR_ACC|SENSOR_MAG|SENSOR_BARO),即加速度计、磁力计(I2C1 上USE_MAG_ALL)与气压计全部启用;
  • IO 资源:TARGET_IO_PORTA/B/C 0xffff、TARGET_IO_PORTD (BIT(2)),声明了 A、B、C 口全部引脚与 D 口 PD2 可用于资源分配。

小结

BeeRotor F4 在 INAV 中是一个资源相当完整的 STM32F405 目标:8 路输出、3 个 UART(其中两路带反相器适配 SBUS/F.Port 等倒相串行协议)、集成 MAX7456 OSD、SD 卡黑匣子、WS2811 灯带与完善的模拟量监控通道。上手时最需要留意两点:所有模拟监控引脚均为 3.3V 容限,以及PDB 排针的SV引脚没有分压、必须使用板载SV焊盘或外部分压电路。按本文接线并对照 目标配置 理解固件默认行为,即可安全、高效地完成整机装机与调试。

  • 无人机
  • 嵌入式
  • 智能硬件

【免费下载链接】inav

INAV: Navigation-enabled flight control software

项目地址:https://gitcode.com/gh_mirrors/in/inav
点击查看免费下载

相关推荐

上一篇:KPlayer-go性能优化指南:如何将CPU占用率从80%降至5%
下一篇:ReactPage与Headless CMS集成:内容管理新范式

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

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

Arduino+HC-05+App Inventor:手机蓝牙温湿度计搭建实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华