APP下载

基于AVR单片机的智能充电系统设计与实现

2010-01-18周富相郑晓晶

关键词:充电器蓄电池单片机

周富相,郑晓晶,曾 辉

(中国人民解放军总参通信训练基地,河北宣化075100)

1 引 言

随着经济和科技的发展,在我们日常生活中蓄电池的应用越来越广泛,蓄电池的类型、容量以及电压等级都不尽相同.不同蓄电池有不同的充电要求,因此,一块蓄电池就带有一个专用的充电器.这样就造成了产品成本的提高和资源的浪费.另外,蓄电池的使用寿命与日常的充电维护有很大的关系,蓄电池所带的专用充电器一般智能化水平不高,加上日常维护不当,导致蓄电池的使用寿命缩短.大量的试验研究表明[1],若采用合适的充电方式,电池的使用寿命大约可提高30%.针对目前的这种状况,设计了一种以单片机为控制核心的智能充电系统,它不仅能够满足电压在50 V以下,容量在120 A H以下各种类型蓄电池的充电要求,而且能够实现整个充电过程的自动精确控制和故障诊断,延长电池的使用寿命.这种充电系统的智能性和通用性,必将带来一定的社会效益和经济效益.

2 系统总体硬件设计

充电系统采用的主要控制器件为A TM EL公司的Atmega16[2],A Tmega16是基于增强的AVR RISC结构的低功耗8位CMOS微控制器.它主要有以下功能特点:16 K字节的系统内可编程Flash,512字节EEPROM,1 K字节SRAM;32个通用 I/O口线;32个通用工作寄存器;一个16位定时器/计数器(T/C),且具有PWM工作模式;可编程串行USART;8路10位ADC.为嵌入式控制应用提供了灵活而低成本的解决方案._____

系统总体硬件框图如图1所示,主要由充电放电电路、保护电路、检测电路、显示告警电路和以单片机为控制核心的控制电路组成.单片机首先通过PTC(陶瓷加热器)放电检测电路对电池组的容量进行精确测定,得到电池组的容量参数.通过检测电路获取充电电压、电流以及电池温度参数,然后根据用户通过菜单选择的电池类型等参数,调用不同的充电算法程序对电池进行智能优化充电.同时保护电路能够对过压、过流、温度过高以及电池的反接、短路等进行有效保护.

图1 系统总体硬件框图

2.1 充电放电电路设计

系统的充电电路主要由EMI滤波器,开关电源和保护电路组成.其中开关电源是充电电路中最重要的组成部分,输出功率为740 W,而且可通过PWM方式对其输出功率进行精确控制.220 V交流市电经EMI滤波器滤波后,作为开关电源的输入.单片机根据检测电路得到电池的充电电压、电流以及温度参数,实时地调整PWM输出占空比,进而对开关电源的输出功率进行控制.由于PWM控制信号由单片机的16位定时器/计数器在快速PWM模式下产生,所以PWM信号频率可达几十 K到几百 K赫兹,分辨率可达到1∶655 35,相应地,开关电源输出电压的调整步长可达到1 mV,从而实现了精确的充电功率控制.另外,保护电路可对过压、过流、温度过高以及电池的反接、短路等进行有效保护.

放电电路主要由PTC放电回路、电压电流和温度检测电路构成.采用PTC恒流放电技术对电池组进行精确放电控制.PTC恒流放电技术是依据PTC器件的温度特性,在单片机对检测到的电压电流以及电池温度参数进行评估的基础上,精确控制PTC恒流放电来实现的.最后,单片机通过放电电流的大小和相应的放电时间可以计算出电池的准确容量,为下一步的充电工作做好参数准备工作.

2.2 检测电路设计

系统检测电路主要由电压检测电路、电流检测电路和电池温度检测电路组成.为了使电压检测电路简单而可靠,电压采样采用精密电阻分压的方法,将被测电压范围转换成0~5 V,然后通过单片机的一个ADC通道转换成数字信号,单片机对测得的电压值进行评估分析,然后调整PWM占空比完成对充电电压的控制与调节.

电流检测也采用了在充电主回路中串联采样电阻的方法[3],系统采用了0.1Ω50 W的高精度采样电阻.首先将采样电阻两端的电压信号通过运放进行放大,然后再送到单片机的ADC通道进行模数转换,进而完成了对充、放电电流的检测.

温度检测是通过负温度系数热敏电阻来实现的[3].热敏电阻两端的电压信号通过单片机的ADC通道实现模数转换,根据热敏电阻电压与温度关系曲线,得到电池的温度参数.如欲获得更高精度的温度检测,可通过软件写入校准值的方法来实现.

2.3 显示及告警电路设计

