基于ATmega8智能充电器的设计.doc_第1页
基于ATmega8智能充电器的设计.doc_第2页
基于ATmega8智能充电器的设计.doc_第3页
基于ATmega8智能充电器的设计.doc_第4页
基于ATmega8智能充电器的设计.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1基于ATmega8智能充电器的设计【摘要】移动通讯、消费类数码产品、笔记本电脑、便携仪器等便携设备市场的不断扩张,使得我们对电池的性能和工作寿命的要求不断地提高。从上世纪60年代商用镍镉充电电池到近几年的锂离子电池,可充电电池容量和性能得到了飞速的发展。充电电池的使用离不开对其补充能量的充电器,而且充电器的好坏将会直接影响到电池的充电性能和使用寿命。本文详细介绍了镍镉、镍氢、锂电池这三种最为常用的充电电池的特点,同时介绍利用ATmega8和Buck开关电源设计的智能充电的设计和电路工作原理,充电期间对温度、电压、电流三项实时检测,并通过测的值来改变工作状态和停充。还设计通过恒流放电到最低限制电压来测量电池的容量。并通过LCD12864实时的显示电压、电流、温度、充放电状态等信息。1.概述随着人们生活水平的提高及科技的发展,很多的设备出现小型化和智能化,电子产品中的小型便携产品离不开对其提供能源的电源,针对这一状况,应运而生的充电式电池飞速的增长,而随之对于充电器的要求也越来越高,人们希望充电器能完全按照人的思维充电,即快速、安全、准确、方便的对电池进行充电。根据人们对“智能”充电器的要求,对于纯粹的硬件电路已经很难实现智能化,而且势必硬件电路会很复杂。但是嵌入式系统出现解决了这一难题,嵌入式系统内部集成众多的接口及功能模块,而且可以通过编程去尽可能的实现人的思维,可以很方便的实现软件的更新,这样也就加快了充电器的更新速度,使发展的更快。便携式电子产品目前主要是镍氢(NiMH)、镍镉(Nicd)、锂充电电池(Li-lon),三种充电电池都有轻便、性价比高、放电电流大、寿命长等特点,因此在各种通信设备、电动工具、仪器仪表中有着广泛的应用。普通充电器对电池采取小电流充电方式,没什么电压电流保护电路。这样,将导致电池充满所需时间长,且容易造成电池过充,影响电池寿命甚至引起事故。所谓的智能充电器,是指在充电过程中可对电压、电流、温度进行实时检测,并根据检测的结果,对检测的结果进行判断以调节各种的充电状态,能最大限度的延长电池寿命,缩短充电时间的充电器。本充电器通过单片机设计的智能快速充电器能够判断电池状态,控制电池的快速充电,适用于不同容量小型的Nicd、NiMH和Li-lon电池。该方法能大大缩短充电时间,并能防止电池出现过充现象。本充电器核心是ATmega8,是AVR单片机的一种,具有极高的性价比,AVR微处理器是当前市场上能够以单片方式提供Flash、PWM和10位ADC的最高效的8位RISC微处理器。由于程序存储器为Flash,因此可以不用象MASKROM一样,有几个软件版本就库存几种型号。Flash可以在发货之前再进行编程,或是在PCB贴装之后再通过ISP进行编程,从而允许在最后一分钟进行软件更新。10位A/D转换器可以提供足够的测量精度,使得充好后的容量更接近其最大容量。而其他方案为了达到此目的,可能需要外部的ADC,不但占用PCB空间,也提高了系统成本。本充电器可对1-3节镍镉、镍氢、单节锂电池进行最优化充电,可最大限度使电池达到最大寿命。电池在不断的充放电中容量会逐渐的减小,但是电池究竟容量为多少?目前市场极少有此设备,为此,本充电器设计一电池容量检测功能,通过对电池恒流放电到最低限制电压,计算出时间得到电池容量。这也是本充电器的又一独到之处。2.总体设计方案2.1设计方框图本智能充电器主控采用的是MCU,按照充电器的设计思路,可得到如下的方框图。电源控制电池控制核心电压、电流、温度采样显示部分2图2-1智能充电器总体方框图2.2方案论证与比较2.2.1控制核心的选择核心部件必须得是可程序控制的器件,才能体现人性化,所以主控芯片从MCU入手。由此,得到以下几个方案的设计。方案一:采用传统8位的51单片机,具有价格低廉,使用简单,技术支持较多等特点,但其采用复杂指令集(CISC),且机器周期长,这势必影响到对程序读取速度,而且51单片机内部没集成其他接口功能模块,如A/D,PWM,D/A等。本设计中信号采集,电源控制需PWM,A/D,D/A模块,这只能增加外围模块,硬件、软件、成本都得增加。方案二:采用ARM或DSP之类32位的嵌入式模块。这样的芯片具有处理速度快、程序储存器大、功能模块多等优点,但都采用贴片式小封装,有众多的管脚(本充电器只需十几个管脚),硬件上的焊接设计难度大,成本高,大材小用。方案三:采用Atmel公司生产的AVR系列ATmega8单片机,该单片机采用精简指令集(RISC),一个时钟周期对应一个机器周期,在速度上可达到要求,而且内部集成了A/D、PWM等模块,具有8K的flash储存器,而成本只和传统51相当,是有极高性价比的单片机。综上论证,本充电器采用方案三。2.2.2电源控制的选择电源控制主要是通过MCU输出控制电源模块的电流的改变,从而起到调节电压或电流的目的。目前常有的管理电源有两种方法,一是模拟式,二是开关式。现对两种充电方式进行比较。方案一:采用模拟式电源调节方法,就是用模拟量去控制功率三极管等调节器件,使其输出随着输入模拟量改变而改变,这种方法的好处是电源波纹小,输出电的质量高,但其有一致命弱点功率消耗太大,很多的电能被功率管以发热的形式白白浪费掉,效率一般20%-40%,不符合绿色用电规范。功率管也由于产生大量的热而需面积庞大的散热片来保护功率管。方案二:采用开关式电源调节方法。此种方式是使功率管处于开关状态,通过储能电感间歇的充放电来改变电压的。这种方式最大优点是电源效率高,一般60%-90%,人们日常生活及工业生产中开关电源是越来越多。这种方式的电源输出电压是脉动的方波,需整流后才能使用,但存在整流输出波纹大的缺点,不过加强滤波,可以使波纹控制在一定的范围内。从论证来看,开关式有着模拟式不可比拟的优点,因此选方案二。2.2.3显示器件的选择一个实用的充电器必须得包含显示电路,这样才能使使用者查看电池的状态,及是否完成等,因此显示电路得到以下几个方案。方案一:采用LED显示。发光二极管具有驱动电流小,各种颜色显示直观,接口电路简单,成本低的特点,一般LED只是作为指示用,很难显示一个具体的值,对于调试、程序设计者需要查看各种值就显的无力。从设计上来看不用LED。方案二:采用LED数码管来显示,这种器件需要外围器件电路来驱动,需要较大的电流,当显示很多值时,需很多的数码管,这样在设计上复杂,成本也会很高,而且需要的接口也较多,从一般的设计上不宜采用。方案三:采用LCD1602显示。LCD1602可采用四线或八线方式传输数据,另需两、三根控制线,接口较简单,成本也不高,显示较直观,省电,但LCD1602只能显示字符、数字及很少的简单汉字,在显示多组数据时略显不足。方案四:采用LCD12864显示。LCD12864是图形,汉字显示器件,可显示16*16汉字32个,16*8字符数字64个,功能很多,显示直观,不过成本较高。总体有一定的性价比。LCD12864有很多中主控芯片,根据本设计电路的特点,只是显示汉字、字符和数字,并不需要显示图形,因此可采用带中文字库的LCD,而采用ST7920作主控芯片的LCD12864具有接口电路简单,程序控制方便,不用人为生成汉字,节约程序空间。ST7920的接口方式有并口和串口两种方式,采用串口总的数据线最少只需两根,这对于硬件设计会简单的多。在设计中用LCD12864实时显示电压、电流、温度、状态等信息,显示直观,对于设计来说也提供了帮助。所以本智能充电器采用的是LCD12864。2.2.4温度采集模块的选择智能充电器得用到温度采集模块,这里有三种供选择,DS18B20、LM35、热敏电阻。现在对其一一考虑。方案一:用高集成度单片机控制芯片DS18B20。这在三种选择之中是最贵的,但是此器件温度已经3校准,而且里面集成有温度上下限报警、EEPROM等,它通过严格的单线时序对其读或写,不过要浪费MCU很多的时间和程序储存器。方案二:用高精度模拟输出温度芯片LM35。这种芯片亦不用进行调节而可直接读取,它输出的是把温度值化为具体的电压值,不过读取器件得有AD口。这在三者中价格居中。方案三:用热敏电阻进行读取,它最大的优点是价格便宜,不过热敏电阻随温度变化不是直线,需手工进行测量编出数组以对应具体的温度值,由于自己校准的设备不全,难度大,而且也得需要有AD口的MCU来读取。综上所述,充分发挥ATmega8单片机有AD口的优势,采用方案二,它具有相应快,读取简单,接口方便的优点。2.2.5采样电路的设计在充电或放电中需对电池的各种信息进行测量,以作出应对,因此需信息检测电路。因送入MCU中的信息是模拟量,若直接送入MCU的AD口,有比AD口最大测量电压高的量,有比AD最大输入最大值低得多的量,也有跟其反相的量,因此不能直接送入AD口,需外围变换电路,以降低电压保护AD口或升高电压使AD口测量精度最高或使电压反相以便于测量,所以需要通过运放电路来实现上述变换。因为充电器提供的电源是单电源,不宜使用双电源运放,这样会使电路很复杂,从单电源运放来看,最宜采用通用运放LM324和LM358。这两种运放可单、双电源供电,在单电源下供电电压3V-30V,价格便宜,性能也不错。本次设计一共用6个运放,因此用一片LM324(四运放)加一片LM358(双运放)。2.2.6按键设计按键一般有两类,一类是单一接口控制按键,一类是矩阵按键。矩阵按键在按键多的情况下用,可大大节省端口,另一类在按键少时用。在本次设计中共用五个按键,因此采用一对一接口按键。在这种按键下一般采用按下时低电平有效的方法,因此需上拉电阻,为了使设计简单化,又充分发挥ATmega8的优点,使能内部上拉,因此可省去外部上拉电阻,只用一按键接地就可。3.充电原理电池充电是通过逆向化学反应将能量存储到化学系统里实现的。由于使用的化学物质的不同,电池有自己的特性。设计充电器时要仔细了解这些特性以防止过度充电而损坏电池。3.1电池技术3.1.1镍镉电池(Nicd)NiCd电池前几年使用普遍的充电电池。它的优点是价格便宜,易于使用;缺点是自放电率比较高,存在记忆效应。典型的NiCd电池可以充电1,000次。失效机理主要是极性反转。在电池包里第一个被完全放电的单元会发生反转。为了防止损坏电池包,需要不间断地监控电压。一旦单元电压下降到1.0V就必须停机。NiCd电池一般以恒定电流的方式进行充电。因为镍镉电池会对环境产生污染,因此将逐渐的推出市场。3.1.2镍氢电池(NiMH)继镍镉电池后,重量更轻容量更大的NiMH电池得到更为普遍的使用。在数码相机、数码摄像机等便携式设备中都能见到NiMH电池的身影。镍氢电池容量比镍镉电池高1.5-2倍,且具有不污染环境、价格便宜、性能好等优点。由于过充电会造成NiMH电池的失效,在充电过程中进行精确地测量以在合适的时间停止是非常重要的。和NiCd电池一样,极性反转时电池也会损坏。NiMH电池的自放电率大概为20%/月。和NiCd电池一样,NiMH电池也为恒定电流充电。3.1.3锂电池(Li-lon)近几年,锂电池得到长足的发展。和本文中所述的其他电池相比,锂电池具有最高的能量/重量比和能量/体积比、无记忆效应等优点但是锂电池成本较高而且对充电器的要求也是最高的。锂电池以恒定电压进行充电,同时要有电流限制以避免在充电过程的初期电池过热。当充电电流下降到生产商设定的最小电流时就要停止充电。过充电将造成电池损坏,甚至爆炸。3.2电池的安全充电现代的快速充电器(即电池可以在小于3个小时的时间里充满电,通常是一个小时)需要能够对单元电压、充电电流和电池温度进行精确地测量,在充满电的同时避免由于过充电造成的损坏。3.2.1充电方法锂电池的充电方法为恒定电压法要限流;NiCd电池和NiMH电池的充电方法为恒定电流法,且具有几4个不同的停止充电的判断方法。3.2.2最大充电电流最大充电电流与电池容量(C)有关。最大充电电流往往以电池容量的数值来表示。例如,电池的容量为750mAh,充电电流为750mA,则充电电流为1C(1倍的电池容量)。若涓流充电时电流为C/40,则充电电流即为电池容量除以40。3.2.3过热电池充电是将电能传输到电池的过程。能量以化学反应的方式保存了下来。但不是所有的电能都转化为了电池中的化学能。一些电能转化成了热能,对电池起了加热的作用。当电池充满后,若继续充电,则所有的电能都将转化为电池的热能。在快速充电时这将使电池快速升温,若不及时停止充电就会造成电池的损坏。因此,在设计电池充电器时,对温度进行监控并及时停止充电是非常重要的。3.3停止充电的判别方法电池的不同应用场合及工作环境限制了对判断停止充电的方法的选择。有时候温度不容易测得,但可以测得电压,或者是其他情况。本文以电压变化率(-dV/dt)为基本的判断停止充电的方法,而以温度和绝对电压值为辅助和备份。但是本文所描述的硬件支持以下讲述的所有的方法。3.3.1t-时间这是决定何时停止充电的最简单的方法。通常用于快速充电时的后备方案。有时也作为普通充电(14-16小时)方法的基本方案。适用于各种电池。3.3.2V-电压当电压超出上限时停止充电。通常与恒定电流充电配合使用。最大电流由电池决定,通常为1C。为了防止充电时电流过大导致电池过热,此时电流限制是非常关键的。这个方法是锂电池的基本充电和停止方案。实际锂电池充电器往往在达到最大电压之后还继续进行第二阶段的充电,以达到100%的电池容量。对于NiCd电池和NiMH电池本方法可以作为后备的判断停止充电方案。3.3.3-dV/dt-电压变化率这个判断停止充电的方法利用了负的电压变化率。对于某些类型的电池,当电池充满后继续充电将导致电压的下降。此时本方案就非常合适了。这个方法通常用于恒定电流充电,适用于对NiCd电池和NiMH电池的快速充电。3.3.4I-电流当充电电流小于某个预先设定的数值时停止充电。通常用于恒定电压充电法。适用于锂电池。3.3.5T-温度绝对温度可以作为NiCd电池和NiMH电池停止充电的依据,但是更适合于作为备份方案。温度超出设定值时任何电池都得停止充电。3.4影响充电电池使用寿命的因素3.4.1镍镉、镍氢电池影响镍氢、镍镉电池使用寿命的主要因素是过充电和充电时电池温度过高(通常要求电池温度保持在45度以下进行充电)。另外,由于镍镉电池具有记忆效应,因此,如果在镍镉电池存储的电量没有完全放完的情况下充电的话,也会影响电池的使用寿命。3.4.2锂电池影响锂电池使用寿命的主要因素有以下几点:过放电:锂电池放电过程中,锂离子不断地从电池负极移动到电池正极,但是不能使锂离子完全地移动,必须保留一部分锂离子在电池负极中。否则电池寿命就会大大地缩短。为保证电池放电结束后电池中还保留部分锂离子,就要求电池在使用中不能过放电。通常锂电池单体的终止放电压为3.0,不要低于2.7V。充电温度:通常要求锂电池在充电过程中温度不能超过50度,否则会影响电池使用寿命。最高充电电压:锂电池的最高电压为4.2V,否则会使正极的锂离子移动太多,从而大大缩短电池的使用寿命。3.5智能充电器的设计要求几乎是所有用户都希望充电器的充电速度越快越好。因此,充电器能够提供的充电速率就是充电器设计的一个重要指标,但是要提高这个指标的前提是充电器必须能够在快速充电阶段能够准确的判断电池的状态。快速充电器的一个本质特征就是在过度充电之前自动降低充电速率。同时充电速率最好也不5要超过电池生产商的建议值,通常不要超过2C的充电速率。因此,一个安全可靠的充电器就需要能够在电池的充电过程中能够严格的控制电池的充电电流、电压、温度等物理参数。因此,智能型充电器通常应该包括恒流/恒压控制环路、电池电压监测电路、电池温度监测电路等基本单元。智能充电器的基本硬件方框图如下图所示:图3-1智能充电器硬件方框图4.硬件设计硬件设计包含MCU、Buck变换器、信息采样、电压基准、按键、LCD显示等电路,现介绍如下:4.1MCU电路4.1.1MCU简介本充电器设计采用ATMEL公司2002年推出的一款AVR高档单片机Atmega8。其内部集成了大容量的存储器,提供了PWM脉宽调制脉冲产生器、多路AD转换器、实时时钟电路、串行接口等硬件接口。非常适合用作智能型充电器的MCU控制单元。Atmega8有DIP28和TQFP/MLF32三种封装类型。我们选择了DIP28封装,如下图所示:6图4-1ATmega8封装ATmega8是基于增强的AVRRISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega8的数据吞吐率高达1MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。AVR内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU)相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC微控制器最高至10倍的数据吞吐率。ATmega8有如下特点:8K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512字节EEPROM,1K字节SRAM,32个通用I/O口线,32个通用工作寄存器,三个具有比较模式的灵活的定时器/计数器(T/C),片内/外中断,可编程串行USART,面向字节的两线串行接口,10位6路(8路为TQFP与MLF封装)ADC,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,以及五种可以通过软件进行选择的省电模式。工作于空闲模式时CPU停止工作,而SRAM、T/C、SPI端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;ADC噪声抑制模式时终止CPU和除了异步定时器与ADC以外所有I/O模块的工作,以降低ADC转换时的开关噪声;Standby模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力。本芯片是以Atmel高密度非易失性存储器技术生产的。片内ISPFlash允许程序存储器通过ISP串行接口,或者通用编程器进行编程,也可以通过运行于AVR内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用Flash存储区(ApplicationFlashMemory)。在更新应用Flash存储区时引导Flash区(BootFlashMemory)的程序继续运行,实现了RWW操作。通过将8位RISCCPU与系统内可编程的Flash集成在一个芯片内,ATmega8成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。4.1.2MCU控制单元电路MCU控制单元电路如下图所示:7图4-2ATmega8控制口电路图4-3LC滤波电路MCU系统时钟和实时时钟的选择:ATmega8具有5种类型的系统时钟源,即外部晶振、外部低频晶振、外部RC振荡、内部RC振荡及外部时钟。由于充电器在充电过程中需要计算充电时间,因此智能充电器的设计中必须包括实时时钟源。根据ATmega8的时钟源特点,本充电器的MCU系统时钟选择使用可校准的内部RC振荡器产生8M时钟,外接32.768KHz的晶振做为实时时钟的时钟源。PWM脉宽调制波产生器:ATmega8具有3个定时/计数器,可以实现定时/计数功能外,还具有任意小于16位相位和频率可调的PWM脉宽调制输出功能。本充电器使用T/C1产生PWM,为了获得较高的PWM脉冲频率,T/C1的工作模式选择快速模式。PWM脉冲从PB1(15脚)输出,送入Buck变换器中。PB2是做为放电控制输出,它经过两级RC滤波,用运放提高电压和驱动能力,控制功率三极管去改变电流,从而改变了放电电流。AD转换器:DIP28封装形式的ATmega8具有4个10位精度和2个8位精度的AD转换通道。本充电器在充电过程中需要随时采集电池的充电电流、放电电流、电池电压和电池温度,共需要4个AD转换通道。我们采用ADC0(PC0)采集充电电流数据,ADC1(PC1)采集放电电流,ADC2(PC2)采集电压,ADC3(PC3)采集温度信息。模拟地的处理:8ATmega8的21脚AREF是AD转换器的电压参考源。20脚Avcc是AD转换器的电源引脚,为了减小电磁干扰提高测量精度,Avcc是通过L1和C6组成的LC网络才连接至5V电源端。下载端口:ATmega8单片机下载方式为ISP下载,只需用四根数据线接口即可引出即可。它采用的是SPI传输方式,这种方式下载简化了程序更新的难度,可随时更新程序。4.2Buck变换器这部分也就是用PWM方式控制的恒流/恒压电路。由于此种电路中开关管是工作在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论