本文档介绍了Betaflight的电池和电源监控系统,该系统负责电压检测、电流测量、电池状态跟踪以及电源相关的安全功能。该系统提供电池健康状况的实时监控、功耗跟踪、低电压保护,并可与飞行控制系统集成,实现节能操作。
系统架构概述
电池和电源监控系统由三个主要子系统组成:电池状态管理、电压监控和电流监控。它们协同工作,为飞行控制器提供全面的电源信息。

电池状态管理
电池管理子系统通过状态机跟踪电池的整体健康状况,该状态机监控电压水平、消耗量和存在检测。
电池状态
该系统定义了五种主要电池状态batteryState_e:
| 状态 | 描述 | 触发条件 |
|---|---|---|
BATTERY_INIT | 启动时的初始状态 | 系统初始化 |
BATTERY_OK | 正常运行 | 电压高于警告阈值 |
BATTERY_WARNING | 低电量警告 | 电压低于警告阈值 |
BATTERY_CRITICAL | 电池电量严重不足 | 电压低于临界阈值 |
BATTERY_NOT_PRESENT | 未检测到电池 | 电压低于存在阈值 |
状态转换逻辑

电池计数检测和电压计算
该系统通过将测量电压除以最大单体电压来自动检测电池单体数量,并具备手动控制功能:

低电压截止(LVC)
当电池电量达到临界水平时,LVC系统会逐渐降低电机输出功率:

电压监测子系统
电压监测子系统支持多种输入源,并具有滤波和稳定性检测功能。
电压源
| 来源类型 | 执行 | 用例 |
|---|---|---|
VOLTAGE_METER_ADC | voltageMeterADCRefresh() | 传统分压器 |
VOLTAGE_METER_ESC | voltageMeterESCRefresh() | ESC遥测数据 |
VOLTAGE_METER_NONE | voltageMeterReset() | 已禁用 |
ADC电压处理

电压稳定性检测
该系统使用滚动位掩码跟踪电压随时间变化的稳定性,以防止错误检测电池:

当前监测子系统
当前监控子系统支持多种测量方法并跟踪功耗。
电流源和处理
功耗跟踪
该系统会同时计算毫安时 (mAh) 和瓦时 (Wh) 的消耗量:
| 测量 | 计算 | 来源 |
|---|---|---|
| 毫安时(ADC/虚拟) | mAhDrawnF += amperage * timeΔ / (100.0 * 1000 * 3600) | current.c128-132 |
| mAh(ESC) | 来自 ESC 遥测数据的直接数据 | current.c227 |
| 什么 | wattHours += voltage * mAhΔ / 100000.0 | 电池.c249-255 |
配置系统
电池和电源监控系统采用参数组进行配置管理。
电池配置结构

默认配置值
| 范围 | 默认值 | 描述 |
|---|---|---|
vbatmaxcellvoltage | 430 (4.30V) | 用于检测的最大电池电压 |
vbatmincellvoltage | 330 (3.30V) | 临界电压阈值 |
vbatwarningcellvoltage | 350 (3.50V) | 警告电压阈值 |
lvcPercentage | 100 | LVC 默认禁用 |
vbathysteresis | 1 (0.01V) | 电压滞后 |
batteryCapacity | 0 | 容量单位为毫安时 (0 = 关闭) |
与飞行系统的集成
电池监控系统与多个飞行控制子系统集成:

1346

被折叠的 条评论
为什么被折叠?



