




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理及应用课程设计报告书课题名称 基于单片机智能充电器的设计姓 名学 号 专 业指导教师 机电与控制工程学院 年 月 日任务书一、 设计题目:基于单片机智能充电器的设计二、 设计要求:(1)在单片机的控制系,具有充电保护的功能。 (2)能够自动断电和充电完成报警提示功能。 (3)能够实现充电器的智能化控制。 (4)能够方便快捷地答道正常充电的标准。目录一、绪论 1二、程序系统流程图 8三、硬件设计 9四、单片机选择 17五、充电过程 28六、总结 29七、附录 30一、 绪论1.1概述 如今,随着越来越多的手持式电器的出现,对高性能、小尺寸、重量轻的电池充电器的需求也越来越大。电池技术的持续进步也要求更复杂的充电算法以实现快速、安全的充电。因此需要对充电过程进行更精确的监控,以缩短充电时间、达到最大的电池容量,并防止电池损坏。与此同时,对充电电池的性能和工作寿命的要求也不断地提高。电池充电是通过逆向化学反应将能量存储到化学系统里实现的。由于使用的化学物质的不同,电池有自己的特性。设计充电器时要仔细了解这些特性以防止过度充电而损坏电。目前,市场上卖得最多的是旅行充电器,但是严格从充电电路上分析,只有很少部分充电器才能真正意义上被称为智能充电器,随着越来越多的手持式电器的出现,对高性能、小尺寸、轻重量的电池充电器的需求也越来越大。电池技术的持续进步也要求更复杂的充电算法以实现快速、安全地充电,因此,需要对充电过程进行更精确地监控(例如对充、放电电流、充电电压、温度等的监控),以缩短充电时间,达到最大的电池容量,并防止电池损坏。因此,智能型充电电路通常包括了恒流恒压控制环路、电池电压监测电路、电池温度检测电路、外部显示电路(led或lcd显示)等基本单元。其框图如下:1.2 常见充电电池特性及充电方式电池充电是通过逆向化学反应将能量存储到化学系统里实现的,由于使用的化学物质的不同,电池的特性也不同,其充电的方式也不大一样。电池的安全充电:现代的快速充电器( 即电池可以在小于3 个小时的时间里充满电,通常是一个小时) 需要能够对单元电压、充电电流和电池温度进行精确地测量,在充满电的同时避免由于过充电造成的损坏。充电方法:sla 电池和锂电池的充电方法为恒定电压法要限流; nicd 电池和nimh 电池的充电方法为恒定电流法,且具有几个不同的停止充电的判断方法。最大充电电流:最大充电电流与电池容量(c) 有关。最大充电电流往往以电池容量的数值来表示。例如,电池的容量为750 mah,充电电流为750 ma,则充电电流为1c (1 倍的电池容量)。若涓流充电时电流为c/40,则充电电流即为电池容量除以40。过热:电池充电是将电能传输到电池的过程。能量以化学反应的方式保存了下来。但不是所有的电能都转化为了电池中的化学能。一些电能转化成了热能,对电池起了加热的作用。当电池充满后,若继续充电,则所有的电能都将转化为电池的热能。在快速充电时这将使电池快速升温,若不及时停止充电就会造成电池的损坏。因此,在设计电池充电器时,对温度进行监控并及时停止充电是非常重要的。二、系统程序流程图本充电器主要包括单片机控制、max1898主电路控制,单片机由at89s52控制工作在12时钟,外接蜂鸣器。由单片机控制发出警报声单片机的p2.0脚输出控制光耦器件,在在需要时可以及时关断充电电源。单片机中断0由充电芯片max1898的充电状态输出信号/chg经过反相后触发。max1898是电路的主控制部分,当max1898芯片的2引脚/chg发送的脉冲电平由低变高,这将会被单片机检测到,引起单片机的中断,在中断中,如果判断出充电完毕停止max1898的供电,从而保证芯片和电池的安全,同时也减小功耗。 单片机模块实现充电器的智能化控制,比如自动断电、 充电完成报警提示等。本系统的程序流程图如下所示三、 硬件设计硬件设计主要是根据电路设计要求选择主要电路控制芯片和单片机以及电路所需的元器件并且简单介绍其作用。 一个智能化程度较高的充电器,应能在电池充电过程中准确的检测电池的状态,并能在控制过程中及时的作出反应,这就需要完善的硬件设施。根据蓄电池快速充电技术的各项指标和设计原则,分析智能充电器硬件电路的工作原理,计算智能充电器所需的主要参数,选择各部分所需的元器件,并对硬件电路的各部分电路进行详细的设计。3.1电池充电芯片的选择 目前市场上存在大量的电池充电芯片,它们可直接用于进行充电器的设计。在选择具体的电池充电芯片时,需要参考以下标准。 (1)电池类型:不同的电池(锂电池、镍氢电池、镍镉电池等)需选择不同的充电芯片。 (2)电池数目:可充电池的数目。 (3)电流值:充电电流的大小决定了充电时间。 (4) 充电方式:是快充、慢充还是可控充电过程。我们实现的是手机的单节锂离子电池充电器,要求充电快速且具有优良的电池保护能力,据此选择 maxim 公司的 max1898 作为电池充电芯片。max1898 配合外部 pnp 或 pmos 晶体管可以组成完整的单节锂电池充电器。max1898 提供精确的恒流/恒压充电,电池电压调节精度为0.75% ,提高了电池性能并延长了电池使用寿命。充电电流可由用户设定,采用内部检流, 无须外部检流电阻。max1898 提供了充电状态的输出指示、输入电源是否与充电器的连接的输出指示和充电电流指示。max1898 还具有其他一些功能,包括输入关断控制、 可选的充电周期重启(无须重新上电)、 可选的充电终止安全定时器和过放电电池的低电流预充。32max1898的特性max1898 的关键特性如下。 (1)简单、 安全的线性充电方式。 (2)使用低成本的 pnp 或 pmos 调整元件。 (3)输入电压: 4.512v。 (4)内置检流电阻。 (5)0.75%电压精度。 (6)可编程充电电流。 (7)输入电源自动检测。 (8)led充电状态指示。 (9)可编程安全定时器。 (10)检流监视输出。 (11)可选/可调节自动重启。 (12)小尺寸max封装。充电芯片max1898的内部电路包括输入电流调节器、电压检测器、充电电流检测器、定时器、温度检测器和主控制器。3.3 max1898 的典型充电电路 输入电流调节器用于限制电源的总输入电流,包括系统负载电流与充电电流。当检测到输入电流大于设定的门限电流时,通过降低充电电流从而控制输入电流。 因为系统工作时电源电流的变化范围较大, 如果充电器没有输入电流检测功能,则输入电源必须能够提供最大负载电流与最大充电电流之和,这将使电源的成本增高、体积增大,而利用输入限流功能则能够降低充电器对直流电源的要求,同时也简化了输入电源的设计。 max1898 的典型充电电路如图所示。电路具体说明如下。 (1)输入电压范围为4.512v。锂电池要求的充电方式是恒流恒压方式,电源的输入需要采用恒流恒压源,一般可采用直流电源外加变压器。 (2)通过外接的场效应管提供锂电池的充电接口。 (3)通过外接的电容cct来设置充电时间tchg。这里的充电时间指的是快充时的最大充电时间,它和定时电容cct的关系如下式所示。34.33 式中,tchg的单位为小时,cct的单位为nf。 大多数情况下,快充时最大充电时间不超过3小时,因此常取cct为100nf。 (4)在限制电流的模式下,通过外接的电阻rset来设置最大充电电流ifstchg,关系如下式所示式中,rset的单位为,ifstchg的单位为nf。当充电电源和电池在正常的工作温度范围内时,插入电池将启动一次充电过程。平均的脉冲充电电流低于设置的快充电流的20%,或者充电时间超出片上预置的最大充电时间时,充电周期结束。 max1989 能够自动检测充电电源,没有电源时自动关断以减少电池的漏电。启动快充后,打开外接的p 型场效应管,当检测到电池电压达到设定的门限时进入脉冲充电方式,p 型场效应管打开的时间会越来越短。充电结束时,led 指示灯将会呈现周期性的闪烁,具体的闪烁含义如表1所示。表1 max1898典型充电电路的led指示状态说明充电状态led指示灯电池或充电器没有安装灭预充或快充亮充电结束灭充电出错以1.5hz频率闪烁max1898的引脚图如下图3所示:3.4 max1898引脚功能介绍图 3 max1898引脚图 其引脚功能如下: in(1 脚):传感输入,检测输入的电压或电流。 (2 脚):充电状态指示脚,同时驱动led。 en/ok(3 脚):使能输入脚/输入电源“好”输出指示脚。en为输入脚,可以通过输入禁止芯片工作;ok为输出脚,用于指示输入电源是否与充电器连接。 iset(4 脚):充电电流调节引脚。通过串接一个电阻到地来设置最大充电电流。 ct(5 脚):安全充电时间设置引脚。接一个时间电容来设置充电时间,电容为100mf时,几乎为3个小时,此引脚直接接地将禁用此功能。rstrt( 6 脚):自动重新启动控制引脚。当此引脚直接接地时,如果电池电压掉至基准电压阈值以下200mv,将会重新开始一轮充电周期。此引脚通过电阻接地时,可以降低它的电压阈值。此引脚悬空或者ct 引脚接地(充电时间设置功能禁用)时,自动重新启动功能被禁用。batt(7 脚):电池传感输入脚,接单个li+ 电池的正极。此引脚需旁接一个大电解电容到地。gnd(8 脚):接地端。drv(9 脚):外部晶体管驱动器,接晶体管的基极。四、单片机的选择单片机选择at89s52,89s52是intel公司mcs-52系列单片机中基本的产品,它采用intel公司可靠的chmos工艺技术制造的高性能8位单片机,属于标准的mcs-52的hcmos产品。它结合了hmos的高速和高密度技术及chmos的低功耗特征,它基于标准的mcs-51单片机体系结构和指令系统,属于80c51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。80c52内置8位中央处理单元、256字节内部数据存储器ram、8k片内程序存储器(rom)32个双向输入/输出(i/o)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。此外,89c52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结cpu而ram定时器、串行口和中断系统维持其功能。掉电模式下,保存ram数据,时钟振荡停止,同时停止芯片内其它功能。89c52有pdip(40pin)和plcc(44pin)两种封装形式。4.1 主要特点 标准mcs-52内核和指令系统 片内8krom(可扩充64kb外部存储器) 32个双向i/o口 256x8bit内部ram(可扩充64kb外部存储器) 3个16位可编程定时/计数器 时钟频率3.5-12/24/33mhz 向上或向下定时计数器 改进型快速编程脉冲算法 6个中断源 5.0v工作电压 全双工串行通信口 布尔处理器帧错误侦测 4层优先级中断结构自动地址识别 兼容ttl和cmos逻辑电平 空闲和掉电节省模式 pdip(40)和plcc(44)封装形式4.2 震荡起特性 外接石英晶体或者陶瓷谐振器以及电容c1、c2接在放大器的反馈回路(at89c52内部有一个用于构成内部振荡器的高增益反相放大电路,xtal1、xtal2分别是该放大器的输入和输出端)中构成并联振荡电路。为了使装置能够被外部时钟信号激活,xatl1应该有效,而xtal2应该被悬空。由于输入到内部的时钟信号电路通过了一个二分频的信号,外部信号的工作周期比没有别的要求,但是最大值和最小值的大小可以在数据表上观察出来。当正常工作时,外部振荡器可以计算出xtal1上的电容,最大可达到100pf。这是由于振荡器电容和反馈电容之间的相互作用。当外部信号是标准高电平或者低电平时,电容不会超过20pf.。4.3 结构特点 1、补高性能金属氧化物半导体结构可擦可 2、编程只读存储器/只读存储器/中央处理器 3、三个16位的定时器/计数器 4、编程的时钟输出 5、up/down定时器/计数器 6、三级程序锁定系统 7、256字节片内ram 8、改进的快速脉冲编程算法 9、布尔处理器 10、32根可编程的输入/输出线 11、六个中断源 12、 可编程的串行通道带有:帧错误检测 自动地址识别 13、ttl和cmos兼容逻辑电平 14、mcs51单片机可兼容指令集 15、扩展温度范围(40到85) 4.4 at89s52引脚功能 at89s52单片机兼容mcs-51指令系统、4k可反复擦写(1000次)isp flash rom、32个双向i/o口、4.5-5.5v工作电压、2个16位可编程定时/计数器、时钟频率0-33mhz、全双工uart串行中断口线、128x8bit内部ram、2个外部中断源、低功耗空闲和省电模式、中断唤醒省电模式、3级加密位、看门狗(wdt)电路、软件设置空闲和省电功能、灵活的isp字节和分页编程、双数据寄存器指针。at89s52引脚图如下图所示。各个引脚功能: vcc:电源 gnd:接地 p0口:p0口是一个8位漏极开路的双向i/o口。作为输出口,每位能驱动8个ttl逻辑电平。对p0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,p0口也被作为低8位地址/数据复用。在这种模式下,p0具有内部上拉电阻。在flash编程时,p0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 p1口:p1口是一个具有内部上拉电阻的8位双向i/o口,p1输出缓冲器能驱动4个ttl逻辑电平。对p1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。此外,p1.0和p1.2分别作定时器/计数器2的外部计数输入(p1.0/t2)和时器/计数器2的触发输入(p1.1/t2ex),具体如下表所示。在flash编程和校验时,p1口接收低8位地址字节。引脚号第二功能: p1.0 t2(定时器/计数器t2的外部计数输入),时钟输出 p1.1 t2ex(定时器/计数器t2的捕捉/重载触发信号和方向控制) p1.5 mosi(在系统编程用) p1.6 miso(在系统编程用)p1.7 sck(在系统编程用)p2口:p2口是一个具有内部上拉电阻的8位双向i/o口,p2输出缓冲器能驱动4个ttl逻辑电平。对p2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行movxdptr)时,p2口送出高八位地址。在这种应用中,p2口使用很强的内部上拉发送1。在使用8位地址(如movx ri)访问外部数据存储器时,p2口输出 p2锁存器的内容。在flash编程和校验时,p2口也接收高8位地址字节和一些控制信号。 p3口:p3口是一个具有内部上拉电阻的8位双向i/o口,p2输出缓冲器能驱动4个ttl逻辑电平。对p3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。p3口亦作为at89s51特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,p3口也接收一些控制信号。p3引脚号第二功能: p3.0 rxd(串行输入) p3.1 txd(串行输出) p3.2 int0(外部中断0) p3.3 int0(外部中断0) p3.4 t0(定时器0外部输入) p3.5 t1(定时器1外部输入) p3.6 wr(外部数据存储器写选通) p3.7 rd(外部数据存储器写选通) rst:复位输入。晶振工作时,rst脚持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,rst 脚输出96 个晶振周期的高电平。特殊寄存器auxr(地址8eh)上的disrto位可以使此功能无效。disrto默认状态下,复位高电平有效。ale/prog:地址锁存控制信号(ale)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(prog)也用作编程输入脉冲。在一般情况下,ale 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ale脉冲将会跳过。如果需要,通过将地址为8eh的sfr的第0位置“1”,ale操作将无效。这一位置“1”,ale 仅在执行movx 或movc指令时有效。否则,ale 将被微弱拉高。这个ale使能标志位(地址为8eh的sfr的第0位)的设置对微控制器处于外部执行模式下无效。 psen:外部程序存储器选通信号(psen)是外部程序存储器选通信号。当at89s51从外部程序存储器执行外部代码时,psen在每个机器周期被激活两次,而在访问外部数据存储器时,psen将不被激活。 ea/vpp:访问外部程序存储器控制信号。为使能从0000h 到ffffh的外部程序存储器读取指令,ea必须接gnd。为了执行内部程序指令,ea应该接vcc。在flash编程期间,ea也接收12伏vpp电压。 xtal1:振荡器反相放大器和内部时钟发生电路的输入端。xtal2:振荡器反相放大器的输出端。4.5时钟电路的设计 时钟是单片机的心脏,各部分都以时钟频率为基准,有条不紊的一拍一拍的工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。对于mcs-51系列的单片机,常用的时钟电路设计方式有内部时钟和外部时钟两种。内部时钟电路设计如下:利用at89s51单片机内部一个高增益的反相放大器,把一个晶振体和两个电容器组成自激励振荡电路,接于xtal1和xtal2之间。这样振荡器发出的脉冲直接送入内部时钟电路。单片机部分原理图主要由at89c51单片机蜂鸣器以及多个电容电阻等组成的,其原理图9所示: 在图10中,u1为单片机at89c51,工作在12mhz时钟;u2为蜂鸣器,蜂鸣器有单片机的p2.1肛却控制发出报警声提示;单片机的p2.0脚输出控制光耦器件,在需要的时候可以及时关断充电电源;单片机的外部中断0由充电芯片max1898的充电状态输出信号/chg经过反相后触发。五、充电过程在max1898和外部单片机的共同作用下,实现了如下的充电过程。 5.1 充满 在满充过程中,充电电流逐渐衰减,直到充电速率降到设置值以下,或满充时间超过,转入顶端截止充电。顶端截止充电时, 充电器以极小的充电电流为电池补充能量。由于充电器在检测电池电压是否达到终止电压时有充电电流通过电池内阻, 尽管在满充和顶端截止充电过程中充电电流逐渐下降, 减小了电池内阻和其他串联电阻对电池端电压的影响, 但串联在充电回路中的电阻形成的压降仍然对电池终止电压的检测有影响。 一般情况下, 满充和顶端截止充电可以延长电池5%10%的使用时间。 5.2 报警 当电池充满后,max1898芯片本身会熄灭外接的led绿灯。但是,为了安全起见,单片机在检测到充满状态的脉冲后,不仅会自动切断max1898芯片的供电, 而且会通过蜂鸣器报警,提醒用户及时取出电池。六、总结此次课程设计我的题目是智能充电器的设计。通过短短的两个星期的时间,让我对单片机以及充电器有了更深的了解。以前我一直认为电池充电冲的越久越好,点量会充的越满,但是事实并不是如此。当电池电量充满以后,电能将会全部以热能的形式传送给电池,对电池的使用寿命造成很大的影响。因此在日常生活中,电池电量充满以后要及时取下来,及时断开电源。充电器由单片机控制发出报警声。单片机的p2.0脚输出控制光耦合器件,在需要时可以及时关断充电电源。单片机中断0由充电芯片max1898的充电状态,输出信号/chg经过反相后触发。虽然此次做设计的时间较短,不能够全面透彻地了解充电器的所有的知识,但是我在我的能力范围之内搜索了许多相关的资料,查阅了很多的信息,也让我明白了许多事情认真去做,努力去做,就能够做好。七、附录附录1 元件清单元件数量stc89s521max18981dip40管座1dip10管座16x6按键开关11k电阻310k电阻12.7k电阻1usb接口1led红、黄2in40071蜂鸣器18550312mhz晶振130pf电容110uf电容2220uf电容2110nf电容2附录2 完整电路图附录3 仿真图附录4 完整程序#include #define uchar unsigned char#define uint unsigned intsbit gate = p21;sbit bp = p20;uint t_count,int0_count;/* 初始化 */void init() ea = 1; / 打开cpu中断 pt0 = 1; / t0中断设为高优先级 tmod = 0x01; / 模式1,t0为16位定时/计数器 th0 = (65536-5000)/256; / 5ms定时 tl0 = (65536-5000)%256; et0 = 1; / 打开t0中断 tr0=0; it0 = 1; / 外部中断0设为边沿触发 ex0 = 1; / 打开外部中断0 gate = 1; / 光耦正常输出电压 bp = 1; / 关闭蜂鸣器 int0_count = 0; / 产生外部中断0的计数器清零 void main() /* 调用初始化函数 */ init(); /* 无限循环 */ while(1);/* 定时器0中断服务子程序 */void timer0() interrupt 1 using 1 tr0 = 0; / 停止计数 th0 = (65536-5000)/256; / 重设计数初值 tl0 = (65536-5000)%256; t_count+; if (t_count600) / 第一次外部中断0产生后3s if (int0_count=1) / 还没有出现第二次外部中断0,则
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 气道吸入性损伤的护理
- 科学活动《小树排排队》设计大纲
- 招商人员年终工作总结
- 关于《玉堂春》的舞台表演艺术探究
- 生产总监年度工作总结
- 元旦的节日教育
- 沉井施工环保措施及责任协议书
- 绿色能源营销团队劳动合同规范解读
- 企业核心财务数据保密及财务总监责任合同书
- 餐饮连锁品牌加盟权及管理权转让合同
- DBJT45-166-2024《预拌混凝土企业内设试验室管理规程》
- 2025年内蒙古地矿集团直属子公司招聘笔试参考题库含答案解析
- 心脏瓣膜病护理常规课件
- 卵巢交界性肿瘤诊治进展
- 持续葡萄糖监测临床应用专家共识2024解读
- 《冠心病的规范化诊》课件
- 《数据挖掘与机器学习》 课件7.2.1 K-Means聚类
- 2025年围产期保健工作计划
- 2024年基本公共卫生服务人员培训计划
- 边坡挂网喷浆应急响应方案
- 浙大城市学院《操作系统原理》2021-2022学年第一学期期末试卷
评论
0/150
提交评论