智能充电器.docx
- 文档编号:8114232
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:13
- 大小:130.59KB
智能充电器.docx
《智能充电器.docx》由会员分享,可在线阅读,更多相关《智能充电器.docx(13页珍藏版)》请在冰豆网上搜索。
智能充电器
智能充电器设计
目录
第一章课题的意义1
1.1单片机实现充电器功能的意义1
第二章设计思路分析1
2.1设计的功能模块1
2.2电池充电芯片的选择2
2.2.1如何选择电池充电芯片2
2.2.2芯片MAX1898的特点2
2.2.3MAXl898的充电工作原理3
第三章硬件电路设计4
3.1主要器件4
3.2电路原理图及说明6
第四章软件设计10
4.1程序流程10
4.2程序说明11
总结13
参考文献14
第一章课题的意义
1.1单片机实现充电器功能的意义
由于充电器多采用大电流的快速充电法,在电池充满后如果不及时停止会使电池发烫,过度的充电会严重损害电池的寿命。
一些低成本的充电器采用电压比较法,为了防止过充,一般充电到90%就停止大电流快充,而采用小电流涓流补充充电。
手机电池的使用寿命和单次使用时间与充电过程密切相关。
锂电池是手机最为常用的一种电池,它具有较高的能量重量比、能量体积比,具有记忆效应,可重复充电多次,使用寿命较长,价格也越来越低。
锂电池对于充电器的要求比较苛刻,需要保护电路。
为了有效利用电池容量,需将锂电池充电至最大电压,但是过压充电会造成电池损坏,这就要求较高的控制精度。
因而这就要求设计出比较科学的充电器,较好的方法是采用专用充电控制芯片配合单片机控制的方式。
专用的充电芯片具有业界公认较好的-△v检测,可以检测出电池充电饱和时发出的电压变化信号,比较精确地结束充电工作,通过单片机对这些芯片的控制,可以实现充电过程的智能化。
而充电器的智能化可以缩短充电的时间,同时能够维护电池,延长电池使用寿命。
第二章设计思路分析
2.1设计的功能模块
·单片机模块:
实现充电器的智能化控制,比如自动断电、充电完成报警提示等。
·充电过程控制模块:
采用专用的电池充电芯片实现对充电过程的控制。
·充电电压提供模块:
采用电压转换芯片将外部+12V电压转换为需要的+5V电压。
该电压在送给充电控制模块之前还需经过一个光耦模块。
·C51程序:
单片机控制电池充电芯片实现充电过程的自动化,并根据充电的状态给出有关的输出指示。
2.2电池充电芯片的选择
2.2.1如何选择电池充电芯片
目前市场上存在大量的电池充电芯片,它们可直接用于进行充电器的设计。
在选择具体的电池充电芯片时,需要参考以下标准。
·电池类型:
不同的电池(锂电池、镍氢电池、镍镉电池等)需选择不同的充电芯片。
·电池数目:
可充电池的数目。
·电流值:
充电电流的大小决定了充电时间。
·充电方式:
是快充、慢充还是可控充电过程。
本设计要实现的是手机的单节锂离子电池充电器,要求充电快速且具有优良的电池保护能力,据此选择Maxim公司的MAXl898作为电池充电芯片。
2.2.2芯片MAX1898的特点
MAXl898配合外部PNP或PMOS晶体管可以组成完整的单节锂电池充电器。
MAXl898提供精确的恒流/恒压充电,电池电压调节精度为±0.75%,提高了电池性能并延长了电池使用寿命。
充电电流可由用户设定,采用内部检流,无须外部检流电阻。
MAXl898提供了充电状态的输出指示、输入电源是否与充电器连接的输出指示和充电电流指示。
MAXl898还具有其他一些功能,包括输入关断控制、可选的充电周期重启(无须重新上电)、可选的充电终止安全定时器和过放电电池的低电流预充。
MAXl898的关键特性如下。
·简单、安全的线性充电方式。
·使用低成本的PNP或PMOS调整元件。
·输入电压:
4.5~12V。
·内置检流电阻。
·±0.75%电压精度。
·可编程充电电流。
·输入电源自动检测。
·LED充电状态指示。
·可编程安全定时器。
·检流监视输出。
·可选/可调节自动重启。
·小尺寸uMAX封装。
2.2.3MAXl898的充电工作原理
充电芯片MAXl898的内部电路包括输入电流调节器、电压检测器、充电电流检测器、定时器、温度检测器和主控制器。
输入电流调节器用于限制电源的总输入电流,包括系统负载电流与充电电流。
当检测到输入电流大于设定的门限电流时,通过降低充电电流从而控制输入电流。
因为系统工作时电源电流的变化范围较大,如果充电器没有输入电流检测功能,则输入电源必须能够提供最大负载电流与最大充电电流之和,这将使电源的成本增高、体积增大,而利用输入限流功能则能够降低充电器对直流电源的要求,同时也简化了输入电源的设计。
MAXl898外接限流型充电电源和P沟道场效应管,可以对单节锂电池进行安全有效的快充,其最大特点是:
在不使用电感的情况下,仍能做到很低的功率耗散,可以实现预充电,具有过压保护和温度保护功能,最长充电时问的限制可为锂电池提供二次保护。
MAX1898的浮动方式能够使电池容量充至最大。
当充电电源和电池在正常的工作温度范围内时,插入电池将启动一次充电过程;充电结束的条件是平均的脉冲充电电流达到快充电流的1%,或时间超出片上预置的充电时间。
MAXl898能够自动检测充电电源,没有电源时自动关断以减少电池的漏电。
启动快充后打开外接的P型场效应管,当检测到电池电压达到设定的门限时进入脉冲充电方式,P型场效应管打开的时问会越来越短。
充电结束时,指示图1MAX1898的典型充电电路
灯将会按12%的周期闪烁,MAX1898的典型充电电路如右图1所示电路具体说明如下。
(1)输入电压范围为4.5~12v。
锂电池要求的充电方式是恒流恒压方式,电源的输入需要采用恒流恒压源,一般可采用直流电源外加变压器。
(2)通过外接的场效应管提供锂电池的充电接口。
(3)通过外接的电容CcT来设置充电时间tCHG。
这里的充电时间指的是快充时的最大充电时间,它和定时电容CcT的关系如下式所示。
CcT=34.33×tCHG
式中,tCHG的单位为小时,CcT的单位为nF。
大多数情况下,快充时最大充电时问不超过3小时,因此常取CcT为100nF。
(4)在限制电流的模式下,通过外接的电阻RSET来设置最大充电电流IFSTCHG,关系如下式所示:
1fstchg=1400/Rset式中,RSEI-的单位为Q,IFsTCHG的单位为A。
当充电电源和电池在正常的工作温度范围内时,插入电池将启动一次充电过程。
平均的脉冲充电电流低于设置的快充电流的20%,或者充电时间超出片上预置的最大充电时问时,充电周期结束。
MAXl898能够自动检测充电电源,没有电源时自动关断以减少电池的漏电。
启动快充后,打开外接的P型场效应管,当检测到电池电压达到设定的门限时进入脉冲充电方式,P型场效应管打开的时JI间会越来越短。
充电结束时,LED指示灯将会呈现周期性的闪烁,具体的闪烁含义如表1所示。
表1MAX1898典型充电电路的LED指示灯状态说明
充电状态
LED指示灯
电池或充电器没有安装
灭
预充或快充
亮
充电结束
灭
充电出错
以1.5Hz频率闪烁
第三章硬件电路设计
硬件电路设计主要围绕充电芯片MAXl898展开,而单片机控制部分的电路简单。
3.1主要器件
本设计的核心器件是MAXl898。
MAXl898可对所有化学类型的Li+电池进行安全充电,它具有高集成度,在小尺寸内集成了更多功能,尽可能多地覆盖了基本应用电路,只需要少数外部元件。
AXl898为10引脚、超薄型的MAX封装,其引脚分布如图2所示
图2MAX1898引脚分布
其引脚功能如下:
IN(1脚):
传感输入,检测输入的电压或电流;
CHG(2脚):
充电状态指示脚,同时驱动LED;
EN/OK(3脚):
使能输入脚/输入电源“好”输出指示脚。
EN为输入脚,可以通过输入禁止芯片工作;OK为输出脚,用于指示输入电源是否与充电器连接;
ISET(4脚):
充电电流调节引脚。
通过串接一个电阻到地来设置最大充电电流;
CT(5脚):
安全充电时间设置引脚。
接一个时间电容来设置充电时间,电容为100nF时,几乎为3个小时,此引脚直接接地将禁用此功能;
RSTRT(6脚):
自动重新启动控制引脚。
当此引脚直接接地时,如果电池电压掉至基准电压阈值以下200mV,将会重新开始一轮充电周期。
此引脚通过电阻接地时,可以降低它的电压阈值。
此引脚悬空或者CT引脚接地(充电时间设置功能禁用)时,自动重新启动功能被禁用;
BATT(7脚):
电池传感输入脚,接单个Li+电池的正极。
此引脚需旁接一个大电解电容到地;
GND(8脚):
接地端;
DRV(9脚):
外部晶体管驱动器,接晶体管的基极;
CS(10脚):
电流传感输入,接晶体管的发射极。
本设计的单片机芯片选用Atmel公司的AT89C52,它完全可以满足要求。
另外,由于充电器外部为+12V供电,因此需要通过电压转换芯片将+12V电压转换为+5V电压,这里选用三端电压转换芯片LM7805来完成此功能。
为了降低电源干扰,保持电路的稳定,在LM7805完成电压转换,将+5v充电电源送给MAXl898之前,先经过一次光耦模块6N137的处理,通过单片机对光耦模块的控制,可以及时关断充电电源。
6N137的引脚分布如图3所示。
图36N137引脚分布图
其引脚功能如下
NC(1脚、4脚):
悬空;
+(2脚)、-(3脚):
发光二极管的正、负极;
GND(5脚):
接地端;
OUTPUT(6脚):
输出脚;
EN(7脚):
使能脚。
为低时,无论有无输入,输出都为高。
不使用时,悬空即可;
VCC(8脚):
电源输入脚。
3.2电路原理图及说明
3.21硬件电路由单片机电路、电压转换及光耦隔离电路、充电控制电路3部分组成。
单片机部分的电路原理图如下图4所示。
图4单片机部分原理图
图中,u1为单片机AT89C52,工作在11.0592MHz时钟;u2为蜂鸣器,蜂鸣器由单片机的P2.1脚控制发出报警声提示;单片机的P2.O脚输出控制光耦器件,在需要的时候可以及时关断充电电源;单片机的外部中断O由充电芯片MAXl898的充电状态输出信号/CHG经过反相后触发。
下图5所示的为电压转换及光耦隔离部分电路的原理图。
图5电压转换及光耦隔离部分电路的原理图
U3为输出+5V的电压转换芯片M7805,它将12V的输入电压转换为固定的5v输出;u4为光耦隔离芯片6N137,其输入为LM7805产生的5V电压,输出为经过隔离的5V电压,U4的2脚和单片机的P2.0相连,由单片机控制适时地关闭充电电源。
图6所示的为充电控制部分的电路原理图,
图6充电控制部分的电路原理图
其核心器件为充电芯片MAXl898,其充电状态输出引脚/CHG经过。
74LS04反相后与单片机INT0相连,触发外部中断。
LED_R为红色发光二极管,红灯表示电源接通;LED—G为绿色发光二极管,绿灯表示处于充电状态。
Q1为P沟道的场效应管,由MAxl898提供驱动。
图中,R4为设置充电电流的电阻,阻值为2.8kQ,设置最大充电电流为500mA,C11为设置充电
时间的电容,容值为100nf,设置最大充电时间为3小时。
在MAXl898和外部单片机的共同作用下,实现了如下的充电过程。
·预充
在安装好电池之后,接通输入直流电源,当充电器检测到电池时将定时器复位,从而进入预充过程,在此期间充电器以快充电流的10%给电池充电,使电池电压、温度恢复到正常状态。
预充时间由外接电容CcT确定(100nF时为45分钟),如果在预充时间内电池电压达到2.5V,且电池温度正常,则充电进入快充过程;如果超过预充时间后,电池电压仍低于2.5V,则认为电池不可充电,充电器显示电池故障,LED指示灯闪烁。
·快充
快充过程也称为恒流充电,此时充电器以恒定电流对电池充电。
恒流充电时,电池电压缓慢上升,一旦电池电压达到所设定的终止电压,恒流充电终止,充电电流快速递减,充电进入满充过程。
·满充
在满充过程中,充电电流逐渐衰减,直到充电速率降到设置值以下,或满充时间超时,转入顶端截止充电。
顶端截止充电时,充电器以极小的充电电流为电池补充能量。
由于充电器在检测电池电压是否达到终止电压时有充电电流通过电池内阻,尽管在满充和顶端截止充电过程中充电电流逐渐下降,减小了电池内阻和其他串联电阻对电池端电压的影响,但串联在充电回路中的电阻形成的压降仍然对电池终止电压的检测有影响。
一般情况下,满充和顶端截止充电可以延长电池5%~10%的使用时间。
·断电
当电池充满后,MAXl898芯片的2号管脚发送的脉冲电平会由低变高,这将会被单片机检测到,引起单片机的中断,在中断中,如果判断出充电完毕,则单片机将通过P2.0口控制光耦6N137,切断LM7805向MAXl898的供电,从而保证芯片和电池的安全,同时也减小功耗。
·报警
当电池充满后,MAXl898芯片本身会熄灭外接的LED绿灯。
但是,为了安全起见,单片机在检测到充满状态的脉冲后,不仅会自动切断MAXl898芯片的供电,而且会通过蜂鸣器报警,提醒用户及时取出电池。
当充电出错时,MAXl898芯片本身会控制LED绿灯以1.5Hz左右的频率闪烁,此时不要切断芯片的供电,要让用户一直看到此提示。
充电器的充电过程主要由MAXl898控制,而单片机芯片主要是对电池起保护作用。
本课题的软件设计较为简单,其主要功能如下。
当MAXl898完成充电时,其/CHG引脚会产生由低到高的跳变,该跳变引起单片机的INTO中断。
/CHG输出为高存在3种情况:
一是电池不在位或无充电输入,二是充电完毕,三是充电出错(此时,实际上/CHG会以1.5Hz频率反复跳变)。
显然前两种情况单片机都可以直接控制光耦切断充电电源,所以,程序中只要区别对待第3种充电出错的情况即可。
因此,在此中断中,如果判断出不是充电出错,则控制P2.0脚切断电源,控制P2.1脚启动蜂鸣器报警。
3.22产品工作原理图
第四章软件设计
4.1程序流程
单片机控制智能充电器工作的程序流程如图7所示:
图7单片机控制智能充电器工作的程序流程图
4.2程序说明
主要程序代码及其说明(见注释语句)如下:
#defineucharunsignedchar
#defineuintunsignedint
sbitGATE=P2^0;
sbitBP=P2^1;
uintt_count,int0_count;
/+定时器0中断服务子程序*/
voidtimer0()interrupt1USing1
(
TR0=0;//停止计数
TH0=一5000/256;//重设5ms计数初值
TL0=一5000%256:
t_count++;
if(it_count>600)//第一次外部中断0产生后3S
(
if(int0_count==1)//还没有出现第二次外部中断0,则认为充电完毕
(
GATE=0;//关闭充电电源
BP=0;//打开蜂鸣器报警
)
e1se//否则即是充电出错
(GATE=1;
BP=1;)
ET0=0;//关闭TO中断
EX0=0;//关闭外部中断0
int0_count=0;
t_count=0;)
else
TR0=1;//TO开始计数
)
/*外部中断0服务子程序+/
voidint0()interrupt0USing1
(if(int0_count==0)
(TH0=一5000f256;//5ms定时
TL0=一5000%256;
TRO=1:
//启动定时/计数器O计数
t_count=0;//产生定时器0中断的计数器清零
)
intO—count++;)
/*初始化*/
voidinit()
(EA=1;//打开cpu中断
PTO=1//T0中断设为高优先级
TMOD=0X01;//模式1,TO为16位定时/计数器
ETO=1;//打开TO中断
ITO=1;//外部中断O设为边沿触发
EXO=l;//打开外部中断O
GATE=1;//光耦正常输出电压
Bp=1;//关闭蜂鸣器
Int0_count=O//产生外部中断O的计数器清零
)
voidmain()
(
/*调用初始化函数*/
init();/*无限循环*/while
(1);)
总结
本次设计以充电芯片MAXl898的使用为主体,利用单片机实现智能化的手机充电器。
目前,充电电池的种类繁多,因此在充电器的方案创建时需要针对不同的电池选择不同的充电芯片。
次设计实现的是单节锂离子电池充电器,因此选用了芯片MAXl898作为充电芯片。
设计在选择芯片后进行硬件和软件设计。
在本次设计过程中,需着重把握的是:
预充、快充、满充等充电方式的工作原理;MAXl898的充电状态指示输出信号CH6在本实训中的应用;MAXl898在外围电路的设计中,其中包括设置充电电流的电阻和充电时间的电容数值的选取以及如何在单片机程序中判断出充电完成还是充电出错,并做出相应的处理。
采用C51语言设计单片机应用系统程序时,首先是要尽可能地采用结构化的程序设计方法,这样就使整个应用系统程序结构清晰,易于调试和维护。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 充电器