概念速览
- BMS (Battery Management System):监控 / 保护 / 均衡电池组的电路板
- 核心功能:
- 保护:过充、过放、过流、短路、过温、低温
- 均衡:让电芯电压差 ≤ 50 mV (否则容量打折扣)
- 通信:上报 SOC (State of Charge) / SOH (State of Health)
- 充电控制:CC-CV 阶段切换
- 机器人 / 无人机常用:12 V / 24 V / 48 V Li-ion (18650 / 21700) 或 LiPo (6S / 12S)
三种电池对比
| 项 | LiPo | Li-ion (18650) | LiFePO4 |
|---|
| 能量密度 | 200 Wh/kg | 250 Wh/kg | 90 Wh/kg |
| 放电倍率 | 20-50C | 3-5C | 3C |
| 循环寿命 | 300-500 | 500-1000 | 2000+ |
| 安全 | ⚠️ 刺穿 = 燃烧 | 较好 | 最安全 |
| 价格 (¥/Wh) | 1.5 | 1.0 | 1.2 |
| 适合场景 | 无人机 / 比赛 | 移动机器人 / 储能 | 储能 / 工业 |
电池组基本参数
flowchart TD
A["1 节 18650<br/>3.7V 标称 · 4.2V 充满 · 2.5V 放空<br/>3000 mAh"]
B["3S1P = 3 串 1 并<br/>11.1V 标称 · 12.6V 充满 · 7.5V 放空<br/>3000 mAh"]
C["3S4P = 3 串 4 并<br/>11.1V 标称 · 12.6V 充满 · 7.5V 放空<br/>12000 mAh"]
D["13S8P = 13 串 8 并<br/>48V 标称 · 54.6V 充满 · 32.5V 放空<br/>32 Ah = 1.7 kWh<br/>(常见移动机器人)"]
A -->|"×3 串联"| B
B -->|"×4 并联"| C
C -->|"重新串并联"| D
BMS 保护阈值 (典型 13S Li-ion)
| 保护项 | 阈值 | 动作 |
|---|
| 单体过充 | > 4.25 V | 切断充电 |
| 单体过放 | < 2.5 V | 切断放电 |
| 总电压过充 | > 54.6 V (13S) | 切断充电 |
| 总电压过放 | < 32.5 V (13S) | 切断放电 |
| 充电过流 | > 0.5 C | 限流 |
| 放电过流 | > 1.5 C (瞬时 3C) | 切断 |
| 短路 | > 10 C | 切断 (μs 级) |
| 充电低温 | < 0 °C | 禁止充电 (锂枝晶) |
| 放电高温 | > 60 °C | 切断 |
| 均衡启动 | 任意单体 > 3.5 V | 被动均衡 100 mA |
通信协议
CAN bus (机器人主流)
// CAN 报文 (CAN 2.0B, 250 kbps)
uint32_t can_id; // 0x1800_xxxx (厂家自定义)
uint16_t voltage; // 0.1 V 单位 (12.6 V = 126)
int16_t current; // 0.1 A 单位 (有符号, 充 + 放 -)
# ROS 2 接收 BMS 报文 (socketcan)
bus = can.interface.Bus(channel='can0', bustype='socketcan')
msg = bus.recv() # blocking
soc = msg.data[4] # 0-100
SMBus (18650 BMS 板常见, 充电 IC 主导)
- 协议:I²C-like,时钟 100 kHz
- 用途:读 Smart Battery Data (SBDS) 标准寄存器
- 缺点:单主机,无 CAN 实时性
UART / RS485 (工业 BMS)
- 用途:上位机轮询 SOC / 远程监控
- 协议:Modbus RTU (主流) / 厂家私有协议
选型速查
| 场景 | 推荐方案 | 价格 (¥) | 备注 |
|---|
| 12 V 移动底盘 (≤ 5 kg) | 3S Li-ion + 30 A BMS | 200-400 | 5 A 充电 |
| 24 V 服务机器人 | 7S Li-ion + 60 A BMS + CAN | 500-1000 | 平衡车 / 扫地机 |
| 48 V 移动机器人 | 13S Li-ion + 100 A BMS + CAN | 1500-3000 | G1 / H1 同款 |
| 无人机 6S | 6S LiPo + 30C + 无 BMS (PMU 替代) | 800-2000 | PMU 自带保护 |
| 储能 (家用) | 16S LiFePO4 + 200 A BMS + RS485 | 3000-5000 | 5 kWh 储能 |
寿命与维护
循环寿命 vs DOD
储存
- 长期不用的电池:充到 40-60% + 阴凉 (15-25°C) + 每 3 个月补电
- 满电存放 = 容量衰减快 / 空电存放 = 过放损坏
常见故障
| 症状 | 根因 | 修法 |
|---|
| 容量腰斩 | 单体电压差 > 100 mV (均衡失败) | 手动均衡 + 检查 BMS 均衡电流 |
| 充电到 80% 跳绿灯 | 充电 IC 误判 / 温度保护 | 查温度传感器 + 标定 |
| 0°C 充电后起火 | 没禁低温充电 (锂枝晶) | 换带低温保护的 BMS |
| 急加速电压骤降 | 内阻过大 (老化) | 测内阻 (交流注入法) · 换电池 |
| CAN 不通 | 终端电阻 120Ω 没接 | CANH / CANL 各加 120Ω |
📋 复现条件
| 类别 | 必备 | 备注 |
|---|
| 硬件 | 13S BMS (推荐 Daly / JBD / JK) · 13S Li-ion 组 | ¥200-500 |
| 工具 | 万用表 · USB-CAN 适配器 (¥100) | PEAK / CANable |
| 软件 | candump (Linux) · BMS 上位机 | — |
| 时间 | 接线 2 h · 配置 BMS 1 h · 跑循环 1 天 | 全套 |
| 难度 | ⭐⭐⭐ 中 | 需要懂 CAN 协议 |
| 预算 | ¥300-1000 (BMS + CAN 适配器) | 电池另算 |
⛔ 别这么做 (Anti-patterns)
| ❌ 错误做法 | 💥 后果 | ⚠️ 风险 | 范围 |
|---|
| 不要在 0°C 以下给 Li-ion 充电 | 锂枝晶 → 内部短路 → 起火 | 🔴 | 所有 Li-ion |
| 不要把电池刺穿 / 弯折 / 加热 | 热失控 = 燃烧 | 🔴 | 所有锂电池 |
| 不要没 BMS 直接用裸电芯 | 单体过充过放 = 爆炸 | 🔴 | 所有锂电池组 |
| 不要长期 100% SOC 存放 | 容量衰减快 30% | 🟡 | 储能 / 工业 |
| 不要混用新旧 / 不同厂家电芯 | 容量不一致 → 短板效应 → 寿命腰斩 | 🟡 | 电池组 |
| 不要用大电流充电而不监控温度 | 热失控 | 🔴 | 充电 |
🚨 风险总览 (Risk Matrix)
| 风险等级 | 含义 | 例子 |
|---|
| 🟢 低 | 改错可回滚 / 几分钟恢复 | 储存 SOC 不对 |
| 🟡 中 | 需要重新刷机 / 重装 / 1-2 小时恢复 | 混用电芯,100% SOC 存放 |
| 🔴 高 | 不可逆 / 烧板 / 安全风险 | 0°C 充电,刺穿电池,没 BMS |
参考资料