陈炜钢,李 宏
(宁波大学 信息科学与工程学院,浙江 宁波 315020)
电池保护板测试仪是一种能够准确测量电池保护板参数的仪器,其功能主要包括测试过充保护电压值、过放保护电压值、过电流保护值、静态电流等重要性能指标参数。现在对电池保护板测试仪的要求越来越高,而电池保护板测试仪的关键部分就是电池模拟器的开发。因为如果直接用真实的电池对保护IC进行过充电电压或过放电电压测试,则完整地检测一个电池从充电到放电不仅需要花很长时间,而长时间充电显然会使生产效率下降,而且由于电池固有的特性,这样反复的充放电很容易使其寿命缩短甚至永久的损坏。所以需要用电池模拟器来模拟这个过程。
目前现有的电池模拟器具有如下缺点:(1)模拟对象单一,只能模拟一种特定的电池;(2)不能任意设定输出电压;(3)无法模拟多节串联的电池,如果同时模拟多节电池时,需要多台电子负载与稳压电源连接。
本文给出了一种可串联的用于电池保护板测试装置的电池模拟器的设计方案。该电池模拟器可以有效解决以上不足,在模拟多节电池串联时操作简单,且模拟精度高,使用范围广,有很好的应用性。
本文给出的电池模拟器的输出电压为0~5 V可调,分辨率1 mV,精度0.1%±3个字。电池模拟器的实质为输出电压受控的直流稳压电源,其输出电压变化的规律与所需模拟的电池的特性一致。电池模拟器的控制原理框图如图1所示。
该电池模拟器主要由STM32控制模块、通信模块、电压产生模块、ADC模块和电源模块构成。控制模块的作用主要有电压设定、输出电压、电流等参数的采集、监测、调节等。其性能稳定,数据处理能力强,满足电池模拟器速度和精度的要求。
通信模块主要包括RS485接口和隔离电路,其作用在于提供与外部控制器的数据交换接口。电压模块用于使电池模拟器的输出电压可任意调节[1]。
图1 电池模拟器原理框图
ADC模块将输出电压、电流信号进行差分放大后变成能够处理的模拟信号,将此模拟信号通过ADC转换后送到控制模块做处理。
该电池模拟器的通信模块主要由RS485接口和隔离电路构成。电路图如图2所示,图中的控制器是指通过RS485与电池模拟器进行数据交换的模块,不属于电池模拟器。
图2 通信模块电路图
在实际应用中由于情况十分复杂,且各个节点间参考地的不同,会存在较高的共模电压。虽然RS485接口采用的是差分传输方式,但是在超过其接收器的共模电压范围(小于-7 V或大于12 V)后会使设备无法正常工作,严重时甚至会烧毁设备。所以采用DC-DC隔离模块将系统电源与RS485通信电源隔离,再用高速光耦将信号隔离,这样可以有效地消除共模电压的影响[2]。
该电池模拟器设计适用多类电池,由于燃料电池的电压范围为0~1.229 V,镍氢电池电压范围为0~1.4 V,铅酸电池的电压范围为0~2 V,锂电池电压范围为0~4.2 V。而电池模拟器的输出电压设置为0~5 V可调,分辨率1 mV,精度0.1%。若采用传统的数字电位器控制电压,则电压精度不能满足需求。所以该电池输出模块由STM32模块通过SPI来控制DAC7611输出电压以实现任意电压可调,再由放大电路放大输出电压值。电压产生模块电路如图3所示。
图3 电压控制电路
DAC7611是 12位的串行高速数/模转换器,1 mV/LSB,满量程输出4.095 V,内部参考电压为 2.435 V。此电压输出模块电路简单,且在速度和精度上都能满足设计要求。放大电路的主要作用是增大输入阻抗、降低输出阻抗从而提高电压输出能力。放大电路主要由集成放大器组成。由于电压精度的要求,集成运算放大器应该具有合适的输入偏置电流和输入失调电流,比如集成运算放大器有20 nA的偏置电流,这个电流流到外面电阻,即使是kΩ级的,也会产生几十μV的失调电压。这里还需要考虑的影响电路的因素有输入失调电压及共模抑制比。这些参数若选择不当,则会产生超过1 mV的电压误差,这将直接影响电压产生模块的输出电压精度。如图3所示,电路引入电压串联负反馈,故认为其输入电阻无穷大,由“虚短”和“虚断”的概念可以求出输出电压为:
SHT11温湿度传感器是瑞恩公司推出的一款集温湿度检测于一体的传感器I2C器件,具有免调试、 免标定、 测量分辨率可编程调节(8/ 12/ 14 位数据) 和超小封装尺寸等特点;可以进行温度补偿的湿度测量;在测量温湿度的同时可以测量露点,输出为数字信号,很适合与单片机等控制器件结合组成智能温湿度测量系统。SHT11有4个管脚,其中1个接电源,1个接地,1个时钟管脚,一个数据管脚。
其中DN是DAC输入数字量。
ADC模块主要由电压输出采样电路和静态电流采样电路组成。电压输出采样电路如图4所示。
图4 电压输出采样电路
由于电压精度的要求,STM32模块ADC的基准电压采用外部基准源,由于外部基准源的温度漂移典型值为2 ppm/°C,所以在温度变化范围为 0℃~+70℃(以 25℃为基准点)内,有:
由于电池模拟器的输出范围在0~5 V,而ADC的基准电压为3 V,所以需要在电压产生模块的输出上叠加一个2 V的直流分量,而且这个直流分量必须足够稳定。随后将这两个电压由差分放大器件按一定比例放大后作为STM32内部ADC的输入电压。
静态电流采样电路主要用来测试该电池模拟器的自耗电。其原理是采用高端电流检测[3],再用差分放大器将采样电阻两端的差值电压放大,最后送入ADC。其电路如图5所示。
图5 电流采样电路
电路的输出电压与输入电压的关系为:
由ADC转换得到的数字量,根据ADC位数与参考电压可求出此时的电压值,通过电压值与采样电阻的值就可以求得静态电流的值。ADC使用STM32内部集成的12位 ADC,该 ADC具有16个输入信号通道,通过配置采样序列寄存器,这些通道能以任意的顺序轮流进行采样。该ADC还具有自动校验功能,可以显著减小采样的误差[4]。
电池模拟器的电源模块采用典型的整流、滤波、稳压方式,这样设计的好处在于电路简单、容易实现而且线性电源的纹波小。同时由于多节电池的可串联,若系统地与通信模块地相互连接,将使共模电压逐级升高,所以电源模块中应该给通信模块提供独立的电源[5]。电源模块电路图如图6所示。
图6 电源模块电路图
为了使输出电压平均值是变压器副边电压有效值的1.2倍,则滤波电容C1的容量应满足RC=(3~5)T/2,其中R=U/I,T为电源周期。 即C=5×0.02 s×1 A/2×9 Ω=3 333 μF。 所以C1 应取 4 700 μF。
电池模拟器的实现首先需要设置模拟器的工作参数,包括电池类型、容量等[6]。这些工作参数的设定是通过控制器来完成的,控制器通过RS485与电池模拟器通信,将需要设置的数据传输给电池模拟器。需要注意这里的控制器不属于电池模拟器。具体的程序设计流程图如图7所示。
程序主要采用无限循环加有限状态机的结构,空闲状态电池模拟器一直等待接收来自控制器的命令。当接收到来自控制器的命令后,进入静态电流测试状态,完成静态电流测试后跳到电压控制状态,在电压控制状态下除了输出电压外还需完成ADC的过采样。最后反馈信息进入空闲状态[7]。
图7 软件设计流程图
该电池模拟器的输出电压设置为0~5 V可调,精度为满量程的0.1%±3个字。所以输出电压最大误差为±8 mV。现将3串电池模拟器串联使用并测试单节输出电压。测试电路如图8所示。
图8 电池模拟器串联图
通过测试任意单节电池模拟器的输出电压,得到的数据如表1所示。测试中使用的仪器为GDM-8055。
从表1中可以看出,该电池模拟器的输出电压最大绝对误差为±3 mV,满足设计要求。
表1 输出电压测试
本文论述了一种用于电池保护板测试装置的电池模拟器的设计,主要由STM32控制模块、通信模块、电压产生模块和ADC模块构成。其中电压模块中选择偏置电压低、共模抑制比高的集成运算放大器以及稳定性高的基准电压以满足精度要求。在ADC模块中采用差分采样法测量电压和电流。系统测试结果表明,该电池模拟器输出电压最大绝对误差满足设计要求。另外,该电池模拟器可多串串联使用,电压任意调节且抗干扰能力强,具有很好的应用前景。
[1]THOMPSON M T.Intuitive analog cricuit dseign[M].Elsevier Inc,2006.
[2]耿立中,王鹏,马骋,等.RS485高速数据传输协议的设计与实现 [J].清华大学报(自然科学报),2008,48(8):1311-1314.
[3]CANDY J C,TEMES G C.A tutorial discussion of the oversampling methods for A/D and D/A conversion[C].IEEE International Symposium on Circuits and Systems,1990,2:910-913.
[4]曾洁,张红伟,马园.基于PIC18F4685的电池模拟信号源设计[J]. 电池工业,2013,18(1):25-28.
[5]马园.电池管理系统模拟信号源的研究与实现[D].大连:大连交通大学,2012.
[6]许勇,叶刚,卞青青,等.基于A/D转换最小二乘法的数据采集应用[J].微计算机信息,2009,25(4-2):280-282.
[7]朱丹.基于C8051F020的PID参数自整定控制器的研究与实现[J].微型机与应用,2013,32(9):21-23.