在程序的初始阶段应首先对单片机进行初始化,然后判断电池是否连接正确,根据电池状况判断应该进入哪一个充电阶段。具体实现为开始输出小电压,然后从小电压逐渐往上加,不断读入电池的电压、电流,根据所读入的数据进行判断。
当电池很空的时候,由于电池可能已经处于受损的状态,这时候应该采用小电流恒流充电。这样有利于激活电池内的反应物质,部分恢复受损的电池单元。当电池比较空的时候,可以用大电流恒流充电,使电池在短时间内冲入比较大的电量而不会损坏电池。具体算法采取多段恒流方法,实验证明多段恒流有利于充入更多的电量。当电池比较满的时候,应该采用定压充电,这时候随着充电过程的延续,电流会逐渐下降,这样能保证不会充电过量而损害电池。当电池很满的时候,可以采用的是脉冲充电算法。经试验证明,脉冲充电算法比传统的小电流充电算法不但速度快,而且充入的电量更多。
以上所说有四个充电阶段(小电流、多段恒流、恒压、脉冲)可以采用P、PI、PID算法,以保持电流/电压的恒定。在充电过程的初段,电池处于恒流充电状态,由于电池比较空,控制器对电流的精度要求不高,此时可以采用P算法。通过调整P算法的比例系数Kp,可以控制误差的大小。Kp越大,电流误差越小,但同时系统稳定性降低。根据控制理论,可以得到以下关系式:
Ui,i+1=Ui,i+Kp×(Uo,i-Uo,i-1)
ΔI=A/Kp
其中A为充电系统所确定的常数,由实验测得。
在充电过程的定压阶段,为了避免电池过充电,充电器对电压精度的要求比较高,此时应采用PI算法,以达到充电器对电池端电压无差控制的目的。定压控制的原理如图4所示。输出电压Ui,i+1可由下式计算:
Ui,i+1=Ui,i+Kp×(Uo,i-Uo,i-1)+Ki×Σ(Uo,j-Uo,j-1)
由于电池是一种容性负载,时间常数比较大,加上开关电源电路中也有一定的时延,因此整个电池充电系统的延时是比较大的。另外由于均衡充电电路也会引入很大的干扰,因此充电算法的鲁棒性非常重要,否则很容易出现控制器反应迟缓或出现超调震荡的现象。在这种情况下,PI算法中的常数Kp、Ki的数值对系统的稳定性非常重要。尤其是Ki,其取值范围比较小,很小的变化就会引起系统的震荡。一般情况下,Kp、Ki的确定可以采用以下方法:
(1)先采用P算法初步确定Kp1,选择Ki1<<Kp1;
(2)经实验调整得Ki2;
(3)再经实验调整得Kp2;
(4)重复步骤(2)、(3)一到两次;
(5)微调Ki,使系统的稳定域尽量大、时间常数尽量小。
必须注意的是,无论在任何阶段,控制器都必须不断检测以下三项关键技术指标:电路是否出现断路、电池是否出现不均衡现象、电池是否达到规定的安全电压。其中电池的断路主要通过检测电流的大小来判断。而且为了避免误判断,应该反复检测。当出现断路时,应重新返回预处理阶段。断路的判断应该在电压已经达到预定值的情况下进行,否则在电压没有达到预定值的情况下,电流比较小,可能出现误判断。均衡充电是智能电器的另一个重要特点。在充电的过程中,由于电池的质量不相同,容量小、质量差电池的电压在充入相同电量后会出现电压增加比另一个电池多的情况,如果不采取措施,它们的电压差将会增大,以至其中一个电池很快达到规定的安全电压,充电过程被迫停止。这时候应该对电压高的电池进行放电,即均衡充电。这样有利于恢复电池内受损的单元,使充电过程能顺利地进行下去。为了防止电池冲坏,在电池电压到达规定的安全电压时应立刻停止充电,否则会损坏电池。
综上所述,智能充电器是根据电动自行车、电动游览车的现实需要而开发的,在引入了单片机作为控制器以后充电效果比较理想,达到了在保证电池安全的情况下尽量多充入电量的预期效果。但由于智能充电器发展时间尚短,无论在硬件设计上还是控制算法方面还存在着一些不足,有待以后不断地改进。