【BMS-AFE-断路检测】

BMS断线检测电路实现:从原理到AFE内置方案与分立设计

一、为什么需要断线检测

在 BMS 中,电芯电压采样线(NTC 线、均衡线同理)可能因振动、连接器松动、线束断裂而断开。断线后系统仍能读到一个"假电压"------断线点的电压被 AFE 内部高阻和相邻电芯内阻分压得到,看起来正常但实际不代表真实电芯电压。

复制代码
正常:  电芯n+ ──[采样线]── AFE_Cn    (电压=真实电芯电压)
断线:  电芯n+ ╳  [断线]    AFE_Cn    (电压被内阻Ri分压,是假值)

如果把假电压当真值使用,会导致:

  • 电芯一致性误报警
  • 过充/过放保护失效
  • 均衡策略错误

因此断线检测是 BMS 功能安全的必备机制。


二、断线检测的两大技术路线

方案 代表厂商 核心原理
电流源法 ADI(LTC/ADBMS)、松下 内部上拉/下拉 100μA 电流源,两次采样做差
电阻分压法 NXP、TI、美信 内部开关投切分压电阻,比较电压变化

三、方案一:电流源法(ADI LTC/ADBMS 系列)

3.1 内部电路结构

ADI 的 AFE(LTC6804/LTC6811/ADBMS6830 等)在 ADC 输入端内置了上拉和下拉两个 100μA 电流源

复制代码
                    ┌──[上拉100μA]── V+
                    │
AFE_Cn ──[MUX]──┬──┤
                │  │
               ADC └──[下拉100μA]── V-

通过 ADOW(Open Wire Detect)命令控制电流源方向:

  • PUP=1:接通上拉电流源(灌电流),断开下拉
  • PUP=0:接通下拉电流源(拉电流),断开上拉

3.2 检测原理(两次采样做差)

复制代码
第1次:PUP=1,上拉电流源工作 → 采样所有电芯电压,存入 CELLPU[]
第2次:PUP=0,下拉电流源工作 → 采样所有电芯电压,存入 CELLPD[]
计算:  CELLΔ[n] = CELLPU[n] - CELLPD[n]
判断:  若 CELLΔ[n+1] < -400mV → Cn 引脚断线

为什么差值能判断断线?

状态 上拉采样 下拉采样 差值
采样线正常 电流源被电芯电压"顶住",几乎无影响 同上 ≈ 0V
Cn 断线 断线点被上拉电流源拉向高电位 → CELL(n+1) 偏小 断线点被下拉拉向低电位 → CELL(n+1) 偏大 < -400mV

举例(所有电芯 4V,C2 断线):

复制代码
CELLPU[3] ≈ 12V - V+  (上拉把断线点拉高,CELL3读数偏小)
CELLPD[3] ≈ 12V - V-  (下拉把断线点拉低,CELL3读数偏大)
CELLΔ[3] = CELLPU[3] - CELLPD[3] = V- - V+ < -400mV → 判断 C2 断线

3.3 首末引脚的特殊处理

  • C0(最底端):只需判断一次上拉或下拉,因为底端没有更下面的电芯
  • Cn(最顶端):同理只需一次判断
  • 中间引脚:通过相邻电芯差值判断

3.4 检测流程(软件)

c 复制代码
// ADI AFE 断线检测伪代码
void OpenWireDetect(void)
{
    // 第1次:上拉电流源采样
    SendADOWCommand(PUP=1);
    WaitADCComplete();
    ReadCellVoltages(CELLPU);   // 存入上拉采样值

    // 第2次:下拉电流源采样
    SendADOWCommand(PUP=0);
    WaitADCComplete();
    ReadCellVoltages(CELLPD);   // 存入下拉采样值

    // 判断断线
    for (n = 0; n < CELL_COUNT-1; n++) {
        delta = CELLPU[n+1] - CELLPD[n+1];
        if (delta < -400) {
            ReportOpenWire(n);   // Cn 断线
        }
    }
}

