ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

TBS LUCID H7 飞控板 ArduPilot 适配指南:引脚映射、UART 配置与固件刷写

TBS LUCID H7 飞控板 ArduPilot 适配指南:引脚映射、UART 配置与固件刷写 TBS LUCID H7 飞控板 ArduPilot 适配指南引脚映射、UART 配置与固件刷写【免费下载链接】ardupilotArduPlane, ArduCopter, ArduRover, ArduSub source项目地址: https://gitcode.com/GitHub_Trending/ar/ardupilotTBS LUCID H7 是 TBSTeam BlackSheep出品、基于 STM32H743 的高性能飞控在 ArduPilot 仓库中以独立板卡目录被完整支持。本文以 TBS_LUCID_H7/README.md 为核心骨架结合板卡硬件定义文件 hwdef.dat、引导加载器定义 hwdef-bl.dat 与出厂默认参数 defaults.parm逐项说明该板卡的串口映射、RC 输入、OSD、PWM 输出、电池监控、VTX 电源控制等配置方法以及 DFU 刷写固件的完整流程。读完本文你将能够根据实际装机方式为这块飞控在 ArduCopter / ArduPlane / ArduRover 等固件下完成参数级配置与固件更新。TBS LUCID H7 板卡正面引脚图TBS LUCID H7 板卡底面图硬件特性概览TBS LUCID H7 是一块面向穿越机与固定翼的紧凑型飞控核心硬件特性如下与 README 及 hwdef.dat 一致MCUSTM32H743 32 位处理器主频 480 MHz2 MB FlashFLASH_SIZE_KB 2048、MCU_CLOCKRATE_MHZ 480采用 8 MHz 外部晶振OSCILLATOR_HZ 8000000IMU双 ICM42688 陀螺/加速度计部分 v2 批次为双 MPU6000分别挂在 SPI1 与 SPI4 总线上hwdef.dat中同时声明了imu1/imu2Invensensev3与mpu6000_1/mpu6000_2Invensense两套探测项开机时会自动探测实际贴装型号气压计DPS310挂在内部 I2C2 总线BARO DPS310 I2C:0:0x76OSDAT7456E 字符叠加芯片挂在 SPI2 总线上SPIDEV osd SPI2 DEVID4 MAX7456_CS存储microSD 卡槽SDMMC1 接口HAL_OS_FATFS_IO 1可记录 BlackBox 日志通信外设7 路 UART实际 SERIAL 端口共 8 个含 USB、1 路 CAN支持 DroneCAN、2 路 I2C输出13 路 PWM12 路电机 1 路 LED/WS2812电源电池输入 2S–6S板上 BEC 提供 3.3V 0.5A、5V 3A、9V 3A视频专用GPIO 可控引出到 HD VTX 接口视频可选 5V 或 VBAT 焊盘供模拟图传GPIO 可控开关双路可切换相机输入。板卡标识码APJ Board ID为AP_HW_TBS_LUCID_H7数值 5250定义在 Tools/AP_Bootloader/board_types.txt。同一硬件定义被 ArduCopter、ArduPlane、ArduRover、ArduSub 等多机型固件共享板载参数与引脚分配不随机型变化。UART 映射8 个串口各司其职README 以 Rn/Tn 标注串口收发引脚Rn 为 UARTn 的接收脚Tn 为 UARTn 的发送脚。板卡默认的 SERIAL 端口分配如下SERIAL 端口物理外设默认用途DMASERIAL0USBMAVLink2—SERIAL1UART1RX1 为 HD VTX 接口上的 SBUS 输入无SERIAL2UART2GPS开启SERIAL3UART3DisplayPort数字图传开启SERIAL4UART4MAVLink2Telem1无SERIAL6UART6RC 输入开启SERIAL7UART7MAVLink2Telem2带流控开启SERIAL8UART8ESC 遥测RX8 在电机排针上无该映射在 hwdef.dat 的SERIAL_ORDER OTG1 USART1 USART2 USART3 UART4 EMPTY USART6 UART7 UART8 OTG2与各串口define DEFAULT_SERIALn_PROTOCOL ...声明中逐一固化例如SERIAL2默认SerialProtocol_GPSSERIAL3默认SerialProtocol_MSP_DisplayPort并定义了AP_MSP_VIDEOTX_ENABLED 1SERIAL4默认SerialProtocol_MAVLink2SERIAL6默认SerialProtocol_RCINSERIAL7默认SerialProtocol_MAVLink2且UART7_CTS/RTS已配置PE10/PE9供带流控的遥测模块使用SERIAL8默认SerialProtocol_ESCTelemetryBLHeli_32 等电调遥测。需要说明的是UART 编号与 SERIAL 编号并不总是对齐例如 SERIAL5 为空位EMPTY配置时请以 SERIAL 端口号为准。协议编号可对照 libraries/AP_SerialManager/AP_SerialManager.h 中的SerialProtocol_*枚举例如SerialProtocol_FrSky_SPort_Passthrough 10、SerialProtocol_RCIN 23、SerialProtocol_MSP_DisplayPort 42。RC 输入SBUS / FPort / CRSF / ELRS默认情况下RC 输入走 USART6 的 RX 脚支持除 PPM 外的所有串行 RC 协议。根据接收机类型接线与参数调整如下FPort半双工接收机必须接到 USART6 的 TX 脚参数设置为RSSI_TYPE3接收机通道 RSSISERIAL6_OPTIONS7同时启用收发反转与半双工。CRSF / ELRS全双工同时使用 RX6 与 TX6 两根线RSSI_TYPE同样设为 3CRSF/ELRS 会通过串口回传链路质量与电池信息。SBUS来自 DJI 数字图传若把 SBUS 接在 HD VTX 接口上对应 UART1 的 RX1需要将SERIAL1_PROTOCOL改为23RCIN并把默认承载 RC 的SERIAL6_PROTOCOL改为其他协议例如 MAVLink2 或关闭避免两个串口同时争抢 RC 数据。FrSky 遥测利用空闲串口FrSky S.PORT 遥测可利用任一空闲 UART 的发送脚实现例如 UART1 的 T1 脚。启用参数为SERIAL1_PROTOCOL 10FrSky S.PORT Passthrough见 AP_SerialManager.h 枚举定义SERIAL1_OPTIONS 7收发反转 半双工S.PORT 为单线协议所需若 T1 已被其他功能占用可改用其他未用 UART 的 TX 脚原理相同。OSD 支持模拟 OSD 数字 DisplayPort 并行TBS LUCID H7 的 OSD 能力分两路模拟 OSDOSD_TYPE 1由板上 AT7456EMAX7456 驱动生成叠加在模拟视频上数字图传 DisplayPort通过 HD VTX 接口上的 TX3/RX3USART3输出 MSP DisplayPort 帧协议编号 42供 DJI 等数字图传系统使用。hwdef.dat 中通过define OSD_ENABLED 1、define HAL_OSD_TYPE_DEFAULT 1默认开启模拟 OSD并将 OSD 字体打包进固件ROMFS_WILDCARD libraries/AP_OSD/fonts/font*.bin。出厂默认参数 defaults.parm 中还设置了OSD_TYPE2 5即第二路 OSD 输出采用 MSP DisplayPort用于同时驱动 HD 数字图传实现模拟眼镜 数字眼镜同时看到同一套 OSD 布局。PWM 输出6 组 13 通道支持双向 DShot板卡最多提供 13 路 PWM 或 DShot 输出M1–M4 同时引出到电机排针与独立焊盘M9–M13 在独立焊盘上用于 LED 灯带与其他 PWM 设备。PWM 通道按定时器划分为 6 组通道所属组PWM 1–2group1TIM3PWM 3–4group2TIM2PWM 5–6group3TIM5PWM 7–10group4TIM4PWM 11–12group5TIM15PWM 13group6TIM1使用限制重要同一组内的通道必须使用相同的输出频率只要组内任一通道使用 DShot整组都必须使用 DShot通道 1–10 支持双向 DShothwdef.dat中GPIO(50)/GPIO(52)/GPIO(54)/GPIO(56)/GPIO(58)标注了BIDIR即 TIM3/TIM2/TIM5/TIM4 的第一路均启用双向模式可用于电调遥测回读。PWM 11、12TIM15在硬件定义中显式关闭 DMANODMA目的是把 DMA 资源留给其他外设PWM 13TIM1_CH1默认作为 WS2812 LED 输出出厂参数 defaults.parm 中SERVO13_FUNCTION 120将其配置为 LED 功能同时DEFAULT_NTF_LED_TYPES 455设定了通知 LED 类型。电机输出通道号与电机编号的对应关系请按所刷固件机型ArduCopter/ArduPlane的 SERVOn_FUNCTION 默认值核对。电池监控主电池与第二路模拟电池板载电压传感器配合外部电流传感器输入电流量程最高约 130 A模拟信号直连 ADC。主电池支持到 6S LiPo推荐参数BATT_MONITOR 4模拟电压电流BATT_VOLT_PIN 10BATT_CURR_PIN 11BATT_VOLT_MULT 11.0BATT_AMP_PERVLT 40这些默认值同样固化在 hwdef.dat 中HAL_BATT_MONITOR_DEFAULT 4、HAL_BATT_VOLT_PIN 10、HAL_BATT_CURR_PIN 11、HAL_BATT_VOLT_SCALE 11.0、HAL_BATT_CURR_SCALE 40.0对应 ADC 通道为PC0 BATT_VOLTAGE_SENS与PC1 BATT_CURRENT_SENS。板上还留有第二路模拟电池监控焊盘启用参数为BATT2_MONITOR 4BATT2_VOLT_PIN 18BATT2_CURR_PIN 7BATT2_VOLT_MULT 11.0BATT2_AMP_PERVLT按所用电流传感器标定需要多少填多少对应hwdef.dat中的PA4 BATT2_VOLTAGE_SENS、PA7 BATT2_CURRENT_SENS与HAL_BATT2_VOLT_SCALE 11.0。模拟 RSSI 与空速输入模拟 RSSIRSSI_PIN 8对应PC5 RSSI_ADCBOARD_RSSI_ANA_PIN 8模拟空速计ARSPD_PIN 4对应PC4 PRESSURE_SENSHAL_DEFAULT_AIRSPEED_PIN 4注意该 ADC 通道带SCALE(2)分压标定。罗盘无内置罗盘需外接TBS LUCID H7 板上没有集成罗盘需要将外部罗盘如 GPS 模块上的磁力计通过 SDA/SCL 焊盘接到 I2C 总线。hwdef.dat中I2C_ORDER I2C2 I2C1其中 I2C2 供内部气压计使用I2C1PB6/PB7可用于外部罗盘AP_COMPASS_PROBING_ENABLED 1表示启动时会在 I2C 总线上自动探测常见外部罗盘型号HAL_COMPASS_AUTO_ROT_DEFAULT 2设定了默认罗盘安装朝向ROTATION_YAW_270实际安装时请依据机头朝向重新设置COMPASS_ORIENT并在 COMPASS 校准 完成后验证航向。VTX 电源控制与相机切换GPIO RELAY板卡的视频供电与相机切换由三个 GPIO 控制出厂已分别绑定 RELAY2/RELAY3/RELAY4见 hwdef.dat 中RELAY2_PIN_DEFAULT 81、RELAY3_PIN_DEFAULT 82、RELAY4_PIN_DEFAULT 83VSW 供电GPIO 81控制 VSW 焊盘输出 VBAT 或 5V由板卡跳线选择。GPIO 拉低即切断该引脚供电。RELAY2默认接管该 GPIO且默认输出为低断电。9V 视频供电GPIO 83控制 HD VTX 接口上标有 9V 的引脚即板上 9V BEC 输出。GPIO 拉低即断电。RELAY4默认接管并置高上电。相机切换GPIO 82控制 CAM1/CAM2 双相机输入。GPIO 拉低时视频输出从 CAM1 切到 CAM2。RELAY3默认接管并置高默认选 CAM1。出厂默认参数 defaults.parm 中设置了RELAY2_DEFAULT 1、RELAY3_DEFAULT 1、RELAY4_DEFAULT 1即 VSW、9V、CAM1 在出厂状态下均为通电/启用避免首次上电无图传输出。如需通过遥控器开关或脚本控制可直接使用RELAY2/RELAY3/RELAY4对应的 RCx_OPTION 功能或 Lua 脚本接口无需改动接线。加载固件DFU 首刷与地面站升级首次刷写空板流程按住板上bootloader 按键的同时插入 USB使 MCU 进入 DFU 模式bootloader 已默认启用 DFUENABLE_DFU_BOOT 1见 hwdef-bl.dat使用任意 DFU 刷写工具如dfu-util、STM32CubeProgrammer 或 Windows 的 Zadigdfu-util 组合加载with_bl.hex固件该文件包含引导加载器占用 Flash 首个 128 KB 扇区FLASH_BOOTLOADER_LOAD_KB 128首次固件就绪后后续升级直接使用任意 ArduPilot 地面站Mission Planner / QGroundControl / MAVProxy上传*.apj固件文件即可无需再进 DFU。补充说明来自 hwdef-bl.dat引导加载器阶段保留了 UART7Telem1用于串口刷写SERIAL_ORDER OTG1 UART7引导加载器启用了 FATFS 与 microSD 支持AP_BOOTLOADER_FLASH_FROM_SD_ENABLED 1具备从 SD 卡刷写固件的能力bootloader 运行期间会保持 VSW/CAMSW/9V_EN 等 GPIO 处于安全状态并抬高各 SPI 片选防止外设误动作。源码视角从 hwdef 看板卡设计对开发者而言这块板卡的全部硬件事实都集中在 libraries/AP_HAL_ChibiOS/hwdef/TBS_LUCID_H7 目录下三个文件中hwdef.dat板卡主定义含 MCU/时钟/Flash、引脚功能SPI/I2C/ADC/UART/PWM/GPIO、DMA 优先级DMA_PRIORITY SPI1* SPI4*、DMA_NOSHARE ...、存储布局HAL_STORAGE_SIZE 32768、STORAGE_FLASH_PAGE 14等。IMU 旋转方向ROTATION_YAW_270/ROTATION_YAW_180等与快速采样HAL_DEFAULT_INS_FAST_SAMPLE 3也在此声明更换固件或自编译时无需再手动设INS_*旋转参数hwdef-bl.dat引导加载器精简定义只保留 USB、UART7、SD 与安全 GPIOdefaults.parm出厂参数覆盖保证 LED、RELAY 状态与双路 OSD 开箱即用。同一电路设计还有多个衍生板卡目录结构与本文完全一致配置参数大同小异TBS_LUCID_H7_OEM面向 OEM 集成的板对板版本模拟 OSD 改为板载 STM32G431 协处理器走 SERIAL5输入支持到 8S/12STBS_LUCID_H7_WING面向固定翼的 Wing 版本支持 3–12S 输入与更大功率 BECTBS_LUCID_H7_WING_AIO、TBS_LUCID_H7V3 与 TBS_LUCID_PRO 等衍生型号。刷写时请务必选择与板卡型号严格对应的固件如TBS_LUCID_H7与TBS_LUCID_H7_OEM的 APJ 文件不可混用否则板卡 ID 校验将不通过。小结与常见配置速查默认 RC 走SERIAL6SBUSDJI走SERIAL1协议 23FPort 需SERIAL6_OPTIONS7RSSI_TYPE3FrSky 遥测用空闲串口SERIALx_PROTOCOL10SERIALx_OPTIONS7模拟 OSD 为OSD_TYPE 1数字图传为 DisplayPortOSD_TYPE2 5电机输出 6 组1–10 支持双向 DShot同组频率/DShot 必须一致PWM13 为 LED主电池BATT_MONITOR 4BATT_VOLT_PIN 10/BATT_CURR_PIN 11/BATT_VOLT_MULT 11.0/BATT_AMP_PERVLT 40第二路用 BATT2 对应引脚首刷用with_bl.hexDFU后续升级用*.apj地面站bootloader 还支持 SD 卡刷写。以上所有引脚、默认值与协议编号均可在本仓库 TBS_LUCID_H7 硬件定义目录 中直接核对作为自行编译固件或排查接线问题的第一手依据。【免费下载链接】ardupilotArduPlane, ArduCopter, ArduRover, ArduSub source项目地址: https://gitcode.com/GitHub_Trending/ar/ardupilot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表