• 7.23 MB
  • 2022-04-22 13:42:09 发布

锂电池智能充电器的设计与实践毕业论文.doc

  • 31页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'锂电池智能充电器的设计与实践毕业论文目录1引言12总体设计23 硬件设计33.1STC12C5410AD单片机介绍33.1.1STC12C5410AD单片机简介33.1.2STC12C5410AD单片机引脚介绍33.1.3STC12C5410AD单片机A/D转换43.2串口通信63.2.1MAX232芯片简介63.2.2RS-232简介73.3LCD显示模块73.3.1Nokia5110LCD介绍73.3.2Nokia5110LCD引脚功能介绍83.3.3Nokia5110LCD控制芯片PCD854483.4开关电源103.4.1开关电源简述103.4.2正反激式开关电源比较113.4.3反激式开关电源113.5报警模块124 软件设计144.1软件开发工具144.2总程序流程图154.3软件部分程序154.3.1A/D模块编程154.3.2LCD显示模块编程185 制作和调试235.1电路板的设计与制作235.2系统调试266结论27致谢28参考文献29 -30-1引言随着微电子技术的快速发展,使得各种各样的电子产品不断的涌现,并朝着便携和小型轻量化的趋势发展,为了能够更加有效地使用这些电子产品,可充电电池得到快速的发展。常见的可充电电池包括镍氢电池、镍镉电池、锂电池和聚合物电池等。其中,锂电池以其高的能量密度、稳定的放电特性、无记忆效应和使用寿命长等优点得到广泛的应用。目前绝大多数的手机、数码相机等均使用锂电池。为此,研发性能稳定、安全可靠、高效经济的锂电池智能充电器显得尤为重要。本课题采用单片机为控制电路来制作一个能用LCD显示充电电压和电流,能够定时开关和充完自动停充的5V,500MA的锂电池智能充电器。采用单片机为主控制电路的充电器设计,实现了对锂电池进行充电而且保护了电池可能由于温度或者电压过高造成的损害,也具备了一定的智能效果。该方案有效地保护了电池、缩短了充电时间并尽量延长锂电池的使用寿命,符合目前的环境保护潮流。本课题的研究成果广泛应用于手机,MP3等便携式电子产品,为人类日常生活和生活质量的提高有着深远的意义。 -30-2总体设计本设计采用STC12C5410AD单片机为控制电路来制作一个能用LCD显示充电电压和电流,能够定时开关和充完自动停充的5V,500MA的锂电池智能充电器。本设计主要系统框图如下图2-1所示:图2-1系统框图由系统框图分析总体设计流程,向开关电源输入220V交流电压为STC12C5410AD单片机主电路提供电源,STC12C5410AD单片机自带AD把由对开关电源当前充电电压电流进行检测到的数据采集并且传输给STC12C5410AD单片机,接着传输给LCD进行显示当前的充电电压和电流。设计一个5V,500MA的锂电池充电器就可以对开关电源进行调整设计使其充电电压和电流由LCD显示是5V,500MA即可。单片机内的时钟芯片控制开关电源对整个充电系统进行定时控制达到定时开关和充完自动停充等功能。 -30-3 硬件设计本设计的硬件部分主要包括STC12C5410AD单片机、串口通信、LCD显示模块、开关电源和报警模块。3.1STC12C5410AD单片机介绍3.1.1STC12C5410AD单片机简介STC12C5410系列单片机是由宏晶科技生产的单个时钟/机器周期的兼容8051内核单片机,是拥有低功耗、超低价、高速、强抗静电、无法解密等功能的新一代增强型8051单片机。STC12C5410系列单片机的特点:有增强型1T流水线并且有精简指令集结构8051CPU;工作电压在5.5V-3.4V之间,工作频率范围(0-35MHz);片上集成512字节RAM;带有EEPROM和看门狗;内部集成MAX810专用复位电路;有2个16位定时器/计数器;8路10位精度ADC;通用I/O口(27/23个),复位后为准双向口/弱上拉(普通8051传统I/O口)可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏每个I/O口驱动能力均可达到20mA,但整个芯片最大不得超过55mA;外部高精度晶体/时钟,内部R/C振荡器,在下载程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟,常温下内部R/C振荡器频率5.2MHz~6.8MHz之间。3.1.2STC12C5410AD单片机引脚介绍图3-1为STC12C5410AD单片机的引脚分布情况: -30-图3-1STC12C5410AD引脚分布图STC12C5410AD引脚功能:P2.1、P2.2、P2.3、P2.5、P2.6、P2.7是标准I/O无其他用;RST为复位脚;P3.0/RxD是标准I/O口(串口数据接受);P3.1/TxD是标准I/O口(串口数据发送);XTAL2为内部时钟电路反相放大器的输入端,接外部晶振的另一端,当直接使用外部时钟源,此引脚可浮空;XTAL1为内部时钟电路反相放大器的输入端,接外部晶振的一端,当直接使用外部时钟源,此引脚是外部时钟源的输入端;P3.5/T1/PWM1/PCA3是标准I/O口(定时器/计数器1的外部输入,脉宽调制输出1,可编程阵);P3.2/INT0是标准I/O口(外部中断0);P3.3/INT1是标准I/O口(外部中断1);GND接地,VCC接电源正极;P1.0-P1.7为8个ADC可以选择一个作为ADC接口。3.1.3STC12C5410AD单片机A/D转换STC12C5410AD系列带A/D转换的单片机在P1口,有8路10位高速A/D转换器,速度可达100KHz。P1.0-P1.7总共8个脚可以选几个做为本设计总电路的AD采集引脚,可以实现对电压、电流以及温度等方面的检测。对作为AD来使用的口需设置为高阻输入或开漏模式。P1M0、P1M1中对相应的位进行设置如下表3-1所示: -30-表3-1I/O口模式选择P1M0【7:0】地址:91hP1M1【7:0】地址:92hI/O口模式(P1.x如做A/D使用,需先将其设置成开漏或高阻输入)00准双向口(传统8051I/O口模式),灌电流可达20mA,拉电流为230μA01推挽输出(强上拉输出,可达20mA,尽量少用)10仅为输入(高阻),如果该I/O口需作为A/D使用,可选此模式11开漏(OpenDrain),如果该I/O口需作为A/D使用,可选此模式A/D转换控制寄存器:ADC_POWER/SPEED1/SPEED0/ADC_FLAG/ADC_START/CHS2CHS1/CHS0/0xx0,0000对CHS2、CHS1、CHS0设置进行对P1.0-P1.7选择作为A/D输入通道如下表3-2:表3-2模拟输入通道选择CHS2CHS1CHS0AnalogInputChannelSelect模拟输入通道选择000选择P1.0作为A/D输入来用001选择P1.1作为A/D输入来用010选择P1.2作为A/D输入来用011选择P1.3作为A/D输入来用100选择P1.4作为A/D输入来用101选择P1.5作为A/D输入来用110选择P1.6作为A/D输入来用111选择P1.7作为A/D输入来用本设计采用STC12C5410AD单片机为控制电路,如图3-2为单片机控制电路原理图图3-2单片机控制电路原理图 -30-由上图可知单片机控制电路有几个重要部分组成:第一部分是有C15、C16和Y1组成并跟单片机芯片的XTAL1和XTAL2相连构成晶振电路,为单片机提供时钟频率;第二部分是有C9上接VCC下接单片机芯片的RST构成的上电复位电路,在上电或者复位过程中控制单片机的复位状态防止单片机发出错误的指令或执行错误操作;第三部分是单片机芯片VCC脚接电源正极,为单片机提供电源。3.2串口通信3.2.1MAX232芯片简介MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。如图3-3为MAX232芯片引脚图。图3-3MAX232芯片引脚图芯片引脚分布状况:由1-6引脚与4个电容组成电荷泵电路,供给RS-232串口所需电源;由7-14引脚组成两个数据转换通道,11-14引脚组成第一个数据转换通道,7-10引脚组成第二个数据转换通道;15引脚接地,16引脚接电源正极。芯片主要特点:高集成度,片外最低只需4个电容即可工作;符合所有的RS-232C技术标准;具备升压能力,能够产生+10V和-10V电压V+、V-;功耗低,典型供电电流5mA;内部集成2个RS-232C驱动器。 -30-3.2.2RS-232简介个人计算机上的通讯接口之一,由电子工业协会(ElectronicIndustriesAssociation,EIA)所制定的异步传输标准接口。通常RS-232接口以9个引脚(DB-9)或是25个引脚(DB-25)的型态出现,一般个人计算机上会有两组RS-232接口(COM1、COM2),并且采用RS-232C标准协议。本设计采用MAX232芯片为主的串口通信,如图3-4为串口通信电路图图3-4串口通信电路图3.3LCD显示模块本设计采用Nokia5110LCD作为显示模块。3.3.1Nokia5110LCD介绍Nokia5110的液晶显示模块是LPH7366,它是NOKIA公司生产的可用于其5110、6150,6100等系列的。不仅手机采用此显示模块,其他各种便携式设备的显示屏也采用此显示模块。跟不同类型的产品相比此模块具有以下特点:84x48的点阵LCD显示屏,能够显示4行汉字;采用串行接口与主处理器进行通信,接口信号线数量大幅度减少,包括电源和地在内的信号线也只有9条,传输速率高达4Mbps,能够全速写入显示数据,无需等待时间;由导电胶连接模块与印制板,不用连接电缆,只用模块上的金属钩就可以将模块固定到印制板上,因此有便于安装与更换;LCD控制芯片已经绑到LCD晶片上,模块体积很小;采用低电压供电,正常工作电流在200μA以下,具有掉电模式功能。 -30-3.3.2Nokia5110LCD引脚功能介绍如图3-5为Nokia5110LCD引脚图图3-5Nokia5110LCD引脚图各个引脚功能:1脚VDD接电源正极;2脚CLK为同步时钟输入断(最高可达4Mbps);3脚DIN为数据输入口;4脚D/C为数据/命令切换(0:命令;1:数据);5脚CS为片选信号(低电平有效);6脚OSC为外部时钟输入(如果使用片内振荡器该脚接VDD);7脚GND接地;8脚VOUT为LCD供电电路使用;9脚RST为LCD复位脚(低电平有效);10-13脚LEDX为两个背光LED;14-17脚FIXn是4个金属框固定孔;18-19脚NCn是2个定位孔。3.3.3Nokia5110LCD控制芯片PCD8544Nokia5110LCD的控制芯片是PCD8544。PCD8544是一块低功耗的CMOSLCD控制驱动器,设计为驱动48行84列的图形显示。所有必须的显示功能集成在一块芯片上,包括LCD电压及偏置电压发生器和振荡器,只须很少外部元件且功耗小。PCD8544与微控制器的接口使用串行总线。下图3-6为PCD8544结构方块图。 -30-图3-6PCD8544结构方块图由上述给出的方块图得出其各个引脚功能:R0-R47为LCD行驱动输出端(输出行信号),C0-C83为LCD列驱动输出端(输出列信号),VSS1和VSS2为负电源供应(接地),VDD1和VDD2为正电源供应(电源电压),VLCD1和VLCD2为LCD电源供应(LCD电源电压),T1为测试点1(输入),T2为测试点2(输出),T3为测试点3(输入/输出),T4为测试点4(输入),并且T1、T3和T4必须连接到VSS,T2悬空。SDIN为串行数据线输入端,SCLK为串行时钟输入端(时钟信号0.0-4.0Mbits/s),D/C为模式选择(选择命令/地址或输入数据),SCE为芯片使能(使能引脚充许输入数据,低电平有效),OSC为振荡器,RES为外部复位输入端,Dummy1/2/3/4没连接。 -30-PCD8544芯片内置振荡器为Nokia5110LCD提供时钟信号,不需要外接元件,但OSC输入端必须接到VDD。地址计数器(AC)为写入显示数据存储器指定地址。显示数据存储器(DDRAM)是存储显示数据的48*84静态RAM。时钟发生器为驱动内部电路发出多种信号,内部芯片操作不影响数据总线上的操作。显示地址计数器通过列输出,LCD点矩阵RAM数据行连续移位来显示。PCD8544包含48行和84列驱动器,连接适当的序列偏置电压来显示数据。PCD8544驱动芯片还提供寻址和对LCD温度补偿等功能。如图3-7为本设计LCD接口图图3-7LCD接口图3.4开关电源3.4.1开关电源简述工业发展的动力是电,电即是人类生活必需的源泉。电源是产生电的设备。我们用的电一般都需要经过转换才能适合使用的需要,例如交流转换直流,高电压变低电压,大功率变小功率等。用半导体功率器件作开关,将一种电源形态转换成另一种形态,在转换时以自动控制稳定输出并有各种保护环节的电路,称为开关电源。随着开关电源技术的发展,开关电源的产品也向着轻小薄、低噪声、高可靠和抗干扰的方向发展。开关电源主要分为为AC/DC和DC/DC两大类。AC/DC是将交流变换为直流,功率流向可以是双向的。DC/DC是将固定的直流电压变换成可变的直流电压。 -30-随着开关电源的工作频率提高,功率损耗降低使得电源的效率大大提高。高频变压器取代了工频变压器之后大大缩小了体积,也降低重量。开关电源的抗干扰能力变强而且智能化程度得到提高等等这些良好的特性,使得高功率的开关电源广泛应用于工业和军事上。例如粒子加速器、电磁发射、微波武器等。小功率的开关电源则广泛应用在家电、IT等领域,例如计算机、彩色电视机、摄像机等。3.4.2正反激式开关电源比较工作原理的区别:反激式开关电源,当输入为高电平时,输出线路中串联的电感为放电状态,相反当输入为低电平时,输出线路中的串联的电感为充电状态。而正激式开关电源,当输入为高电平时,输出线路中串联的电感为充电状态,相反当输入为低电平时,输出线路中的串联的电感为放电状态。结构上的区别:正激式变压器开关电源电路比反激式变压器开关电源多用一个大储能滤波电感,以及一个续流二极管,因此体积跟成本都大大增加。正激式变压器开关电源为了减少变压器的励磁电流,提高工作效率,变压器的伏秒容量一般都取得比较大,并且为了防止变压器初级线圈产生的反电动势把开关管击穿,正激式变压器开关电源的变压器要比反激式变压器开关电源的变压器多一个反电动势吸收绕组,因此,正激式变压器开关电源的变压器的体积要比反激式变压器开关电源的变压器的体积大。正激式变压器开关电源还有一个更大的缺点是在控制开关关断时,变压器初级线圈产生的反电动势电压要比反激式变压器开关电源产生的反电动势电压高。因为一般正激式变压器开关电源工作时,控制开关的占空比都取在0.5左右,而反激式变压器开关电源控制开关的占空比都取得比较小。应用区别:反激式开关电源主要用在150-200瓦以下的情况,正激式开关电源则用在150w到几百瓦之间。之所以反激更广范就是因为我们日常中100w以下的电源比较常见。综合上述的比较本设计的开关电源部分的控制电路形式采用反激式。3.4.3反激式开关电源 -30-所谓反激式变压器开关电源,是指当变压器的初级线圈正好被直流电压激励时,变压器的次级线圈没有向负载提供功率输出,而仅在变压器初级线圈的激励电压被关断后才向负载提供功率输出,这种变压器开关电源称为反激式开关电源。本设计的开关电源部分电路图如图3-8:图3-8反激式开关电源电路图由上图可知反激式开关电源电路有几个部分组成:输入220V电压需要经过一个整流电路,由D1、D2、D3和D4构成;R1(1M)为起振电阻,为整个电路提供起动电压;C3和R3构成吸收涌浪电流保护13003;T1电感线圈为高频变压器,使220V输入电压转换到5V输出电压;D9、C7、R6、R13、R10和R8构成输出电压电路;Q5、R11和LED2构成指示灯电路,充电时候指示灯会亮;D6、C2、U1、ZD4、Q4和R7构成反馈电路,当电流过大,达到一点电压时候,三极管导通,输出电压降低;Q1、Q2、R4和R5构成震荡电路,与反馈电路和高频变压器之间构成循环电路,电压过大经过反馈之后再经过震荡电路使电压降低直到输出电压到达目标要求5V。3.5报警模块为了保护电路温度和电压过高而引起充电器在充电时对电池造成损害而设计了的报警系统电路图如下图3-9: -30-图3-9报警系统电路图由上图可知整个报警系统电路工作原理:由接单片机的P2.1口可以得到整个单片机电路温度和电压过高等报警信号,经过R24(基极电阻,主要是来控制三极管通断,如果是高电平截止,低电平导通)对Q4三极管进行控制,低电平导通之后再经过LS1蜂鸣器产生报警声音。 -30-4 软件设计4.1软件开发工具本课题软件设计采用KeilC51软件。KeilC51是美国KeilSoftware公司生产的51系列兼容单片机C语言软件开发系统。跟汇编语言对比下就可以看出,C语言无论在功能上、结构上亦或在可读性、可维护性上都有显著的优势,也易于方便学习使用。KeilC51开发软件提供了大量丰富的库函数以及功能强大的集成开发调试工具。重要的是KeilC51生成目标代码效率极高,多个语句生成的汇编代码非常紧凑也容易理解。尤其在开发大型软件时更能体会到KeilC51开发软件的优势所在。使用Keil仿真器进行仿真的时候必需注意事项:仿真器标准的配备是11.0592MHz的晶振,但也可以在仿真器上的晶振插孔中换插其他频率的晶振;仿真器的复位按钮只能复位仿真芯片,不能够复位目标系统;仿真芯片的31脚(/EA)已经接到高电平,因此仿真时只能够使用片内ROM,不能够使用片外ROM;但是仿真器外引插针中的31脚并不与仿真芯片的31脚相连,所以此仿真器仍可插入到扩展有外部ROM的目标系统中使用。如图4-1为Keil软件操作界面图4-1Keil软件操作界面 -30-4.2总程序流程图本课题软件设计系统总程序流程图如下图4-2所示:初始化AD采集LCD显示判断是否充电结束结束充电LCD显示结束开始是否图4-2系统总程序流程图接通好各个硬件后打开电源,首先进行LCD和单片机初始化,接着单片机自带的AD进行数据采集传输给LCD显示数据,再进行判断是否充电结束,若显示充电还未结束就返回继续进行AD采集数据给LCD显示这步骤直到LCD显示充电完成就结束充电,由LCD显示充电完成,整个系统流程结束。4.3软件部分程序4.3.1A/D模块编程主程序中AD部分程序: -30-LCD_Init();//初始化液晶LCD_Clear();nokia_5110_picture();Delay1ms(10000);LCD_Clear();LCD_write_english_string(0,0,"AD3=V");LCD_write_english_string(0,1,"AD4=V");while(1){ADC_CONTR|=0x08;//开始AD转换(ADC_START=1)ADC_CONTR|=0x03;//选择AD3通道while(!(ADC_CONTR&0x10));//判断AD是否转换结束ADC_CONTR&=0xef;//转换结束后标志位ADC_FLAG清零//AD采集进来的数据进行转化ad_temp=ADC_LOW2;ad_temp=ad_temp+((uint)ADC_DATA)<<2;f=(4.961*ad_temp)/1024;Delay1ms(5000);}子程序:/*STC12C5410AD的AD初始化程序*/voidSTC12C5410AD_int(void){ADC_CONTR=0x80;//开转换电源设置转换速度为1080个时钟周期转换一次,选择AD0通道 -30-Delay1ms(20);//稍做延时,大于1ms就可以/*I/O口作为AD使用,设置漏极开路模式*/P1M0=1;P1M1=1;}如图4-3为AD采集数据的实物图图4-3AD采集数据实物图4.3.2LCD显示模块编程 -30-LCD显示模块能为充电器显示充电电压、电流以及充电完成等各项显示数据。LCD显示流程图如下图4-4所示:开始初始化LCD设置起始地址显示内容结束图4-4LCD显示流程图LCD初始化程序:voidLCD_Init(void){//产生一个让LCD复位的低电平脉冲RST=0;delay_1us();RST=1;SCE=0;DC=0;//关闭LCDdelay_1us();//延时必须加//使能LCDdelay_1us();LCD_write_CMD(0x21);//使用扩展命令设置LCD模式,PD=0,V=0,H=1LCD_write_CMD(0xc0);//设置偏置电压LCD_write_CMD(0x06);//温度校正LCD_write_CMD(0x13);//1:48 -30-LCD_write_CMD(0x20);//使用基本命令LCD_write_CMD(0x0c);//设定显示模式,正常显示SCE=1;}LCD清屏程序:voidLCD_Clear(void){uintuii;LCD_set_XY(0,0);for(uii=0;uii