最新MAX1898智能充电器的设计2Word下载.docx

上传人:b****6 文档编号:20749016 上传时间:2023-01-25 格式:DOCX 页数:16 大小:183.89KB
下载 相关 举报
最新MAX1898智能充电器的设计2Word下载.docx_第1页
第1页 / 共16页
最新MAX1898智能充电器的设计2Word下载.docx_第2页
第2页 / 共16页
最新MAX1898智能充电器的设计2Word下载.docx_第3页
第3页 / 共16页
最新MAX1898智能充电器的设计2Word下载.docx_第4页
第4页 / 共16页
最新MAX1898智能充电器的设计2Word下载.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

最新MAX1898智能充电器的设计2Word下载.docx

《最新MAX1898智能充电器的设计2Word下载.docx》由会员分享,可在线阅读,更多相关《最新MAX1898智能充电器的设计2Word下载.docx(16页珍藏版)》请在冰豆网上搜索。

最新MAX1898智能充电器的设计2Word下载.docx

采用PCF8591对充入锂电池的电压进行检测,并在到达一定的值进行报警;

∙报警电路:

通过蜂鸣器对MAX1898充电情况做相应的报警,并从24C02中读取存入里面的歌曲。

3.1.1单片机模块电路和报警电路设计

单片机模块电路主要是由是以STC89C51为核心的最小系统电路,因为其具有广泛的兼容性和强大的及时控制功能,特别适合于许多较为复杂的控制应用场合。

蜂鸣器为系统进行报警提示,电路如图3.1.1.

图3.1.1单片机控制电路

3.1.2充电器电路充电控制电路设计

MAX1898外接限流型充电电源和P沟道场效应管或PNP三极管,可以对锂电池进行平安有效的快充,其最大的特点是在不使用电感的情况下仍能保持很低的功率耗散,可以实现预充电,具有过压保护和温度保护功能以及为锂电池提供二次保护。

电路如图3.1.2.1和如图3.1.2.2

图3.1.2.1充电器电路充电控制电路

图3.1.2.2继电器充电控制电路

3.1.3充电器电压检测电路设计

利用MAX1898进行检测的同时,还要通过锂电池两端的电压进行检测,利用PCF8591对电路进行AD转换,通过I2C进行读取。

电路如图3.1.3.

图3.1.3充电器电压检测电路

3.1.4报警电路电路设计

利用蜂鸣器读取24C02中存入的歌曲,作为报警电路。

电路如图3.1.4.

图3.1.4报警电路

3.2总电路设计

基于MAX1898智能充电芯片,加上51系列单片机的强大功能使得智能电池充电器的设计更加模块化,也使得是电池充电器更加智能化。

如:

电池预充、充电保护、自动断电和充电完成报警提示功能。

其各模块电路如下列图3.2.1所示.

图3.2.1智能充电器总电路

4软件设计

4.1程序设计概述

〔1〕充电器的充电过程主要由MAX1898和单片机STC89C51控制,而单片机主要是对电池充电器控制作用。

主要功能介绍如下:

当MAX1898完成充电时,其/CHG引脚会产生由低电平到高电平的跳变,该跳变引起单片机INT0中断。

/GHG输出为高电平时有以下3种情况:

∙电池不在位或者无充电输入;

∙充电完毕;

∙充电出错〔此时实际上/CHG会以1.5HZ的频率反复跳变〕;

显然前面2种情况都可以直接通过继电器切断充电电源,所以程序上着重于第三种情况的判断。

(2)I2C使用

4.2程序流程图

4.2.1智能充电器的控制

图4.2.1单片机初始化流程图

单片机控制智能充电器的控制流程如图4.2.2,其中包括外部中断效劳子程序和定时器效劳子程序。

图4.2.2单片机控制智能充电器的控制流程

4.2.2I2C使用

(1)PCF8591的AD转换

〔2〕24C02的存储音乐

系统源程序见附录。

5性能测试与分析

下面给出充电过程中记录的数据,如下表5.1所示:

表5.1充电过程数据表

测量次数

电池电压〔V〕

充电电流〔mA〕

电阻〔Ώ〕

1

3.98

55.1

0.072

2

3.96

53.1

0.075

3

52.7

4

52.5

0.076

5

51.7

0.077

6

49.8

0.080

7

45.8

0.087

8

43.4

0.092

9

41.4

0.097

10

4.03

39.9

0.101

11

38.6

0.104

12

37.8

0.107

13

4.05

32.5

0.125

14

31.6

0.128

15

29

0.140

20

28.7

0.141

25

4.07

27.6

0.147

30

4.13

19.49

0.212

35

18.89

0.219

40

18.6

0.222

45

4.15

18.47

0.225

50

4.17

15.94

0.262

55

4.29

0.4

10.725

60

4.31

0.39

11.051

其绘制图形如下:

参考MAX1898伏安特性折线图:

从上可以看出随之充电的进行,电压值从3.68伏开始不断递增,而电流值不断的减小,根据安培定理,得出其阻值不断的增大,电压到达一定的值后,电流会到达最小值,即充电接近完成。

但是充电时间和参考折线图不一致,和理论值也不一制。

6实验总结

本设计以MAX1898为核心,利用单片机为控制元件实现智能手机充电器的设计。

通过以上智能充电器的设计,使我进一步熟悉了MAX1898的工作原理和使用方法,更深入的了解了STC89C51的定时/计数器、中断系统的应用,熟悉了单片机嵌入式控制系统的设计思路。

本设计使得课上所学得到充分的应用,加强了自身摄取新知识的能力,也为不断完善自己奠定了根底。

理论来源于实践而高于实践,没有亲力亲为是不能领会其魅力的。

