现代通讯设备、便携式电子产品、笔记本电脑、电动汽车、小卫星等普遍使用蓄电池作为电源,应用非常广泛。然而大多数设备中的蓄电池,只能使用专用的充电器,而且普通的充电器大多充电时间长,无法判断其充电参数和剩余的充电时间。
本文介绍一种基于单片机的通用智能充电器的设计。充电器可以实时采集电池的电压、电流,对充电过程进行智能控制,计算电池已充的电量和剩余的充电时间;还可以通过串口和上位机进行通讯并给用户显示必要的信息,有虚拟仪表的作用;另外,它也可以改变参数,适应各种不同电池的充电。这里列举几种不同的电池充电试验,来说明智能充电器的实用价值。
1 智能充电器的硬件设计
智能充电器如图1所示。主要包括电源变换电路、采样电路、处理器、脉宽调制控制器和电池组等,形成了一个闭环系统[4]。下面对系统的工作原理分几个部分进行简述。
图1智能充电器电路模块图
1.1 处理器
处理器采用51系列单片机89C51。单片机内部有两个定时器、两个外部中断和一个串口中断、三个八路的I/O口,采用11.0592MHz的晶振。单片机的任务是通过采样电路实时采集电池的充电状态,通过计算决定下一阶段的充电电流,然后发送命令给控制器控制电流的大小。单片机通过串口RS232和上位机相连,用于存储数据和虚拟显示。
1.2 采样部分
电压和电流采样采用模/数转换器AD574。AD574为±15V双电源供电,12位输出,最大误差为±4bit,合计电压0.01V。
充电电流通过电流传感器MAX471转换为电压值。电流采样的电压值和电池组的端电压值两者经过模拟开关CD4051,再经过电压跟随器输入到AD574,分别进行转换,其结果由单片机读取,并进行存储和处理。主要的电路连接如图2所示。
图2 采样电路
1.3 控制器
控制器采用脉宽调制(PWM)方式控制供电电流的大小。PWM发生器由另一个20MHz的单片机构成,主控制器和它采用中断的方式进行通讯,控制其增大或减小脉宽。PWM信号通过光电隔离驱动主回路上的MOSFET。开关管、二极管、LC电路构成开关稳压电源。用PWM方式控制的开关电源可以减小功耗,同时便于进行数字化控制,但母线的纹波系数相对较大。PWM控制电路如图3所示。
图3 PWM控制电路
2 智能充电器的软件设计
2.1 数据测量
在单片机的测量中,电池电压值和电流测量值经过多路选择器进行选择,然后通过A/D转换器转换为16进制数,直接存入单片机。电池电容量C则需要间接计算,由于每个循环 周期检测电流一次,故可以利用电流值的积分求出电容量C。考虑电池内阻r的影响,可以得到计算电容量的计算公式为:
Cn+1=Cn+I·t-I2·r·t
充电时间和剩余充电时间由上位机进行计算,剩余充电时间等于预设的充电时间与已充电时间的差值。其中,预设时间可根据电池的型号预先得到。
2.2 单片机控制程序设计
对于不同的电池和不同的参数,单片机需要设定不同的充电参数,选择不同的充电策略。另外,程序需要在电池过电流、过电压等异常情况下强制终止充电。以锂离子电池为例,一般采用恒流-恒压充电方式,其充电过程包括小电流预充电、大电流充电、恒压充电等几部分。其充电控制程序流程图如图4所示。