基于单片机的智能充电器毕业设计论文.doc_第1页
基于单片机的智能充电器毕业设计论文.doc_第2页
基于单片机的智能充电器毕业设计论文.doc_第3页
基于单片机的智能充电器毕业设计论文.doc_第4页
基于单片机的智能充电器毕业设计论文.doc_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

东华理工大学本科毕业论文(设计)基于单片机的智能充电器毕业设计论文目录第一章 绪论11.1单片机技术的特点及应用21.1.1单片机的特点21.1.2单片机的应用31.2飞思卡尔MC9S12XS128单片机简介51.3实现智能充电的意义6第二章 充电方案选择72.1恒流充电(CC)72.2恒压充电法(CV)82.3恒压限流充电82.4恒流恒压充电法(CC/CV)92.5分级定电流充电法92.6脉冲充电方法102.7定化学反应状态充电法112.8变电流间歇/定电压充电法11第三章 硬件电路设计123.1设计思路分析123.1.1脉宽PWM法充电123.1.2电源管理IC控制充电133.2电路设计153.2.1MAX1898电源管理IC153.2.2AMT1001温湿度传感器173.2.3其他外围设备驱动介绍19第四章 软件设计224.1程序流程设计224.2程序功能模块设计234.2.1电池状态检测子程序234.2.2键盘扫描子程序234.2.3倒计时子程序234.2.4显示子程序244.2.5A/D转换子程序24第五章 调试255.1硬件调试255.1.1静态测试255.1.2联机调试255.2软件调试265.3系统调试26致谢29附录31附录A 系统设计源代码31-第一章 绪论锂离子电池具有较高的重量比、无记忆效应、可重复充电多次、使用寿命长、价格低等优点。因此,在便携式产品向更小更轻方向发展的今天,选用单节锂离子电池供电已成为产品设计者的首要选择。锂离子电池因易受到过充电、深放电以及短路的危害,单体的锂离子电池的充电电压必须严格控制。充电速率(蓄电池的充电电流通常用充电速率C表示,C为蓄电池的额定容量,例如用1A的电流对500mAh的电池充电,充电速率就是2C;同样地,用1A的电流对1Ah的电池充电,充电速率就是1C)通常不超过1C,最低放电电压为2.7V3.0V,如果再继续放电则会损害电池。锂电池的充电过程一般包括预充电、恒流充电(CC)和恒压充电(CV)三个过程。预充电以小电流对电池进行涓流充电,当电池电压上升到预充电阈值以上时,以大电流对电池进行恒流充电;当电池电压接近浮充电压阈值(4.2V),充电器逐渐转变为恒压模式充电,充电电流逐渐减小;当电流减小到终止电流时,充电过程结束。在深入了解了锂离子电池的充电原理和充电控制方法后,我发现锂离子电池的充电设备需要解决一下几个问题:(1) 能进行充点前处理,包括电池充电状态鉴定、预处理。(2) 解决充电时间长、充电效率低的问题。(3) 改善因充电控制不合理而造成电池过充、欠充等问题,提高电池的使用性能和使用寿命。(4) 通过加强单片机控制,简化外围电路的复杂性,同时增加自动化管理设置,减轻充电过程的劳动强度和劳动时间,从而使充电器具有更高的可靠性、更大的灵活性,并且达到节能的效果。本论文主要针对锂离子电池充电器的研究,设计了一款单节锂离子电池智能充电器,并且可以从USB接口充电。该充电器可以实时采集电池的电压和电流,并对充电过程进行智能控制,可在无过热危险的情况下实现电池充电速率的最大化,并且系统中的管理电路还具有保护功能,可防止电池的过充和过放电对电池造成损坏。同时,系统采用了充满电后自动断电措施,有效的防止了多数情况下在充满电后充电器始终连在电源上造成的电能浪费。1.1 单片机技术的特点及应用随着大规模和超大规模集成电路技术的发展和计算机微型化的需要,将微型计算机的基本部件:中央处理器(CPU)、存储器、输入输出(I/O)接口、定时器/计时器等多种资源集成在一个半导体芯片上,使得一块集成电路芯片就能构成一个完整的微型计算机。这种集成电路芯片被称为单片微型计算机(Single Chip Microcomputer),简称单片机。单片机在结构设计上,它的软、硬件系统及I/O接口控制能力等方面都有独到之处,具有强而有效的功能。从其组成、逻辑功能上来看,单片机具备了微型计算机系统的基本部件。目前,各种类型单片机在应用产品中占主导地位,产品众多,已有几十个系列、几百种型号,除了通用单片机以外,集成更多资源,如A/D转换器、D/A转换器、“看门狗”(Watchdog)电路、LCD控制器、网路控制模块等,将单片机嵌入式系统好Internet连接起来已是一种趋势。还有专用单片机产品,如专门用于数据处理(图像和语言处理等)的单片机(DSP)。总之,单片机正在向微型化、低功耗、高速、高集成度、多资源、网络化、专用型方向发展。1.1.1 单片机的特点(1)高集成度,体积小,高可靠性单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪音性能优于一般通用的CPU。单片机程序指令,常数及表格等固化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。(2)控制功能强为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:分支转移能力,I/O口的逻辑操作和位处理能力,非常适用于专门的控制功能。(3)低电压,低功耗,便于生产便携式产品 为了满足广泛使用于便携式系统,许多单片机内的工作电压仅为1.8V3.6V,而工作电流仅为数百微安。(4)易扩展片内具有计算机正常运行所必需的部件。芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。(5)优异的性能价格比单片机的性能极高。为了提高速度和运行效率,单片机已开始使用RISC流水线和DSP等技术。单片机的寻址能力也已突破64KB的限制,有的已可达到1MB和16MB,片内的ROM容量可达62MB,RAM容量则可达2MB。由于单片机的广泛使用,因而销量极大,各大公司的商业竞争更使其价格十分低廉,其性能价格比极高。1.1.2 单片机的应用(1)单片机在智能仪器仪表中的应用在各类仪器仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。(2)单片机在机电一体化中的应用 机电一体化是机械工业发展的方向。机电一体化产品是指集成机械技术、微电子技术、计算机技术于一体,具有智能化特征的机电产品,例如微机控制的车床、钻床等。单片机作为产品中的控制器,能充分发挥它的体积小、可靠性高、功能强等优点,可大大提高机器的自动化、智能化程度。(3)单片机在日常生活及家用电器领域的应用自从单片机诞生以后,它就步入了人类生活,如洗衣机、电冰箱、空调器、电子玩具、 电饭煲、视听音响设备等家用电器配上单片机后,提高了智能化程度,增加了功能,倍受人们喜爱。单片机将使人类生活更加方便、舒适、丰富多彩。(4)在实时过程控制中的应用用单片机实时进行数据处理和控制,使系统保持最佳工作状态,提高系统的工作效率和产品的质量,在自动控制系统中有广泛的应用。(5)办公自动化设备现代办公室使用的大量通信和办公设备多数嵌入了单片机。如打印机、复印机、传真机、绘图机、考勤机、电话以及通用计算机中的键盘译码、磁盘驱动等。(6)商业营销设备在商业营销系统中已广泛使用的电子称、收款机、条形码阅读器、IC卡刷卡机、出租车计价器以及仓储安全监测系统、商场保安系统、空气调节系统、冷冻保险系统等都采用了单片机控制。(7)在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机、路由器等。(8)单片机在医用设备领域中的应用单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。(9)汽车电子产品现代汽车的集中显示系统、动力监测控制系统、自动驾驶系统、通信系统和运行监视器(黑匣子)等都离不开单片机,并且在汽车技术日益发达的今天,单片机更是在汽车系统中起到了举足轻重的作用。(10)航空航天系统和国防军事、尖端武器等领域单片机的应用更是不言而喻。例如导弹跟踪系统,智能机器人等,正是因为单片机的应用,使得武器设备变得越来越智能,减少了人工的干预,增强了稳定性和安全性。综合所述,单片机已成为计算机发展和应用的一个重要方面。另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。1.2 飞思卡尔MC9S12XS128单片机简介本文设计中使用的单片机型号为MC9S12XS128MAL(图1.1),为了解和方便使用,在此做简单介绍。MC9S12XS128(以下简称XS128)是Freescale公司推出的S12XS系列单片机中的一款增强型16位单片机,S12XS系列单片机是在S12XE系列的基础上去掉XGate协处理器的单片机,该系列单片机采用CPU12X V2内核,可运行在40MHz总线频率上。不仅在汽车电子、工业控制、中高档机电产品等应用领域具有广泛的用途,而且在FLASH存储控制机加密方面也有很强的功能。图 1.1 MC9S12XS128MAL单片机MC9S12XS128单片机的特点:存储器:128KB FLASH;2KB EEPROM;8KB RAM;A/D:16通道模数转换器(本设计中用到),可选8位、10位和12位精度;PWM:8位8通道或16位4通道PWM;串行口:2个异步串行通讯SCI和2个同步串行设备接口SPI;CRG时钟和复位发生器:锁相环、看门狗、实时中断;增强型捕捉定时器;总线;CAN总线:3个1Mbps的CAN总线,兼容CAN 2.0 A/B;背景调试模式(BDM);封装:LQFP-112。1.3 实现智能充电的意义由于充电器多采用大电流的快速充电法, 在电池充满后如果不及时停止会使电池发烫,过度的充电会严重损害电池的寿命。一些低成本的充电器采用电压比较法,为了防止过充,一般充电到90%就停止大电流快充,采用小电流涓流补充充电。锂离子电池是便携设备最为常用的一种电池,锂离子电池的使用寿命和单次使用时间与充电过程密切相关,对于充电器的要求比较苛刻,需要保护电路。为了有效利用电池容量,需将锂离子电池充电至最大电压,同时防止过压充电造成电池损坏,这就要求较高的控制精度。另外,对于电压过低的电池需要进行预充,充电器最好带有热保护和时间保护,为电池提供附加保护。一部分的充电器不但能在很短时间内将电量充足,而且还可以对电池起到一 定的维护作用,修复由于使用不当造成的记忆效应,即容量下降(电池活性衰退)现象。设计比较科学的充电器往往采用专用充电控制芯片配合单片机控制的方式。专用的充电芯片具有业界公认较好的v 检测,可以检测出电池充电饱和时发出的电压变化信号,比较精确地结束充电工作,通过单片机对这些芯片的控制,可以实现充电过程的智能化。例如,在充电后增加及时关段电源、蜂鸣报警和液晶显示等功能。充电器的智能化可以缩短充电的时间,同时能够维护电池,延长电池使用寿命。第二章 充电方案选择充电管理是锂离子电池管理系统的重要组成部分,它对电池的特性及寿命有着至关重要的影响。随着电源技术的不断发展,充电的手段越来越丰富,充电方式对电池及应用环境的针对性也越来越强。目前针对各种各样的可充电电池,存在的主要充电方法包括:恒流充电法、恒压充电法、恒压限流充电法、恒流恒压充电法、分级定流充电法、脉冲式充电法、定化学反应状态充电法、变电流间歇恒压充电法及变电压间歇充电法等。这些充电方法根据各自特点,被运用在不同充电管理系统中。2.1 恒流充电(CC)恒流充电根据其充电电流的大小,又可分为浮充充电(又称涓流充电)、标准充电及快速充电。该方法在整个充电过程中采用恒定电流对电池进行充电,充电曲线如图2.1所示。这种方法操作简单,易于做到,特别适合对由多个电池串联的电池组进行充电。但由于锂离子电池的可接受电流能力是随着充电过程的进行而逐渐下降的,在充电后期,若充电电流仍然不变,充电电流多用于电解质,产生大量气泡,这不仅消耗电能,而且容易造成极板上活性物质脱落,影响锂离子电池的寿命。图 2.1 恒流方式电池充电曲线2.2 恒压充电法(CV)在恒压充电法中,充电电源的电压在全部充电时间里保持恒定的数值,随着锂离子电池端电压的逐渐升高,电流逐渐减少。充电曲线如图2.2所示。从图中可以看到,充电初期充电电流过大,这样对锂离子电池的寿命会造成很大影响。与恒流充电一样,该方法操作简单,易于做到。但在电池放电深度过深时,充电初期电流过大,容易对电池及电路造成损伤。图 2.2恒压方式电池充电曲线2.3 恒压限流充电该方法在恒压充电的基础上,通过在充电设备输出电压与电池之间增加限流元件(一般为电阻)来对充电电流进行调整。充电初期,充电电流大,电阻上的压降也大,充电设备输出的电压损失也大,充电电流被限制在一定范围以内。充电结束时,电流减小,充电设备输出的电压损失也小,充电曲线如图2.3所示。该方法克服了恒压模式下电流过大的缺点。但由于增加了限流电阻,充电效率降低。图 2.3恒压限流方式电池充电曲线2.4 恒流恒压充电法(CC/CV)在CC/CV充电器中,充电通过恒定电流开始。在恒流充电CC周期中,为了防止过度充电而不断监视电池端电压。当电压达到设定的端电压时,电路切换为恒定电压充电,直到把电池充满为止。在CC充电期间,电池可以以较高电流强度进行充电,这期间电池被充电到大约85的容量。在CV充电周期中,电池电压恒定,充电电流逐渐下降,在电流下降到低于电池的110C容量时,充电周期完成。恒流恒压充电曲线如图2.4所示。图 2.4 普通恒流恒压方式电池充电曲线2.5 分级定电流充电法分级定电流充电法与恒流恒压充电方法相似。它根据电池充电过程中不同充电阶段的特性,将充电过程划分为几个阶段,在不同的阶段采用不同的充电电流或电压,这种充电方法在恒流恒压充电方法的基础上,将充电过程进一步细划,可以达到保护电池和快速充电的目的,是目前运用最广泛的充电方法。在锂离子电池充电管理中所采用的三阶段充电法,基本上就是这种方法在应用过程中的一种变体。三阶段充电法将锂电池充电过程分为三个阶段,第一阶段为小电流充电阶段,主要起保护电池的作用;第二阶段为恒流充电阶段,采用固定电流对电池充电以实现快速充电的目的:第三阶段为恒压阶段,主要是保证电池充满及防止过充电。该方法充电曲线如图2.5所示。图 2.5 电池分级定电流充电曲线2.6 脉冲充电方法脉冲充电方式是比较新的一种充电方式。脉冲充电法是从对电池的恒流充电开始的,大部分的能量在恒流充电过程中被转移到电池内部。当电池电压上升到充电终止电压后,脉冲充电法由恒流转入真正的脉冲充电阶段。在这一阶段,脉冲充电方式以与恒流充电阶段相同的电流值间歇性的对电池进行充电。每次充电时间为后,然后关闭充电回路。充电时由于充电电流的存在,电池电压将继续上升并超过充电终止电压;当充电回路被切断后,电池电压又会慢慢下降。电池电压恢复到时,重新打开充电回路,开始下一个脉冲充电周期。在脉冲充电电流的作用下,电池会渐渐充满,电池端压下降的速度也渐渐减慢,这一过程一直持续到电池电压恢复到的时间达到某个预设的值为止,可以认为电池已接近充满,充电曲线如图2.6所示。图 2.6 脉冲充电法电池充电曲线图2.7 定化学反应状态充电法定化学反应状态充电是近几年提出来的充电方法。采用这种方法充电,充电设备的闭环跟踪系统动态跟踪电池可接受的充电电流。这样充电电流始终与电池可接受的充电电流保持良好的匹配关系,使充电过程在最佳状态下进行,充电曲线如图2.7所示。这种充电方式具有充电效率高,充电时间短等优点。但其电路系统较为复杂,造价高,不易实现。图 2.7 定化学状态充电法曲线图2.8 变电流间歇/定电压充电法变电流间歇定电压充电法与变电压间歇充电法也是近几年提出来的充电方法。该方法目前主要用于对铅酸蓄电池进行充电。它们采用分级电流或电压对电池进行间歇式充电,以提高充电效率和速度。目前对锂电池仍然以恒流恒压的充电方法为主。充电初期一般采用小电流对电池进行预处理,防止电池过放电带来的影响;接着用大电流快速充电;在电池电压达到额定充电终止电压时,转为恒压模式确保电池充满。本文采用目前广泛充电方法分级定电流充电模式,虽然这种方法电路相对复杂,但充电时间短,效率高,因此在锂离子电池充电方案中占主导地位。第三章 硬件电路设计3.1 设计思路分析在详细的了解了锂离子电池的充电原理和查阅有关充电方案后,本文提出了两种智能充电控制的方案,并通过比较两种充电方案的优缺点选择最佳的充电方案。3.1.1 脉宽PWM法充电随着电子技术的发展,出现了多种PWM技术,其中包括:相电压控制PWM、脉宽PWM法、随机PWM、SPWM法、线电压控制PWM等,而在锂离子电池智能充电器中采用的脉宽PWM法。它是把每一脉冲宽度均相等的脉冲列作为PWM波形,通过改变脉冲列的周期可以调频,改变脉冲的宽度或占空比可以调压,采用适当控制方法即可使电压与频率协调变化。脉宽PWM法的基本思想就是利用单片机具有的PWM端口和PWM控制恒压恒流源芯片配合,在不改变PWM方波周期的前提下,通过软件的方法调整单片机的PWM控制寄存器来调整PWM的占空比,从而控制充电电压和电流。本方法所要求的单片机必须具有ADC端口和PWM端口这两个必须条件。脉宽PWM法充电具有以下优缺点。可控制涓流大小。在PWM控制充电的过程中,单片机可实时检测ADC端口上充电电流的大小,并根据充电电流大小与设定的涓流进行比较,以决定PWM占空比的调整方向。电池唤醒充电。单片机利用ADC端口与PWM的寄存器可以任意设定充电电流的大小,所以,对于电池电压比较低的电池,在上电后,可以采取小电流充一段时间的方式进行充电唤醒,并且在小电流的情况下可以近似认为恒流,对电池的冲击破坏也较小。电流控制精度低。充电电流的大小的感知是通过电流采样电阻来实现的,采样电阻上的压降传到单片机的ADC输入端口,单片机读取本端口的电压就可以知道充电电流的大小。若设定采样电阻为R(单位为),采样电阻的压降为V(单位为mV), 10位ADC的参考电压为5.0V。则ADC的1 LSB对应的电压值为 5000mV/10245mV。一个5mV的数值转换成电流值就是50mA,所以软件PWM电流控制精度最大为50mA。若想增加软件PWM的电流控制精度,可以设法降低ADC的参考电压或采用10位以上ADC的单片机。PWM采用软启动的方式。在进行大电流快速充电的过程中,充电从停止到重新启动的过程中,由于磁芯上的反电动势的存在,所以在重新充电时必须降低PWM的有效占空比,以克服由于软件调整PWM的速度比较慢而带来的无法控制充电电流的问题。充电效率不是很高。在快速充电时,因为采用了充电软启动,再加上单片机的PWM调整速度比较慢,所以实际上停止充电或小电流慢速上升充电的时间是比较大的。3.1.2 电源管理IC控制充电由于充电管理IC将充电各个阶段的充电电路集成在了芯片内部,实现了功能的模块化,相比较PWM控制的分立恒压源恒流源充电电路,具有电路简单易实现的优点,并且提高了充电效率,降低了软件编程算法难度和设计成本,缺点是无法实现USB模式的智能充电。但是通过比较两种方法的优缺点,本文选择方案二作为智能充电器的设计的最终方案。本文设计中采用锂离子电池充电IC是MAX1898(图3.1)。MAX1898和外部晶体管PNP或PMOS组成一个锂离子充电器,可精确地恒流/恒压充电,电池电压精度可达0.75%。MAX1898有两种型号,MAX1898EUB42应用于4.2V的锂离子电池,类似的MAX1898EUB41用于4.1V的锂离子电池。MAX1898具有以下功能:(1)电压精度达0.75%(2)充电电流可控(3)带自动输入电源监视器(4)内部检流电阻(5)LED充电状态指示器(6)可控的安全充电时间(7)电流大小监视输出(8)可选择的自动重启图 3.1 MAX1898MAX1898充电过程如下:1. 预充在安装好电池后,接通电源,当充电器检测到电池时将定时器复位,从而进入预充过程,在此期间充电器以快充电流的10%给电池充电,使电压、温度恢复到正常状态。预充电时间由外接电容C9确定,如果在预充时间内电池电压达到2.5V,且电池温度正常,则进入快充过程;如果超过预充时间后,电池电压低于2.5V,则认为电池不可充电,充电器显示电池故障,由单片机发出故障指令,LED指示灯闪烁。2. 快充快充就是以恒定电流对电池充电,恒流充电时,电池的电压缓慢上升,一旦电池电压达到所设定的终止电压时,恒流充电终止,充电电流快速递减,充电进入满充过程。3. 满充在满充过程中,充电电流逐渐递减,直到充电速率降到设置值以下,或满充超时时,转入顶端截止充电。顶端截止充电时,充电器以极小的充电电流为电池 补充能量。由于充电器在检测电池电压是否达到终止电压时有充电电流通过电池内阻,尽管在满充和顶端截至充电过程中充电电流逐渐下降,减小了电池内阻和其它串联电阻对电池端电压的影响,但串联在充电回路中的电阻形成的压降仍然对电池终止电压的检测有影响。一般情况下,满充和顶端截止充电可以延长电池5%10%的使用时间。3.2 电路设计系统硬件设计以飞思卡尔MC9S128XSMAL单片机为核心,以电源管理芯片、温湿度传感器、蜂鸣器、继电器、LCD显示屏、键盘、充电保护电路等外设组成,由于便携设备内部有保护电路因此无法利用充电管理IC直接为其充电,因此充电分为电池直接充电和USB充电两部分,而USB充电采用恒压充电,具体充电可以通过程序设定,系统框图(图3.2)如下:图 3.2 系统框图3.2.1 MAX1898电源管理IC表3-1 MAX1898引脚定义:引脚号引脚名功能1IN电压输入端2漏极开路LED驱动。1.没有电池,LED灭。2.预充电,LED亮。3.快速充电,LED亮。4.充电完成,LED灭。5.电池电压小于2.5V,但预充电时间(=100nF,45min)结束。LED 1.5HZ闪烁。3EN/OK1.输入:高电平使能IC。2.输出:高电平表示输入电压接入正确4ISET1.与电池充电电流成比例的模拟输出,。 2.通过设定ISET与GND之间的电阻可改变充电电流。5CT安全充电时间控制口,电容10uF时,充电时间为3小时。6RSTRT自动重启控制,如果电池降低电池规定的电压下0.2V,一个新的充电周期又开始。接地后自动重启功能有效,充电完成时漏极电流为40uA。如果悬空,充电时间耗尽,只能通过EN/OK来触发重启,充电完成时漏极电流为4uA。7BATT电池输入端。8GND地9DRV外部晶体管驱动,该脚接外部PMOS/PNP的栅极/基极。10CS充电电流输入端,接PMOS/PNP的源极/极电极。电流设定:MAX1898充电电流通过线性控制外部晶体管PMOS或PNP,最大的充电电流通过连接ISET与GND的外部电阻来设定,选择电阻通过如下公式:(单位是安培,单位是欧姆) (4-1)ISET可用来实时检测实际的充电电流。ISET端有1mA输出的电流就表明充电电流为1A,ISET端的输出电压正比与充电电流。 (4-2)在快速充电阶段通常ISET端的电压为1.4V,电池充满时将随着充电电流下降。状态输出: 是一个漏极开路输出,可以监视电池的充电状态。有5mA的限定电流,因此LED可以直接连接在IN与之间作为充电状态标志。另外,可以通过上拉电阻(通常100k)输出逻辑电平。充电周期重新开始:当电池电压降到电池额定电压下0.2V时,配置MAX1898能够使充电周期自动重新开始(将RSTRT接GND),重启阈值可以通过在RSTRT与GND间接外部电阻来降低。假如不需要自动重启,可以悬空RSTRT。自动重启功能无效时,充电只能通过清零在置高EN/OK来重新开始新的周期,或者先断开输入电源后重新接入电源。EN/OK(EN输入,OK输出):EN/OK有两种功能,可以作为逻辑输入(高电平)使能充电。除了开/关控制之外,EN/OK也可以反应出输入电源是否接入。当输入电源接IN( , 4.25V),EN/OK输出高电平3V,通过内部上拉100k电阻。因此EN/OK可以作为输出来反映AC适配器接入情况,同时通过漏极开路的驱动可以开/关充电。假如IN没有电压或不足,EN/OK将保持低电平,充电将关闭。下面是MAX1898的应用电路(图 3.3):图 3.3 MAX1898充电驱动电路当电池充满后,MAX1898芯片的2脚发送的脉冲电平会由低变高,这个状态变化会传递给单片机,单片机检测到电池充满状态后会根据程序设置做相应判断,当单片机确定电池充满电后会通过蜂鸣器和显示提示用户电池充满,并自动断电。3.2.2 AMT1001温湿度传感器AMT1001 (图3.4)是湿敏电阻型温湿度传感器,传感器信号采用模拟电压输出方式,具有精度高,可靠性高,一致性好,且已带温度补偿,确保长期稳定性好,使用方便及价格低廉等特点,尤其适合对质量、成本要求比较苛刻的企业使用。本设计中分别使用单片机A/D转换接口AN00和AN01来接收传感器的温度和湿度数据(图 3.5)。当环境温度或湿度超过充电器工作条件时,系统会通过蜂鸣器报警并自动断电。图 3.4 AMT1001温湿度传感器传感器参数及引脚分配如下:(1)供电电压(Vin): DC 4.755.25V (2)消耗电流: 约2mA (3)使用温度范围: 060 (4)温度检测范围: 060 (5)使用湿度范围: 2095%RH (6)湿度检测范围: 2090%RH (7)保存温度范围: 060 (8)保存湿度范围: 95%RH以下(非凝露) (9)湿度检测精度: 5%RH(条件:at25,60%RH) (10)温度检测精度: 0.5(条件:at25) (11)标准湿度输出电压(免调试):(条件:at25,Vin=5V)表 3-2 引脚定义:引脚颜色名称描 述1红色VDD电源(4.75V-5.25V DC)2黄色Hout湿度输出(0-3V DC)3黑色GND地4白色ToutNTC10K 热敏电阻图 3.5 温湿度传感器驱动电路3.2.3 其他外围设备驱动介绍1.LCD1602显示由单片机PB3-PB5引脚控制位选及读写信号V0、RS和RW,PA0-PA7引脚来控制数据信号,供电电压5V(图3.6)。图 3.6 LCD1602驱动电路2.键盘由单片机PK0-PK2引脚来控制,引脚接1K上拉电阻拉至高电平并与键盘相连,键盘另一端接地,如图3.7。当有按键按下时,单片机对应I/O口电平会被拉低,从而感应出键盘的操作。图 3.7 键盘驱动电路3.USB充电控制电路由三极管S8550、S8050、KA431组成恒压限流驱动电路,防止电流过大损害USB设备,如图3.8。如果直接将电源连接在USB设备上会出现USB设备不识别电源和充电电流高于额定充电电流引起电池发热的问题,因此利用三极管的限流作用组成USB设备的供电电路对USB设备进行充电。图 3.8 USB充电电路4.继电器和蜂鸣器分别有单片机PB0、PB1-PB2引脚控制,由三极管S8050驱动,继电器驱动电路(图 3.9)如下:图 3.9 继电器驱动电路蜂鸣器驱动电路与继电器驱动电路类似,不同的地方在于蜂鸣器驱动电路没有反向电流保护的二极管,同时增加了硬件开关和LED指示灯,方便用户随时开启蜂鸣器提醒模式,省去了繁琐的软件设置步骤,简单易操作。如图3.10图 3.10 蜂鸣器驱动电路继电器驱动电路同时也是智能充电器的安全保护电路,融合了个人的创意设计。充电器采用触发式启动方式,而不是日常生活中普遍采用的开关式启动,当电源按钮被按下3秒时继电器接通系统电源,否则系统仍然会是断电状态,这样能够防止误操作而接通充电器的电源;当充电器工作出现异常或者电池充满时,继电器起到及时切断系统电源的作用,实现充电器与电源的完全电气隔离,提高了充电器的安全性。第四章 软件设计4.1 程序流程设计由于硬件充电电路分为两部分,因此程序设计两种充电的模式,默认模式0为电池充电,模式1为USB充电。程序初始化后分别启动AD转换程序、电池检测程序、LCD显示程序,同时开始定时器,程序流程图(图4.1)如下:图 4.1 程序流程图4.2 程序功能模块设计为了增加程序的可读性和灵活性,程序的各个功能采用分块编写的方式,每一个功能模块调试通过后就不再影响系统的其他程序,这样既达到了方便调试的目的,同时也将程序的执行效率优化到最佳状态。4.2.1 电池状态检测子程序void battery_detect(void);电池检测的原理是根据IC在接通电池后引脚状态的改变,因此在执行此程序模块时连续检测引脚状态50次,并记录高电平状态的次数,如果高于实验值10次则可判断检测到电池,这样保证了检测的正确性,降低检测错误的概率。在检测到电池后,系统全局变量g_bf置为1,系统通过这个标志位执行相应功能。4.2.2 键盘扫描子程序void keyscan(void);这段程序用于模式1充电时Menu按键状态的检测,在模式1充电方式中,Menu键通过连续按的方式改变设置状态,分别是设置时、设置分和确定,在不同的设置状态返回全局变量g_funtion不同的标志位,同时程序还有一个巧妙的设计,通过标志位g_s判断按键按下的状态,防止长按Menu键造成的功能跳跃。4.2.3 倒计时子程序void timer(void);这段程序用于模式1状态下所有功能的实现,包括时间设置、倒计时功能和倒计时结束的操作,具体操作根据全局变量g_funtion的值。g_funtion=OK时为时间设置提示界面;g_funtion=SetH和SetM分别为小时和分的设置,其中时最大值为6小时;g_funtion=Start和Finish分别为开始计时和结束计时的标志。4.2.4 显示子程序void Welcome(void);void LCM1602_Init(void);void LCM1602_ClrScreen(void);void LCM1602_SendCmd(uchar cmd);void LCM1602_SendData(uchar dat);uchar LCM1602_ReadData(void);void LCM1602_ChkBusy(void);void LCM1602_PrintStr(uchar x,uchar y,char* str);void display(int H,int M,int S);welcome子程序定义了系统初始化时的欢迎界面。LCM1602系列子程序相当于1602液晶显示屏的底层驱动程序,通过定义驱动引脚及读写状态时引脚的逻辑电平变化达到通过调用程序就能显示任何字符的功能,并且方便任何程序调用。display显示子程序负责除了初始化界面以外所有状态的显示,同倒计时子程序一样,该子程序通过全局变量g_funtion的值来判断该显示什么。4.2.5 A/D转换子程序void ADCInit(void);uint16 ADCValue(uint8 channel);uint16 ADCMid(uint8 channel);uint16 ADCAve(uint8 channel, uint8 n);ADCInit子程序负责A/D通道的初始化,包括采样时间和频率的设置和采样分辨率的设置;ADCValue子程序负责获取A/D通道转换的结果;ADCMid子程序负责将A/D通道转换的结果进行中值滤波;ADCAve子程序负责将中值滤波之后的数据再进行n次均值滤波,并输出最后结果。第五章 调试5.1 硬件调试硬件调试时,可先检查印制电路板及焊接的质量情况,在检查无误后,可通电检查LCD 显示器的显示状态。单片机系统的硬件和软件调试相互密切联系,许多硬件错误是在软件调试中发现的,但是一般还是尽可能地先排除硬件故障后,再进行联机调试。5.1.1 静态测试在样机加电之前,首先要进行静态测试,主要内容有:1检查线路。通过目测和使用万用表,检查样机连线的正确性,注意各电路板之间的连线完好。 2核对元器件。检查所有的元器件是否有插错或损坏现象。3检查电源系统。将样机中所有芯片都从插座上拔下,给样机加电。检查完整流稳压电路后,逐一检查各芯片插座上电源引脚的电压是否有异常情况。一切正常时,断电,插上一个芯片,重复检查电压,并试摸该芯片是否发热。电源电压正常,芯片没有过热现象。当插上某个芯片后对电源系统没有影响。4外围电路调试。将所有能进行硬件单独调试的外围电路如检测信号放大 电路、输出驱动电路等都调试好。进行局部电路调试,提供有关模拟信号或开关信号。 5.1.2 联机调试联机调试是软硬件结合调试,即利用简单的调试程序来调试硬件系统。进行联机调试,用专用仿真插头将样机和仿真器连接起来,分别打开样机和仿真器的电源,按以下步骤进行具体调试: 1测试 I/O 口和 I/O 设备。对于单片机本身的输出口,用仿真器内部特殊功能寄存器修改命令将数据写入输出口或运行一段给输出口赋值的程序, 然后检查输出口的相应状态及所接设备的状态,如与写入的内容一致,说明输出口及输出设备工作正常。对于单片机本身的输入口,通过输入设备给输入口设置一定的状态,然后用读特殊功能寄存器命令读出相应输入接口寄存器的状态,与设定的状态一致,输入口工作正常。扩展I/O口大多是可编程的。检查时先向其控制(命令)寄存器写入控制字,设定接口的工作状态,然后再用外部数据存储器读写命令来检查 I/O 口的状态。I/O 口状态与读写数据一致,工作正常。 2试验预充、充电保护、自动断电和充电完成报警提示功能,借助程序进行。 5.2 软件调试软件调试是在编译器下进行的。首先要将用C语言编写的源程序进行编辑、编译,变成目标程序(机器代码程序),然后才能调试,最后可结合硬件实时调试。因此,软件调试实际上可分为编辑、编译和调试两部分。本次设计使用的是飞思卡尔单片机开发软件CodeWarrior Development Studio for S12(X) V5.0。应用程序应分成若干个功能模块来编写和调试,单个程序模块都调试通过后,将它们组合起来进行系统统调。模块程序从调试方法来说分成两类情况。一类是各种计算程序已经代码转换程序、静态 I/O 程序。这类程序如果不能正常运行,程序中的错误是静态的固定的错误,因此可以用单拍或带断点运行方式来调试。另一类是I/O 实时处理程序和通讯程序。调试这类程序不能用单拍或慢速断点方式,而必须采用全速断点或全速连续运行方式。这是因为实时事件的发生是随机的或不能停止的。如果有问题,需要从硬件和软件两个方面进行检查和解决。5.3 系统调试当硬件调试和软件分模块调试完成以后,就可以进行系统调试,在系统调试时,应将全部硬件电路都接上,应用程序也都组合好,进行全系统软硬件的统调。系统调试的任务是排除软硬件中的残留错误,使整个微机系统能够完成预定的工作任务,达到要求的技术性能指标。系统调试如图5.1所示。在系统调试中要注意以下几点:1.对于有电气控制负载的系统,先试空载,空载正常后在试验负载情况。2.要试验系统的各项功能,避免遗漏。仔细调整有关软件或硬件,使检测和控制达到要求的精度。3.系统调试时,仿真器采用全速断点或连续运行方式,在综合调试的最后阶段应使用样机中的晶振。4.系统要连续运行相当的时间,以考验硬件部分的稳定性。结束语本次设计以充电芯片MAXl898的使用为主体,利用单片机配合实现智能化充电的便携设备充电器。目前,充电电池的种类繁多,因此在充电器的方案创建时需要针对不同的电池选择不同的充电芯片。本次设计实现的是单节锂离子电池充电器,因此选用了芯片MAXl898作为充电芯片。设计在选择芯片后进行硬件和软件设计,最后进行调试和检测。在本次设计过程中,需着重把握的是:预充、快充、满充等充电方式的工作原理;MAXl898 的充电状态指示输出信号 在本设计中的应用;在整体设计中自动断电功能的实现;MAXl898在外围电路的设计中,其中包括设置充电电流的电阻和充电时间的电容数值的选取以及如何在单片机程序中判断出充电完成还是充电出错,并做出相应的处理。采用C语言设计单片机应用系统程序时,首先是要尽可能地采用结构化的程序设计方法,这样就使整个应用系统程序结构清晰,易于调试和维护。虽然设计的最终结果与最初的设计目标有一定的差距,有些功能还没有来的及实现,但是智能充电器在生活中有十分重要的推广意义,就目前实现的功能来说,智能充电器还有很大的发展空间,未来的智能充电器功能将更加完善,充电过程将更加智能,并且在通用性上有更好的表现。这次设计的过程使我积累了许多宝贵的经验,无论是从硬件设计上还是程序编写上的能力都有很大的提高。附录附录A 系统设计源代码#include /* common defines and macros */#include derivative.h /* derivative-specific definitions */typedef unsigned char uint8; / 8 位无符号数typedef unsigned short int uint16; / 16 位无符号数typedef unsigned long int uint32; / 32 位无符号数typedef char int8; / 8 位有符号数typedef short int int16; / 16 位有符号数 typedef int int32; / 32 位有符号数void Delay_2us(int);void Delay_10us(int); void SetBusCLK_32M(void);void LCM1602_Init(void);void LCM1602_ClrScreen(void);void LCM1602_SendCmd(uchar cmd);void LCM1602_SendData(uchar dat);uchar LCM1602_ReadData(void);void LCM1602_ChkBusy(void);void LCM1602_PrintStr(uchar x,uchar y,char* str);void Pit_Init(void);void Welcome(void);void timer(void);void keyscan(void);void dis

温馨提示

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

评论

0/150

提交评论