四、方案二:电阻分压法(NXP/TI/美信)

4.1 内部电路结构

电阻分压法在采样引脚内部集成开关控制的分压电阻,通过投切开关改变分压比:

复制代码
AFE_Cn ──┬──[R1]── Vref
         │
         ├──[开关S1]──[R2]── GND
         │
        ADC

检测时闭合 S1,接入额外下拉电阻 R2,比较接入前后的电压变化。

4.2 检测原理

状态 接入 R2 前 接入 R2 后 电压变化
采样线正常 电芯电压经采样电阻直接驱动 R2 与电芯内阻并联,电压略降 变化小(< 阈值)
Cn 断线 断线点浮空,电压不确定 R2 把断线点拉向 GND,电压骤降 变化大(> 阈值)

TI 的方案(如 BQ76952/BQ79616)在 VC 引脚内置电流源,使能后向引脚注入电流,断线时残压被放电,通过电压行为判断故障。

4.3 与电流源法的对比

对比项 电流源法 电阻分压法
检测元件 100μA 电流源 开关+分压电阻
判断依据 两次采样差值 >400mV 接入分压后电压变化量
检测速度 需两次完整 ADC 转换 一次对比即可
误报风险 电容大时需多次采样 电阻值需精心设计
代表芯片 LTC6811、ADBMS6830 MC33771、BQ79616、MAX14920

五、分立方案:不用 AFE 内置功能时的断线检测

如果使用通用 ADC 或电阻分压方案(无内置断线检测),可以用外部电路实现。

5.1 方案 A:上拉/下拉电阻 + ADC 比较

在每个采样引脚增加一个可开关的上拉或下拉电阻,通过 MCU GPIO 控制:

复制代码
电芯n+ ──[Rs]──┬── ADC_IN
               │
               ├──[R_pull]──[MOS开关]── VCC(上拉)
               │
               └──[C_filter]── GND

检测步骤:

  1. 正常采样:MOS 断开,ADC 读电芯电压 V_normal
  2. 检测采样:闭合 MOS,接入上拉电阻 R_pull,ADC 读 V_test
  3. 判断:
    • 正常:V_test ≈ V_normal(电芯低阻顶住上拉)
    • 断线:V_test 被拉向 VCC(断线点高阻,上拉生效)

5.2 方案 B:恒流源注入法

用外部恒流源向采样线注入微小电流(如 50μA),检测电压变化:

复制代码
电芯n+ ──[Rs]──┬── ADC_IN
               │
          [恒流源50μA]── GPIO控制
               │
              GND

原理与 AFE 内置电流源法相同,只是用外部电路实现。

5.3 方案 C:分压电阻比值法

在采样链路中设计两个不同阻值的分压网络,通过切换比较:

复制代码
电芯n+ ──[R1=10k]──┬── ADC1
                    │
              [R2=100k]──[开关]── GND

闭合开关前后 ADC 读数比值不同,断线时比值异常。


六、温度采样线断线检测

NTC 温度采样线断线检测原理类似:

复制代码
VCC ──[R_fix]──┬── ADC_TEMP
               │
             NTC ── GND
状态 ADC 读数
正常 中间值(对应温度)
NTC 断线 Rt→∞,ADC→VCC(接近满量程)
NTC 短路 Rt→0,ADC→0

判断阈值:

  • 断线:ADC > 0.95 × VCC(如 3.1V/3.3V)
  • 短路:ADC < 0.05 × VCC(如 0.1V/3.3V)

这也是之前温度检测文章中推荐"上拉接法"的原因------断线→高电平,短路→低电平,判据明确。


七、设计注意点与踩坑经验

7.1 滤波电容过大会导致误报

采样引脚的滤波电容 C_filter 越大,电流源注入后电压建立越慢。如果 ADC 采样时电容还没充放电到位,两次采样差值不够,会漏报断线

对策:

  • 滤波电容不宜过大(通常 100nF~1μF)
  • 断线检测时执行 2 次以上 ADOW 命令,让电容充分建立
  • 增大电流源作用时间

