版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、编号2014020342B研究类型应用研究分类号TN7学士学位论文(设计)Bachelors Thesis论文题目智能电池充电器的设计作者姓名陈绪词学号2010112020342所在院系物理与电子科学学院学科专业名称电子信息科学与技术导师及职称潘言全 副教授论文答辩时间2014年5月11日学士学位论文(设计)诚信承诺书中文题目:智能电池充电器的设计外文题目:The Design of Intelligent Battery Charger学生姓名陈绪词学生学号2010112020342院系专业物理与电子科学学院电子信息科学与技术学生班级1003学 生 承 诺我承诺在学士学位论文(设计)活动中遵
2、守学校有关规定,恪守学术规范,本人学士学位论文(设计)内容除特别注明和引用外,均为本人观点,不存在剽窃、抄袭他人学术成果,伪造、篡改实验数据的情况。如有违规行为,我愿承担一切责任,接受学校的处理。学生(签名):2014年5月8日指导教师承诺我承诺在指导学生学士学位论文(设计)活动中遵守学校有关规定,恪守学术道德规范,经过本人核查,该生学士学位论文(设计)内容除特别注明和引用外,均为该生本人观点,不存在剽窃、抄袭他人学术成果,伪造、篡改实验数据的现象。指导教师(签名):2014年5月8日目 录1. 前言12. 系统设计概述22.1设计内容和要求22.2总体设计方案23. 硬件电路设计63.1总体
3、电路设计63.2硬件功能模块分析64. 系统软件设计104.1主程序流程图104.2数码管显示模块114.3定时器模块124.4按键处理器模块124.5ADC采样和PWM模块134.6充电过程处理模块135. 系统实物调试和效果146. 总结与展望167. 参考文献17致谢学士学位论文(设计)评审表智能电池充电器的设计陈绪词(指导老师,潘言全 副教授)(湖北师范学院物理与电子科学学院,湖北 黄石 435002)摘 要:本文所述的智能电池充电器,利用运放和场效应管构成的闭环控制组成恒流恒压源,根据锂电池的特性,通过恒流恒压源对电池进行充电。单片机产生PWM波,通过滤波电路去调节恒流恒压源,单片机
4、自带的ADC功能,对恒流恒压源的电流和电压进行检测,并且与之前设置最大电流和最大电压进行比较,从而进行调节。按键设置充电器的最大电流和最大电压,设置完成之后,充电器处于工作状态,数码管显示电池两端的电压和电流。整个过程实现智能调控。关键词:单片机;充电器;恒流恒压源;智能 中图分类号: TN7The Design Of Intelligent Battery ChargerChen Xuci(Tutor:Pan Yanquan)(College of Physics and Electronic Science,Hubei Normal University, Huangshi, 435002
5、, China)Abstract: A intelligent battery charger described in this paper is a constant current and constant voltage source realized by closed-loop controls composed of operational amplifiers and FETs. According to the characteristics of lithium battery, a battery is charged by the charger. With the u
6、se of PWM wave by MCU, the charger is adjusted through the filter circuit. ADCs on MCU are able to detect the current and voltage and compare the maximum current and maximum voltage set before, so as to adjust. The maximum current and maximum voltage of the charger is set up by keys. After a one-tim
7、e setup, the charger is in working state, and digital pipes display battery voltage and current. The whole process is intelligently controlled.Key words:MCU;Charger;Constant current and constant voltage source;Intelligence湖北师范学院物理与电子科学学院2014届学士学位论文智能电池充电器的设计陈绪词(指导老师,潘言全 副教授)(湖北师范学院物理与电子科学学院,湖北 黄石 43
8、5002)1. 前言社会信息化进程的加快对电力、信息系统的安全稳定运行提出了更高的要求。在人们的生产、生活中,各种电气、电子设备的应用也越来越广泛,与人们的工作、生活的关系日益密切,越来越多的工业生产、控制、信息等重要数据都要由电子信息系统来处理和存储。而各种用电设备都离不开可靠的电源,如果在工作中间电源中断,人们的生产和生活都将受到不可估量的经济损失1。对于由交流供电的用电设备,为了避免出现上述不利情况,必须设计一种电源系统,它能不间断地为人们的生产和生活提供以安全和操作为目的可靠的备用电源。为此,以安全和操作为目的的备用电源设备上都使用充电电池2。这样,即使电力网停电,也可利用由充电电池构
9、成的安全和操作备用电源,从容地采用其他应急手段,避免重大损失的发生。而对于采用充电电池供电的用电设备,从生产、信息、供电安全角度来说,充电电池在系统中处于及其重要的地位。同时,具体到生活方面,随着社会的快速发展,电子产品小型化、便携化也使得充电电池越来越重要,锂离子电池有较高的比能量,放电曲线平稳,自放电率低,循环寿命长,具有良好的充放电性能,可随充随放、快充深放,无记忆效应,不含镉、铅、汞等有害物质,对环境无污染,被称为绿色电池。基于这些特性,所以锂电池得到了迅速的发展和广泛的应用。锂电池充电器是为锂离子充电电池补充能源的静止变流装置,其性能的优劣直接关系到整个用电系统的安全性和可靠性指标3
10、。本文对设计硬件电路的过程进行了详细的描述,包括对方案的选择和元器件的选择。软件控制流程也进行了详细的叙述。充电器的技术已经很成熟了,正好通过这次毕业设计,对大学四年所学的的知识进行整合,回顾。2. 系统设计概述2.1设计内容和要求一般市场上的万能充电器只能对4.2V的锂电池进行充电4,我们这次设计的可编程智能充电器,是在普通的万能充基础上进行升级,可以对充电的最大电压和最大电流进行设定,这样就可以使充电器的适用范围更广。要求:充电电压的范围为1V13V,最大充电电流为0.5A-2.5A;能实现电池的充电与显示,显示的结果够精确,并且具备很好的稳定性;电路简单、成本要求低;操作简单、方便、易懂
11、、数码管显示;2.2总体设计方案2.2.1设计思路本设计的关键就是要知道电池充电过程的三个阶段,涓流充电,恒流充电,恒压充电,然后需要设计一个电路,具有恒流恒压功能。然后把这三个阶段的电压电流情况在数码管上显示出来。2.2.2方案论证与比较从设计思路出发,可以提出以下三个方案:方案一:电路原理图如图2-1所示。这种方案主要用到了一个基准源TL431,它是一种三端可调分流基准源5。DA的输出电压通过一个电阻R4接至TL431的参考极。当调节DA的输出电压使参考极电压高于2.5V时,三极管中有一个很大的电流通过。那么经过三极管输出的电流将会减小,电压也会随之下降。当调节DA的输出电压使参考极电压低
12、于2.5V时,三极管相当于截止状态,通过R1经TL431到地的电流就很小,接近于0。那么三极管输出的电流将会增大,输出电压也会增加。当AD检测到输出电压超过4.2V时,又会自动调整增加DA的输出电压,使TL431导通,从而使三极管的输出电压减小。整个充电过程中,单片机会通过AD检测电池两端的输出电压和充电电流,过大或者过小都会通过控制DA的输出电压对电路进行调整,使得输出的电压和电流保持在一个相对稳定的状态。DA的输出电压取决于电路中电阻R4的大小。图2-1 方案一电路图方案二:电路原理图如图2-2所示,此方案用运放构成比较器对电池两端的电压进行控制。图2-2 方案二原理图电路运行分析:单片机
13、的DA输出接运放的同相端5,与运放的反相端6进行比较,当电池两端的电压过高时,6脚的电压比5脚高,比较器输出将三极管的拉低,使电池两端电压降低;当电池两端电压偏低时,6脚的电压比5脚低,比较器输出将复合管抬高,使电池两端的电压升高。这样闭环控制使电池两端的电压维持不变,通过电压和电流检测的软件反馈可以调整DA输出。方案三:恒流源方案,采用硬件闭环控制方案。硬件闭环稳流的典型电路如图2-3所示,根据集成运算放大器的特性,可计算得:式中为负载电流,R1为取样电阻,为运算放大器同相端输入信号。若固定R1,则完全由决定,此时无论VCC或是RL发生变化,利用反馈环路的自动调节作用,都能使保持稳定。这样就
14、可保证恒流源具有良好的线性关系。图2-3 恒流源产生电路对比三个方案可知,方案三更为合理,并且控制更为简单,方案三直接通过硬件闭环控制,使电池两端的电流恒定。方案二虽然能控制电流平衡,但是对AD的精度要求比较高,这样就没有硬件闭环控制实现恒流的方案好。方案一的TL431相对方案二中的运放来说,最大电压的范围就受限制了,所以此方案不是很好。最终选择方案三。2.2.3系统设计总体框图系统设计框图如图2-4所示。智能充电器采用单片机作为主控芯片,主要包括电源电路、恒流恒压电路6、键盘响应电路以及状态显示电路。图2-4 系统框图3. 硬件电路设计3.1总体电路设计根据图3-1,设计出如图所示的硬件电路
15、,完整硬件电路包括以下几个模块:系统电源模块7、以单片机STC12C5A60S2为控制核心的单片机最小系统、恒流恒压源模块、按键模块、LED显示模块和数码管显示模块。图3-1 硬件电路图3.2硬件功能模块分析3.2.1单片机最小系统图3-2单片机最小系统单片机最小系统不仅仅包括核心芯片STC12C5A60S2,还包括复位电路、晶振时钟电路,单片机最小系统如图3-2所示。对于单片机的选择,只要它具备ADC功能和PWM功能,有足够的I/O口及内部定时器,都可以拿来实现这个方案,我采用的是STC12C5A60S2单片机,该单片机单时钟/机器周期(1T),有2路PWM8,8路高速10位A/D转换(25
16、0K/S,即25万次每秒)等,资源丰富、性价比高,可以和AVR单片机相媲美。3.2.2系统电源模块图3-3系统电源模块如图3-3所示。系统电源模块包括给单片机供电模块,用到芯片LM78059和ICL766010。LM7805是三端稳压芯片,可以给运放提供负电压。3.2.3恒流恒压源模块图3-4恒流恒压源模块如图3-4所示。该电路是经典的串联型稳压电路,以稳压管稳压电路为基础,利用晶体管的电流放大作用,增大负载电流;在电路中引入深度负反馈使输出电压稳定;并且通过一路PWM对输出电压值进行设定,使输出电压可调,通过另一路PWM对输出电流值进行设定,使输出电流可调。如图3-4所示,电压值设定和电流值
17、设定为两路PWM信号,在PWM信号频率不变的情况下,通过调节PWM脉冲占空比,便可改变设定值。对于电池两端电压检测,电池电压值为电池正极电压减去负极电压;对于电流值检测,由于本方案的采样电阻为,即使经过大电流时,采样电阻两端电压也才,没有充分利用ADC的转换精度,不利于电流检测的准确性,所以必须对采样电阻两端的电压值进行线性放大。3.2.4按键模块图3-5 按键模块按键模块如图3-5所示,通过按键对最大电压最大电流进行设置,控制电池的最大充电电流和最大充电电压。3.2.5数码管显示模块图3-6数码管显示电路数码管显示模块如图3-6所示。数码管显示充电器的最大充电电压、最大充电电流、电池的电压和
18、工作电流。数码管驱动直接用IO口驱动,这样单片机多余的IO口可以利用完全,减少成本。4. 系统软件设计4.1主程序流程图主程序流程图如图4-1所示,包含两个部分,一部分为初始化段,另一部分为循环主体段。在主程序循环体中,并不是直接执行程序,而是去调用一个个任务模块。每个任务都是一个子函数,这些任务的调度机制为轮询机制。即:这些子函数功能的执行与否取决于其条件标志是否满足。比如:当某个子函数被主程序调用时,会先判断其执行条件是否成立(标志位是否有效),如果有效则执行实际功能语句,否则不执行任何动作直接返回。为了避免各个任务为了抢占系统CPU资源,造成时间冲突,我采取以下一些措施:根据任务的轻重缓
19、急分别给予以不同的时间调度。比如LCD显示2ms扫描一个,8个数码管扫描频率为62Hz,经调试扫描频率太慢了会数码管会闪,这个频率刚好10。PWMD/A调节和A/D采样速度不宜太快,我用的是200ms调用一次,因为它会影响到数码管刷屏,调节和采样太快,数码管上的数值会跳变的厉害。按键处理则为10ms调用一次,当按键处理中,当首次检测到按键闭合时,本来需要20ms左右的延时时间来进行消除抖动,这里如果用延时程序delay(20ms)来实现,则会影响其他任务的执行。应该把这个等待时间让给其他任务程序去执行。具体方法是可以先设置个标志后退出,待下次到了20ms再次进入按键处理程序,再做一个闭合检测。
20、一个任务执行过程中,不能影响其它任务的执行,一旦一个任务执行完成,就立刻释放对CPU的控制权。 图4-1 主程序流程图4.2数码管显示模块将数码管各显示状态化分13种状态,给每个状态编号:/工作模式 WK_MODE/WK_MODE=0 充电时,电压值电流值显示/WK_MODE=1 设定时,电压值闪烁,电流值不闪烁/WK_MODE=2 设定时,电流值闪烁,电压值不闪烁/WK_MODE=3 设定时,电压值第一位闪烁/WK_MODE=4 设定时,电压值第二位闪烁/WK_MODE=5 设定时,电压值第三位闪烁/WK_MODE=6 设定时,电压值第四位闪烁/WK_MODE=7 设定时,电流值第一位闪烁/
21、WK_MODE=8 设定时,电流值第二位闪烁/WK_MODE=9 设定时,电流值第三位闪烁/WK_MODE=10 设定时,电流值第四位闪烁 /WK_MODE=11 设定时,电压值电流值显示/WK_MODE=12 设定时,电压值电流值显示4.3定时器模块/计数寄存器unsigned char JSQ_2MS;/2ms计数器unsigned char JSQ_10MS;/10ms计数器unsigned char JSQ_200MS;/200ms计数器unsigned char JSQ_500MS;/500ms计数器/标志位bit JS2MS_F;/计时5ms标志位bit JS10MS_F;/计时1
22、0ms标志位bit JS500MS_F;/计时50ms标志位bit JS200MS_F;/计时200ms标志位 设定系统时钟任务时基1ms。比如:1ms 到,在中断服务函数 JSQ_2MS+;/计数器计数If(JSQ_2MS1) /2ms到 JSQ_2MS=0;/计数器清零 JS2MS_F=1;/计时2ms标志位置1任务模块通过查询相应标志位执行相应任务,没到2ms退出释放CPU控制权;到了2ms进入,获得CPU使用权;一旦任务执行完,立即释放CPU控制权。这样CPU工作效率很高。4.4按键处理器模块常见按键处理是应该掌握的一项基本功。单击;短击+长击;短击+连击。主要目的是通过按键对最大电压
23、值和最大电流值进行设定。相应按键按下,执行相应功能或者迁移到新的状态。sbit Key_Dec=P32;/减键,支持短击+连击sbit Key_Left=P33;/左移键,支持单击sbit Key_Set=P34;/设定键,支持短击+长击sbit Key_Right=P35;/右移键,支持单击sbit Key_Add=P36;/加键,支持短击+连击4.5 ADC采样和PWM模块直接调用STC12C5A60S2系列单片机手册里的现成函数。4.6充电过程处理模块充电过程处理模块如图4-2所示,空闲状态,不进行电池充电的功作,主要任务是对电池接入识别,绿灯闪烁。预充状态,电池以最大设置电流的五分之一
24、充电,充电三分钟,自动跳转快充状态,红灯亮。快充状态用PWM方式控制充电电流和电压,也就是根据A/D口采样到的电压和电流反馈,通过调节占空比来调节充电电流和电压,红灯亮。恒压状态快充状态下,充电电压大于4.2V时,跳转到恒压状态。此时给电池4.2V充电,红灯亮。停充状态恒压状态下,I1 )/2ms到 JSQ_2MS = 0; JS2MS_F = 1; if(JSQ_10MS9)/10ms到 JSQ_10MS=0; JS10MS_F = 1; Key_Scan_F = 1; JSQ_500MS+; JSQ_200MS+; if( JSQ_200MS19 )/200ms到 JSQ_200MS =
25、0; JS200MS_F = 1; if( JSQ_500MS49 )/500ms到 JSQ_500MS = 0; JS500MS_F = 1; Flag_S = Flag_S;/数码管闪烁标志位取反 LED_Flag_S = LED_Flag_S;/LED闪烁标志位取反 /定时器1溢出中断服务函数void Timer1(void)interrupt 3 TH1=255-CLOCK/TIMER1_PER_SEC/12/256;/重装 TL1=255-CLOCK/TIMER1_PER_SEC/12%256; JSQ_3MINUTE+; if(JSQ_3MINUTE8999)/3分钟到 JSQ_3
26、MINUTE=0; JS3MINUTE_F=1; /数码管显示模块/工作模式 WK_MODE/WK_MODE=0 充电时,电压值电流值显示/WK_MODE=1 设定时,电压值闪烁,电流值不闪烁/WK_MODE=2 设定时,电流值闪烁,电压值不闪烁/WK_MODE=3 设定时,电压值第一位闪烁/WK_MODE=4 设定时,电压值第二位闪烁/WK_MODE=5 设定时,电压值第三位闪烁/WK_MODE=6 设定时,电压值第四位闪烁/WK_MODE=7 设定时,电流值第一位闪烁/WK_MODE=8 设定时,电流值第二位闪烁/WK_MODE=9 设定时,电流值第三位闪烁/WK_MODE=10 设定时,
27、电流值第四位闪烁/WK_MODE=11 设定时,电压值电流值显示/WK_MODE=12 设定时,电压值电流值显示#includereg51.h#includeDISPLAY_LCD.hunsigned char table_d = 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0xff;/段码值unsigned char table_w = 0xf7,0xfb,0xfd,0xfe,0x7f,0xbf,0xdf,0xef;/位选值/显缓区uns
28、igned char Disp_Queue8;/待显示字符队列extern unsigned int MCU_ADC0,MCU_ADC1;/通道0电压值,通道1电压值unsigned int Voltage_Val,Current_Val;/电压值,电流值extern unsigned int Voltage_Max,Current_Max;/设定最大电压值,最大电流值char voltage_q,voltage_b,voltage_s,voltage_g;/最大电压值第一位,第二位,第三位,第四位char current_q,current_b,current_s,current_g;/最大
29、电流值第一位,第二位,第三位,第四位unsigned char WK_MODE;/设定系统工作模式extern bit Flag_S;/闪烁标志位,闪烁频率500HZextern unsigned char PWM0_TEMP,PWM1_TEMP;/反馈数据处理void BackData_Pro( unsigned int Voltage_V,unsigned int Current_V )Voltage_Val=(long)(Voltage_V)*5*1000/256-(long)Current_V*5*1000/256/21-70;Current_Val = (float)(Current
30、_V)*5*1000/256.0/2.1;/设定数据处理void SetData_Pro( unsigned int voltage_set,unsigned int current_set ) voltage_q = voltage_set/1000; voltage_b = voltage_set%1000/100; voltage_s = voltage_set%100/10; voltage_g = voltage_set%10; current_q = current_set/1000; current_b = current_set%1000/100; current_s = cu
31、rrent_set%100/10; current_g = current_set%10;/刷新待显示字符串void New_Display(void) BackData_Pro( MCU_ADC0,MCU_ADC1 ); SetData_Pro( Voltage_Max,Current_Max ); switch( WK_MODE ) case 0:/充电时,电压值电流值显示 Disp_Queue0 = Voltage_Val/1000+10 ; Disp_Queue1 = Voltage_Val%1000/100 ; Disp_Queue2 = Voltage_Val%100/10; Di
32、sp_Queue3 = Voltage_Val%10; Disp_Queue4 = Current_Val/1000+10; Disp_Queue5 = Current_Val%1000/100 ; Disp_Queue6 = Current_Val%100/10; Disp_Queue7 = Current_Val%10; break;case 1:/设定时,电压值闪烁,电流值不闪烁 if( Flag_S )/灭 Disp_Queue0 = 20; Disp_Queue1 = 20; Disp_Queue2 = 20; Disp_Queue3 = 20; else /亮 Disp_Queue
33、0 = voltage_q+10; Disp_Queue1 = voltage_b; Disp_Queue2 = voltage_s; Disp_Queue3 = voltage_g; Disp_Queue4 = current_q+10; Disp_Queue5 = current_b; Disp_Queue6 = current_s; Disp_Queue7 = current_g; break; case 2: /设定时,电流值闪烁,电压值不闪烁 if( Flag_S ) Disp_Queue4 = 20; Disp_Queue5 = 20; Disp_Queue6 = 20; Disp
34、_Queue7 = 20; else Disp_Queue4 = current_q+10; Disp_Queue5 = current_b; Disp_Queue6 = current_s; Disp_Queue7 = current_g; Disp_Queue0 = voltage_q+10; Disp_Queue1 = voltage_b; Disp_Queue2 = voltage_s; Disp_Queue3 = voltage_g; break; case 3:/设定时,电压值第一位闪烁 if( Flag_S ) Disp_Queue0 = 20; else Disp_Queue0
35、 = voltage_q+10; Disp_Queue1 = voltage_b; Disp_Queue2 = voltage_s; Disp_Queue3 = voltage_g; Disp_Queue4 = current_q+10; Disp_Queue5 = current_b; Disp_Queue6 = current_s; Disp_Queue7 = current_g; break; case 4:/设定时,电压值第二位闪烁 if( Flag_S ) Disp_Queue1 = 20; else Disp_Queue1 = voltage_b; Disp_Queue0 = vo
36、ltage_q+10; Disp_Queue2 = voltage_s; Disp_Queue3 = voltage_g; Disp_Queue4 = current_q+10; Disp_Queue5 = current_b; Disp_Queue6 = current_s; Disp_Queue7 = current_g; break; case 5:/设定时,电压值第三位闪烁 if( Flag_S ) Disp_Queue2 = 20; else Disp_Queue2 = voltage_s; Disp_Queue0 = voltage_q+10; Disp_Queue1 = voltage_b; Disp_Queue3 = voltage_g; Disp_Queue4 = current_q+10; Disp_Queue5 = current_b; Disp_Queue6 = current_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第4章 电磁波 单元滚动训练(含答案)
- 煤矿机电队长安全岗位责任制培训
- 工程分包工程安全管理标准培训课件
- 2026年广东女子职业技术学院单招职业技能测试题库附答案详解(轻巧夺冠)
- 检修部制粉班班长安全责任制培训课件
- 2026年广西工业职业技术学院单招职业适应性考试题库带答案详解(培优a卷)
- 2026年岳阳现代服务职业学院单招综合素质考试题库含答案详解(突破训练)
- 2026年广东茂名农林科技职业学院单招职业倾向性考试题库带答案详解(典型题)
- 2026年山西省阳泉市单招职业适应性考试题库带答案详解(巩固)
- 2026年广东科学技术职业学院单招职业适应性考试题库及答案详解一套
- 桩基承载力优化设计研究
- DJ公主岗位职责
- 多联机安装全过程经典技术指导手册
- 龙虎山正一日诵早晚课
- 排球基础理论 【核心知识精讲精析】 高一上学期体育与健康人教版必修第一册
- 医院课件:《规范医疗服务收费行为培训》
- YY/T 1836-2021呼吸道病毒多重核酸检测试剂盒
- GB/T 32291-2015高压超高压安全阀离线校验与评定
- 煤矿掘进顶板管理
- 邹申写作教程Units-课件
- 三甲医院设备科招聘考试试题最新测试题含答案
评论
0/150
提交评论