ARTICLE DETAIL

资讯详情

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

ArduPilot AeroCogito H7-Digital 飞控硬件定义与实战指南:从引脚映射到烧录排障

ArduPilot AeroCogito H7-Digital 飞控硬件定义与实战指南:从引脚映射到烧录排障 ArduPilot AeroCogito H7-Digital 飞控硬件定义与实战指南从引脚映射到烧录排障【免费下载链接】ardupilotArduPlane, ArduCopter, ArduRover, ArduSub source项目地址: https://gitcode.com/GitHub_Trending/ar/ardupilot本篇指南基于 ArduPilot 仓库中 AeroCogito H7-Digital 板级 README 展开结合同目录下的 hwdef.dat 与 hwdef-bl.dat 硬件定义文件完整讲解这块面向伴飞计算机Raspberry Pi / Jetson设计的 NDAA 合规飞控的串口映射、连接器引脚、关键参数默认值、PWM/DShot 输出分组、电池监测以及固件烧录流程。读完你可以独立完成该板型的接线、参数配置、首次开机校准与常见故障排查。一、板卡概述一块为伴飞计算机而生的 H743 飞控AeroCogito H7-Digital 是一款 NDAA 合规的高性能飞控核心卖点是从设计之初就围绕飞控 伴飞计算机Raspberry Pi、Nvidia Jetson的组网场景且仅支持数字高清图传OpenIPC、DJI、Walksnail、HDZero板上没有模拟 OSD 芯片。核心规格如下项目参数MCUSTM32H743 480MHz内存1MB RAM2MB FlashIMUICM-42688-P 6轴独立供电轨 额外滤波气压计DPS368尺寸41mm x 41mm30.5mm 安装孔距输入3S-6S11.1V - 25.2V5V BEC峰值 2.5A / 持续 2A10V BEC峰值 2.5A / 持续 2A软件可控模拟输出10 路 PWMDShot150/300/600、PWM、OneShot从 hwdef.dat 可以确认硬件层面的几处关键设定MCU STM32H7xx STM32H743xx OSCILLATOR_HZ 16000000 # 16MHz 外部晶振 FLASH_SIZE_KB 2048 FLASH_RESERVE_START_KB 128 # 前 128KB 保留给 bootloader即主固件从 128KB 偏移处加载前 128KB 是 DFU bootloader 的领地这一点直接关系到后文首次烧录章节的操作方式。二、串口映射SERIAL0 ~ SERIAL6板子上 UART 引脚标注为 Rn / TnRn 是 UARTn 的接收脚Tn 是发送脚。hwdef.dat 第 24 行 的SERIAL_ORDER决定了串口号与外设的对应关系SERIAL_ORDER OTG1 UART5 USART2 UART8 UART4 USART3 UART7逐号对应结果Serial#物理端口默认协议说明GPIO 引脚SERIAL0OTG1USB-FSUSB Type-C 接口PA11/PA12 (OTG_FS_DM/DP)SERIAL1UART5MAVLink2伴飞计算机/遥测DMAPD1(TX) / PD0(RX) 对应 UART4 见注*SERIAL2UART2DisplayPortMSP OSDPA2(TX) / PA3(RX)SERIAL3UART8GPSDMAPE0(RX) / PE1(TX)SERIAL4UART4RCINSBUS/CRSF/ELRSDMAPD1(TX) / PD0(RX)SERIAL5UART3ESC Telemetry仅 RXESC 座 T 脚PD9(RX, NODMA)SERIAL6UART7NONE仅 RXR7 脚接 DJI 图传PE7(RX)注*原文档 UART 映射表列出的端口与协议默认值可在 hwdef.dat 的 UART ASSIGNMENTS 段逐条核对例如# UART5: Companion computer (MAVLink) PB12 UART5_RX UART5 PB13 UART5_TX UART5 define DEFAULT_SERIAL1_PROTOCOL SerialProtocol_MAVLink2 define DEFAULT_SERIAL1_BAUD 115需要特别注意原文档中的一条易错点DJI SBUS 切换若要用 SERIAL6 在 HD VTX 连接器上接收 SBUS则 SERIAL4 不能再用作 RC即其协议需从 23 改掉并把SERIAL6_PROTOCOL改为 23RCIN。这与 hwdef.dat 中 UART7 只定义了PE7 UART7_RX UART7纯接收的硬件事实一致——该口没有 TX只能做 SBUS/DSM 这类单向接收型 RC 输入默认未启用协议。三、连接器引脚详解BetaFlight JST-SH 标准H7-Digital 全部采用 BetaFlight 连接标准的 JST-SH 座子8 pinESC、6 pinMotor 5-8 / GPS-Compass / VTX、4 pinServo / RC Input / Companion Computer。各座子逐脚定义如下接线时务必按此表核对。3.1 ESC 座PWM 输出 1-4PinLabel信号电压1BATVBAT11.1V - 25.2V (3S-6S)2GGNDGND3CCurrent3.3V4TTelemetry3.3V5M1M13.3V6M2M23.3V7M3M33.3V8M4M43.3V其中 C 脚接电流采样线对应 ADC1 的 PA1 通道T 脚接 ESC 遥测数据线对应 USART3_RX即 SERIAL5仅接收。3.2 Motor 5-8 座PWM 输出 5-8PinLabel信号电压1NC未连接 (NC)-2GGNDGND3M5M53.3V4M6M63.3V5M7M73.3V6M8M83.3V3.3 Servo 座PWM 输出 9-10PinLabel信号电压15VPWR5V2GGNDGND3S1S13.3V4S2S23.3V3.4 GPS/Compass 座UART8 I2C4PinLabel信号电压14V5PWR4.5V2GGNDGND3R8RX3.3V4T8TX3.3V5SDASDA3.3V6SCLSCL3.3V注意4.5V 供电脚在 USB 上电或电池上电时都会输出因此接 GPS/罗盘前要先断开 USB避免 5V 反灌进计算机接口。3.5 Companion Computer/Telemetry 座UART5PinLabel信号电压1NC未连接 (NC)-2GGNDGND3R5RX3.3V4T5TX3.3V这是 SERIAL1飞控侧接收脚 R5 接伴飞计算机的 TX发送脚 T5 接伴飞计算机的 RX。3.6 RC Input 座UART4PinLabel信号电压14V5PWR4.5V2GGNDGND3R4RX3.3V4T4TX3.3V同样注意 4.5V 脚的 USB/电池双路供电问题与 3.4 节相同。3.7 VTX/DisplayPort 座UART2PinLabel信号电压110VPWR10V2GGNDGND3T2TX3.3V4R2RX3.3V5GGNDGND6R7RX3.3V10V 脚是软件可控的 VTX 供电由 hwdef.dat 中映射为 RELAY2 的 PE2 使能脚控制PE2 BEC_EN OUTPUT HIGH GPIO(80) # 10V BEC 使能VTX 供电 define RELAY2_PIN_DEFAULT 80 define RELAY2_DEFAULT 1 # Relay2 默认 ON即默认上电即输出 10V在 ArduPilot 里把 RC 开关或任务指令绑定到RELAY2 ON/OFF功能即可在飞行中切换 VTX 电源。四、伴飞计算机Companion Computer接线与配置H7-Digital 通过 UART5SERIAL1对接伴飞计算机是这块板子相对普通 FPV 飞控最大的差异化设计。4.1 硬件接线接板上的COMPUTER座3.5 节引脚表2 脚 (GND) → 伴飞计算机 GND3 脚 (R5/RX) → 伴飞计算机 TX4 脚 (T5/TX) → 伴飞计算机 RX不要接 1 脚 NC。4.2 软件配置hwdef.dat 已将默认协议与波特率写死为define DEFAULT_SERIAL1_PROTOCOL SerialProtocol_MAVLink2 define DEFAULT_SERIAL1_BAUD 115对应参数含义SERIAL1_PROTOCOL 2MAVLink2默认SERIAL1_BAUD 115即 115200默认高带宽应用如带视觉流/多路传感器融合可考虑SERIAL1_BAUD 921921600但更高波特率要求短线缆、屏蔽良好与扎实的电性设计长距离飞线先保持 115200。五、RC 输入与 OSD仅数字 HD VTX5.1 RC 输入默认 RC 输入在 UART4SERIAL4hwdef.dat 中定义为# UART4: RC receiver input PD1 UART4_TX UART4 PD0 UART4_RX UART4 define DEFAULT_SERIAL4_PROTOCOL SerialProtocol_RCIN支持 SBUS、CRSF/ELRS、DSM、PPM 等标准协议。如前文所述若要把 DJI 图传口的 SBUS 挪到 SERIAL6UART7 R7 脚需把 SERIAL4 协议从 23 改走并将SERIAL6_PROTOCOL 23。5.2 OSD本板只有数字 HD VTX OSD没有模拟 OSD 芯片。hwdef.dat 中# USART2: Video transmitter (MSP DisplayPort) PA2 USART2_TX USART2 PA3 USART2_RX USART2 define DEFAULT_SERIAL2_PROTOCOL SerialProtocol_MSP_DisplayPort define AP_MSP_VIDEOTX_ENABLED 1配合 第 153-155 行 的OSD_ENABLED 1与HAL_OSD_TYPE_DEFAULT 5MSP DisplayPort出厂默认即为OSD_TYPE 5MSP DisplayPortSERIAL2_PROTOCOL 42DisplayPort兼容数字系统OpenIPC、DJI、Walksnail、HDZero。VTX/DisplayPort 座的 T2/R2 脚接图传的 MSP 口若接 DJI 类只回传 SBUS 的图传则其 SBUS 数据走 R7SERIAL6UART7 接收。六、PWM 输出三路定时器、三组协议约束8 路电机 2 路舵机全部由三路定时器驱动hwdef.dat 中的定义# Main motor outputs (1-8) PE9 TIM1_CH1 TIM1 PWM(1) GPIO(50) BIDIR # Motor 1 PE11 TIM1_CH2 TIM1 PWM(2) GPIO(51) # Motor 2 PE13 TIM1_CH3 TIM1 PWM(3) GPIO(52) BIDIR # Motor 3 PE14 TIM1_CH4 TIM1 PWM(4) GPIO(53) # Motor 4 PD12 TIM4_CH1 TIM4 PWM(5) GPIO(54) BIDIR # Motor 5 PD13 TIM4_CH2 TIM4 PWM(6) GPIO(55) # Motor 6 PD14 TIM4_CH3 TIM4 PWM(7) GPIO(56) BIDIR # Motor 7 PD15 TIM4_CH4 TIM4 PWM(8) GPIO(57) # Motor 8 # Servo outputs (9-10) PC6 TIM3_CH1 TIM3 PWM(9) GPIO(58) # Servo 1 PC7 TIM3_CH2 TIM3 PWM(10) GPIO(59) # Servo 2输出引脚定时器通道分组M1PE9TIM1_CH11M2PE11TIM1_CH21M3PE13TIM1_CH31M4PE14TIM1_CH41M5PD12TIM4_CH12M6PD13TIM4_CH22M7PD14TIM4_CH32M8PD15TIM4_CH42S1PC6TIM3_CH13S2PC7TIM3_CH23要点所有电机输出支持 DShot150/300/600以及 PWM/OneShot双向 DShotBIDIR仅 M1/M3/M5/M7 四条线具备TIM1_CH1/3、TIM4_CH1/3 标有BIDIR因此 M1-M8 都支持 DShot 遥测回读但注意只有奇数电机线声明了双向能力。同组协议必须一致TIM1 同一定时器只能跑一种协议所以 M1-M4 必须全部同协议例如都 DShot300M5-M8TIM4同理S1-S2TIM3同理。配置时以组为单位设置MOT_PWM_TYPE。七、电池监测内置压流双采板载电压/电流监测hwdef.dat 将两个 ADC 通道定义在 ADC1PA0 BATT_VOLTAGE_SENS ADC1 SCALE(1) # 电池电压采样 PA1 BATT_CURRENT_SENS ADC1 SCALE(1) # 电池电流采样出厂默认参数同文件 第 163-168 行BATT_MONITOR 4电压 电流BATT_VOLT_PIN 16PA0 对应 ADC 通道 16BATT_CURR_PIN 17PA1 对应 ADC 通道 17电压分压比HAL_BATT_VOLT_SCALE 11.0电流传感系数HAL_BATT_CURR_SCALE 18.0若更换电池插头线或改装分压电阻需按硬件重新计算这两个 scale 值否则电池百分比与低电压保护都会失准。八、板载传感器IMU、气压计、罗盘与 SD 卡8.1 IMUICM-42688-P 走 SPI1hwdef.dat 中SPIDEV 42688 SPI1 DEVID1 GYRO_CS MODE3 2*MHZ 16*MHZ IMU Invensensev3 SPI:42688 ROTATION_ROLL_180_YAW_90引脚SPI1 的 SCK/MISO/MOSI PA5/PA6/PA7片选PB0 (GYRO_CS)数据就绪中断PB1 (GYRO_EXTI)双速率配置2*MHZ 16*MHZ初始化 2MHz工作 16MHz默认安装旋转ROTATION_ROLL_180_YAW_90即AP_MOUNT_ATT的 ROLL_180_YAW_90——如果你把飞控按非默认姿态安装记得改AP_MOUNT_ATT。8.2 气压计DPS368驱动注册为 DPS310hwdef.dat 第 66 行BARO DPS310 I2C:0:0x76 # DPS368 挂在 I2C1但按 DPS310 驱动注册物理器件是 DPS368挂在 I2C1PB6 为 I2C4_SCL注意I2C1 PB8 SCL / PB9 SDA见下。原文档写通过 I2C1地址 0x76而 hwdef 注释说明 DPS368 与 DPS310 寄存器兼容、借用 DPS310 驱动——这是读源码时容易困惑的一处实际探测地址就是 0x76。I2C 总线布局第 61-70 行I2C1内部传感器气压计PB8 SCL / PB9 SDAI2C4外部设备罗盘等PB6 SCL / PB7 SDA引出到 GPS/Compass 座的 SCL/SDA 脚8.3 罗盘板上没有内置罗盘但 hwdef.dat 打开了AP_COMPASS_PROBING_ENABLED 1在 I2C4 上挂任意 ArduPilot 支持的外置罗盘模块即可自动探测。8.4 SD 卡SDMMC1microSD 卡槽走 SDMMC1PC12 CK、PD2 CMD、PC8-PC11 D0-D3用途Blackbox 日志、参数备份、SD 卡烧录固件。建议 Class 10 或 UHS-1 以上卡。8.5 状态 LEDLED引脚GPIO 号颜色/功能LED0PD890蓝色主状态LED1PB1591绿色次状态LED2PB1492琥珀色第三状态/DFUhwdef.dat 中三个 LED 全部映射进 AP_NotifyAP_NOTIFY_GPIO_LED_3_ENABLED 1因此 ArduPilot 的起停/解锁/故障指示灯语义可以直接驱动这三颗 LED。九、ESC 遥测UART3 / SERIAL5ESC 遥测走 USART3仅接收接 ESC 座的 T 脚# USART3: ESC telemetry (receive only) PD9 USART3_RX USART3 NODMA define DEFAULT_SERIAL5_PROTOCOL SerialProtocol_ESCTelemetry define DEFAULT_SERIAL5_BAUD 115默认协议AM32 / BLHeli32 / BLHeli_S 遥测对应SERIAL5_PROTOCOL 16波特率 115200可读取电机 RPM、电压、电流、温度数据注意该通道标记NODMA且 hwdef.dat 显式开启HAL_WITH_ESC_TELEM 1。十、固件烧录Board ID、DFU 模式与 SD 卡更新10.1 板型标识在 Tools/AP_Bootloader/board_types.txt 中可查到该板型的注册信息# IDs 4300-4309 reserved for AeroCogito AP_HW_AeroCogito-H7Digital 4300即ArduPilot Board ID 4300APJ 标识AP_HW_AeroCogito-H7Digital。该板型由 hwdef.dat 第 6 行 的APJ_BOARD_ID AP_HW_AeroCogito-H7Digital与编译系统关联各机型发布说明如 ArduCopter/ReleaseNotes.txt中记录了 AeroCogito-H7Digital support 的加入条目。固件可从 ArduPilot 固件服务器按AeroCogito-H7Digital目标下载。10.2 首次烧录出厂为 BetaFlight出厂预装 BetaFlight。要运行 ArduPilot需先烧录板型专属的 ArduPilot-bl.hex文件含 bootloader 主固件之后更新即可用地面站.apj文件经 MAVLink或 SD 卡.abin文件。烧录工具可用 BetaFlight Configurator、INAV 或 STM32CubeProgrammer。hwdef.dat 末尾明确构建了 SD 卡烧录所需的 ABIN# build ABIN for flash-from-bootloader support env BUILD_ABIN True10.3 进入 DFU 模式断电按住 BOOT 键插入 USBType-CDFU LED琥珀色点亮即进入 DFU用烧录工具写入固件。hwdef-bl.dat 解释了 bootloader 侧的几个关键行为FLASH_RESERVE_START_KB 0 # bootloader 位于 flash 起始 FLASH_BOOTLOADER_LOAD_KB 128 # 主固件从 128KB 偏移加载 PB15 LED_BOOTLOADER OUTPUT HIGH # 绿色 LED 在 bootloader 下点亮 PE2 BEC_EN OUTPUT LOW # 10V BECVTX 供电在 bootloader 模式下关闭 define AP_BOOTLOADER_FLASH_FROM_SD_ENABLED 1 # 支持从 SD 卡刷固件两个实用推论进入 bootloader 后 10V VTX 供电被强制关闭排障 VTX 无电时先想到这条DFU 期间 SD 卡仍可用因此可以在不接 USB 数据线的情况下用 SD 卡.abin完成刷写。10.4 首次开机检查清单设置机架类型与电机顺序执行加速度计/罗盘初始校准配置 RC 输入与 OSD将 RC 通道分配到舵机/继电器如 RELAY2 的 VTX 电源控制。十一、故障排查原文档 Troubleshooting 章节的五类问题逐条整理如下并补充了源码依据11.1 USB 无法识别板子确认 Type-C 线支持数据传输非纯充电线Windows 需安装 CH34x/STM32 USB 驱动ImpulseRC Driver Fixer。串口侧对应 OTG1PA11/PA12bootloader 与主固件共用同一 USB 口。11.2 OSD 不显示核对OSD_TYPE 5MSP DisplayPort核对SERIAL2_PROTOCOL 42确认 VTX 的 TX/RX 交叉接线板 T2 → VTX RX板 R2 → VTX TX确认RELAY2没有被切到 LOW——否则 10V BEC 关闭、VTX 直接断电见 3.7 节与 10.3 节记住本板无模拟 OSD模拟接收器上不会有任何画面。11.3 GPS 不工作核对SERIAL3_PROTOCOL 5GPSUART8确认 GPS 模块收到 4.5V 供电注意 USB 与电池双路供电问题TX/RX 是否接反板 R8PE0接 GPS 的 TX板 T8PE1接 GPS 的 RX。11.4 ESC 遥测不工作核对SERIAL5_PROTOCOL 16遥测线必须接 ESC 座的T脚USART3_RX仅接收确认 ESC 硬件与固件本身支持遥测输出。11.5 电机输出不工作核对MOT_PWM_TYPE与 DShot 设置BLHeli 直通场景检查SERVO_BLH_AUTO 1电机协议要与 ESC 能力匹配牢记分组约束同一组M1-M4 / M5-M8 / S1-S2内所有输出必须同协议否则整组定时器无法工作。十二、参考资料板级文档主体libraries/AP_HAL_ChibiOS/hwdef/AeroCogito-H7Digital/README.md主固件硬件定义libraries/AP_HAL_ChibiOS/hwdef/AeroCogito-H7Digital/hwdef.datBootloader 硬件定义libraries/AP_HAL_ChibiOS/hwdef/AeroCogito-H7Digital/hwdef-bl.dat板型 ID 注册表Tools/AP_Bootloader/board_types.txt引脚图libraries/AP_HAL_ChibiOS/hwdef/AeroCogito-H7Digital/H7-Digital_pinout.jpg【免费下载链接】ardupilotArduPlane, ArduCopter, ArduRover, ArduSub source项目地址: https://gitcode.com/GitHub_Trending/ar/ardupilot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表