人们往往通过电动车能骑行多少里程来衡量蓄电池的容量大小,这种方法虽然比较直观,但只能作一个粗略的估算,要精确测量蓄电池的容量,可以让蓄电池恒流放电,测量出电池电压达到终止放电电压时的放电时间,用放电时间乘以放电电流就可以算出蓄电池的容量。本文介绍的蓄电池容量测量仪就可以用来测量电动车蓄电池的容量,结果用4位数码管显示,同时可以测量电池的电压。电路结构简单,很适合业余条件下制作。
一 性能特点
●可测电池型式:蓄电池
●蓄电池电压:12V
●放电电流:3A恒流
●放电终止电压:10.5V
●蓄电池容量测试范围:0.00Ah~99.99Ah
●测量仪由待检测蓄电池供电
二 硬件电路
现在市场上的电动车蓄电池每个单元为12V,由6个电池单格串联而成。电动车的蓄电池组一般由3个单元或4个单元串联组成,电压分别为36V和48V。测量蓄电池容量首先要考虑的一个问题是选多大的电压来测,因为电池通过假负载放电时会产生很大的热量,选择电压要综合考虑,如用48V直接测,放电电流取3A,则功耗为144W,必须用大的散热板,并且要加风扇散热。这里选择对一个单元12V电池测容量,以放电电流为3A计算,功耗为36W,这样制作就比较简单了。如果我们要对多个电池同时测量,可以采用并联的方法测量,这时功耗不增加,只是测量的时间变长了。
电路见图1,由单片机电路、恒流放电电路、电压测量电路、显示电路和蜂鸣器报警电路等部分组成。ATmega8、R1、C1等组成单片机电路,为了提高测量的计时精度,单片机使用外部晶体振荡器提供时钟信号,时钟频率取8MHz。
电路利用ATmega8内部的模数转换ADC0通道测量蓄电池电压,转换精度为10位。ADC的参考电压选用外部的5V参考电压,ADC0最大允许输入电压为5V,因为12V蓄电池充电后最高电压可达16.2V,因此要用R8、R9组成的分压电路分压后才能测量。
测量结果由ATmega8的PD口输出7段字型码和小数点位到4位数码显示,ATmega8的PC1~PC4输出位驱动码,作动态扫描驱动输出。单片机的工作电源由被测蓄电池经78L05稳压后得到。
达林顿三极管VT、RP、R3~R6等组成恒流放电电路。VT的工作状态受ATmega8的PB2脚的控制,当PB2输出高电平时VT导通,调节RP可改变VT的基极电位,从而调节VT的工作电流。由于VT的发射极接有直流负反馈电阻R5,因此当蓄电池在一定范围内变化时VT的工作电流能基本保持不变,从而起到恒流的作用,蓄电池的放电回路主要为R4、VT、R5和R6组成,R4~R6上的功耗较大,故采用了大功率电阻,VT上的功率也比较大,故也加了散热片。S2是电压显示按钮,平时数码管显示的是蓄电池已放电的容量,按一下S2,则数码管显示电池电压1s。
测量仪接上被测的蓄电池后,电路即开始对电池容量开始测量,实际上就是开始计时,显示在数码管上的数值是放电电流和计时值的积。放电过程中发光二极管VD1发光指示。蓄电池放电后电压会逐渐下降,当电压低于10.5V时,PB2输出低电
平,VT1截止,蓄电池停止放电,此时数码管显示的电池容量不再改变,该数值即为所测电池的容量。与此同时,PB1输出周期为1s的脉冲信号,使蜂鸣器HA发出间隔的报警,告知蓄电池容量已测试完毕。
接上蓄电池开始测量的瞬间,如果单片机没有能正常上电复位,只要按一下S1即可开始测试。测量结果显示到小数点后面2位。
三 软件设计
程序有主函数、AD转换函数、T/C0中断函数、数值处理函数、显示函数和延时函数等部分组成。主程序的流程图见图2。
T/C0中断函数主要用来作过程的控制、ADC转换函数的调用、有关显示数值的计算、数码管的动态扫描进行控制等,流程图见图3。由于放电电流为3A,因此每放电1/300h(即12s)电池容量减小0.01Ah,在T/C0中断函数中每过12s就对电池容量累加一次,待电池达到其放电终止电压时累加值即为被测电池的容量。AD转换函数用来对ADC0输入的电池电压进行AD转换,使用外部5V电源作为参考电源电压,可通过在主程序中对ADMUX寄存器的赋值完成此设置,并通过ADCSRA寄存器对转换速率、转换模式进行设置。AD转换的结果的高8位和低8位分别存放在寄存器ADCH和ADCL中。
四 元器件选择和安装调试
元器件的型号规格和数量见附表。安装前要把目标程序写入ATmega8,有关熔丝位的配置见图4。制作时注意连接电池和仪器的测试线要选择粗一点的导线。
本装置安装完成要对电池的放电电流进行调试。调试在电池放电回路中A点串一只5A的直流电流表(如使用万用表的5A电流挡),在电流放电状态下调节RP使电流为3A即可。放电电流由VT的恒流工作电流和单片机电路的工作电流两部分组成,而单片机电路的工作电流所占比例很小,其电流也基本固定,因此蓄电池从接上到放电终止的过程中放电电流能基本保持不变。安装好的测量仪见题图。