基于 NXP LPC845 & JOULWATT JW3302 的 Non-Auto BMS 方案

本方案为 Non-Auto 的 BMS 方案,使用的主控是 NXP LPC系列的芯片,具体型号是 LPC845M301JBD64(下文简称LPC845),该芯片规格为 16K SRAM 和 64K 的Flash,内核 Cortex-M0+。监测电池包的 AFE 芯片使用的是 JW3302,支持检测电池数量 14 个,同时支持 4 路温度检测,支持 SPI 通信协议,集成输出 3.3V 和 5V 的 LDO,支持充放电过流保护,支持被动均衡功能,12 位的 ADC,正常工作电流 1mA 。

本方案 SOC 估算误差 10% 以内,电压测量误差 2% 以内,电流测量误差 3% 或以内,低功耗模式下整机功耗 0.47mA。

BMS 软件中很重要的一部分是估算电池的 SOP(State Of Power)、SOH(State Of Health)、SOC(State Of Charge),其中 SOC 是表征当前电池剩余电量的量,即我们常见的电池剩余量百分比,通常通过安时积分法或者扩展卡尔曼滤波算法计算得到,结合各种修正策略,如开路电压修正,充放电末期修正、温度修正,SOH 修正来调整实际结果。本方案就通过安时积分法结合开路电压修正和充放电末期修正来实现 SOC 计算。


Demo 演示

1. 充电测试

将直流电源直接接至充电口即可自动充电,充满电后内部会自动断开。红色为正极,黑色为负极。

图 1 电源接线示意图



图 2 Demo 测试环境

如图 2 所示,设定好直流电源输出在 36V,电流 2A ,将直流电源的正负极接在电池包的充电接口即可自动开始充电。

图 3 MCU 上报电压参数

图 4 实际测试电压参数

充电时实时测得电池包两端电压为 32.34V,MCU 将从 AFE 芯片中读取的信息发送至上位机,为 32.63V,误差在 2% 以内。

 

2. NFC 读取信息测试

手机打开 TagWriter,写入 Read 指令,手机离开天线区约 2 秒,然后再次接近天线区进行读取,即可看见手机屏幕有读取标签提示,点开即可看见电池包信息。

 

选择 Read 指令,然后点击写入。此时手机屏幕会提示碰触设备,这时我们将手机靠近板子天线区,可以看到左侧的LED 亮起,然后按照手机屏幕提示是否覆盖,确认覆盖保存,即可写入标签。 

 
图 5 手机 NFC 信号发送

写入标签之后,手机离开天线区,然后再次靠近,直至 LED 亮起,看可以手机屏幕有提示或者手机会直接弹出电池包信息,有提示点击提示即可看见电池包信息。

图 6 手机通过 NFC 获得电池包信息 

 

3. 放电测试

控制开始放电的方式有两种:

  • 使用导线将下图红框中的引脚短接一下到地,即可开始放电。


图 7 Demo 放电控制接口

  • 使用 TagWriter 写入放电指令 “ Discharge ”,即可开始放电。想要停止的话直接拔掉负载或者写入指令 “stop” 即可。

图 8 连接负载测试

负载仪设定为恒流2.5A :

图 9 通过上位机读取的电流

图 10 负载仪显示的电流

MCU 实时将从 JW3302 读取的电流电压信息发送至上位机,上位机显示电流 2425mA,负载仪显示电流 2.5mA,误差在3% 或以内。

 

4. 低功耗测试

工作状态下功耗在 7mA 左右,在没检测到充电或者放电动作超过 10S,自动进入低功耗模式,电流在 0.47mA 左右。

图 11 工作时电流



图 12 低功耗时电流

►场景应用图

►产品实体图

►展示板照片

►方案方块图

►核心技术优势

· 可通过手机NFC读取电池包当前的电压,充放电电流,剩余电量,可通过手机控制电池包停止充放电。 · 支持过压欠压保护,充放电过流保护。 · LED 指示 NFC 设备是否靠近。 · 电池充电至 100% 自动断电。 · 支持自动进入低功耗模式。 · 实时 SOC

►方案规格

· 容量 45000mAh · 标称电压3 V · 充电截止电压 36V,放电截止电压 24V · 最大持续放电电流 4A · 充电 1000mA,CC-CV 充电至 36V,以 200mA截止 · 放电 1000mA,CC 放电至 24V 截止

技术文档

类型标题档案
硬件Design