智能充电器设计_第1页
智能充电器设计_第2页
智能充电器设计_第3页
智能充电器设计_第4页
智能充电器设计_第5页
已阅读5页,还剩20页未读, 继续免费阅读

下载本文档

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

文档简介

毕业设计〔论文〕题目:智能充电器设计目录摘要1Abstract21绪论3论文研究背景及意义3充电器的现状与前景3充电电池的开展3智能充电器的开展4本设计研究的内容42系统分析5锂离子充电方式5智能充电器的设计思路5智能芯片的选择5智能充电器的充电原理63硬件电路设计7单片机的选择7电源及控制引脚7并行I/O口引脚83.2MAX1898芯片的选择93.3MAX1898参数设定10电压比拟器LM39311元器件清单12电路图设计134软件电路设计18软件开发环境184.1.1KeiluVision软件184.1.2C语言184.1.3Protel99SE画图软件18软件设计流程185调试20软件调试20硬件调试20出现的问题及解决方法20结论21谢辞22智能充电器设计摘要:随着当今微电子技术的不断开展,、电脑、相机和平板等电子产品成为人们必备的生活物质。这些电子产品都依赖于电池,所以充电电池不断的开展。基于人们环保理念的不断提升,电池就从以前的铅蓄电池开展到现在的锂离子电池,锂离子电池由于无污染、无记忆可重复使用和可快速充电等优点被普遍的采用,然而锂离子电池具有的过压损坏电池、充电电流不能过大和等效阻抗高等缺点,为了解决这些缺点防止电池的损坏人们提出智能充电器的概念,本课题就是基于STC89C51单片机和智能充电芯片MAX1898设计的一款适用于锂离子电池的智能充电器。其主要的工作原理是当电池的电量小于设定值域的时候充电器将自动识别并且给电池充电,同时监测充电电压及时控制充电电流实现智能控制要求。这样的充电器很好的解决了当前所面对的充电爆炸等问题,并延长了电池的寿命。本文详细介绍了智能充电器的工作原理,并且通过实验验证充电器的功能。关键词:锂离子电池;智能充电器;单片机;MAX1898IntelligentchargerdesignAbstract:Withthecontinuousdevelopmentoftoday'smicroelectronicstechnology,mobilephones,computers,camerasandtabletsandotherelectronicproductshavebecomeanessentiallivingmaterial.Theseelectronicproductsaredependentonthebattery,sothecontinuousdevelopmentofrechargeablebatteries.Theconceptofcontinuousimprovementofpeople'senvironmentalprotectionbasedonthebatteryfromthepreviousleadbatterytolithiumionbatterydevelopmentnow,lithiumionbatteriesduetoitsadvantagesofnopollution,nomemorycanberepeatedlyusedandcanfastchargingiswidelyadopted,however,thebatteryovervoltagelossoflithiumionbatterywithchargingcurrentistoolargeandtheequivalentimpedanceinordertosolvethesedisadvantages,shortcomingspreventdamagetopeopleputforwardtheconceptofintelligentbatterycharger,theissueisbasedonintelligentchargerSTC89C51MCUandintelligentchargingchipMAX1898todesignasuitableforlithiumionbatteries.Themainworkingprincipleisthatwhentheelectricfieldislessthanthesetvalue,thechargerwillautomaticallyidentifyandchargethebattery,andmonitorthechargingvoltageandcontrolthechargingcurrenttorealizetheintelligentcontrol.Suchachargerisagoodsolutiontothecurrentmobilephonechargingexplosionandotherissues,andextendthebatterylife.Thispaperintroducestheworkingprincipleoftheintelligentcharger,andthroughtheexperimenttoverifythefunctionofthecharger.Keywords:lithiumionbattery;intelligentcharger;MCU;MAX1898绪论论文研究背景及意义当代社会的快速开展,、电脑、数码相机和平板等电子产品的使用也越来越普遍,它给人们的生活带来了很大的方便,比方交友、联系、炒股、游戏等等。这些电子产品使用的大局部都是依赖于充电电池,所以充电器就成为了关键。但是目前市场上的充电器种类繁多,最早的就是一对一的充电模式,后面开展到万能充然后到现在的各类充电器,这些充电器存在着各种各样的缺陷,比方质量低劣,一些产品的低温性能、额定容量、放电性能、平安保护性能等方面都存在质量问题。这些质量问题会影响到的正常使用,还会影响电池的使用寿命,严重时还可能伤害消费者,近几年的爆炸事件穷出不尽多数都与充电器相关。虽然爆炸因数很多比方电池缺陷、短路、长时间充电等问题。但多数是充电时间过长引起的爆炸比方2016年9月三星Note7爆炸事件中,就是由于当事人整夜是充电导致的爆炸,所以很好的控制电池充电成了现在充电器研究的方向。目前的各大生产上也在尽力的研究和解决这方面的问题,所以智能充电器也就顺时而生。人们对于电子的产品的依赖越来越严重,平安和快速成为了对智能充电器的根本要求,根据充电电池的开展,充电器也在相应的改良和完善。智能充电器在原有的充电根底上实现很好的充电管理过程,这样的充电方式就很好的满足人们的需求,使得人们更加平安放心的使用。充电器的现状与前景充电电池的开展现在人们生活中电池随处可见,因为现代便携式电子产品飞速的开展,“微型”这个词也成为一时的热词,比方、相机、电动车等,体积不断的在减小,体积的减小也代表着电池体积不断的减小这样的电子产品才能更好携带方面。电池的产生追溯到1859年世界上产生了第一个铅蓄电池,最后电池的开展到镍电池,镍电池的寿命比拟长但是这种电池具有如下缺点:一、对温度比拟敏感;二、具有记忆性,当电池充完电使用时必须使用完剩余电量,这样操作上比拟繁琐;三、对环境具有污染、由于里面的材料属于重金属,废弃的电池不能很好的回收污染环境,给人们带来很大的困扰。这些电池具有体积大和污染环境的缺点无法满足现代人们随身携带需求。1980年锂电池诞生,锂电池具有体积小,在所有金属中质量最轻、能量密度大并且氧化复原位低,这些优点都很好的满足电子产品的需求所以得到了大力的开展。总而言之锂电池的具有如下优点:寿命长:锂离子的使用寿命明显优于其他电池,它可以反复充电,充电的次数可达1200屡次,虽然其它电池也可以循环充电,但是充电次数最高只能达500次。体积小、比能大:锂是元素周期表中最轻的元素之一,同时具有极强的化学性能。无记忆效应:镍电池具有记忆效应必须定期的进行充放电,从而操作繁琐而锂离子电池就没有记忆效应,可以随时充电,不会因为剩余电量报废。自放低:锂电池的自放率每个月2-5%,而镍电池的自放率高达15%-35%。同时锂离子具有以下特性:一、饱和充电电压允许电压差为±1%,所以充电时电压的控制需要比拟精确。过充可能使得锂离子电池永远失效。二、充电温度在0°—60°因为充电时发生的化学反响会放热,所以过高的温度也会引起电池的寿命减短,甚至会引起爆炸。三、锂离子的终止放电电压为2.5V,这就是设置2.5V快充的原因,因为2.5V的自放电如果严重也会引起电池永久失效;四、电池充电的终止电压为4.2V,这和电池的阳极材料有关。所以很好的控制充电电压可以很好的解决当前电池寿命短和爆炸等事件。智能充电器的开展正是由于充电电池技术的不断开展对充电器的要求越来越高,比方充电器的开展,由以前单一的充电模式开展到万能充再到现在市场上流行的各种充电器,这些充电大局部存在质量低劣、充电电压、充电不饱等不合格问题,还有些存在充电的平安性、额定容量和低温性能隐患问题。所以锂离子电池的开展就迫在眉睫,现在锂离子电池普遍使用在各个领域,所以现代充电器都具有如下的特点:一、限流作用;二、短路保护作用;三、快速充电作用。正是锂离子电池的充电特性比拟特殊才会对充电器的要求比拟高,以防发生爆炸等有的还和上位机相连,这样由处理器处理的数据可以显示出来使得人们直观看见充电状态。目前的充电器都是有线充电器,由于USB接口用久会存在接触不良、适用面不广等缺点,将来的充电器会朝着无线充电器的方向开展,这种充电器由电磁感应传送能量,由于这种充电器存在着如下的优点:一、便捷性。它可以防止插拔接触不良等现象;二、一对多特性。由于感应产生的电,所以使用性强;三、智能性。当电池充电充满就可以自动断电。为了抢占市场现在各大公司也在炽热的研发当中。在2016年苹果公司发布iphone7时就是采取该充电模式宣传,所以可见智能充电器在未来是很占据市场的商品。本设计研究的内容本毕业设计的研究就是如何平安快速对的锂离子电池进行充电,实现充电电池的智能化、数字化管理,使得电池充电更加的平安同时延长电池的寿命。本次毕业设计的智能充电器中包括三个模块,这几局部模块分别是电压转换电路、智能充电芯片MAX1898模块和51单片机控制模块,同时介绍了各个模块的设计和作用。在软件上使用protel99se、keiluVision、visio等进行画图和仿真,使用C语言编写程序。基于硬件和软件的综合使用实现充电器的智能化。系统分析锂离子充电方式由于锂离子电池对充电电压的要求精度非常高、电池等效阻抗高和温度要求高等特点,所以要求充电器对充电电压要很好的进行控制,这样才不会损坏锂电池。本此的设计是基于智能管理芯片MAX1898和单片机组成的智能充电器,在该充电器中充电分为三个阶段,这样就可以有效的实现控制充电过程,提高电池的寿命和平安性。预充电阶段:预充电阶段又称为涓流充电,在该阶段时,首先充电器会检查是否有电池的接入,确定有电池的接入后检查电池的电量,如果电流剩余量小于某一值域〔2.5V〕时此时如果以大的电流对进行充电会永久的损坏电池,所以在充电的前期会进行小电流的充电,一般以恒流充电的10%进行预充,确保电池的充电平安。恒流充电阶段:当电池电压到达某一值域〔2.5V〕且小于饱和电压,此时电池充电进入恒流充电状态,进入该阶段时充电将以最大电流充电,充电电池的电压上升。该阶段也称为快速充电阶段。恒压充电阶段:当电池的电量到达设定上限值时,为了更好的充电,充电器将会调节充电状态,此时进入恒压充电,相应的电流慢慢的减小,当充电电流降低到电池的终止门限,电池的充电完成。智能充电器的设计思路根据此次毕业设计的要求可知智能充电器需要如下几个模块:一、电压采集模块;二、控制模块;三、电源变换电路.在设计该充电器时进行了很多的资料分析,在分析很多的文献之后指定了两份该充电器的设计方案:一、采用纯电路搭建方式,采样局部采用数模转换器比方AD547,数模转换器将转换的信号被单片机读取,单片机读取信号以后控制PWM波的占空比从而改变充电电流,通过这种方式实现智能充电过程。方案二、采用智能充电芯片MAX1898,该芯片包括输入电流调节器、电压检测器等等功能,这个芯片的使用省略了外围繁琐的电路,再加上单片机的使用可以很好实现电池的智能充电。本设计中采用的是第二种方案,该种方案的设计比拟简单有效的控制电路。智能芯片的选择由于智能的不断的开展,同时也推动了智能充电芯片的开展,智能芯片的集成度高而且体积小,越来越满足市场的需求,市场上出现智能芯片的种类越来越多,所以在选择芯片上也有标准:电池数目、电池的类型、电池的电流等因数必须考虑在内。市场上一般选用的是SMC401、MAX1758、MAX1898芯片,三种芯片的不同过在于SMC401自带了处理器,这种芯片是高级芯片,在本次的实验中是结合单片机的使用设计一款智能充电器,所以不选择这款智能芯片,而MAX1757和MAX1898的相似之处很多,都自带检测电压、电流调节器并且用于锂离子电池的充电,但最大的不同在于MAX1898的外围电路设计比拟简单,更加的容易实现充电控制,并且该芯片具有如下的特性:电池的充电电压精度±0.75%,这样满足了充电需求延长电池的寿命;电源输入的电压范围为4.5V-12V;充电时间可以自由设置,极大的保障电池的平安;内含有检流电阻,使得外部电路更加的简化;LED指示灯,可以直观的看出充电的状态;具有可编程电流。智能充电器的充电原理该智能充电器的是由智能芯片控制充电过程,单片机控制着蜂鸣器的警报来提示是否充满。该充电器的输入端可以直接使用充电器的插头或者电脑的USB输出〔只要是5V电源就行〕,因为该智能芯片的允许电压范围在4.5v-12v。接通电源时电源指示灯亮。该充电器可以实现数据线直接充电和锂电池电池直接充电,当或电池没有接通时,充电指示灯不亮。将或者电池接通时,MAX1898首先检查电池是否反接,如果电池反接,反接指示灯亮,这样可以防止反接出现电池损坏。当接入电池以后,该芯片检查电池电量,如果检查的电池电压小于2.5V时,充电器将以快充的10%电流将充电,当充电电池损坏时,智能充电器将在设定的充电时间内检查是否电压还是小于2.5V,如果在这段时间内还是小于2.5V时,充电指示灯将以频率为1.5HZ闪烁,并且蜂鸣器也将反复报警,这样可以判断出电池的好坏,节省能量损耗。当正常充电时,电池电压高于2.5V时,电池将进入快充阶段〔恒流阶段〕,此时的电流最大,当充电充满时,电池充电进入恒压充电阶段,电流将减小。此时的MAX1898芯片的/CHG引脚的电平由低电平跳变成高电平,经过电压比拟器输出低电平,充满指示灯亮〔红灯〕。同时单片机查询到该引脚由高电平跳变成低电平,单片机控制引脚输出低电平,此时经过蜂鸣器的三极管导通,蜂鸣器报警,在正常充电时启动实时时钟和温度传感器的工作,当充电时发热较快超过温度设定值时〔28度〕蜂鸣器报警,充满电时单片机同时控制着时钟停止工作,时间锁定在液晶屏上显示。以上就是该智能充电器的智能控制全过程。硬件电路设计由以上的分析可知智能充电器由单片机控制模块、智能充电控制模块和蜂蜜器模块组成。智能充电器的系统运行图如下:系统框图单片机的选择本实验采用的单片机是STC89C51系列,它来源于STC公司。该单片机与AT系列功能差不多,但是又具有更突出的优点:增加在线可编程功能、灵活的在线编程方式在下载程序时候不需要专门的编程器烧录可直接通过232通信口直接下载。这种单片机是内含4KB程序存储器〔ROM〕和256字节的数据存储器〔RAM〕。具有一个8位中央处理器〔CPU〕该单片机含有如下标准:4个8位可编程并行I/O口〔P0、P1/P2/P3〕。3个可编程16位定时器/计数器。中断系统具有8个中断源、8个中断向量。一个全双工的异步串行通信口。片内含有振荡器和时钟电路。电源及控制引脚Vcc:接5v电源。Vss:接数字地。EA/Vpp:第一功能为外部程序存放器访问允许控制端。第二功能当PC值不超过0FFFH时单片机只读片内程序,当PC值超过0FFFH时自动读片外程序。RST引脚:该引脚为复位引脚,当给予该引脚高电平,单片机复位。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输入端。AT89S51单片机的引脚图并行I/O口引脚P0口:P0口具有一组8位漏极开路型双向I/O口。P0口作为通用的输出口使用时需要加上拉电阻,这时为准双向口。当作为普通I/O输入口时应该先向端口输出锁存器写入“1”。在访问外部扩展数据存储器或程序存储器时,P0口作为地址总线〔低8位〕及数据总线的分时复用。P1口:P1口〔8位〕是专门为用户使用的准双向I/O口。当作为普通的I/O口输入时,应该先向端口锁存器写入“1”。P1口可驱动4个LS型TTL负载。P2口:P2口〔8位〕是准双向8位I/O口具有上拉电阻,P2口作为高8位地址总线使用,输出高8位地址。作为普通的输入口应该对端口写“1”,P2口可以驱动4个LS型TTL负载。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动〔吸收或输出电流〕4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流〔IIL〕P3口除了第一功能外还有第二功能,下表是P3口的功能作用表:P3引脚的第二功能端口引脚功能作用说明RDX串行输入口TXD串行输出口INTO外部中断0INT1外部中断1T0定时器计数器0输入T1定时器计数器1输入WR外部数据存储器写RD外部数据存储器读单片机内含有五个中断向量、5个中断源。中断的系统的作用是实时监控、故障处理和速率匹配。单片机在工作时芯片不停地运转工作,假设单片机运转出现故障或者监控某以功能时这样是无法停下,中断就很好的解决了这一问题。当单片机接收到外部中断程序时单片机停止当前的状态,跳转到中断效劳程序,处理该中断程序,在处理完效劳程序以后单片机继续跳转到原来断点处理原来主程序,这就是单片机中断系统的工作整个过程。这一巧妙的设计使得单片机的使用更加的灵活。P3引脚的第二功能名称作用INT0中断请求信号输入,请求标志IE0INT1中断请求信号输入,请求标志IE1定时器/计数器T0计数器溢出输入信号,请求标志TF0定时器/计数器T1计数器溢出输入信号,请求标志TF1串行口中断中断请求标志发送给TI或者RIMAX1898芯片的选择MAX1898芯片是此次设计的主器件,它是集成芯片内含相应逻辑电路,使得体积变小很好的满足需求。此芯片和外部晶体管PNP或PMOS组成一个锂离子充电器可以对所有的锂离子电池充电,下列图是该芯片的引脚功能图,MAX1898共有10个引脚主要介绍该芯片的引脚和功能。IN引脚:该引脚为传感输入引脚,可以检测输入电压和电流。引脚:充电状态指示引脚,同时驱动LED灯。EN/OK引脚:使能输入引脚/输入电源“好”输出脚。EN输入引脚,可以通过输入禁止该芯片工作,OK是输出引脚,用于指示是否与电源连接好。ISET引脚:该引脚为充电电流调节引脚,通过串联一个电阻接地来限制通过最大电流。CT引脚:平安充电设置时间引脚,接一个时间电容设置充电时间。RSTRT引脚:该引脚为自复位引脚,重新启动。此引脚接地时,如果电池的电压下降到基准电压以下200mv时将会自动启动新一轮充电,如果该引脚链接电阻接地时,当电池的电压降低到基准电压时也将自动启动新一轮充电。该引脚悬空那么该功能失效。BATT引脚:电池传感输入引脚,接单个锂电池正极。GND引脚:接地引脚。DRV引脚:外部晶体驱动器,接外部晶体。CS引脚:此引脚为电流传感输入引脚。Max1898芯片引脚MAX1898参数设定充电时间的设定:在电池充电时,一般充电时间为3个小时,该智能芯片的充电时间设定为CT引脚,通过外接电容Ct来设定充电时间Ts。外接电容和时间关系式为:Ct=34.33*Ts.Ct的单位为nf,Ts单位为小时。所以为了到达需要的时间,外接电容大小为100nf。充电电流的设定:最大电流的设定引脚为ISET引脚,该引脚通过外接电阻R来设定充电电流,该关系式为I=1400/R;此关系式中的电流单位为A,电阻单位为欧姆。自动启动充电设置:很多的充电器在充完电时候就不会再次启动给电池充电,除非重新启动输入的电流。然而在max1898中的RSTR引脚通过接地和外接电阻可以实现自动启动充电功能。引脚功能:是一个漏极开路输出,可以监视电池的充电状态。有5mA的限定电流,因此LED可以直接连接在IN与之间作为充电状态标志。另外,可以通过上拉电阻〔通常100kΩ〕输出逻辑电平。下表为的状态与各充电状态的对应关系。引脚功能图条件没有电池接入或没有充电输入高阻抗〔LED灭〕预充电阶段电池电压小于2.5V,充电电流以快速充电电流的10%低阻抗〔LED亮〕低阻抗〔LED亮〕充电完成,充电电流下降到20%快速充电电流或者平安定时器高阻抗〔LED灭〕充电错误,充电电压小于2.5V而且预充电结束〔45min,=100uF〕LED1.5HZ、50%闪烁电压比拟器LM393电压比拟器LM393是一个高精度双电压比拟器,但是一般都作为单电压比拟,由于该比拟器的输入电压范围宽〔单电压比拟时电压范围是2V-36V,作为双电压比拟时范围为1V-18V〕、失调电压比拟小〔失调电压为2mv〕、工作温度范围宽〔0°-70°〕等优点所以被采用。在此实验中,该电压比拟器的功能是通过MAX1898的/CHG引脚的输出电压与基准电压的比拟检查充电电池是否充满,电池充满指示灯亮,这样有利于很好的保护电池,下面是电压比拟器的引脚功能图的介绍。引脚1为输出引脚〔out〕引脚2为反向输入引脚〔IN-〕引脚3为正向输入引脚〔IN+〕接数字地引脚5为正向输入引脚〔IN+〕引脚6为反向输入引脚〔IN-〕引脚1为输出引脚〔out〕电压比拟器LM393引脚图元器件清单元器件清单元件清单元件标号元件名称数量C1,C610uf电解电容2C2224瓷片电容1C3,C530pf瓷片电容2C4104瓷片电容3D1IN4007二极管1J1电源接口1K1轻触按键1L1,L3红色led灯2L2绿色led灯1L4黄色led灯1LS15V有源蜂鸣器1P1万能充电池座+2根线1P34针排针1Q1,Q28550三极管2R1、2、4、6、91K电阻4R3,R510K电阻2R73K电阻1R84K电阻1RW1103滑动变阻器1SW1自锁开关1U1STC89C51单片机+DIP40插座1U2MAX1898+转接板+排座1U3LM393芯片+DIP8插座1Y112M晶振1各器件的作用如下:C1:10uf电解电容,链接电源进行充电使用在复位电路充电复位作用。C2:起滤波作用。C3,C5:在晶振电路中起到稳压和快速启动的作用。C4:该电路的作用是设定充电时间。取电容大小为104nf,充电时间为3小时。C6:作为滤波作用。D1:该二极管的作用是保护充电电路,防止电池反接造成MAX1898芯片的损坏。RW1:滑动变阻器作为设定电压放大器的基准电压。Q1/Q2:8550三极管,两个三极管的作用作为开关性能,控制电路的通断。Y1:12M晶振,给单片机提供机器周期。LED灯:红灯作充满标志灯、绿灯作为充电指示灯、黄灯作为反接指示灯。蜂鸣器:电路中报警作用。电路图设计单片机系统的设计.单片机以最小系统为单位,包括时钟电路、复位电路和单片机构成。51单片机的复位电路是由外部电路实现的。单片机的复位分为上电复位和手动复位。对于上电复位,通过电源外接电容,此时外接电容进行充电,电容的另一端连接到单片机的RST引脚实现上电复位,由于电容的电压充电随充电的时间慢慢的降低,所以需要保证充电的时间足够长才可以实现单片机的复位。本实验以手动复位为主,手动复位电路通过开关接上电阻实现,这样更方便于操作。复位电路设计如下列图:单片机的复位电路设计STC89C51单片机的时钟信号有两种方式产生一是内部时钟方式,二是外部时钟方式。内部时钟方式如下图。在89S51单片机内部有一振荡电路,只要在单片机的XTAL1〔18〕和XTAL2〔19〕引脚外接石英晶体〔简称晶振〕,就构成了自激振荡器并在单片机内部产生时钟脉冲信号。图中电容C1和C2的作用是稳定频率和快速起振,电容值在5~30pF,典型值为30pF。晶振CYS的振荡频率范围在1.2~12MHz间选择,典型值为12MHz和6MHz。单片机的外接石晶时钟电路报警电路的设计.报警电路由蜂鸣器、三极管、电阻器件组成,蜂鸣器工作电压由外接电源供电,蜂鸣器的一端链接三极管的集电极,三极管的发射集接地,基极通过限流电阻链接单片机的P2.0引脚,这样构成了报警电路,在电池还没开始充电时P2.0引脚为高电平,此时的三极管不能够导通,蜂鸣器不工作。当充电电池充满电时,单片机检测到引脚为低电平时,将P2.0引脚赋为低电平,这样三极管导通蜂鸣器报警,设计电路如下:报警电路设计MAX1898智能充电管理电路的设计该电路设计如下列图,MAX1898智能管理电路按照功能分为两局部,第一是检测电池是否接反或充电错误。在电池反接时,电池、电阻、LED灯和二极管构成闭合电路,此时反接指示灯L4亮。在检测充电错误时,MAX1898的引脚通过外接电源、LED灯构成回路,在预充时间内电池电压小于2.5V时,引脚将以1.5HZ跳变,所以指示灯L2〔绿灯〕以相同的频率闪烁,同时通过电压比拟器输出的电平也将按照此频率跳变,引起蜂鸣器报警。当正常充电时,充电指示灯L2与该芯片引脚链接,由于引脚的电平为低电平,所以指示灯L2一直亮。当充满电时,该电平的跳越使得充电指示灯L2灭,经过电压比拟器后该电压大于同向基准电压的输出变为低电平单片机检测到该引脚的跳变〔P3.0〕,单片机控制P2.0引脚的电平使得引脚变为低电平,从而三级管导通蜂鸣器工作,此时充满指示灯L1(红灯)亮,同时此充电器还提供了充电时间及充电电流的选择设置,ISET引脚控制着充电电流的大小,所以在该引脚上外接相应的电阻就可以改变充电电流的大小,该充电器通过开关连接两个电阻分别为3K和4K大小电阻,这样就可以自由选择充电电流可以适用更多型号的及充电电池。CT引脚控制着充电时间,由外接电容的大小改变充电时间,该充电器通过开关连接不同的电容可以供用户自由的选择充电时间可以更好的保护电池防止出现事故。MAX1898电路设计LM393电路的设计电压比拟器电路的设计如下列图可知,LM393电路主要是通过MAX1898的CHG引脚电压和基准电压做比拟,当充电器正在充电时CHG引脚输出电压是低电平,此时输入电压小于同向基准电压那么输出为高电平,当充电满时CHG引脚的电压跳变成高电平,此时的输入电压大于同向基准电压那么输出为低电平,基于这个原理将LM393的输出引脚与单片机的相连,这样的电平跳变可以让单片机查询。当充满电时候单片机读取该引脚的电平,相应控制蜂鸣器工作。报警电路设计1602液晶电路的应用液晶电路的设计是为了实现充电时间的记录,当充电开启时,启动DS1302计时,1302将记下的数据发送给单片机,然后由单片机控制液晶,将数据传送给液晶屏并显示出来。液晶显示屏引脚的分布如下。液晶显示电路DS18B20温度传感器的应用温度传感器具有如下特性:一、适应范围宽;二、独特的单线接口方式;三、温度范围大且精确度比拟高,测量的结果直接是以数字温度传送给单片机。所以采用该温度传感器,通过对温度变化的测量,将测量的数值传送给单片机,单片机经过数据的处理将温度数值在显示屏上面显示,同时设定温度上限值,当由于充电发热过快单片机控制蜂鸣器工作实现报警功能。温度检测装置DS18B20软件电路设计软件开发环境KeiluVision软件本设计中处除了硬件电路的使用软件也是必不可少的。本次的设计单片机开发软件是KeiluVision软件,该软件来自于美国KeilSoftware公司。Keil提供了C语言、汇编、连接器、库和系统的仿真软件。KeiluVision是一款集成开发环境,它支持各大操作系统,比方winxp、win7等等。使用该软件时,将编写并运行好的程序通过数据线将程序下载到芯片从而单片机按照设定程序运行。C语言C语言是一门程序设计语言,机器语言。它的开展历史悠久,由于它就有强大的适应性,所以得到了很大人的青睐,比方它使用在科研中、软件开发上都是适用的。它可以用于很多的操作系统DOS、UNIX和很多的其他机型。C语言比普通的高级语言更强大,使用方便简洁所以大量采用。Protel99SE画图软件在本此的设计中主要的画图软件是Protel99SE,它是由澳大利亚ProtelTechnology公司推出的一款绘制电路板软件,它具有便于操作、易学、高集成性等优点成为大家喜爱的制图软件。它分为两个局部,第一是原理图的制作,在该局部当中,我们可以画出自己需要的电路图,比方89C51单片机,并且可以将画成的原件很好的封装。另一局部是带有仿真模块,这局部可以将设计进行模拟仿真为实物搭建做好准备。软件设计流程根据如上的器件介绍可知,基于单片机控制的智能充电器在系统中单片机主要控制着蜂鸣器的工作,当电池充满电时候,MAX1898的/CHG引脚由低电平跳变成高电平使得单片机的中断系统翻开,单片机P2.0口变为低电平三极管导通蜂鸣器响但该引脚的跳变有两种情况,一、电池或充满电;二、充电出现错误,发生错误时该引脚以1.5HZ的频率反复跳变,所以为了区别出是充电错误还是充电完毕,必须设置单片在一定时间内是否有二次跳变,蜂鸣器将反复报警。当正常充电时充电指示灯亮,充满以后充满的指示灯〔红色〕亮。这样就可以实现智能控制的整个过程。下面是整个工作程序流程图。开始开始开始开始初始化否是否充满初始化否是否充满写入命令是写入命令是蜂鸣器报警蜂鸣器报警否否是否写完是否写完是延时是延时读数据读数据否是否读完关闭蜂鸣器热否是否读完关闭蜂鸣器是是LCD显示LCD显示程主序流程图程主序流程图结束的的我程序地方结束放大放大放大程子序流程图程子序流程图调试软件调试在本次的设计中,程序的编写采用的是C语言,因为C编写的程序相对较为简单。在将程序和硬件结合之前通过keil软件进行仿真检查程序的对错。由于采用的是STC89C51单片机,所以下载程序的方式较为简单,直接通过通信串口就可以下载。硬件调试本设计的主要硬件是MAX1898和单片机,这样减少了很多的外围电路,在调试时采用先调试充电模块再调试报警模块,先检查每个是否可以正常工作然后在组合,这样的调试可以很好的检查出错误保证快速的调整硬件。出现的问题及解决方法在设计时开始采用的AT89S51单片机,在实验当中单片机的损坏,之后采用的是STC89C51,由于对单片机了解的不是恨透侧,所以采用相同的下载方式,但是程序无法烧录进单片机,通过查找资料请教老师,明白STC89C51的程序直接可以通过串口下载,这样的方法相当的简便。在硬件调试时,由于在电池反接时候没有通过反向二极管的限流,所以在实验时将MAX1898芯片损坏,之后采用接上二极管解决该问题。反接时损坏结论此次的毕业设计为智能充电器,经过不断的努力改良最终还是圆满的完成该毕业设计,本次的设计很好的实现智能充电器的功能,它的作用是能够进行阶段性充电很好的管理着充电过程,充电的过程具体分为三个阶段:一、预充阶段,该阶段充电时芯片检查充电电池电压是否在值域范围内〔2.5V〕,如果小于该值域那么进行预充电阶段;二、快速充电阶段,也称为恒流充电阶段,在该阶段里,充电器以最大电流给电池进行充电:三、第三阶段是恒压充电阶段。该阶段的特点是电压不变充电电流不断的减小,直到电池的电压到达饱和。该充电器不仅可以实现阶段性充电同时具有检测电池是否损坏,电池接反等功能。在本次的设计当中开始查阅很多的文献综述,对本次的实验进行了文献总数的撰写总结。在此的设计当中让我学会了很多。首先我学会该如何统筹方案设计任务,在开学之初制定好设计方案,每一步按照设计要求很好的进行;其次锻炼了我个人的学习和动手能力。在本次的毕业设计当中,运用的软件知识不断的查阅资料、咨询同学和视屏学习,虽然开始学习的时候有点吃力,但是慢慢地操作软件的使用越来越熟悉最后很好的完成软件设计局部。在动手能力上也是如此,电路的搭建和测试是最大的难题,由于电路的焊接时不仔细的损坏、硬件问题等情况的发生使得实验失败很屡次,经过最后的努力电路的设计和测试还是成功。在此设计中也存在些缺乏:第一、在开始的时候由于自己对课题设计理解不是很清楚,导致课题设计出现很多困难,开始设计自己考虑转换220V交流电压,这样使得设计跑偏同时设计也将更加的复杂。第二、画图软件的使用不是很熟练,以前学习的知识遗忘的较多,所以自学的画图软件画的电路图不是很标准。在本次实验的设计当中,与原有的设计相比增加了直接充电的接口,这样更加的实用性,这也是本次设计的突出点。虽然马上面临毕业这是一个设计课题,但我还是会去增加更多的功能,慢慢的完善该实验设计,同时也会克服此前的缺乏,在以后的而工作当中自己表现的更加出色,所以说此次的设计是对自己的一个提升,最后在老师的指导和同学的帮助之下还是比拟圆满的完成此次的设计,在此真诚感谢老师指导和同学的帮助。谢辞本论文是在导师赵波的细致指导下完成的。老师渊博的学术知识、严谨的学术态度和细心的工作态度无时无刻不在感动着我,他以最高标准要求着我们,在设计开始的时候导师就将我们的任务梳理为我们制定相应的方案书。他不仅在学术和工作中给予我们指导与鼓励,同时也在精神上给与我们教育与鞭策,当我们在找工作上心灰意冷的时候赵老师就会分享他的故事鼓励着我们要勇往直前。平时的设计过程与论文修改正程中老师为我们提出详细而具体富有启迪性的意见和建议,使我在整个论文创作过程中受益匪浅,谨向导师表示崇高的敬意和衷心的祝福!再次感谢赵波老师在设计过程和论文编写中的给予我的指导和建议,以及他对本文的认真检查和修改,正是由于他的严谨和帮助,才使我在论文和设计的完成过程中精益求精,不断地完善。在赵老师手把手的指导下,我不仅对单片机的软件编程有了更灵活的运用,也对各个硬件设施有了深刻的了解,大大提高了使用该软件进行设计的能力,并且学会如何快速掌握芯片的技能,是一笔珍贵的财富。感谢我的同学和朋友,在他们的意见和建议下,激发了我进行毕业设计的动力,并不断完善毕业设计的各项功能,最后,谨向所有关心、支持和帮助我的老师、同学朋友以及家人致以衷心的谢意和祝福!参考文献李光飞等.单片机课程设计实践指导.北京:北京航空航天大学出版社,2004李子葛,MCS-51单片机综合系统及其设计开发.北京:科学出版社2001张洪润,单片机应用技术教程.北京:高等教育出版社,2002.王磊,锂电池充电器芯片的研究与设计.厦门大学,2007.彭颖,一种锂离子电池充电器芯片的研究与设计,2005.洪基明,数字电路与模拟电路应用.上海:上海大学出版社2006李子葛,MCS-51单片机综合系统及其设计开发.北京:科学出版社2001.高晓红等,基于单片机控制的智能充电器设计,西南石油大学,2011.刘美俊,基于单片机的通用智能充电器设计,湖南工程学院,2006.齐小龙,基于STC89C51单片机的智能充电器的设计,陈东学院,2016附录A附录B#include<reg52.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedchar#definenop()_nop_()sbitDQ=P2^2;//定义DS18B20通信端口sbitlcd_rs_port=P3^5;/*定义LCD控制端口*/sbitlcd_rw_port=P3^6;sbitlcd_en_port=P3^4;#definelcd_data_portP0///////////////////////////////////////sbitdula=P2^6;//数码管的段选信号sbitwela=P2^7;//数码管的位选信号voiddelay1(void)//关闭数码管延时程序{ intk; for(k=0;k<1000;k++);}//////////////////////////////////////sbitT_CLK=P2^4;/*实时时钟时钟线引脚*/sbitT_IO=P2^5;/*实时时钟数据线引脚*/sbitT_RST=P1^0;/*实时时钟复位线引脚*/sbitACC0=ACC^0;sbitACC7=ACC^7;ucharcodemun_to_char[]={"0123456789ABCDEF"};/*定义数字跟ASCII码的关系*/uchardatatime_data_buff[7]={0x00,0x00,0x00,0x30,0x04,0x07,0x17};/*格式为:秒分时日月星期年*/uchardatalcd1602_line1[]={"2000/00/00000"};uchardatalcd1602_line2[]={"00:00:0000.0"};//ucharcodeWeeks[][3]={{"SUN"},{"MON"},{"TUE"},{"WED"},{"THU"},{"FRI"},{"SAT"},{"SUN"}};/********************************************************************功能:实时时钟写入一字节说明:往DS1302写入1Byte数据(内部函数)***********************************************************************/voidRTInputByte(uchard){uchari;ACC=d;for(i=8;i>0;i--){T_IO=ACC0;/*RRC*/T_CLK=1;T_CLK=0;ACC=ACC>>1;}}/********************************************************************功能:实时时钟读取一字节说明:从DS1302读取1Byte数据(内部函数)***********************************************************************/ucharRTOutputByte(void){uchari;for(i=8;i>0;i--){ACC=ACC>>1;/*相当于汇编中的RRC*/ACC7=T_IO;T_CLK=1;T_CLK=0;}return(ACC);}/********************************************************************功能:往DS1302写入数据说明:先写地址,后写命令/数据(内部函数)调用:RTInputByte(),RTOutputByte()***********************************************************************/voidW1302(ucharucAddr,ucharucDa){T_RST=0;T_CLK=0;T_RST=1;RTInputByte(ucAddr);/*地址,命令*/RTInputByte(ucDa);/*写1Byte数据*/T_CLK=1;T_RST=0;}/********************************************************************功能:读取DS1302某地址的数据说明:先写地址,后读命令/数据(内部函数)调用:RTInputByte(),RTOutputByte()***********************/ucharR1302(ucharucAddr){ucharucData;T_RST=0;T_CLK=0;T_RST=1;RTInputByte(ucAddr);/*地址,命令*/ucData=RTOutputByte();/*读1Byte数据*/T_CLK=1;T_RST=0;return(ucData);}/********************************************************************功能:设置初始时间说明:先写地址,后读命令/数据(存放器多字节方式)调用:W1302()入口参数:pClock:设置时钟数据地址格式为:秒分时日月星期年7Byte(BCD码)1B1B1B1B1B1B1B***********************************************************************/voidSet1302(uchar*pClock){uchari;ucharucAddr=0x80; EA=0;W1302(0x8e,0x00);/*控制命令,WP=0,写操作?*/for(i=7;i>0;i--){W1302(ucAddr,*pClock);/*秒分时日月星期年*/pClock++;ucAddr+=2;}W1302(0x8e,0x80);/*控制命令,WP=1,写保护?*/ EA=1;}/********************************************************************功能:读取DS1302当前时间调用:R1302()入口参数:ucCurtime:保存当前时间地址。当前时间格式为:秒分时日月星期年7Byte(BCD码)1B1B1B1B1B1B1B***********************************************************************/voidGet1302(ucharucCurtime[]){uchari;ucharucAddr=0x81; EA=0;for(i=0;i<7;i++){ucCurtime[i]=R1302(ucAddr);/*格式为:秒分时日月星期年*/ucAddr+=2;} EA=1;}//DS18B20延时函数voiddelay(unsignedinti){ while(i--);}//DS18B20初始化函数voidInit_DS18B20(void){ unsignedcharx=0; DQ=1;//DQ复位 delay(8);//稍做延时 DQ=0;//单片机将DQ拉低 delay(80);//精确延时大于480us DQ=1;//拉高总线 delay(14); x=DQ;//稍做延时后如果x=0那么初始化成功x=1那么初始化失败 delay(20);}ucharReadOneChar(void){ unsignedchari=0; unsignedchardat=0; for(i=8;i>0;i--){ DQ=0;//给脉冲信号 dat>>=1; DQ=1;//给脉冲信号 if(DQ)dat|=0x80; delay(4); } return(dat);}//DS18B20写一个字节voidWriteOneChar(unsignedchardat){ unsignedchari=0; for(i=8;i>0;i--){ DQ=0; DQ=dat&0x01; delay(5); DQ=1; dat>>=1; }}//DS18B20读取温度uintReadTemperature(void){ unsignedchara=0; unsignedcharb=0; unsignedintt=0; floattt=0; Init_DS18B20(); WriteOneChar(0xCC);//跳过读序号列号的操作 WriteOneChar(0x44);//启动温度转换 Init_DS18B20(); WriteOneChar(0xCC);//跳过读序号列号的操作 WriteOneChar(0xBE);//读取温度存放器等〔共可读9个存放器〕前两个就是温度 a=ReadOneChar(); b=ReadOneChar(); t=b; t<<=8; t=t|a; tt=t*0.0625;//将温度的高位与低位合并 t=tt*10+0.5;//对结果进行4舍5入 return(t);}//voidlcd_delay(ucharms)/*LCD1602延时*/{ucharj;while(ms--){for(j=0;j<250;j++){;}}}voidlcd_busy_wait()/*LCD1602忙等待*/{lcd_rs_port=0;lcd_rw_port=1;lcd_en_port=1;lcd_data_port=0xff;while(lcd_data_port&0x80);lcd_en_port=0;}voidlcd_command_write(ucharcommand)/*LCD1602命令字写入*/{lcd_busy_wait();lcd_rs_port=0;lcd_rw_port=0;lcd_en_port=0;lcd_data_port=command;lcd_en_port=1;lcd_en_port=0;}voidlcd_system_reset()/*LCD1602初始化*/{lcd_delay(20);lcd_command_write(0x38);lcd_delay(100);lcd_command_write(

温馨提示

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

最新文档

评论

0/150

提交评论