PCF8591在锂电池均衡控制中的前端研究与设计

时间:2022-07-04 02:41:18

PCF8591在锂电池均衡控制中的前端研究与设计

摘 要:随着锂电池在电子产品中的应用普遍化,由异常充放电造成的问题越来越突出。本文在获取锂电池充放电特性基础之上,设计了基于IIC总线传输的模数转换器PCF8591采样电路,通过在FPGA平台上的验证,实现锂电池安全充放电保护,这对于实现锂电池组的均衡控制具有一定的借鉴意义。

关键词:锂电池;充放电特性;模数转换器PCF8591;FPGA平台;均衡控制

项目类型:大学生创新训练项目,项目名称:动力电源能量监控与管理装置,项目编号:SJ201441

1 总体方案设计

锂电池电压等级高,电池能量密度大等优点使得该类电池在市场中占据较大份额。但是其特有不耐充与不耐放的缺陷导致锂电池的使用寿命远远低于预期[1]。出现这些现象的主要原因在于对于锂电池的使用不当,致使电池经常过冲与过放。如果对锂电池的电压数据进行较好的利用,可以有效预防过充过放现象的出现,对锂电池组的均衡控制也有一定的意义。如图所示即为设计的锂电池充放电保护总体方案。

2 PCF8591的参数设计

PCF8591是采用CMOS工艺制作的宽电源模数转换器,配备4路8位逐次输入型A/D转换器,利用内部的DAC单元实现高精度A/D转换功能。配备标准IIC总线接口,器件能以100KHz的频率运行。PCF8591内部设置了2个可编程控制字,分别用于选通器件与配置器件[2]。

2.1 地址选择字

PCF8591属于典型的器件寻址方式,规定了高四位为固定的1001,紧接着的3位A2A1A0是器件的地址位,可以同时连接8个PCF8591器件至控制器单元。最后1位传输方向位R/W,用来指示数据的传输方向。规定为1时从器件中读取转换数据,为0时向器件控制字写数据。

2.2 转换控制字

PCF8591的转换控制字用于实现器件多样的功能。该控制字的具体格式为:

D7、D3:预制位;固定为0。

D6:模拟输出设置位;器件A/D功能设置为0;器件D/A功能设置为1。

D5、D4:模拟输入通道设置位;00时为4个独立采样通道;01时为3个差分采样通道;10时为2个独立采样通道与1个差分采样通道;11时为2个差分输入采样通道。

D2:通道自动增加设置位;通道自动增加设置为1。

D1、D0:A/D转换的起始通道设置位。

3 PCF8591的采样电路设计

3.1 锂电池电压信号检测电路设计

单体电压是锂电池众多参数中对充放电影响重大的参数。其电压通常在3.2V左右,如图所示即为锂电池电压信号检测电路:

采用双运放运算放大器LM258完成电压信号检测。其中一组运放采用差分电路搭建减法电路,其中R11-R14共4个电阻构成减法电路,实现锂电池电压检测;电容C9与C10用于滤除电池两端的差模干扰信号;该减法电路还可以有效抑制可能出现的共模干扰,通过比例电路将共模干扰削减甚至消除。另一组运放构成电压跟随器,实现缓冲及隔离的效果。

3.2 锂电池参考电压(基准源)设计

通过参数设计选择PCF8591的控制字采用2差分输入模拟采样通道,差分输入的同相端均为锂电池的端电压,反相端分别设计成锂电池充放电的门限电压,(必须保留一定的裕量,防止进入过冲或者过放区间)[3]。这2个基准电压必须维持稳定,确保锂电池充放电的门限电压。如图所示即为锂电池基准电压源电路:

采用可调式电压源AMS1117-ADJ作为锂电池上下门限电压基准源。充电电压上限和放电电压下限两者的区别在于电阻R18,该电阻控制着AMS1117-ADJ的输出电压,其具体计算公式如下:

3.3 PCF8591转换电路设计

PCF8591是4通道8位IIC总线传输的模数转换器,另配备一路数模输出,可以同时实现模数转换和数模转换功能。本设计中利用该器件的模数转换功能,获取锂电池实时差分电压信息,其原理图为:

PCF8591模数转换器的硬件连接相对简单,根据差分通道设计要求,将实时锂电池模拟电压分别连接至通道0与通道2,将设计的门限电压分别连接至通道1与通道3,形成双差分输入的2模拟转换通道。

4 分析与调试

4.1 过程分析

IIC总线数据传输都是从最高位开始,由于差分转换采用补码机制,因此只要有该位的结果即可确定当前锂电池状态,判断相应保护机制启动与否。锂电池保护机制启动与否逻辑状态见表2。

调试在FPGA平台上展开,采用VHDL语言模拟IIC总线传输过程,其部分代码为:

--写入PCF8591T的相关控制数据(写地址、控制字、读地址)

constant Address_Register : std_logic_vector(7 downto 1):="1001000";

constant Control_Register : std_logic_vector(7 downto 0):="00000100";

--读取通道1转换结果最高位

when st60 => SCL

Byte_realRead(7)

Vingt_temp := SDA;

IIC_State

--锂电池电压实时状态逻辑

Vingt

Voutgt

4.2 调试结果

根据分析过程选取3个不同的锂电池电压状态,在示波器上显示的结果如下图:其中黄颜色波形代表过冲;蓝颜色曲线代表过放。

从波形图中可以看出,3个波形的输出与分析过程中的数据完全一致,说明设计过程正确,较好的通过IIC总线完成了PCF8591的A/D数据采集任务。

5 总结

PCF8591作为8位的模数转换器,在目前普遍10-12位AD市场中已逐渐呈现颓势,但是作为典型的IIC总线传输的模数转换器,且具备较为丰富的配置方式下,为该器件的多样化应用提供了空间。本文中的锂电池充放电保护即是其多配置方式下的比较配置方式,经过PFGA平台的验证,获得了较好的应用效果。

参考文献

[1] 徐进.锂电池充放电特性分析和测试[J].中国西部科技,2011,11:3-4,49.

[2] 陈柱峰,沈治国.基于PCF8591的I2C总线A/D、D/A 转换[J].企业技术开发,2009.5(28):18-21.

[3] 谭晓军.电动汽车动力电池管理系统设计[M].中山大学出版社,2011:52-66.

作者简介:指导教师:魏海波(1984-),男,湖北十堰人,硕士,助教,主要从事电源及其相关技术研究。

上一篇:影响民宿顾客满意度与再购买意向的因素研究 下一篇:在语文教学中为学生的心灵“松绑”