,
(1.66325部队,北京 102205;2.北京理工大学)
电动汽车的续航能力和动力电池的使用寿命是用户普遍关注的焦点问题。在研发新型产品的同时,业内人士也在不断探索延长现有动力电池使用寿命的有效方法。通过检测电池组的工作温度和每块电池的端电压,及时发现故障电池是普遍采取的方法。其中,如何避免百伏以上的高压可能对检测电路、其他系统及工作人员造成危害,这是检测电路设计的关键和难点,也是正在逐步改进的技术要素。本文针对这一关键技术,设计了独特的检测电路,并结合当前国内市场动力电池多样性的特点,在电路设计中融入模块化理念,进一步提高了检测模块的通用性。该检测模块在某工程样车的动力电池管理系统中得到了实际应用。
系统设计成功的关键在于准确把握系统需要实现的功能,然后根据具体的功能提出量化技术指标,最后由控制要求决定系统软硬件功能的划分。本动力电池组检测模块具有以下功能和技术指标:
① 检测电池组中每块单体电池的端电压,测量值精确到0.1 V;
② 检测电池的工作温度,测量值精确到0.1 ℃。
选用ATmega16作为主控芯片,该芯片在16 MHz频率下速度为16 MIPS,支持JTAG端口仿真和编程,系统的开发、生产、维护更容易;内置模拟量比较器,有8通道10位A/D转换器,支持单端和双端差分信号输入。这些功能可以满足检测模块相关技术指标的设计要求,ADC转换的参考电压Vref选用芯片内部提供的2.56 V,简化了电路设计。
1.3.1电池电压检测电路
集成运放(Integrated Operational Amplifier)是一种高放大倍数、高输入电阻、低输出电阻的直接耦合放大电路,基于集成运放的这些优点,设计单体电池端电压检测电路。
由于动力电池组的结构和单体电池的多样性,在设计检测模块时应着重考虑其通用性。本文设计的检测模块为5通道式,即一个检测模块可同时测量动力电池组中相邻5块单体电池的端电压值。单体电池的端电压信号输入到检测模块后,经过专门设计的电路转换为单片机能够识别的电压信号,再经过A/D转换成为数字信号存储在单片机的SRAM区,等待读取。
1.3.2电池温度检测电路
电池的工作温度对电池容量有非常大的影响,且当电池的工作温度急剧升高时,其内部压力会增大,有可能对电池造成永久性损坏,所以必须检测电池的工作温度。
传统的温度检测大多使用热敏电阻作为温度敏感元件,主要优点是成本低,但它需要后续信号处理电路,而且可靠性相对较差,准确度和精度都较低。美国Dallas公司推出的DS18B20数字式温度传感器能够直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式,温度测量范围从-55 ℃~+125 ℃。电池组温度信号用该温度传感器测得,主控芯片ATmega16直接获得数字信号并存储,可用于后续的数据处理。
2.1.1整体框图
检测模块的整体结构及功能设计如图1所示,其中通信接口为预留端口,在本检测模块中没有实际应用。
图1 模块设计整体结构
2.1.2电池电压检测电路
动力电池组中某一单体电池端电压的测量电路,是基于集成运放的特性设计的,如图2所示。
图2 单体电池端电压检测电路原理图
根据弥尔曼定理可得:
因为开环差模电压放大倍数趋于无穷大,由集成运放的输出特性可知:u+=u-。即:
在上式中,若:
则有:
R2(u1-u2)=R1(uo1-uo2)
所以,流过R3的电流为:
由基尔霍夫电流定律可知,流过电阻RL的电流等于流过电阻R3和电阻R2的电流之和,因为流过电阻R2的电流很小,可以忽略,所以流过电阻RL的电流等于流过电阻R3的电流。因此,结合工程实际中输入差模信号的大小(u1-u2)和对电路的功耗要求,就可以选定电阻R1、R2和R3的值,这样就能计算出输出电流I的大小,该电流在电阻RL上形成的电压降便可作为单片机ADC转换的输入信号。其中,电阻RL的大小可根据电流I的大小和单片机ADC转换电路中设定的参考电压大小来确定。
由以上的电路原理分析可以看出,电阻R1、R2、R3和RL的精度将直接影响到单片机ADC转换的精度,所以图中的电阻均应该选用精密电阻。
2.1.3电池温度检测电路
图3 温度采集原理图
温度传感器DS18B20的接口电路简单,只有一根信号线与单片机连接,不需要外部元件。最可贵的是这种芯片在检测点已把被测信号数字化了,因此在单总线上传送的是数字信号,这使得模块的抗干扰性好、可靠性高、传输距离远。其与单片机的连接如图3所示。
软件部分各功能的流程图如图4所示。检测模块的主控芯片是ATmega16,它内置一个10位的逐次逼近(successive approximation)ADC,能够对以PORTA作为输入引脚的8路单端电压输入进行采样,本系统将串联电池组中每5块电池作为一个检测单元,所以选用其中的5通道作为
输入。在默认情况下,ADC的逐次比较转换电路需要一个50~200 kHz的采样时钟,因为系统时钟CLK为8 MHz,所以需要64进行分频,这样每个ADC周期为8 μs。
图4 软件部分功能框图
一次常规的ADC转换需要13个ADC时钟周期,而通过置位ADCSRA寄存器的ADEN位,使ADC启动进行第一次A/D转换,因为要初始化模拟电路,所以需要25个ADC采样时钟周期。在一次常规的A/D转换结束后,需要1.5个ADC时钟周期的采样保持时间。而对于ADC由禁止状态启动后的首次A/D转换,则需要13.5个ADC时钟周期的采样保持时间。所以,最长的一次A/D转换需要200 μs。当一次A/D转换完成后,转换结果写入ADC数据寄存器,可以通过读操作将数据读出到通用寄存器或存放到SRAM区。
为了提高数据采集精度,本系统中采取了多次采样取平均值的方法,对同一通道的输入信号连结采样6次,去掉最大值和最小值后再将其它4个采样值作算术平均,作为该通道输入信号的最终采样值,并将平均值存放在SRAM区的特定位置等待读取。
DS18B20数字温度传感器对软件设计时序方面的要求近乎苛刻,它对读写时序严格到1 μs。在对DS18B20的操作中,读写操作是最基本也是最重要的环节,只有正确使用读写时序,才能访问到它的存储空间,读出正确的温度值。
需要注意的是,在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,如果DS18B20接触不好或断线,当程序读该传感器时,将没有返回信号,程序进行入死循环。因此,在进行DS18B20硬件连接和软件设计时也要给予一定的重视。本模块用一个发光二极管作为该器件工作异常的指示信号,在软件设计中编写了针对这种情况的跳出程序。
部分关键汇编指令如下:
main:ldi r16,$bf;根据admux各位的意义其值应为
;$C0,为循环递增ADC通道作准备
ldi r17,$c7
ldi r21,$00
out sfior,r21;关闭ADC高速转换模式
next:inc r16;ADC通道循环递增,内部参考电压,
;转换数据右对齐
out admux,r16
ldir18,$8e
out$06,r18;64分频,单次转换模式
sbi$06,adsc;转换开始
loop:sbis$06,adif
rjmploop
inr14,adcl;将寄存器adcl的值读入r14
inr15,adch;将寄存器adch的值读入r15
cbi$06,adif
ldir19,$c0
cpser19,r16
rjmpmid_chls
rcallled_1
rcalldelay1
outportb,r14
rcalldelay1
sts$0060,r14
sts$0061,r15
rcallUSART_L
cli ;关中断
write1820: clc;进位标志C清零
ldir16,$8
movr1,r16
next_bit:sbiddrd,pd7
sbiportd,pd7;给18B20开始信号
nop
cbiportd,pd7
rorr6
brccwrite_0
rcalldelay12
sbiportd,pd7
rcalldelay60
rjmpwrt_nxt
write_0:rcalldelay60
wrt_nxt:cbiddrd,pd7
rcalldelay16
decr1
brnenext_bit;非零跳转
ret
用5路串联稳压电源代替5块串联的单体电池,将稳压电源的输出电压设为不同的值(如:9.62 V、9.89 V、10.25 V、10.44 V、12.72 V)并保持恒定,将这5路电压值输入到单体电池检测模块中,由主控程序反复访问该模块5次,并记录采集到的数据。
因为温度信号的特性是一样的,所以产品测试中对环境温度的采集可等效于对电池组工作温度的采集。与测量单体电池端电压同步作5次测试,记录相应的温度数据。
分析表1中单体电池端电压试验数据可以看出,该检测模块对恒定的5路电压连续5次采样的结果是稳定的,最大偏差为0.05 V,能够满足0.1 V的设计要求。检测模块中单片机RAM区的数值波动也很小,其幅值小于3,这说明该模块中ATmega16单片机A/D转换的参考电压比较稳定。
温度测试数据如表2 所列。可以看出,温度传感器对环境温度连续5次采样的数值波动很小,最大偏差为0.08 ℃,能够满足0.1 ℃的设计要求。
表1 单体电池端电压测试值
表2 温度测试值
本文设计的动力电池组检测模块,采用独特的电路设计,既有效避免了百伏以上的高压可能对检测电路、其他系统及工作人员造成危害,又能够实时检测电池组中每块单体电池的端电压值以及电池组的工作温度,可为电动汽车的其它工程应用提供准确的基础数据。从台架试验数据看,检测模块对单体电池端电压的测量精度达到了0.1 V,电池组工作温度测量精度达到了0.1 ℃。控制芯片采用低功耗,抗干扰强的ATmega16芯片,利用内部的A/D转换和定时计数器功能,各通道均表现出了良好的稳定性,这说明该模块的电路设计和软件设计是可行有效的,检测模块实物如图5所示。
图5 检测模块局部图