【BMS-Pack-绝缘检测】
2026/9/5 6:56:22 网站建设 项目流程

BMS绝缘检测完全指南:不平衡电桥法原理、完整参数设计与仿真

一、引言

电池包电压高达几百伏甚至 1500V,若高压回路对地绝缘失效,会导致人员触电、设备损坏。绝缘检测的作用是实时监测高压正、负极对底盘(地)的绝缘电阻,在绝缘下降到危险值前报警或断电。

绝缘检测是 BMS 功能安全的必备项,国标 GB/T 18384 要求绝缘电阻 > 100Ω/V。本文以800V 储能系统为例,给出不平衡电桥法的完整参数设计和电路实现。

【图片位置1:绝缘检测系统框图】


二、基本概念

2.1 绝缘电阻模型

电池包的高压正、负极与底盘(地)之间存在等效绝缘电阻 Rp(正对地)和 Rn(负对地):

电池+ ────[Rp]──── GND(底盘) 电池- ────[Rn]──── GND(底盘)

正常时 Rp、Rn 很大(MΩ 级);绝缘老化或受潮后阻值下降,存在漏电风险。

2.2 国标要求

标准绝缘电阻要求适用场景
GB/T 18384> 100Ω/V电动汽车
GB/T 36276> 500Ω/V电力储能
企业标准> 1000Ω/V高端储能/车规

800V 系统阈值计算:

报警阈值 = 800V × 100Ω/V = 80kΩ 故障阈值 = 800V × 50Ω/V = 40kΩ

三、不平衡电桥法原理

3.1 电路结构(含完整参数)

电池+ (800V) │ ├──[ R1 = 500kΩ ]──[ S1 ]── GND │ (4×125kΩ串联) (3×AQY212GS串联) │ 0.1% 250V 1W 耐压1050V │ ├──[ R3 = 500kΩ ]──────────── GND │ (4×125kΩ串联) │ 0.1% 250V 1W │ └── Vp(正对地电压) │ ├──[ 2MΩ ]──┐ │ (4×500kΩ) │ │ ├──[ AMC1350 ]── MCU ADC ├──[ 10kΩ ]──┘ (隔离放大,±5V输入) │ 0.1% │ GND 电池- (0V) │ ├──[ R2 = 500kΩ ]──[ S2 ]── GND │ (4×125kΩ串联) (3×AQY212GS串联) │ 0.1% 250V 1W 耐压1050V │ ├──[ R4 = 500kΩ ]──────────── GND │ (4×125kΩ串联) │ 0.1% 250V 1W │ └── Vn(负对地电压) │ ├──[ 2MΩ ]──┐ │ (4×500kΩ) │ │ ├──[ AMC1350 ]── MCU ADC ├──[ 10kΩ ]──┘ (隔离放大,±5V输入) │ 0.1% │ GND

元件说明:

  • R1、R2:投切电阻,通过开关 S1、S2 接入/断开
  • R3、R4:固定参考电阻,长期接入
  • S1、S2:高压光耦继电器,MCU GPIO 控制
  • Vp、Vn:正负极对地电压,经高压分压+隔离放大器送 MCU ADC

3.2 检测步骤(两次测量法)

第1次测量(S1、S2 都断开):

Vp1 = Vpack × Rn / (Rp + Rn) (正对地电压) Vn1 = Vpack × Rp / (Rp + Rn) (负对地电压) Vpack = Vp1 + Vn1 (总压校验)

第2次测量(闭合 S1,接入 R1=500kΩ):

此时正对地等效电阻变为 Rp ∥ R1:

Rp_eq = Rp × R1 / (Rp + R1) Vp2 = Vpack × Rn / (Rp_eq + Rn) Vn2 = Vpack × Rp_eq / (Rp_eq + Rn)

联立方程求解 Rp、Rn:

Rp = R1 × (Vp1 × Vn2 - Vp2 × Vn1) / (Vp2 × Vn1 - Vp1 × Vn2 + Vp1 × Vp2) Rn = R1 × (Vp1 × Vn2 - Vp2 × Vn1) / (Vn2 × Vp1 - Vn1 × Vp2 + Vn1 × Vn2)

核心是两次测量的电压变化量包含了绝缘电阻信息


四、完整参数设计

4.1 投切电阻 R1、R2

参数具体值计算依据
总阻值500kΩ平衡灵敏度和对原电路影响
实现方式4 × 125kΩ 串联单颗耐压不够,串联分压
单颗阻值125kΩ500kΩ ÷ 4
精度0.1%直接影响计算精度
温漂 TCR≤25ppm/℃低温漂金属膜电阻
单颗耐压250V2512 封装高压电阻
总耐压1000V4×250V > 800V,留 25% 裕量
额定功率单颗 1W,总 4WP=800²/500k=1.28W,选 4W 留裕量
推荐型号国巨 HV2512 125kΩ 0.1%或 VISHAY VR37

