基于PIC单片机的智能充电器的设计与实现
扫描二维码
随时随地手机看文章
1 引言
铅酸蓄电池是目前大容量电池的主要品种,其制造成本低、容量大、价格低廉,使用范围非常广泛。铅酸蓄电池的基本充电方式有两种:恒压充电和恒流充电。如果单独采用一种方法,比如恒流法,则在充电后期由于充电电流不变,容易使容量下降而提前报废。单独采用恒压法,充电初期电流过大,可能致使电极活性物质脱落,后期电流又过小,形成长期充电不足,影响蓄电池的使用寿命[1]。因此,充电器大部分都是综合采用两种方法的多阶段充电方式。近年来,先恒流、再恒压、最后恒压浮充的三阶段充电方式被逐渐接受。
目前,三阶段充电方式主要采用模拟控制的方案。虽然具有实时性好、带宽高的优点,但其硬件电路复杂,控制不灵活。为此,本文设计了一种数字控制的充电器,采用单片机作为控制回路的核心,通过电压、电流实时采样,从而控制输出电压和输出电流,实现了三阶段充电策略,可智能灵活的控制蓄电池的充电,提高蓄电池的利用效率,并有助于提高蓄电池的使用寿命和性能。
2 充电器电源结构
系统的总体设计框图如图1所示。主要由3部分组成:第一部分为开关电源部分,采用反激DC/DC变换器;第二部分为电压、电流采样电路;第三部分为单片机核心的PWM输出,再经驱动电路驱动反激电路。
图1 充电器电路总体设计框图
系统由电压采样电路、电流采样电路实时分别采样电压、电流,将采样的电压、电流各自送单片机的RA0、RA1,经过单片机内部的A/D转换模块转化为数值,然后根据编写的软件进行对应操作,由PWM模块得到相应的占空比,再由RC2将占空比送到驱动电路,用于驱动反激电路的开关管,从而在输出端得到相应的电压或电流对铅酸蓄电池进行充电。
3 数字控制电路结构
数字控制电路通过相应信号的获取和输出,监测和控制充电器对应的工作过程,使其能自适应工作。然而,主电路输出是模拟信号,单片机能够处理的却是数字信号,因此在处理信号之前,必须先通过模数转换器(ADC)将模拟信号转变为数字信号。假定ADC字长为N,则模数转换精度为1/2N,N越大精度也越高,但价格越贵。数字控制器PWM单元的时间分辨率及模数转换精度,决定了充电器的输出电压、输出电流、输出功率的精度。为了同时满足精度需求及降低成本的考量,需要选择合适位数的ADC和PWM数字控制器。
ADC转换器选定后,需要选择PWM位数。如果PWM位数太小,将导致输出电压在某一电压值附近上下波动,造成极限环现象,输出电压将发生周期性抖动,进而影响到采样数据,最终影响到整个系统的处理精度。因此,PWM单元分辨率越高越好。
PWM位数N与频率fPWM满足下式:。式中,fclk表示单片机的时钟频率。PR2为单片机PWM周期寄存器,fPWM越高存入PR2的值越小。设存入PR2的值为M,则最大分辨率为分频值f/M。由此可见,频率不一定越高越好,过高的频率会降低PWM分辨率。PWM输出的频率与分辨率之间的关系如表1所示。
表1 PWM频率与分辨率的关系(fclk=40MHz)
为了保证足够高的分辨率,保证输出电压纹波受PWM分辨率的影响小于输出滤波电容的影响,本设计选用10位PWM。
同时,考虑到其它需求,本系统对数字控制器的具体要求主要包括:(1)内置ADC模块,至少2个ADC信道,精度在10位以上;(2)至少内置1个PWM单元,PWM精度在10位以上;(3)至少两个定时器;(4)有中断优先级设置;(5)至少5个I/O口;(6)价格低于50元人民币。
综合考虑以上因素,选择microchip公司的PIC18F2620作为数字控制芯片。PIC18F2620的主要性能有:10个10位的ADC信道;最高外接时钟频率可达到40M:1024字节的数据EEPROM,用于储存可变数据;可延长电池寿命的低功耗强化设计,睡眠模式下耗电仅为100nA等等,其性能满足系统需要。
4 系统软件设计
4.1 主程序设计
三阶段充电,开始时采用恒流充电,中间为恒压充电,最后采用浮充充电。该充电法减少了充电出气量,充电比较彻底,延长了蓄电池使用寿命。三阶段充电法充电电流和充电电压变化曲线如图2所示。
图2 三阶段充电特性图
根据三阶段充电的原理,画出系统的主程序流程图,如图3所示。(其中Um为蓄电池的最大电压上限,Ubat为恒压充电门限,Ibat为恒流充电门限,其值一般取蓄电池容量的1/10。)
单片机系统的主程序,主要用于A/D采样初始化、PWM初始化、定时和中断系统、定时器的初值设定,然后一直检测充电器的电压与电流,进行三阶段的自适应充电。
程序中需要注意一下问题。
(1)因为需要同时采样电压和电流2个变量,此时可根据PIC18F2620的采样单元特点,可通过直接改变A/D控制寄存器ADCON0.2~3位进行更换通道,其速度快、花费时间少。
(2)中断系统是程序的重点部分。由于采样单元不可能一直工作,这样既浪费单片机的运算能力又影响其它部分的工作,使系统的工作效率低下。为了使单片机更有效率的工作,系统采用定时中断的工作方式:利用TMR0定时器进行定时,固定一定的时间后进入中断。目前,市面上的单片机一般都存在中断优先级,比如系统采用的PIC18F2620有2个优先级,可以通过设置不同的中断向量进行不同优先级的操作。对应的高优先级中断服务子程序,使TMR0复位,并载入相应的初值,进入下一次的定时状态。低优先级中断服务子程序,则是复位A/D模块使能位,读取并存储A/D转换结果,然后判别相应的电压、电流采样值所处的阶段,最后经过各个阶段对应的PI调节修改占空比。
图3 主程序流程图
4.2 采样子程序
采样处理后的电压、电流信号,不可避免的存在系统所带来的噪声和干扰,为了准确的测量和控制,必须滤除这些噪声和干扰。除了在硬件电路上进行滤波,还可采用软件滤波或称为数字滤波。常用的数字滤波方法有很多,本系统采用了平均值法:多次采样后排序,再去掉最大和最小值之后求平均值的方法,提高了采样精度。
4.3 PI子程序
为了消除积分饱和的影响,本系统采用增量式PI控制算法,并利用遇限削弱的方法。
遇限削弱积分PI算法,实际上是一旦控制量进入饱和区范围,则停止增大积分项的运算而只执行削弱积分项的运算[5]。PI程序流程图如图4所示。
图4 PI控制算法流程图
5 实验结果与分析
采用以上介绍的方法制作样机,对YTX7A-BS/12V-7AH的铅酸蓄电池充电。
主电路参数如下:输入电压Uin=24V,电路工作频率f=50kHz,采用EI33磁芯,原边电感Lp=212μH,副边电感Ls=112μH,开关管采用IRF840,输出电容采用1000μF/25V的电解电容。
图5为样机给铅酸蓄电池充电变化曲线图,横轴为充电时间,左边Y轴为蓄电池电压,右边Y轴为充电电流。
图5 蓄电池充电变化曲线
从图5可知,根据程序设计要求,在充电的初始阶段,充电器先进行恒流充电,蓄电池电流保持为0.7A左右。此后,当蓄电池电压超过恒压充电门限14.4V,转为恒压充电,充电电压保持为14.4V,充电电流不断下降。同时,通过RA1不断检测充电电流,当充电电流降到0.1A以下时,表明蓄电池已充满电。这时,为了补充蓄电池的自放电,转为浮充充电,充电电压保持于13.7V。根据以上结果分析表明:本文所提出的铅酸蓄电池三阶段自适应数字控制方案是有效的,充电器能够根据蓄电池所处的实际状态来选择对应的充电方式(恒流,恒压充电和浮充)进行充电。
6 结语
相对于传统的模拟控制的铅酸蓄电池充电器,采用数字控制的充电器大大提高了控制系统的灵活性、可靠性、稳定性等。随着控制方案与功能整合的不断完善以及单片机价格的逐渐降低,采用单片机的数字控制充电器将成为今后一个重要的研究方向。
参考文献
[1] 胡恒生,王慧,赵徐成,吕瑞强. 蓄电池充电方法的分析和探讨[J]. 电源技术应用,2009,12(8):1-4.
[2] 陈坚. 电力电子学――电力电子变换和控制技术[M]. 北京:高等教育出版社,2004.
[3] 孟建辉,刘文生. 反激式变换器 DCM与CCM模式的分析与比较[J]. 通讯电源技术,2010,27(6):33-38.
[4] 童诗白,华成英. 模拟电子技术基础[M]. 北京:高等教育出版社,2001.
[5] Cook,B. New Developments and Future Trends in High-Efficiency Lighting. IEEEngineering Science and Education Journal,2000,9:207-217.■