基于单片机的智能充电器设计.doc
通用智能充电器的设计 刘美君 湖南工程学院(湘潭 ) 摘要:为了解决锂离子电池和镍氢/镍镉电池的充电问题,设计了一种以单片机为核心的通用智能充电器。介绍了该智能充电器的工作原理、设计特点及三种充电模式,详细讨论了系统的硬件组成和软件实现方法。由于采用了高性能的单片机和高分辨率的A/D转换电路,该充电器具有较高的精度。 关键词:单片机A/D转换智能充电器硬件组成通用智能电池充电器 刘美君 湖南工程学院(湘潭 )摘要:本文研究了基于单片机的Li-iMH/电池的充电原理。充电器的硬件结构对于智能充电器来说非常重要,采用高性能的单片机和高分辨率的A/D转换电路可以实现对锂离子电池和镍镉电池的充电。关键字:单片机A/D转换电池集成1.
引言充电电池具有性能价格比高、放电电流大、寿命长等特点,广泛应用于各种通讯设备、仪器仪表和电工测量装置中。但不同类型的电池如镍镉电池(NiCd)、镍氢电池(NiMH)、锂离子电池等,其充电特性和过程有所不同,不同的电池应采用不同的充电控制技术。常用的控制技术有:电压负增量控制、时间控制、温度控制、最大电压控制技术等。其中,电压负增量控制是目前公认的较为先进的控制方法之一。充电时,当测得电池电压负增量时,即可判断电池已充满,从而将充电转为涓流充电。时间控制预先确定充电时间,当到达充电时间时,充电器停止充电或转为涓流充电,这种方法较为安全。温度控制法是当电池达到充满状态时,电池温度上升较快,测量电池温度或温度变化来判断是否停止对电池充电。最大电压控制是根据充电电池的最大允许电压来判断充电状态,这种方法具有更好的灵活性。本文介绍一种可以对镍镉电池(NICD)、镍氢电池(NiMH)和锂离子电池进行充电的智能充电器,并具有自动检测充电电池的能力。2 充电器设计理念在设计通用智能充电器时,要充分考虑三类电池的充电特性,对每类电池给出不同的充电方式和相应的算法。2.1 NiMH/NiCd电池充电方式[5]这两种镍电池具有相似的充电特性曲线,因此可以采用相同的充电算法。
这两类电池的主要充电控制参数是-ΔV和温度θ。NiMH/NiCd电池由预充电转入标准充电的判定标准是:①单节电池电压水平为0.6~1V;②电池温度为-5~0oC。电池饱和充电的判定标准是:①电池电压下降或趋近于零增长-ΔV=6~15mV/cell;②电池最高温度θmax〉50℃;③电池温升速率dθ/dt≥1.0℃/min。由于温度的变化易受环境影响,因此实际用来判断充电各个阶段的变量主要是-ΔV和θmax。其中,-ΔV的检测需要足够的A/D分辨率和较高的电流稳定性。 -△V的测量与A/D分辨率、充电电流的稳定性及电池内阻存在如下关系:当电池内阻=50Ω(接近饱和充电),充电电流=,电流漂移=5%,单节电池最高充电电压为1.58V,此时电流漂移可能引起的电池电压变化为3mV。2.2锂离子电池充电模式[3]在对锂离子电池充电采样时,测得的电压为电池的在线电压,一般在线电压高于静态电压(与内阻有关)。在充电器设计中,判断锂离子电池充电阶段转换的唯一测量参数就是在线电压,电压采样偏差小于0.05V。2.3自适应充电模式[4]智能充电器设置了自适应充电模式。在此模式下,对于未知的电池型号或插入某种电池而没有按下相应按键时,充电器自动切换到自适应充电模式。
此时充电器会提供公共算法对电池进行预充电,识别判断其型号,然后切换到相应的充电模式并显示相应的型号。具体方法是:检测充电电池电压的变化率,判断是否检测到-ΔV,如果检测到电池电压V特别高,且没有-ΔV,则切换到锂离子电池充电模式,否则进入镍电池充电模式。3、单片机与充电器芯片组成的通用充电器原理图如图1所示。图1通用充电器原理图与共同组成了充电器的核心,单片机的两路PWM输出(P1.3、P1.4)经输出滤波后分别接的VSET、ISET,控制充电电压和电流,其中P1.3控制浮充电压,P1.4控制充电电流。电流从ISET端引出,电压由BATTT端的电池分压器读出,并传入单片机,不断测量充电电压和电流。由于从ISET、VSET读出的量是模拟量,而内部没有A/D转换,所以需外接A/D转换器。的串口工作在移位方式,P3.0为数据输出线,P3.1为时钟线。其内部有128个8位RAM和2KB的程序存储空间,完全满足充电器的要求。在充电器中主要用于控制是否对电池充电,以及实时检测充电器的状态并及时显示。4个共阳极LED和4个串行输入和7个并行输出构成显示电路。
A是8位串行逐次逼近型A/D转换芯片,实时检测充电电流和电压的大小。该芯片的两个模拟输入通道均为可编程的软结构,串行输入口的3位串行控制字可以指定通道,决定是单端输入还是差分输入方式。设计中选用两个模拟输入通道(CH0和CH1)交替输入。是一款高性能的充电芯片,适用于镍镉电池(NiCd)、镍氢电池(NiMH)和锂离子电池。该电路利用单片机的PWM输出特性来控制充电电池电流。这种设计的优点是用数字量进行电流控制可以达到较高的精度,可以满足不同类型、不同容量的电池对充电电流的不同要求。其中,脉宽调制有两个参数尤为重要:一是工作频率。在一定范围内,脉宽调制的工作频率越高,所需的电感量越小。其次是单步调节的分辨率,如果脉宽调制要输出稳定度较高的充电电流,就需要较高的分辨率。例如在NiMH/NiCd电池充电的每个阶段,特别是在电池饱和充电判断点附近,在采样充电电压-△V时,要求电池充电电流有较高的稳定度或恒定电流等效值,这时就依赖于脉宽调制输出一个稳定的电流值。对于锂离子电池在其限压充电期间,应动态调整其充电电流以维持最高电池电压(但小于最高充电电压)以获得较高的充电效率。另外,设计中选取滤波电容的主要依据是系统对电源纹波的要求。
滤波电容的等效串联电阻(ESR)是引起输出纹波的主要因素,也会影响转换效率,因此应尽可能选用ESR低的电容。陶瓷电容、钽电解电容的ESR较低,也可选用ESSR低的铝电解电容,但尽量避免使用标准的铝电解电容。容量一般在10μF~100μF之间,对于较重的负载,应选用较大的电容。4、系统软件设计[5] 系统软件流程采用中断工作方式,软件功能的主要控制步骤均包含在定时中断程序中,包括监视电压、测量电流、累计电流时间积等。系统主程序流程如图2所示。a)定时中断程序b)检测及显示程序图2系统主程序流程图开始充电时,对系统进行初始化,包括图1中单片机各端口的初始化、堆栈指针初始化、寄存器初始化、中断设置以及根据不同的电池类型设定其能承受的最大电压VSET、标准容量值CSET以及电压、电流采样的时间间隔。为了使测量结果更加准确,采样频率应尽可能高。系统初始化完成后,启动定时中断服务程序,由于程序中使用了定时中断,因此时序控制非常方便。电池端电压检测硬件采用了单片机片上高精度A/D模块,软件控制采用中断方式,可以省去A/D转换时单片机的等待时间。
利用端电压检测数据通过充电算法计算电池电压负增长-△V来判断是否满足快速充电终止条件,并实时修改单片机的输出参数来控制充电电流的大小。针对2.1~2.3所述的三种充电模式,设计了相应的程序模块:NiMH/NiCd电池充电控制模块;Li-ion电池充电控制模块;自适应充电控制模块及错误监测处理模块。主程序模块根据相应的系统状态情况来控制并调用相应模块,同时其它模块也根据当前系统状态相互调用。在初始化程序模块中设置了预处理函数,主要是设置检测电池端电压的A/D转换参数及通道。将检测数据与理论经验值进行比较,判断电池类型及连接是否正确。对于端电压较低的电池,采用短时间脉动电流充电,有利于激活电池内的化学反应物质,使已损坏的电池单元部分恢复。对于端电压在标称范围内的电池,选用相应的充电控制模块和算法。对于端电压在标称范围之外的电池,软件自动将其剔除。5、设计特点与试验结果5.1模糊控制方法根据充电电池电压的变化,系统将充电过程分为三个阶段,每个阶段采用不同的控制方法。第一阶段,电池内的电量已基本用完,应采用恒定大电流充电,以节省时间;第二阶段是充电电池的敏感阶段,过度充电会损坏电池,应采用模糊控制,以获得最佳充电效果;第三阶段,电池已充满,应进行滴灌充电,防止电池自放电。
下面着重介绍模糊控制方法的主要原理。系统所采用的模糊控制的两个输入量分别为理想电压与实际电压之差Δμ和Δμ的变化率Δμ/Δt,输出量为充电电流的控制量。在模糊控制系统中,Δμ和Δμ/Δt被划分为5个模糊状态,即负大(-2)、负小(-1)、零(0)、正小(+1)、正大(+2)。模糊控制系统对这两个输入量进行决策,得到模糊控制表,如表1所示。表中的I值表示在不同输入量作用下,相应的输出控制量的大小。输出的控制量也分为5个等级,分别代表如下含义:+2表示增加两级充电电流,+1表示增加一级充电电流,0表示保持当前充电电流值不变,-1表示减少一级充电电流,-2表示减少两级充电电流。表1模糊控制规则表5.2均衡充电均衡充电是本充电器的一个重要功能,在充电过程中,由于电池的质量不一样,容量小、质量差的电池在充入同样的电量后,其电压上升幅度会比另一电池更大,如果不采取措施,它们的电压差就会越来越大,这样其中一只电池很快就会达到规定的安全电压,充电过程就会被迫停止,此时应该停止充电电压高的那只电池,即进行均衡充电。这样有利于恢复电池中损坏的电芯,使充电过程能够顺利进行。这种控制主要通过软件来实现。系统程序转入中断程序后(如图2a所示),系统开始对电压进行采样,检查电池电压值是否超过最大允许值,若超过则利用单片机的PWM功能进行调整。
电压正常后,对电流进行采样,并计算电流-时间乘积,然后跳出中断程序。每经过一个采样时间间隔,就会重复上述步骤,并将电流-时间的乘积进行累计,即为电池的当前容量值。当容量达到标准容量值时,立即终止相应程序,停止对电池的充电。这里采用积分法计算容量。由于每次采样时间间隔很小,可以认为电流值恒定,因此这段时间内电池所存储的容量可以用二者的乘积来表示,而整个充电过程的容量可以用累计法来表示。