基于单片机的智能手机充电器系统设计报告.doc

基于单片机的智能手机充电器系统设计报告.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于单片机的智能手机充电器系统设计报告

基于单片机的智能手机充电器设计报告 系统设计 1.设计目的 1) 熟悉并掌握单片机嵌入式系统的开发流程和应用方法。 2)做到对电池充电过程的实时监测。 3)做出智能化的充电器。我发现在给手机充电的时候,往往不能知道电池还有多长时间能充满,而且经常忘记是什么时候开始充电的,因此很容易造成过充或充电不足,从而影响手机电池的使用寿命,还有可能出现危险。于是我便萌生了设计一种可显示时间的手机充电器的想法 2.功能简介 1)可与锂电池中的芯片通信,得到电池组的容量、电压、电流等参数。 2)用LED显示电池的剩余充电时间。 3)具备防过充功能,在电池电压达到一定值后减小充电电流,直至电池充满。 3.应用 能给各种锂离子电池充电并可以实时显示充电的剩余时间。 二.实验资源 1)硬件:AVR开发板,Atmega16,LED七段数码管,电源 2)软件:ICCAVR,AVRstudio 三.实验原理 1. 电路原理图 注释:左下为AD模块,Mega16的PA口接AD,同时输出PWM,PB3接PWM进行充电控制;右下方为以TLC431为主的稳压源,接单片机的AREF端口。 2. 实验原理: 锂电池的充电过程分为预充、快充、涓流三个步骤,我们的原理概括的讲,就是在预充阶段通过对电池进行扫描测出电池的容量,与程序中的库进行对应从而得出充电所需时间;再经过快充电池电压达到一定高的值,为防止由于充电过快引起的电池实际电压不足,最后再加上一定时间的涓流充电。在整个过程中通过LED来实时显示剩余充电时间。 3. 软件设计流程图 四.数据采集 为使充电器能为不同容量的电池,需要做测试来采集大量的数据,反应电池在充电过程中电压、电流、时间之间的关系。以下为几个具有代表性的测试图样: 1. 容量为600mah的电池快充过程中I-t曲线 图中X轴为时间(min),Y轴为电流(mA) 图中X轴为时间(min),Y轴为电流(mA) 注:图中X轴为时间(min),Y轴为电流(mA)。 2.容量为650mah电池预充阶段的U-t曲线。 图注:X轴为时间(min),Y轴为电压(v) 3. 容量为860mah的电池预充阶段U-t曲线。 图注:X轴为时间(min),Y轴为电压(v)。 由以上各图可以看出,在一定时间段内电压和电流与时间很好的符合了线性关系。 4.电池容量与K值对应曲线(K值为充电电压每升高0.04v与对应时间之比) 五.实物图 六.成员分工 七.成本 成本包括:ss8050,ss8550各一个共0.4元,tl431一个0.5元,电阻10k、360R、1M、50R、100R、1K、1R,47uF、0.1uF电容等共2元左右,2个电源共15元。总计17.9元。 八.程序 #includeiom16v.h #includemacros.h #includemath.h //8.00000MHZ unsigned long led_7[10]={0x3f,0x06,0x5B,0x4F,0x66, 0x6D,0x7D,0x07,0x7F,0x6F};//七段数码显示数组 unsigned long position[6]={0xfe,0xfd,0xfb,0xf7,0x0f,0xdf};//六位数码管位选 unsigned long Min[30]={1,3,5,7,9,11,13,15,17,19,21,23,25,27,29, 31,33,35,37,39,41,43,45,47,49,51,53,55,57,59};//使能充电停止数组 unsigned long k_value[60]={40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,//预充电压斜率数组 60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79, 80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,}; unsigned long V_Table[12]={380,381,390,391,400,401,410,411,415,416,419,420};//电压比较判断 signed char time[3];//时间存储 unsigned char dis_buff[6];//时分秒六位分别存储 unsigned char PWMnum,a=0x15,m=0,X,

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档