为什么选 500kΩ?

  • 太小(100kΩ):接入后显著改变绝缘电路,正常时也拉低读数
  • 太大(2MΩ):接入后电压变化太小,ADC 测不准
  • 500kΩ:接入 50kΩ 故障绝缘时电压变化约 15%,ADC 可清晰分辨

4.2 固定电阻 R3、R4

参数具体值说明
总阻值500kΩ与 R1/R2 相同,简化公式
实现方式4 × 125kΩ 串联同 R1/R2
精度0.1%与 R1/R2 匹配
温漂≤25ppm/℃同批次电阻,温漂一致性好
耐压1000V同 R1/R2
功率4W长期接入,功耗 1.28W

R3/R4 长期接在电路中,持续发热 1.28W,PCB 上需远离温度敏感元件。

4.3 投切开关 S1、S2

参数具体值说明
方案高压光耦继电器串联无机械磨损,寿命无限
推荐型号AQY212GS × 3 串联松下光耦继电器,单颗 350V
总耐压1050V3×350V > 800V
导通电阻<90Ω(3颗串联)相对 500kΩ 可忽略
关断漏电流<1nA关断时不影响测量
控制电压3.3V(LED侧)MCU GPIO 直接驱动
控制电流5~10mAGPIO 可直接驱动
切换时间<1ms闭合后等待稳定

为什么不用普通继电器?机械继电器寿命约 10 万次,绝缘检测每秒投切一次,1 年即到寿命。光耦继电器无磨损。

4.4 电压测量电路

参数具体值说明
上分压电阻2MΩ(4×500kΩ 串联)限制电流
下分压电阻10kΩ决定分压比
分压比201:1(2M+10k)/10k
800V 输入输出3.98V800÷201=3.98V
隔离放大器AMC1350±5V 输入,5000V_RMS 隔离
增益1固定增益
带宽800kHz远大于测量需求
ADC 分辨率12位4096 级
ADC 参考电压3.3VMCU 基准
输入滤波1kΩ + 100nF截止频率 1.6kHz

4.5 测量时序参数

参数具体值说明
开关闭合后等待200msRC 充电稳定(5τ)
每次 ADC 采样数16 点取平均降噪
两次测量间隔100ms开关断开后恢复
完整检测周期1s正常工况
故障时检测周期100ms加快监测

稳定时间计算:等效电容约 10nF,等效电阻 500kΩ,τ=R×C=5ms,5τ=25ms 基本稳定,取 200ms 留足裕量。


五、精度验证(80kΩ 报警阈值)

以 Rp=Rn=80kΩ(报警阈值)为例验证:

第1次(S1断开): Vp1 = 800 × 80k/(80k+80k) = 400V Vn1 = 400V 第2次(S1闭合,R1=500kΩ): Rp_eq = 80k ∥ 500k = 68.97kΩ Vp2 = 800 × 80k/(68.97k+80k) = 424.5V Vn2 = 800 × 68.97k/(68.97k+80k) = 375.5V 电压变化量: ΔVp = 424.5 - 400 = 24.5V 经 201:1 分压后 = 0.122V 12位ADC分辨率 = 3.3/4096 = 0.8mV 0.122V / 0.8mV = 152 级 → 可清晰分辨 ✓

结论:80kΩ 报警阈值时,ADC 有 152 级变化量,测量精度足够。


六、软件实现

#defineR_BRIDGE500000.0f// 投切电阻 500kΩ#defineV_PACK800.0f// 电池包电压#defineINS_WARN_TH80000.0f// 报警阈值 80kΩ#defineINS_FAULT_TH40000.0f// 故障阈值 40kΩtypedefstruct{floatrp;// 正对地绝缘电阻floatrn;// 负对地绝缘电阻floatr_min;// 最小绝缘电阻}Insulation_t;staticfloatADC_ReadVp(void){// 经 AMC1350 + 201:1 分压,还原真实电压uint16_tadc=HAL_ADC_GetValue(&hadc1);return(adc*3.3f/4096.0f)*201.0f;}staticfloatADC_ReadVn(void){uint16_tadc=HAL_ADC_GetValue(&hadc2);return(adc*3.3f/4096.0f)*201.0f;}Insulation_tInsulation_Measure(void){floatvp1,vn1,vp2,vn2;Insulation_t result;// 第1次测量:S1、S2断开HAL_GPIO_WritePin(S1_PORT,S1_PIN,GPIO_PIN_RESET);HAL_GPIO_WritePin(S2_PORT,S2_PIN,GPIO_PIN_RESET);osDelay(200);// 等待稳定vp1=ADC_ReadVp();vn1=ADC_ReadVn();// 第2次测量:闭合S1,接入R1HAL_GPIO_WritePin(S1_PORT,S1_PIN,GPIO_PIN_SET);osDelay(200);vp2=ADC_ReadVp();vn2=ADC_ReadVn();HAL_GPIO_WritePin(S1_PORT,S1_PIN,GPIO_PIN_RESET);// 恢复// 计算绝缘电阻floatdelta=vp1*vn2-vp2*vn1;floatdenom_rp=vp2*vn1-vp1*vn2+vp1*vp2;floatdenom_rn=vn2*vp1-vn1*vp2+vn1*vn2;if(fabs(denom_rp)>0.1f&&fabs(denom_rn)>0.1f){result.rp=R_BRIDGE*delta/denom_rp;result.rn=R_BRIDGE*delta/denom_rn;}else{result.rp=999999.0f;// 绝缘极好result.rn=999999.0f;}result.r_min=(result.rp<result.rn)?result.rp:result.rn;returnresult;}voidInsulation_Task(voidconst*argument){while(1){Insulation_t ins=Insulation_Measure();if(ins.r_min<INS_FAULT_TH){Fault_Report(INSULATION_FAULT);Contactor_Open();// 断开高压}elseif(ins.r_min<INS_WARN_TH){Alarm_Report(INSULATION_WARNING);}osDelay(1000);// 每秒检测一次}}