这次设计进一步提高了自己的动手制作能力,也使得编程能力得到锻炼,取得不小的收获,同时也发现了自身所存在的缺乏。

对于本次设计制作,还有很多可以提高的地方。

1.利用PCF8591对电池电压进行采集,通过计算得出电池流入的电流,并在LCD1602显示出来,到达可视化的控制。

2.提高充电速率。

3.提供电源的电压要稳定。

7参考文献

[1]MAX1898.DataSheet.

[2]STC89C51.DataSheet.

[3]PCF8591.DataSheet.

[4]戴佳,戴卫恒,刘博文,51单片机C语言应用程序设计实例精讲[M],电子工业出版社/.北京,2022.12.

附录一程序源代码

程序源代码:

#include<

reg51.h>

absacc.h>

stdio.h>

math.h>

#defineucharunsignedchar

#defineuintunsignedint

ucharcodeHI_LIST[]={0,226,229,232,233,236,238,240,241,242,245,246,247,248};

ucharcodeLO_LIST[]={0,4,13,10,20,3,8,6,2,23,5,26,1,4,3};

ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

uintt_count,int0_count;

ucharside;

sbitP10=P1^0;

//数码管显示

sbitP11=P1^1;

sbitP12=P1^2;

sbitP13=P1^3;

sbitP20=P2^0;

//蜂鸣器输出引脚

sbitP21=P2^1;

//继电器输出引脚

sbitSCL=P2^3;

sbitSDA=P2^4;

voidStart()//开始总线

{

SDA=1;

SCL=1;

SDA=0;

SCL=0;

}

voidStop()//结束总线

//SCL=0;

}

voidAck()//发(写)ACK~0

//可省略

//必须置1,释放总线

voidNoAck()//发(写)ACK~1

voiddelay(uintn)//延时约Nms的时间

{

uinti;

while(n--){for(i=0;

i<

100;

i++);

bitTestAck()//测试(读)ACK

bitErrorBit;

SDA=1;

//释放总线

SCL=1;

ErrorBit=SDA;

SCL=0;

return(ErrorBit);

//0~应答,1~非应答

//写入8个bit到IIC器件

Write8Bit(unsignedcharinput)

unsignedchartemp;

for(temp=8;

temp!

=0;

temp--)

SDA=(bit)(input&

0x80);

input=input<

<

1;

ucharRead8Bit()//读8个字节

unsignedchartemp,rbyte=0;

rbyte=rbyte<

rbyte=rbyte|((unsignedchar)(SDA));

//将位SDA转换成字节再行原来的rbyte相或,SCL=1时即SDA稳定时读

return(rbyte);

uintreadpcf8951_adc()//读pcf8591数据函数

uintdat;

Start();

Write8Bit(0x90);

TestAck();

Write8Bit(0x40);

//选择通道

Write8Bit(0x91);

dat=Read8Bit();

Stop();

returndat;

uintGets_24c02(ucharx)//读pcf8591数据函数

Write8Bit(0xA2);

Write8Bit(x);

Write8Bit(0xA3);

voiddisplay()

unsignedinttemp;

unsignedchardis_c[4],i;

temp=readpcf8951_adc()*1.0/255*500;

//以长整型运算。

for(i=0;

4;

i++)

{dis_c[i]=temp%10;

temp=temp/10;

}

P0=(table[dis_c[3]]);

P10=0;

delay

(1);

P10=1;

P0=(table[dis_c[2]])^0x80;

P11=0;

P11=1;

//显示小数点异或0x80

P0=(table[dis_c[1]]);

P12=0;

P12=1;

P0=(table[dis_c[0]]);

P13=0;

P13=1;

/*MAX1898控制*/

voidint0()interrupt0//外部中断0效劳子程序

if(int0_count==0)

{TH0=-5000/256;

//延时5ms

TL0=-5000%256;

TR0=1;

//启动定时/计数器0计数

t_count=0;

//产生定时器0中断的计数器清零

int0_count++;

voidT1_INT()interrupt3

{P20=!

P20;

TH1=HI_LIST[side];

TL1=LO_LIST[side];

voidT0_INT()interrupt1//定时器0中断效劳子程序

t_count++;

TR0=0;

//停止计数

TH0=-5000/256;

if((t_count>

600)&

&

(t_count<

1000))//外部中断0产生3s~5s的信号

{

if(int0_count==1)//标志,认为充电完毕、

{P21=0;

//关闭充电电源

P20=0;

//翻开蜂鸣器报警

}//否那么即是充电出错

else

P21=1;

P20=1;

ET0=0;

//关闭T0中断

EX0=0;

//关闭外部中断0

int0_count=0;

else

//t0计数

/******************************************************************

主函数

******************************************************************/

voidmain()

uchari;

TMOD=0X11;

//初始化

EA=1;

ET0=1;

ET1=1;

IT0=1;

TR1=1;

EX0=1;

while

(1)

display();

if(P20==0)

{

for(i=0;

14;

{side=Gets_24c02(i);

TR1=1;

}

附件二元件清单

智能手机充电器元件清单

STC89C51

排阻〔4.7K〕

MAX1898模块(DIP)

电阻〔1K〕

PCF8951

电阻〔10K〕

74LS04

电阻〔2K〕

24C02(DIP直插式〕1

电阻〔51〕

晶振〔12MHZ)

电阻〔100〕

锂电池

电阻〔2.8K〕

蜂鸣器

电容〔20PF〕

4位共阴数码管

电容〔1.1uF〕

PNP管8550

电容〔1uF〕

二极管1N4007

电容〔0.1uF〕

红色发光二极管

电容〔220uF〕

绿色发光二极管

电解电容〔10uF〕

按键开关

电容〔100nF〕

继电器

杜邦线

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1