智能手机充电器_第1页
智能手机充电器_第2页
智能手机充电器_第3页
智能手机充电器_第4页
智能手机充电器_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

22/22AVR课程设计:智能手机充电器组员:华诚、葛亮、贾广魁系统设计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.软件设计流程图PWMPWM波形生成PWM操纵充电低电平AD转换电压比较程序实时监控快充预充涓流电池充满,时刻归零时刻计算程序LED显示四.数据采集为使充电器能为不同容量的电池,需要做测试来采集大量的数据,反应电池在充电过程中电压、电流、时刻之间的关系。以下为几个具有代表性的测试图样: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与对应时刻之比)五.实物图六.成员分工华诚:大部分程序的设计和调试,硬件的设计和搭建,数据采集。葛亮:部分程序的设计,硬件的采购、电路板焊接,PPT制作。贾广魁:提出项目,协助华诚做部分硬软件工作以及数据采集,论文、总结及网页的制作。七.成本成本包括:ss8050,ss8550各一个共0.4元,tl431一个0.5元,电阻10k、360R、1M、50R、100R、1K、1R,47uF、0.1uF电容等共2元左右,2个电源共15元。总计17.9元。八.程序#include<iom16v.h>#include<macros.h>#include"math.h"//8.00000MHZunsignedlongled_7[10]={0x3f,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//七段数码显示数组unsignedlongposition[6]={0xfe,0xfd,0xfb,0xf7,0x0f,0xdf};//六位数码管位选unsignedlongMin[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};//使能充电停止数组unsignedlongk_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,};unsignedlongV_Table[12]={380,381,390,391,400,401,410,411,415,416,419,420};//电压比较推断signedchartime[3];//时刻存储unsignedchardis_buff[6];//时分秒六位分不存储unsignedcharPWMnum,a=0x15,m=0,X,Y,Z;//溢出中断次数,OCR0值,if推断,时分秒,电压unsignedlongK,n,Vref=4.846,T,t,V;//预充斜率,延迟时刻,参考电压,时刻,signedlongCap;//电池容量#pragmainterrupt_handleradc_isr:iv_ADCvoidadc_isr(){unsignedlongADNum=0,adc_data;unsignedcharVa;ADNum=ADNum+1;//AD转换次数计数if(ADNum>=98888)ADNum=110000;adc_data=ADCH;adc_data=adc_data*4;if(ADNum==2)//初始电压值保存{Va=Vref*adc_data*100/1024;}V=Vref*adc_data*100/1024;//实时电压if(V-Va==4)//斜率计算{K=(20000000/ADNum)%10;} }voidA_value()//OCR0实际值{if(K==k_value[60]) a=250-K; if(K!=k_value[60]) a=0; }voidCap_value()//容量计算值{unsignedlongAa=2000,P;if(K==k_value[60]){P=K/Aa; Cap=(-1)*log(P)*200;}if(K!=k_value[60]){Cap=0;}}voidTime_Compu()//时刻计算程序{t=3*OCR0;T=Cap/t;if(T>=60.000){X=(T/60); Y=(T%60); Z=((T-60)-(T%60))*60;}if(T<60.000){X=0; Y=((T*10)%10); Z=((T-(T*10)%10)*60); }}voidDelay_ms(n){inti,j;for(i=0;i<n;i++) { for(j=0;j<8000;j++); }} voiddisplay(void) { unsignedchari; for(i=0;1<5;i++) { PORTC=0XFF; PORTD=led_7[dis_buff[i]]; PORTC=position[i]; Delay_ms(1); PORTC=0XFF; } }#pragmainterrupt_handlertimer0_ovf_isr:iv_TIMER0_OVFvoidtimer0_ovf_isr(void){PWMnum=PWMnum+1;}voidtime_to_disbuffer(void){unsignedchari,j=0;for(i=0;i<=2;i++){ dis_buff[j++]=time[i]%10; dis_buff[j++]=time[i]/10; }}voidmain(void){//port_initPORTB=0X00;DDRB=0X08;//PB3PWM输出PORTC=0X3F;//led输出DDRC=0XFF;PORTD=0X00;DDRD=0XFF;//timer0_initTCCR0=0X00;TCNT0=0X00;OCR0=a;//OCR0实际值TCCR0=0X6C;//快速PWM,256分频,比较匹配时OC0清零TIMSK=0X03;//比较匹配中断,溢出中断//adc_initADMUX=0X20;//外部引脚AREF,左对齐,PA0口ADCSRA=0XAE;//ADC同意,自动触发转换,中断同意,ADCclk=125kHzSFIOR&=0X1F;SFIOR|=0X60;//选择T/C0比较匹配中断触发SEI();Delay_ms(600000);time[2]=X;time[1]=Y;time[0]=Z;//时刻time_to_disbuffer();while(1){display();if((m==1)||(V!=V_Table[8])||(a>=0X15))//倒计时{if(PWMnum>123){PWMnum=0;time[0]--;if(time[0]<0){time[0]=59; time[1]--; if(time[1]==Min[30]) { m=0; } if(time[1]<0) { time[1]=59; time[2]--; }}}time_to_disbuffer();}if((m==0)&&(V==V_Table[12]))//中途停车,休息电池{display();OCR0=0X00;Delay_ms(10000);time[0]=(time[0]-10);if(time[0]<=0){time[0]=time[0]+59; time[1]=time[1]-1;

温馨提示

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

评论

0/150

提交评论