1前言随着越来越多的手持式电器的出现,对高性能、小尺寸、重量轻的电池充电器的需求也越来越大。电池技术的持续进步也要求更复杂的充电算法以实现快速、安全的充电。因此需要对充电过程进行更精确的监控,以缩短充电时间、达到最大的电池容量,并防止电池损坏。AVR已经在竞争中领先了一步,被证明是下一代充电器的完美控制芯片。AtmelAVR微处理器是当前市场上能够以单片方式提供Flash、EEPROM和10位ADC的最高效的8位RISC微处理器。由于程序存储器为Flash,因此可以不用象MASKROM一样,有几个软件版本就库存几种型号。Flash可以在发货之前再进行编程,或是在PCB贴装之后再通过ISP进行编程,从而允许在最后一分钟进行软件更新。EEPROM可用于保存标定系数和电池特性参数,如保存充电记录以提高实际使用的电池容量。10位A/D转换器可以提供足够的测量精度,使得充好后的容量更接近其最大容量。而其他方案为了达到此目的,可能需要外部的ADC,不但占用PCB空间,也提高了系统成本。AVR是目前唯一的针对像“C”这样的高级语言而设计的8位微处理器。C代码似的设计很容易进行调整以适合当前和未来的电池,而本次智能型充电器显示程序的编写则就是用C语言写的。2第一章概述第一节绪论1.1.1课题背景如今,随着越来越多的手持式电器的出现,对高性能、小尺寸、重量轻的电池充电器的需求也越来越大。电池技术的持续进步也要求更复杂的充电算法以实现快速、安全的充电。因此需要对充电过程进行更精确的监控,以缩短充电时间、达到最大的电池容量,并防止电池损坏。与此同时,对充电电池的性能和工作寿命的要求也不断地提高。从20世纪60年代的商用镍镉和密封铅酸电池到近几年的镍氢和锂离子技术,可充电电池容量和性能得到了飞速的发展。目前各种电器使用的充电电池主要有镍镉电池(NiCd)、镍氢电池(NiMH)、锂电池(Li-Ion)和密封铅酸电池(SLA)四种类型。电池充电是通过逆向化学反应将能量存储到化学系统里实现的。由于使用的化学物质的不同,电池有自己的特性。设计充电器时要仔细了解这些特性以防止过度充电而损坏电。目前,市场上卖得最多的是旅行充电器,但是严格从充电电路上分析,只有很少部分充电器才能真正意义上被称为智能充电器,随着越来越多的手持式电器的出现,对高性能、小尺寸、轻重量的电池充电器的需求也越来越大。电池技术的持续进步也要求更复杂的充电算法以实现快速、安全地充电,因此,需要对充电过程进行更精确地监控(例如对充、放电电流、充电电压、温度等的监控),以缩短充电时间,达到最大的电池容量,并防止电池损坏。因此,智能型充电电路通常包括了恒流/恒压控制环路、电池电压监测电路、电池温度检测电路、外部显示电路(LED或LCD显示)等基本单元。其框图如下:3图1-1智能充电器基本框图AtmelAVR微处理器是当前市场上能够以单片方式提供Flash、EEPROM和10位ADC的最高效的8位RISC微处理器。由于程序存储器为Flash,因此可以不用象MASKROM一样,有几个软件版本就库存几种型号。Flash可以在发货之前再进行编程,或是在PCB贴装之后再通过ISP进行编程,从而允许在最后一分钟进行软件更新。EEPROM可用于保存标定系数和电池特性参数,如保存充电记录以提高实际使用的电池容量。10位A/D转换器可以提供足够的测量精度,使得充好后的容量更接近其最大容量。而其他方案为了达到此目的,可能需要外部的ADC,不但占用PCB空间,也提高了系统成本。AVR是目前唯一的针对象“C”这样的高级语言而设计的8位微处理器。1.1.2常见充电电池特性及其充电方式电池充电是通过逆向化学反应将能量存储到化学系统里实现的,由于使用的化学物质的不同,电池的特性也不同,其充电的方式也不大一样。电池的安全充电现代的快速充电器(即电池可以在小于3个小时的时间里充满电,通常是一个小时)需要能够对单元电压、充电电流和电池温度进行精确地测量,在充满电的同时避免由于过充电造成的损坏。充电方法SLA电池和锂电池的充电方法为恒定电压法要限流;NiCd电池4和NiMH电池的充电方法为恒定电流法,且具有几个不同的停止充电的判断方法。最大充电电流最大充电电流与电池容量(C)有关。最大充电电流往往以电池容量的数值来表示。例如,电池的容量为750mAh,充电电流为750mA,则充电电流为1C(1倍的电池容量)。若涓流充电时电流为C/40,则充电电流即为电池容量除以40。过热电池充电是将电能传输到电池的过程。能量以化学反应的方式保存了下来。但不是所有的电能都转化为了电池中的化学能。一些电能转化成了热能,对电池起了加热的作用。当电池充满后,若继续充电,则所有的电能都将转化为电池的热能。在快速充电时这将使电池快速升温,若不及时停止充电就会造成电池的损坏。因此,在设计电池充电器时,对温度进行监控并及时停止充电是非常重要的。现代消费类电器主要使用如下四种电池:•密封铅酸电池(SLA)•镍镉电池(NiCd)•镍氢电池(NiMH)•锂电池(Li-Ion)在正确选择电池和充电算法时需要了解这些电池的背景知识。密封铅酸电池(SLA)密封铅酸电池主要用于成本比空间和重量更重要的场合,如UPS和报警系统的备份电池。SLA电池以恒定电压进行充电,辅以电流限制以避免在充电过程的初期电池过热。只要电池单元电压不超过生产商的规定(典型值为2.2V),SLA电池可以无限制地充电。镍镉电池(NiCd)NiCd电池目前使用得很普遍。它的优点是相对便宜,易于使用;缺点是自放电率比较高。典型的NiCd电池可以充电1000次。失效机理主要是极性反转。在电池包里第一个被完全放电的单元会发生反转。为了防止损坏电池包,需要不间断地监控电压。一旦单元电压下降到1.0V就必须停机。NiCd电池以恒定电流的方式进行充电。镍氢电池(NiMH)在轻重量的手持设备中如手机、手持摄象机,等等镍氢电池是使用最广的。这种电池的容量比NiCd的大。由于过充电会造成NiMH电池的失效,在充电过程中进行精确地测量以在合适的时间停止是非常重要的。和NiCd电池一样,极性反转时电池也会损坏。NiMH电池的自放电率大概为20%/月。和NiCd电池一样,NiMH电池也为恒定电流充电。5锂电池(Li-Ion)和本文中所述的其他电池相比,锂电池具有最高的能量/重量比和能量/体积比。锂电池以恒定电压进行充电,同时要有电流限制以避免在充电过程的初期电池过热。当充电电流下降到生产商设定的最小电流时就要停止充电。过充电将造成电池损坏,甚至爆炸。1.1.3主要芯片的选择ATMEL公司是世界上有名的生产高性能、低功耗、非易失性存储器和各种数字模拟IC芯片的半导体制造公司。在单片机微控制器方面,ATMEL公司有AT89,AT90和ARM三个系列单片机的产品。由于8051本身结构的先天性不足和近年来各种采用新型结构和新技术的单片机的不断涌现,现在的单片机市场是百花齐放。ATMEL在这种强大市场压力下,发挥Flash存储器的技术特长,于1997年研发并推出了个新配置的、采用精简指令集RISC(ReducedInstructionSetCPU)结构的新型单片机,简称AVR单片机。精简指令集RISC结构是20世纪90年代开发出来的,综合了半导体案成技术和软例-性能的新结构。AVR单片机采用RISC结构,具有1MIPS/MHz的高速运行处理能力。为了缩短产品进入市场的时间,简化系统的维护和支持,对于由单片机组成的嵌入式系统来说,用高级语言编程已成为一种标准编程方法。AVR结构单片机的开发日的就在于能够更好地采用高级语言(例如C语言、BASIC语言)来编写嵌入式系统的系统程序,从而能高效地开发出目标代码。为了对目标代码大小、性能及功耗进行优化,AYR单片机的结构中采用了大型快速存取寄存器组和快速的单周期指令系统。AVR单片机运用Harvard结构,在前一条指令执行的时候就取出现行的指令,然后以一个周期执行指令。在其他的CISC以及类似的RISC结构的单片机中,外部振荡器的时钟被分频降低到传统的内部指令执行周期,这种分频最大达12倍(8051)。AVR单片机是用一个时钟周期执行一条指令的,它是在8位单片机中第一个真正的RISC结构的单片机。由于AVR单片机采用了Harvard结构,所以它的程序存储器和数据存储器是分开组织和寻址的。寻址空间分别为可直接访问8M字节的程序存储器和8M字节的数据存储器。同时,由32个通用工作寄存器所构成的寄存器组被双向映射,因此,可以采用读写寄存器和读写片内快速SRAM存储器两种方式来访问32个通用工作寄存器。AVR主要有单片机有ATtiny、AT90和ATmega三种系列,其结构和基本原理6都相类似。本次设计所用到的Atmega16L芯片便是ATmega系列中的一种,在这里作为充电器的核心部件。它是一种具有40引脚的高性能、低功耗的8位微处理器。其功能特性如下:(1)8位CPU。(2)先进的RISC结构:131条指令–大多数指令执行时间为单个时钟周期32个8位通用工作寄存器全静态工作(3)非易失性数据和程序存储器:16K字节的系统内可编程Flash,擦写寿命可达到10,000次以上。具有独立锁定位的可选Boot代码区,通过片上Boot程序实现系统内编程。512字节的EEPROM,可连续擦写100,000次。1K字节的片内SRAM,可以对锁定位进行编程以实现用户程序的加密。(4)可通过JTAG接口实现对FLASH、EEPROM的编程。(5)32个可编程的I/O引线,40引脚PDIP封装。(6)两个具有独立预分频器和比较器功能的8位定时器/计数器,一个具有预分频器、比较功能和捕捉功能的16位定时器/计数器。(7)片内/片外中断源。(8)具有一个10位的AD转换器,能对来自端口A的8位单端输入电压进行采样。(9)工作电压:2.7-5.5V。速度等级:0-8MHz。AVR单片机的主要特点如下:1.片内集成可擦写10000次以上的Flash程序存储器。由于AVR采用16位的指令,所以一个程序存储器的存储单元为16位,即XXXX*1116(也可理解为8位,即2*XXXX*8)。AVR的数据存储器还是以8个Bit(位)为一个单元,因此AVR还是属于8位单片机。2.采用CMOS工艺技术,高速度(50ns)、低功耗、具有SLEEP(休眠)功能。AVR的指令执行速度可达50ns(20MHz)。AVR运用Harvard结构概念,具有预取指令的特性,即对程序存储和数据存取使用不同的存储器和总线。当执行某一指令时,下一指令被预先从程序存储器中取出,这使得指令可以在每一个时钟周期内执行。73.高度保密(LOCK)。可多次擦写的FLASH具有多重密码保护锁死(LOCK)功能,因此可低成本高速度地完成产品商品化,并且可多次更改程序(产品升级)而不必浪费1C或电路板,大大提高了产品的质量及竞争力。4.超功能精简指令。具有32个通用作寄存器(相当于8051中的32个累加器),克服了单一累加器数据处理造成的瓶须现象,128~4K字节SRAM可灵活使用指令计算,并可用功能很强的C语言编程,易学、易写、易移植。5.程序写入器件可以并行写入(用编程器写入),也可使用串行在线编程(ISP)方法下载写入,也就是说不必将单片机芯片从系统上拆下,拿到万用编程器上烧写,而可直接在电路板上进行程序的修改、烧写等操作,方便产品升级,尤其是采用SMD封装,更利于产品微型化。6.工作电压范围为2.7V~6.0V,电源抗干扰性能强。7.AVR单片机还在片内集成了可擦写100000次的2EPROM数据存储器,等于又增加了一个芯片,可用于保存系统的设定参数、固定表格和掉电后的数据,既方便了使用,减小了系统的空间,又大大提高了系统的保密性。8.有8位和16位的计数器定时器(C/T),可作比较器、计数器、外部中断和PWM(也可作D/A)用于控制输出。1.1.4液晶显示模块的选择LCD显示模块是一种被动显示器,具有功耗低,显示信息大,寿命长和抗干扰能力强等优点,在低功耗的单