系统显示采用控制器为ST7920的LCD128*64液晶显示器,为了节约单片机I/O口,采用8位串行接口方式与单片机连接.显示器能够显示用于人机交互的功能菜单,充电电池的状态参数以及充电曲线.告警电路由一个三级管放大电路和蜂鸣器组成.当有故障或需要告警情况发生时,单片机的I/O口直接控制三级管导通工作,驱动蜂鸣器鸣叫,同时与单片机I/O经分压电阻相接的L ED发光,实现声光告警功能.

3 系统软件设计

图2 系统软件流程图

系统软件设计采用模块化设计方法,整个程序主要由初始化程序,人机交互菜单界面程序,四个中断服务程序,铅酸电池、镍基电池和锂电池的充电算法子程序组成,软件流程如图2所示.软件流程采用中断工作方式,目的是提高单片机的资源使用效率,同时使应用软件流程清晰,可读性强,易于算法改进及功能扩充.各种类型电池的充电算法在文献[4-7]中有详细论述,所以,下面只对初始化程序,人机交互界面程序和中断服务程序加以说明.

3.1 初始化程序

上电或复位后,程序首先对A Tmega16单片机进行初始化操作,包括设置单片机I/O端口的输入输出状态,定时器/计数器初始参数,看门狗初始参数,以及对ADC相关寄存器和LCD液晶显示器的初始化工作.

3.2 人机交互菜单界面程序

人机交互菜单界面程序为用户对系统功能的选择,电池充电参数的设定等提供人机交互接口.在对电池进行充电的过程中,实时显示充电电压、电流和温度等参数,还可以描绘电池的充电曲线.为了方便用户操作,系统采用菜单的方式来实现用户对各种功能的选择.用户通过键盘上的功能键和数字键可以方便的选择系统各种功能,或设置充电参数.

3.3 中断服务程序

中断服务程序有两个定时器中断和两个外部中断服务程序.定时中断1主要根据置满标志判断电池的实时充电状态,如果电池充满,设置涓流充电参数,下一步转入涓流充电.如果没有充满,则检测电流大小,依据充电算法修改充电参数,返回中断继续充电.定时中断2主要根据设定的充电时间、电压、电流以及电池温度参数,判断电池的充电状态,进而完成置满标志或暂停充电任务.外部中断1主要通过检测充电电流的大小,判断充电电流是否过大,依据充电电流的大小,做出暂停充电或修改参数以便继续充电的处理.外断中断2主要完成识别键盘键值的任务,进而对用户的选择做出响应.

4 试验结果

图3 充电试验曲线

本系统在实验室中进行了大量的试验,对12 V/16 A H铅酸蓄电池在室温下进行了充电试验.充电初始电压为11.1 V,每分钟采集一次电压和电流样值,用MA TLAB软件对采样数据进行图形绘制,绘制的充电电压和电流曲线如图3所示,充电曲线与理论曲线基本相符.试验结果表明,该充电系统能够很好的完成铅酸蓄电池的充电.实现了根据电池类型、端电压、容量和环境温度自动调整充电算法完成充电.与其它充电器相比,该充电系统具有上电之后自动检测蓄电池是否反接、短接、电池电压、容量和环境温度的功能,并根据蓄电池的初始状态参数自动转入相应阶段充电,优化了充电过程,提高了蓄电池的使用寿命和充电效率.

5 结束语

系统采用了单片机来控制整个充电过程,不同蓄电池所要求的不同充电算法可以通过调用相应的软件模块来实现.因此,本系统具有很高的灵活性和很强的通用性,能够适用于目前市场上常用的各种电压和容量等级的铅酸、镍基和锂电池.系统采用了LCD显示和菜单技术,人机交互界面良好,操作简单.另外,系统具有体积小,控制精度高,成本低,能够有效延长电池使用寿命等特点,具有广阔的市场应用前景.

[1] 傅胤荣,胡义华,潘永雄.大功率智能充电器的研究与设计 [J].电源技术应用,2007,10(04):24-27

[2] 张军,宋涛.AVR单片机C语言程序设计实例精粹 [M].北京:电子工业出版社,2009:1-25

[3] 曾还尤.基于AVR单片机的智能快速充电器的设计与研究 [J].机械工程与自动化,2007,31(10):122-124

[4] 罗俊,杨林,郭敬爱.基于PIC单片机的智能充电器设计 [J].电力电子技术,2008,42(08):73-75

[5] 刘关俊.基于单片机的通用智能充电器设计 [J].仪表技术与传感器,2006,(09):42-43

[6] 韦鸿任,景占荣,陈彦来,等.数字化智能充电器的设计与实现 [J].西安工业大学学报,2008,28(05):479-482

[7] 唐元春.基于单片机控制的铅酸电池充电器 [J].电源世界,2008,(04):46-48

猜你喜欢

充电器蓄电池单片机
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
头脑充电器
聊聊蓄电池的那点事儿(1) 汽车蓄电池的前世
便携式多功能充电器的设计
蓄电池去哪儿了
蓄电池去哪儿了?VOL12.雷克萨斯RX450h
蓄电池去哪儿了?
Microchip推出两个全新PIC单片机系列