7.2 检测周期与采样盲区

断线检测需要两次完整 ADC 转换,耗时较长(通常几十 ms)。检测期间正常电压采样暂停,形成"采样盲区"。

工程实践:

  • 断线自检周期 2.5s ,2 次滤波,总时间约 5s
  • 正常电压采样周期 10~100ms,断线检测低优先级后台执行
  • 不要在充放电动态过程中频繁检测

7.3 采样电阻阻值匹配

采样线串联电阻 Rs(通常 10Ω~100Ω,用于限流和滤波)与 AFE 内部内阻配合,影响断线检测灵敏度。Rs 过大可能导致正常时也被误判。

7.4 多节同时断线

相邻两条采样线同时断线时,差值判断可能失效。需要结合总电压校验(Pack 总压 vs 单体求和)辅助判断。

7.5 均衡与断线检测互斥

均衡开启时,均衡电流会影响电芯电压,此时做断线检测容易误报。应在均衡关闭时执行断线检测


八、各厂商断线检测实现对比

厂商/芯片 检测方法 电流源大小 判断阈值 命令
ADI LTC6804 电流源法 100μA 差值 >200mV ADOW
ADI LTC6811/ADBMS6830 电流源法 100μA 差值 >400mV ADOW
NXP MC33771 电阻分压法 --- 电压变化量 内置诊断
TI BQ79616 电流源+电阻 --- 电压行为 内置诊断
美信 MAX14920 电阻分压法 --- 电压变化量 寄存器配置
松下 电流源法(下拉) --- 差值 私有命令

九、总结

断线检测是 BMS 安全机制的重要一环,核心是**"主动注入扰动,观察电压响应"**:

  1. 电流源法(ADI 主流):上拉/下拉 100μA 两次采样做差,差值 >400mV 判断线,原理清晰但需两次转换
  2. 电阻分压法(NXP/TI/美信):投切内部分压电阻,比较电压变化,速度快但电阻设计需精心
  3. 分立方案:外部上拉电阻+MOS 开关,或恒流源注入,适合无内置功能的通用 ADC
  4. 温度线断线:利用 NTC 断线→满量程、短路→0 的极值判据
  5. 关键注意点:滤波电容不能太大、检测周期要合理、均衡时不检测、总压交叉校验

断线检测的本质是:正常时电芯是低阻电压源,能"顶住"外部扰动;断线后引脚变高阻,扰动会显著改变电压。 抓住这个本质,各种方案就都能理解了。


如果文章对你有帮助,欢迎点赞、收藏、关注!有问题欢迎评论区交流。

主要参考:

系列导航:

相关推荐
恶魔泡泡糖38 分钟前
stm32F103C8T6标准库DWT基础应用1
stm32·单片机·嵌入式硬件
LCG元1 小时前
STM32L4 LPUART 实战:Stop2 模式下低功耗串口唤醒与不定长接收
stm32·单片机·嵌入式硬件
水果里面有苹果1 小时前
41-BMP280 气压传感器
嵌入式硬件
星河单片机1 小时前
STM32+VK2828U7G5模块GPS定位+NMEA解析
stm32·单片机·嵌入式硬件
白搞电子1 小时前
ESP-Mosaico 掌上游戏开发:LVGL 抛硬币动画、音频混音与 BMI270 摇晃触发
单片机·嵌入式硬件·物联网·游戏·音视频
深圳市恒锐丰科技杨生1 小时前
EG1163 (S) 高压大电流降压同步整流 DC‑DC 控制器|外置 MOS 降压电源方案
嵌入式硬件·硬件工程
安河桥。1 小时前
V4L2架构在工程实践中的应用
嵌入式硬件·音视频
新晨单片机设计2 小时前
S004A-基于STM32单片机密码锁【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus
启芯硬件2 小时前
《硬件电路设计实战100例》专栏核心信息,定位及设计案例分享
人工智能·经验分享·嵌入式硬件·硬件工程·高速仿真