电池的荷电状 态 (stateofcharge,SOC)测量计算是 电池管理 系统 (BMS)中最基础重要 的部分。电池荷电状态的准确监测不仅能够为使用者提供电池能量供给状态 ,它还是电池管理系统中充放电管理、均衡控制管理的基础 ,因此准确测量电池 SOC的值意义重大。锂 电池 的均衡本质上是荷 电状态的均衡 。其数值为电池 当前容量 与额 定容量 的比值 。 目前测量 SOC的方法有多种 ,主要有安时积分法 、开路电压法 、内阻法和卡尔曼滤波方法 。内阻法测量不稳定 ,数据扰动量较大;卡尔曼滤波算法对实时性要求较高 ,且初始参量较多 ,计算量大 。在充分考虑各种算法优劣和实用性 的基础上 。结合系统的具体情况 ,采用安时积分法估计 电池组的 SOC,然后通过开路 电压法和温度 系数修正 SOC值。
本文以 LTC6804—2芯片为锂 电池 电压采集控制芯片 ,使用霍尔传感器采集充放 电电流,使用 12C总线温度传感器芯片采集电池表壳温度 ,使用 LPC2478为主控芯片.设计 了一种基于 LTC6804—2的锂 电池 SOC应用系统 。
锂电池的SOC是什么意思?
State of Charge的缩写,一般是充电容量与额定容量的比值,用百分比表示。
一个电池一般是有额定容量的,在某倍率下充电一定的时间,你可以得到充电容量,这个容量与你的额定容量的比值即位SOC。
SOC尚无严格定义。通常认为 SOC=100%-DOD
DOD为电池放出电量 100%为电池满充状态是电量安时值
这个定义来自1996年USABC发布的电池测试手册。
这个定义里最大的问题在于100%是一个时变值,随着电池老化而变化DOD也是一个不确定的值,不同工况DOD是不一样的,同工况,测量方法不同DOD值也不同USABC电池测试手册里给出了一个DOD测量流程。
SoC 测量系统原理
安时积分法
安时积分法通过对单位时间内流过电池组的电流进行积分从而得 SOC.计算公式如下 :
SOC 表示锂 电池 SOC的初始值 ,c 表示锂 电池的额定容量 ,t表示锂 电池 的充放 电时 间,表示锂电池 的充放电电流。安时积分法简单 ,是现在常用 的方法 。由于该方法需要对 电流积分 ,因此对电流采集 的精度要求较高,而且误差会 由于积分不断积累 ,常时间使用误差会越来越大。
开路电压法
开路 电压法 的基本原理是锂 电池 的 SOC在 一定范 围内时 .开路 电压 与电池 的 SOC表现很 强 的相关性 ,可以通过实验 的方法得 出其相关 曲线。该方 法通过对锂电池充分静置 ,使电池端 电压恢复至开路电压 ,根据开路 电压 的大小来进行 SOC计算。该方法简单易行 ,而且精度较高 。但是 电池需要静置很长时间 ,不适合在线测量 ,实时性较差 。
本系统采 用安时积分法 加开路 电压法进行 SOC估算 .即在电池组充放 电的时候用安时法进行 SOC估算 ,在 电池组搁置状态时 ,用开路电压法和电池表壳温度系数对安时积分法修正 ,充分运用两种方法的特点 。提 高 SOC估算的精度。
系统硬件设计
系统采用 LPC2478作为主控芯片,整个系统由 l2节锂 电池组 、电压测量 电路 、温度传感器、温度采集 电路 、霍尔电流传感器 、电流测量 电路、通信 电路 组成。
系统硬件结构框图如图 1所示 。
电压测量硬件电路
LTC6804—2是第三代多节 电池 的电池组监视器,可测量最多 12个串接电池的电压并具有低于 1.2mV的 总测量 误差 。所 有 12节 电池 的 电压 可 在 290Ixs之内完成测量 ,并可选择较低的数 据采集速率以实现高噪声抑制 。LTC6804—2具有频率可编程 三阶噪声滤波器的 l6位增量累加型 ADC。LTC6804—2电池电压测量 电 路 如 图 2所 示 。ISOMD 接 低 电 平 表 示 将LTC6804作为 SPI从设备 配置 ,SPI接 口与 LPC2478之间采用硅芯片隔离 ,减少电池侧对数字主控电路 的干扰 。锂电池每组电芯电压为 3.3V。
温度采集硬件电路
温度采集芯片使用美 国德州仪器公 司的 TMP100温度传感器芯片 ,温度 ADC采集硬件电路设计如图 3所示 。
其中 TMP1O0一D1一ADD0和 TMP100一D1一ADD1的不同组合 ,代表该芯片从设备的通信地址 ,器件的从地址 定 义见 表 1
每个 TMP100芯片可以支持 8种不 同的 12C从地址 ,系统设计有 12路锂 电池 ,需要 TMP100芯片两片 ,需要 占用主控芯片 LPC2478两路 IC接 口。
电流测量硬件电路
电流测量数据通 过霍尔 电流传感器和 ADC电压采集芯片得到 ,本系统设计采用南京中霍传感科技有限公司的 HCS-LSP一20A霍尔电流传感 器。该传感器是基 于闭环磁平衡原理的一款霍尔 电流传感器 ,能够测量直流、交流 、脉冲以及各种不规则电流等。传感器的输出能真实反映通 电导体的的真实波。
电流传感器的输出电压范围为 0.5~4.5V,输 出电压通过 ADC采集芯片采集 ,ADC芯片采用 Maxim—IC公司的 MAX1062.该芯片支持 5V输人 .14bit采集精度 ,200kS/s采样率 ,SPI通信接 口,LPC2478芯片一路SPI接 口接该 ADC采集芯片。
LPC2478系统主控硬件电路
考虑到能够实现电压测量 、电流测量 、温度测量各项功能 ,同时满足系统低功耗特性 ,选用 目前普及最广的 ARM 芯 片 ,经 过 综 合 考 虑 。选 取 NXP公 司 的LPC2478芯片 。
LPC2478的一 路 SPI接 口实 现 与 LTC6804—2、MAX1062两芯片通信 ,通过 GPIO 口选择需要通信的芯片:以太 网外部物理层芯片采用 KSZ8041NLI芯片,LPC2478的 以太 网 MAC接 口与 KSZ8041NLI芯 片相连 ,KSZ8041NLI通 过 RJ一45接 口 与 外 界 通 信 ;LPC2478芯片其 中两路 串 口,一路接隔离 RS.422/485芯 片 ADM2582E,一 路 接 隔 离 RS.232 芯 片MAX3250EAI,LPC2478的两路 IC口与 TMP100温度采集芯片相连,LPC2478调试编程接 口为 JTAG接 口。
系统软件设计
LTC6804—2配置与通信
LPC2478上电或复位后 ,首先通过 SPI口初始化LTC6804-2,主要是设置 SPI的通信速率、LTC6804的ADC工作模式 、选择需要测量的通道。具体所使用 的函数如下 :
void LTC6804一 initialize(); //hc6804-2的初始 化函数
//设 置 ADC工作模式 ,电池测量通道 ,放电允许位设置
void set— adc(uint8一tMD,uint8一tDCP,uint8一tCH,uint8一tCHG);
void LTC6804一 adcv();//启动 ltc6804-2电池测量
//读取 12节电池测量电压
uint8一 tLTC6804一 rdcv(uint8—treg,uint8一ttotal—.ic,uintl6—.tcell—
codes[][12]);
void LTC6804一 wrcfg(uint8一tnIC,uint8一tconfig[][6]); //hc6804
— 2写配置寄存 器
int8一 tLTC6804一 ~dcfg(uint8一tnIC,uint8一tr—conflg[][8]);//
ltc6804—2读配置寄存器
温度采集芯片配置与温度数据读取
TMP100内部有 4个数据寄存器和 1个指针寄存器 ,通过指针寄存器索引被访问的数据寄存器 ,对数据寄存器的读写通过指针 寄存器的最后两位决定 ,指针寄存器定义见表 2,数据寄存器定 义见表 3,配置寄存器定义见表 4。
SD(shutdown):该位置 1,TMP100进入待机省电模式 ,芯片停止工作 ;该位置 0时 ,进入正常工作模式 ,温度 值 可正 常读 取 :R1/R0(CONVERTER RESOLU—TION):该位表示 转换分辨率 ,该系统设 置 R1/R0为11,即分辨率为 12bits,0.0625oC,完成一次温度数据采集转换时间为 320ms,温度寄存器是 16bits的寄存器 ,采用 2进制补码计算。
电流采集程序设计
霍尔传感器输 出是 电压数据 ,MAX1062采集电压值 ,转换为 2进制数据 .LPC2478与 MAX1062通信为SPI接 口。其 中 LPC2478的时钟极性控制 位 CPOL和时钟相位控制位 CPHA都设 置为 0,即 SPI总线空 闲时,SCLK时钟总线为低 电平 ,SPI数据总线在时钟线的第一个跳变沿采样数据 ,即上升沿采集数据。
LPC2478需要 3个 SPI读周期 ,才能将采集 的数据读出来,实际有用的数据是 D13 ~ D0,记为 DMAX1062,VMAX1062为霍尔传感器的输出电压,IPN表示额定电流,系统设计为 20 A,IP 表示测量电流,范围为 0 ~ 20 A。计算公式见式(2) ~ 式(5)。
LPC2478 主控程序设计
ARM 主控芯片主要任务有:
① 配置 LTC6804 - 2 芯片,读取电池电压数据和执行其他命令控制;
② 配置温度采集芯片,读取温度采集结果;
③ 计算霍尔电流传感器充放电电流;
④ 控制一路隔离 RS-422 /485 串口,与上位机进行通信;
⑤ 控制一路隔离 RS-232 串口,与上位机进行通信;
⑥ 控制一路 10 M /100 M 自适应以太网,实时将各项参数传送给上位机;
⑦ 看门狗复位电路,程序跑飞的情况下,系统自动复位。
7 个任务按照优先级排序,其中①任务优先级最高,在 LPC2478 内部执行一些智能算法,当电池表面温度过高,停止充放电,当电池充放电电压达到报警警戒,及时将数据传送给上位机,告知操作人员采取一定措施。
本系统为实现网络双向 10 M /100 M 自适应双向通信,采用了基于 μC /OS - II 的小型 TCP / IP 协议栈。它使用 μC /OS - II 实时操作系统的信号机制来实现个多任务并行并可重入的协议栈。本系统程序实现多任务实时运行,使用 UDP 通信协议连接。ARM 主控程序设计流程图见图 4。
试验数据采集和结论为了测试本系统的测量精度及抗干扰能力,设计了一套测试方案。测试方案包括:本系统,一套独立供电的高精度数控编程可调稳压线性电源,调试计算机一台,高精度数字万用表一台。可调稳压线性电源主要给LPC2478 主控电路供电,高精度数字万用表可测量每节电池的电压,调试计算机主要承担上位机角色,记录采集数据。表 5 是一段时间 12 节锂电池各项统计数据。
经过一段时间的拷机测试,系统测量精度高,测量误差小于 0. 05% 。随着温度的升高,电池的容量会有所增加,但是本系统中锂电池的表壳温度不能超过48 ℃,超过该温度,电池可能有问题,将电流数据、电压数据、温度数据、SOC 值代入 Matlab,进行多次曲线拟合,得出 SOC 的计算公式。本系统可以推广到 UPS电源或矿用锂电池管理系统等工程实际中使用
上一篇:MCU中如何通过外设提高CPU效率
下一篇:RS-485总线实现智能家居网络系统
推荐阅读最新更新时间:2024-11-04 01:55
设计资源 培训 开发板 精华推荐
- 使用 Analog Devices 的 AD9002 的参考设计
- 具有大接地回路电压的 LTC2862ACDD-2 RS485 链路的典型应用
- ADM00886、MIC23656 6A 同步降压稳压器评估板
- ADV3219-EVALZ,ADV3219 800 MHz、2:1模拟多路复用器评估板
- 具有 400mA 突发钳位、fSW = 1MHz 同步降压型稳压器的 LTC3621EDCB-2 2.5V Vout 的典型应用
- 使用 Analog Devices 的 LTC3374AEUHF 的参考设计
- AD9265-125EBZ 16 位 125 Msps 评估板(兼容 HSC-ADC-EVALCZ)
- TAR5S25点稳压器(低压差稳压器)的典型应用
- 使用 Arduino 设计低成本、开源的呼吸机
- 39键双旋钮键盘