七、Multisim 仿真

7.1 仿真电路

V1(800V) ──┬──[R1=500k]──[S1]── GND │ ├──[R3=500k]──────── GND │ Vp(万用表) V2(800V) ──┬──[R2=500k]──[S2]── GND │ ├──[R4=500k]──────── GND │ Vn(万用表) 模拟绝缘电阻: 电池+ ──[Rp=1MΩ]── GND 电池- ──[Rn=1MΩ]── GND

7.2 仿真步骤

步骤操作预期结果
1S1、S2 断开,Rp=Rn=1MΩVp≈Vn≈400V(对称)
2闭合 S1(接入 R1=500k)Vp 下降,Vn 上升
3记录两次电压,代入公式计算出 Rp≈Rn≈1MΩ
4改 Rp=80kΩ(模拟报警阈值)Vp 明显偏低,计算出 Rp≈80kΩ
5改 Rp=40kΩ(严重故障)触发绝缘故障阈值

Multisim 中 800V 电源可用两个 400V 串联,开关用电压控制开关。


八、设计注意点

  1. 电阻耐压:单颗电阻耐压通常 200~300V,必须串联多颗分担高压
  2. 漏电流影响:开关断开时漏电流 <1nA,否则引入测量误差
  3. 测量稳定时间:投切后等待 200ms,确保 RC 充分充电
  4. 电池电压波动:两次测量间电池电压可能变化,需同时测总压做修正
  5. Y 电容影响:EMC 滤波的 Y 电容影响交流阻抗,直流检测不受影响
  6. 湿度影响:潮湿环境绝缘电阻下降,需考虑环境温度补偿
  7. 检测周期:正常 1s 一次,故障时加快到 100ms
  8. 冗余设计:重要系统可双路绝缘检测互相校验
  9. R3/R4 散热:长期功耗 1.28W,PCB 留足散热铜箔

九、常见问题

问题原因解决
绝缘电阻读数跳动测量未稳定/电池波动增加延时到 200ms,多次平均
正负绝缘电阻不对称正常现象取 r_min 作为判断依据
计算出负值电压变化太小变化量<阈值时判为绝缘良好
高压报警误触发电阻精度不够/温漂用 0.1% 精度电阻,温度补偿
潮湿时绝缘下降正常现象设置预警阈值,不立即断电

十、完整元件清单

元件参数数量推荐型号
R1/R2 投切电阻125kΩ 0.1% 250V 1W8(4×2)国巨 HV2512
R3/R4 固定电阻125kΩ 0.1% 250V 1W8(4×2)国巨 HV2512
S1/S2 开关AQY212GS 光耦继电器6(3×2)松下
分压上电阻500kΩ 0.1% 250V 1W8(4×2)国巨 HV2512
分压下电阻10kΩ 0.1%20805 金属膜
隔离放大器AMC13502TI
ADC 滤波电阻1kΩ20805
ADC 滤波电容100nF20805 X7R
去耦电容0.1μF + 10μF各40805 + 钽电容

十一、总结

BMS 绝缘检测最常用不平衡电桥法,核心是用已知电阻扰动未知绝缘电阻,通过两次测量的电压变化反推阻值。

关键设计参数(800V 系统):

参数
投切/固定电阻500kΩ(4×125kΩ 串联)
开关AQY212GS × 3 串联(1050V)
分压比201:1(2MΩ+10kΩ)
隔离放大器AMC1350
测量等待时间200ms
检测周期1s
报警阈值80kΩ(100Ω/V)

绝缘检测的本质是:用已知电阻去"扰动"未知绝缘电阻,通过电压变化反推未知阻值。


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

主要参考:

  • GB/T 18384 电动汽车安全要求
  • GB/T 36276 电力储能用锂离子电池
  • TI AMC1350 隔离放大器数据手册
  • 松下 AQY212GS 光耦继电器数据手册

系列导航:

  • 本文:BMS绝缘检测完全指南(Pack检测方向第三篇)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询