智能型充电器设计毕业设计Word格式.docx
《智能型充电器设计毕业设计Word格式.docx》由会员分享,可在线阅读,更多相关《智能型充电器设计毕业设计Word格式.docx(29页珍藏版)》请在冰豆网上搜索。
关键词:
;
采用小四号、宋体、接排
小四号、黑体、顶格
单片机;
微处理器;
LCD;
8279
(三号、黑体、居中、目录两字空两格、与正文空一行)
□□第一章(空两格)☆☆☆(小三号、宋体)………………×
□□□1.1☆☆☆☆(四号宋体)……………………………………×
□□□1.2☆☆☆☆……………………………………………………×
□□□1.3☆☆☆☆……………………………………………………×
………………
□□第四章(空两格)☆☆☆(小三号、宋体)………………×
□□□4.1☆☆☆☆……………………………………………………×
□□□4.2☆☆☆☆……………………………………………………×
□□参考文献(小三号、宋体)…………………………………×
□□附录(小三号、宋体)………………………………………×
□□外文资料(小三号、宋体)…………………………………×
□□中文译文(小三号、宋体)…………………………………×
□□致谢(小三号、宋体)………………………………………×
第一章概论…………………………………………………1
1.1课题背景………………………………………………………1
1.2常见充电电池特性……………………………………………2
1.3主要芯片选择…………………………………………………6
1.4显示模块的选择……………………………………………6
第二章硬件电路设计…………………………………………7
2.1显示模块访问方式的选择…………………………………7
2.2硬件电路主要芯片…………………………………………9
2.3液晶显示……………………………………………………12
2.4硬件电路的设计……………………………………………16
第三章软件设计………………………………………………19
3.1C语言开发单片机的优势……………………………………20
3.2显示字符或汉字的原理………………………………………20
3.3模块指令的说明………………………………………………21
3.4显示界面及流程图……………………………………………24
第四章系统调试……………………………………………26
4.1调试软件………………………………………………………26
4.2调试过程………………………………………………………28
第五章毕业设计总结………………………………………30
5.1主要成果与参考文献…………………………………………31
5.2致谢……………………………………………………………39
第一章 概述
第一章□□☆☆☆☆☆(居中、小三号、黑体)
1.1☆☆☆(四号、黑体、顶格)
1.1课题背景
□□☆☆☆☆☆☆☆☆☆正文(小四号、宋体,固定值22磅)
如今,随着越来越多的手持式电器的出现,对高性能、小尺寸、重量轻的电池充电器的需求也越来越大。
电池技术的持续进步也要求更复杂的充电算法以实现快速、安全的充电。
因此需要对充电过程进行更精确的监控,以缩短充电时间、达到最大的电池容量,并防止电池损坏。
与此同时,对充电电池的性能和工作寿命的要求也不断地提高。
从20世纪60年代的商用镍镉和密封铅酸电池到近几年的镍氢和锂离子技术,可充电电池容量和性能得到了飞速的发展。
目前各种电器使用的充电电池主要有镍镉电池(NiCd)、镍氢电池(NiMH)、锂电池(Li-Ion)和密封铅酸电池(SLA)四种类型。
电池充电是通过逆向化学反应将能量存储到化学系统里实现的。
由于使用的化学物质的不同,电池有自己的特性。
设计充电器时要仔细了解这些特性以防止过度充电而损坏电。
目前,市场上卖得最多的是旅行充电器,但是严格从充电电路上分析,只有很少部分充电器才能真正意义上被称为智能充电器,随着越来越多的手持式电器的出现,对高性能、小尺寸、轻重量的电池充电器的需求也越来越大。
电池技术的持续进步也要求更复杂的充电算法以实现快速、安全地充电,因此,需要对充电过程进行更精确地监控(例如对充、放电电流、充电电压、温度等的监控),以缩短充电时间,达到最大的电池容量,并防止电池损坏。
因此,智能型充电电路通常包括了恒流/恒压控制环路、电池电压监测电路、电池温度检测电路、外部显示电路(LED或LCD显示)等基本单元。
其框图如下:
正文开始标注页码:
位置:
页面底端(页脚);
对齐方式:
居中
正文开始标注页码
图1-1智能充电器基本框图
AtmelAVR微处理器是当前市场上能够以单片方式提供Flash、EEPROM和10位ADC的最高效的8位RISC微处理器。
由于程序存储器为Flash,因此可以不用象MASKROM一样,有几个软件版本就库存几种型号。
Flash可以在发货之前再进行编程,或是在PCB贴装之后再通过ISP进行编程,从而允许在最后一分钟进行软件更新。
EEPROM可用于保存标定系数和电池特性参数,如保存充电记录以提高实际使用的电池容量。
10位A/D转换器可以提供足够的测量精度,使得充好后的容量更接近其最大容量。
而其他方案为了达到此目的,可能需要外部的ADC,不但占用PCB空间,也提高了系统成本。
AVR是目前唯一的针对象“C”这样的高级语言而设计的8位微处理器。
1.2常见充电电池特性
电池充电是通过逆向化学反应将能量存储到化学系统里实现的,由于使用的化学物质的不同,电池的特性也不同,其充电的方式也不大一样。
电池的安全充电现代的快速充电器(即电池可以在小于3个小时的时间里充满电,通常是一个小时)需要能够对单元电压、充电电流和电池温度进行精确地测量,在充满电的同时避免由于过充电造成的损坏。
充电方法SLA电池和锂电池的充电方法为恒定电压法要限流;
NiCd电池和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电池也为恒定电流充电。
锂电池(Li-Ion)和本文中所述的其他电池相比,锂电池具有最高的能量/重量比和能量/体积比。
锂电池以恒定电压进行充电,同时要有电流限制以避免在充电过程的初期电池过热。
当充电电流下降到生产商设定的最小电流时就要停止充电。
过充电将造成电池损坏,甚至爆炸。
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三种系列,其结构和基本原理都相类似。
本次设计所用到的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结构概念,具有预取指令的特性,即对程序存储和数据存取使用不同的存储器和总线。
当执行某一指令时,下一指令从程序存储器中取出,这使得指令可以在每一个时钟周期内执行。
3.高度保密(LOCK)。
可多次擦写的FLASH具有多重密码保护锁死(LOCK)功能,因此可低成本高速度地完成产品商品化,并且可多次更改程序(产品升级)而不必浪费1C或电路板,大大提高了产品的质量及竞争力。
4.超功能精简指令。
具有32个通用作寄存器(相当于8051中的32个累加器),克服了单一累加器数据处理造成的瓶须现象,128~4K字节SRAM可灵活使用指令计算,并可用功能很强的C语言编程,易学、易写、易移植。
5.程序写入器件可以并行写入(用编程器写入),也可使用串行在线编程(ISP)方法下载写入,也就是说不必将单片机芯片从系统上拆下,拿到万用编程器上烧写,而可直接在电路板上进行程序的修改、烧写等操作,方便产品升级,尤其是采用SMD封装,更利于产品微型化。
6.工作电压范围为2.7V~6.0V,电源抗干扰性能强。
7.AVR单片机还在片内集成了可擦写100000次的
PROM数据存储器,等于又增加了一个芯片,可用于保存系统的设定参数、固定表格和掉电后的数据,既方便了使用,减小了系统的空间,又大大提高了系统的保密性。
8.有8位和16位的计数器定时器(C/T),可作比较器、计数器、外部中断和PWM(也可作D/A)用于控制输出。
1.4显示模块的选择
LCD显示模块是一种被动显示器,具有功耗低,显示信息大,寿命长和抗干扰能力强等优点,在低功耗的单片机系统中得到大量使用。
液晶显示模块和键盘输入模块作为便携式仪表的通用器件,在单片机系统的开发过程中也可以作为常用的程序和电路模块进行整体设计。
液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就显示黑色,这样即可显示出图形。
在单片机系统中使用液晶显示模块作为输出器件有以下优点:
(1)显示质量高
液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,因此液晶显示器画质高而且不会闪烁。
(2)数字式接口
液晶显示器都是数字式的,和单片机系统的接口更加简单。
(3)体积小,重量轻
(4)功率消耗小
第二章硬件电路设计
经过前面对充电器原理、液晶模块、ATmega16L等的总体了解和掌握以及对各种元器件和电路图的分析和比较后,现在就可以开始进入硬件电路的设计了。
在本章里,首先将介绍一下液晶模块访问方式的两种接口电路,然后对LCD显示电路原理图作一个详细的介绍,接着介绍充电电路中所用到的各种芯片和元器件的原理和一些功能,最后对PROTEL99的使用和PCB板的绘制以及焊接做一简单介绍,然后再将自己的设计思想和同组人所设计的两部分结合,达成统一。
2.1显示模块访问方式的选择
单片机与液晶显示模块之间的连接方式分为直接访问方式和为间接控制方式两种。
如图所示,其中左为单片机,右为液晶显示模块。
(一)直接访问方式
数据总线
图2-1直接访问方式电路图
LCM接口直接访问方式就是将液晶显示模块的接口作为存储器或I/O设备直接挂在单片机总线上,单片机以访问存储器或I/O设备的方式操作液晶显示模块的工作。
直接访问方式的接口电路如图2-1所示,在图中,单片机通过高位地址A11控制CSA,A10控制CSB,以选通液晶显示屏上各区的控制器;
同时用地址A9作为R/W信号控制数据总线的数据流向;
用地址A8作为D/I信号控制寄存器的选择,E(使能)信号由RD和WE共同产生,这样就实现了单片机对液晶显示模块的电路边接。
电位器用于显示对比度的调节。
2.2硬件电路主要芯片
以下是ATmega16L的引脚配置:
图2-2ATmega16L芯片引脚
引脚说明:
VCC 数字电路的电源
GND 地
端口A(PA7~PA0) 端口A作为A/D转换器的模拟输入端。
端口A为8位双向I/O口,具有可编程的内部上拉电阻。
其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。
在复位过程中,即使系统时钟还未起振,端口A处于高阻状态。
端口B(PB7~PB0) 端口B为8位双向I/O口,具有可编程的内部上拉电阻。
在复位过程中,即使系统时钟还未起振,端口B处于高阻状态。
端口C(PC7~PC0) 端口C为8位双向I/O口,具有可编程的内部上拉电阻。
在复位过程中,即使系统时钟还未起振,端口C处于高阻状态。
如果JTAG接口使能,即使复位出现引脚PC5(TDI)、PC3(TMS)与PC2(TCK)的上拉电阻被激活。
端口D((PD7~PD0)端口D为8位双向I/O口,具有可编程的内部上拉电阻。
作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。
在复位过程中,即使系统时钟还未起振,端口D处于高阻状态。
RESET 复位输入引脚。
持续时间超过最小门限时间的低电平将引起系统复位。
XTAL1 反向振荡放大器与片内时钟操作电路的输入端。
XTAL2 反向振荡放大器的输出端。
AVCC AVCC是端口A与A/D转换器的电源。
不使用ADC时,该引脚应直接与VCC连接。
使用ADC时应通过一个低通滤波器与VCC相连。
AREF A/D的模拟基准输入引脚。
2.3液晶显示
液晶显示器是一种功耗极低的显示器。
随着液晶显示技术的发展,LCD显示器的规格众多,其专用驱动芯片也相互配套,使LCD在控制和仪表系统中广泛应用提供了极大的方便。
根据LCD显示原理的不同,常见和常用的LCD可以分为字符型LCD和点阵型LCD两种。
不同的显示原理使得这两种LCD的指令系统、接口和功能等是不相同的,各有优缺点,但结合到本次设计的实际要求,经过比较还是选用点阵型LCD。
现就点阵型LCD的显示原理、模块特点等做一简要介绍。
要想在液晶模块上显示一个汉字或字符,需要3个最基本的控制操作:
分别向3个控制器写指令代码、写显示数据和读显示数据。
这里要特别引起注意的是完成这3项操作的前提条件是KS0108B控制器处于准备好的状态,即BUSY=0,由模块的软件特性知道,当BUSY=1时,系统的接口电路处于被封锁的状态,是不能接受除读状态指令外的任何操作的。
因此在访问控制器之前,一定要判断控制器的当前状态。
具体到软件设计时,则需设计一判忙程序,在判断BUSY=0后,再往下进行操作。
在本模块中,每个汉字的大小是16×
16点阵,而每个字符的大小是8×
16点阵,即字符的宽度为汉字的1/2。
它们都是以二维数组的格式存放在ROM中。
向液晶模块显示一个汉字的过程就是:
由液晶屏显示区的指定字符行的指定列开始,连续输出该字符对应的字符库中的16个列数据,如果是显示字符,则输出
8个列数据即可。
上面已经介绍到,MGLS-19264液晶模块中液晶屏显示区为192×
64点阵,其中,它们的每8个像素行组成一页,整个显示区共分为8页,每64列为一个区,这样,它就有左、中、右3个区,它的显示区示意图如下:
左区中区右区
012…6263
6465…127
128129…191
DB0
…
DB7
图2-3液晶屏显示区示意图
液晶模块显示字符是从上到下,从左到右进行显示的。
假设定义从最左上角开始显示,则先从上到下显示第0页的第一列,依次从左向右开始显示。
MGLS-19264LCM的显示部分为左、中、右3个区,可以由CS片选的取值分别进行控制,其接口的片选定义如下:
表2-1MGLS的片选定义表
CS1
CS2
选中区域
0
左区
0
1
中区
右区
未选
有了上面的知识,就可以编写显示界面这一块程序。
由于每个汉字或字符在图中位置是固定的,只要定义了相应的选区及X、Y地址,就可以显示出具体的位置。
用lr来表示汉字的区域,当lr=0,表示左区;
lr=1,表示中区;
lr=2,表示右区。
X表示页面,Y表示列地址。
则(lr.X.Y)就可以定义出这个字在屏上的实际位置。
以第一行的“智”字为例,这个字位于模块的左区,则lr=0;
它位于第一页和第二页,则X=0;
它位于列地址的48-63字节,Y=48,那么“智”就可以通过(0.0.48)精确地表示出它的位置。
这里要注意的是每个汉字占用的行地址是两页,如“智”字占的就是X0和X1,即第二行的汉字其X=2而不是1。
因此,第二行的“电”就应该表示为(0.2.0),其它字符依此设计即可。