智能充电器毕业设计.doc_第1页
智能充电器毕业设计.doc_第2页
智能充电器毕业设计.doc_第3页
智能充电器毕业设计.doc_第4页
智能充电器毕业设计.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

在人们日常工作和生活中,充电器的使用越来越广泛。从随身听到数码相机,从手机到笔记本电脑,几乎所有用到电池的电器设备都需要用到充电器。充电器为人们的外出旅行和出差办公提供了极大的方便。 单片机在电池充电器领域也有着广泛的应用,利用它的处理控制能力可以实现充电器的智能化。充电器各类繁多, 但从严格意义上讲, 只有单片机参与处理和控制的充电器才能称为智能充电器。1 实例说明 随着手机在世界范围内的普及使用,手机电池充电器的使用也越来越广泛。 本章将通过一个典型实例介绍 51 单片机在实现手机电池充电器方面的应用。实例所实现的充电器是一种智能充电器,它在单片机的控制下,具有预充、 充电保护、 自动断电和充电完成报警提示功能。 实例的功能模块如下 。 单片机模块:实现充电器的智能化控制,比如自动断电、 充电完成报警提示等。 充电过程控制模块:采用专用的电池充电芯片实现对充电过程的控制。 充电电压提供模块:采用电压转换芯片将外部+12V 电压转换为需要的+5V 电压, 该电压在送给充电控制模块之前还需经过一个光耦模块。 C51 程序:单片机控制电池充电芯片实现充电过程的自动化,并根据充电的状态给 出有关的输出指示。2 设计思路分析 要实现智能化充电器,需要从下面两个方面着手。 (1)充电的实现。它包括两部分:一是充电过程的控制;二是需要提供基本的充电电压。 (2)智能化的实现。在充电器电路中引入单片机的控制。2.1 为何需要实现充电器的智能化 充电器实现的方式不同会导致充电效果的不同。 由于充电器多采用大电流的快速充电法,在电池充满后如果不及时停止会使电池发烫,过度的充电会严重损害电池的寿命。 一些低成本的充电器采用电压比较法,为了防止过充,一般充电到90%就停止大电流快充,而采用小电流涓流补充充电。 手机电池的使用寿命和单次使用时间与充电过程密切相关。锂电池是手机最为常用的一种电池,它具有较高的能量重量比、 能量体积比、 具有记忆效应,可重复充电多次,使用寿命较长,价格也越来越低。 锂电池对于充电器的要求比较苛刻,需要保护电路。 为了有效利用电池容量,需将锂电池充电至最大电压,但是过压充电会造成电池损坏, 这就要求较高的控制精度。另外, 对于电压过低的电池需要进行预充,充电器最好带有热保护和时间保护,为电池提供附加保护。 一部好的充电器不但能在短时间内将电量充足,而且还可以对电池起到一定的维护作用,修复由于使用不当造成的记忆效应,即容量下降(电池活性衰退)现象。 设计比较科学的充电器往往采用专用充电控制芯片配合单片机控制的方法。 专用的充电芯片具备业界公认较好的V 检测,可以检测出电池充电饱和时发出的电压变化信号, 比较精确地结束充电工作,通过单片机对这些芯片的控制,可以实现充电过程的智能化,例如, 在充电后增加及时关断电源、 蜂鸣报警和液晶显示等功能。充电器的智能化可以缩短充电的时间,同时能够维护电池,延长电池使用寿命。2.2 如何选择电池充电芯片 目前市场上存在大量的电池充电芯片,它们可直接用于进行充电器的设计。在选择具体的电池充电芯片时,需要参考以下标准。 电池类型:不同的电池(锂电池、镍氢电池、镍镉电池等)需选择不同的充电芯片。 电池数目:可充电池的数目。 电流值:充电电流的大小决定了充电时间。 充电方式:是快充、慢充还是可控充电过程。 本例要实现的是手机的单节锂离子电池充电器,要求充电快速且具有优良的电池保护能力,据此选择 Maxim 公司的 MAX1898 作为电池充电芯片。 MAX1898 配合外部 PNP 或 PMOS 晶体管可以组成完整的单节锂电池充电器。MAX1898 提供精确的恒流/恒压充电,电池电压调节精度为0.75% ,提高了电池性能并延长了电池使用寿命。充电电流可由用户设定,采用内部检流, 无须外部检流电阻。MAX1898 提供了充电状态的输出指示、输入电源是否与充电器的连接的输出指示和充电电流指示。MAX1898 还具有其他一些功能,包括输入关断控制、 可选的充电周期重启(无须重新上电)、 可选的充电终止安全定时器和过放电电池的低电流预充。 MAX1898 的关键特性如下。 简单、 安全的线性充电方式。 使用低成本的 PNP 或 PMOS 调整元件。 输入电压: 4.512V。 内置检流电阻。 0.75%电压精度。 可编程充电电流。 输入电源自动检测。 LED充电状态指示。 可编程安全定时器。 检流监视输出。 可选/可调节自动重启。 小尺寸MAX封装。2.3 MAX1898的充电工作原理 充电芯片MAX1898的内部电路包括输入电流调节器、电压检测器、充电电流检测器、定时器、温度检测器和主控制器。 输入电流调节器用于限制电源的总输入电流,包括系统负载电流与充电电流。当检测到输入电流大于设定的门限电流时,通过降低充电电流从而控制输入电流。 因为系统工作时电源电流的变化范围较大, 如果充电器没有输入电流检测功能,则输入电源必须能够提供最大负载电流与最大充电电流之和,这将使电源的成本增高、体积增大,而利用输入限流功能则能够降低充电器对直流电源的要求,同时也简化了输入电源的设计。 MAX1898 外接限流型充电电源和 P 沟道场效应管,可以对单节锂电池进行安全有效的快充,其最大的特点是:在不使用电感的情况下,仍能做到很低的功率耗散,可以实现预充电,具有过压保护和温度保护功能,最长充电时间的限制可为锂电池提供二次保护。 MAX1898 的典型充电电路如图1 所示。 电路具体说明如下。 (1)输入电压范围为4.512V。锂电池要求的充电方式是恒流恒压方式,电源的输入需要采用恒流恒压源,一般可采用直流电源外加变压器。 图 1 MAX1898的典型充电电路 (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频率闪烁3 硬件电路设计3.1.2 AT89S51引脚功能AT89S51单片机兼容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字节和分页编程、双数据寄存器指针。AT89S51引脚图如图3-1所示。图3-1 AT89S51引脚图各个引脚功能: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:振荡器反相放大器的输出端。硬件电路设计主要围绕充电芯片MAX1898展开,而单片机控制部分的电路较为简单。3.1 主要器件本例的核心器件是MAX1989。MAX1989可对所有化学类型的Li+电池进行安全充电,它具有高集成度,在小尺寸内集成了更多功能,尽可能多地覆盖了基本应用电路, 只需要少数外部元件。MAX1989为10引脚、超薄型的MAX封装,其引脚分布如图2所示。其引脚功能如下。IN(1 脚):传感输入,检测输入的电压或电流。 (2 脚):充电状态指示脚,同时驱动LED。 图2 MAX1898引脚分布图EN/OK(3 脚):使能输入脚/输入电源“好”输出指示脚。EN为输入脚,可以通过输入禁止芯片工作;OK为输出脚,用于指示输入电源是否与充电器连接。ISET(4 脚):充电电流调节引脚。通过串接一个电阻到地来设置最大充电电流。CT(5 脚):安全充电时间设置引脚。接一个时间电容来设置充电时间,电容为100mF时,几乎为3个小时,此引脚直接接地将禁用此功能。RSTRT( 6 脚):自动重新启动控制引脚。当此引脚直接接地时,如果电池电压掉至基准电压阈值以下200mV,将会重新开始一轮充电周期。此引脚通过电阻接地时,可以降低它的电压阈值。此引脚悬空或者CT 引脚接地(充电时间设置功能禁用)时,自动重新启动功能被禁用。BATT(7 脚):电池传感输入脚,接单个Li+ 电池的正极。此引脚需旁接一个大电解电容到地。GND(8 脚):接地端。DRV(9 脚):外部晶体管驱动器,接晶体管的基极。CS(10 脚):电流传感输入,接晶体管的发射极。 另外,由于充电器外部为+12V供电,因此需要通过电压转换芯片将+12V电压转换为+5V电压,这里选用三端电压转换芯片LM7805来完成此功能。 为了降低电源干扰,保持电路的稳定,在LM7805完成电压转换,将+5V充电电源送给MAX1898之前,先经过一次光耦模块6N137处理,通过单片机对光 耦模块的控制,可以及时关断充电电源。 6N137的引脚分布如图3所示。 其引脚功能如下。 NC(1 脚、4 脚):悬空。 +(2 脚)、(3 脚):发光二极管的正、负极。 GND(5 脚):接地端。 图3 6N137 引脚分布图 OUTPUT(6 脚):输出脚。 EN(7 脚):使能脚。为低时,无论有无输入,输出都为高。不使用时,悬空即可。 VCC(8 脚):电源输入脚。时钟电路设计时钟是单片机的心脏,各部分都以时钟频率为基准,有条不紊的一拍一拍的工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。对于MCS-51系列的单片机,常用的时钟电路设计方式有内部时钟和外部时钟两种。内部时钟电路设计如下:利用AT89S51单片机内部一个高增益的反相放大器,把一个晶振体和两个电容器组成自激励振荡电路,接于XTAL1和XTAL2之间。这样振荡器发出的脉冲直接送入内部时钟电路,如图3-3所示。图3-3 内部时钟电路本系统中晶振体选石英晶体,振荡频率为12MHz,电容器为33PF电容。 电路原理图及说明 硬件电路由单片机电路、电压转换及光耦隔离电路、充电控制电路3部分组成。单片机部分的电路原理图如图4所示。 图4 基于MAX1898的智能充电器电路单片机部分原理图 图 4 中,U1为单片机AT89C52,工作在11.0592MHz时钟;U2为蜂鸣器,蜂鸣器由单片机的P2.1肛却控制发出报警声提示;单片机的P2.0脚输出控制光耦器件,在需要的时候可以及时关断充电电源: 单片机的外部中断0 由充电芯片MAX1898的充电状态输出信号/CHG经过反相后触发。 图 5 所示的为电压转换及光耦隔离部分电路的原理图。图 5 基于MAX1898的智能充电器电路电压转换及光耦隔离部分原理图 U3为输出+5V的电压转换芯片LM7805,它将12V的输入电压转换为固定的5V 输出,U4为光耦隔离芯片6N137 ,其输入为LM7805 产生的 5V 电压,输出为经过隔离的5V电压,U4的2脚和单片机的P2.0相连,由单片机控制适时地关闭电电源。 图 6 所示的为充电控制部分的电路原理图,其核心器件为充电芯片MAX1898,其充电状态输出引脚/CHG经过74LS04反相后与单片机INT0相连,触发外部中断,LED-R 为红色发光二极管,红灯表示电源接通;LEDG为绿色发光二极管,绿灯表示处于充电状态。Q 1 为 P 沟道的场效应管,由MAX1898提供驱动。图 6 中,R4为设置充电电流的电阻,阻值为2.8k,设置最大充电电流为 500mA; C11为设置充电时间的电容, 容值为100nf设置最大充电时间为3小时。 在MAX1898和外部单片机的共同作用下,实现了如下的充电过程。 预充 在安装好电池之后,接通输入直流电源,当充电器检测到电池时将定时器复位,从而进入预充过程,在此期间充电器以快充电流的 10%给电池充电, 使电池电压、温度恢复到正常状态。预充时间由外接电容CcT确定(100nF时为45分钟), 如果在预充时间内电池电压达到2.5V,且电池温度正常,则充电进入快充过程;如果超过预充时间后,电池电压仍低于2.5V,则认为电池不可充电,充电器显示电池故障,LED指示灯闪烁。 快充 快充过程也称为恒流充电,此时充电器以恒定电流对电池充电。恒流充电时,电池电压缓慢上升,一旦电池电压达到所设定的终止电压, 恒流充电终止,充电电流快速递减,充电进入满充过程。 图 6 基于MAX1898的智能充电器电路充电控制部分原理图 满充 在满充过程中,充电电流逐渐衰减,直到充电速率降到设置值以下,或满充时间超过,转入顶端截止充电。顶端截止充电时, 充电器以极小的充电电流为电池补充能量。由于充电器在检测电池电压是否达到终止电压时有充电电流通过电池内阻, 尽管在满充和顶端截止充电过程中充电电流逐渐下降, 减小了电池内阻和其他串联电阻对电池端电压的影响, 但串联在充电回路中的电阻形成的压降仍然对电池终止电压的检测有影响。 一般情况下, 满充和顶端截止充电可以延长电池5%10%的使用时间。 断电 当电池充满后,MAX1898芯片的2引脚/CHG发送的脉冲电平会由低变高,这将会被单片机检测到,引起单片机的中断,在中断中,如果判断出充电完毕,则单片机将通过P2.0口控制光耦6N137,切断LM7805向MAX1898的供电,从而保证芯片和电池的安全,同时也减小功耗。 报警 当电池充满后,MAX1898芯片本身会熄灭外接的LED绿灯。但是,为了安全起见,单片机在检测到充满状态的脉冲后,不仅会自动切断MAX1898芯片的供电, 而且会通过蜂鸣器报警,提醒用户及时取出电池。当充电出错时,MAX1898芯片本身会控制LED绿灯以1.5Hz左右的频率闪烁,此时不要切断芯片的供电,要让用户一直看到此提示。4 软件设计 充电电器的充电过程主要由MAX1898控制,而单片机芯片主要是对电池起保护作用。本例的软件设计较为简单,其主要功能如下。 当MAX1898完成充电时,其/CHG引脚会产生由低到高的跳变,该跳变引起单片机的INT0中断。/CHG输出为高存在3种情况:一是电池不在位或无充电输入,二是充电完毕,三是充电出错(此时,实际上/CHG会以1.5Hz频率反复跳变)。显然前两种情况单片机都可以直接控制光耦切断充电电源,所以,程序中只要区别对待第 3 种充电出错的情况即可。因此,在此中断中,如果判断出不是充电出错,则控制P2.0脚切断电源,控制P2.1脚启动蜂鸣器报警。4 . 1 程序流程 单片机控制智能充电器工作的程序流程如图7所示。 图 7 基于MAX1989的智能充电器程序流程图4 . 2 程序说明主要程序代码及其说明(见注释语句)如下。#define uchar unsigned char#define uint unsigned intsbit GATE = P20;sbit BP = p21; uint t_count , int0_count;/ *定时器0中断服务子程序* /void timer0 ( ) interrupt 1 using 1 TR0 = 0; / / 停止计数 TH0 = -5000/256; / / 重设5mg计数初值 TL0 = -5000%256; t count + + ; if (t_count600) / / 第一次外部中断0产生后3s if (int 0_count = = 1) / / 还没有出现第二次外部中断0,则认为充电完毕 GATE = 0 ; / / 关闭充电电源 BP =

温馨提示

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

评论

0/150

提交评论