电能收集充电器_第1页
电能收集充电器_第2页
电能收集充电器_第3页
电能收集充电器_第4页
电能收集充电器_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、 E题:电能收集充电器摘要:本设计包括LM2671构成的Buck直流-直流转换器(即DC-DC转换器)电路,MC34063构成的Boost型DC-DC电路,高侧电流检测电路以及由ATMEGAl6单片机构成的监控电路。当直流供电电源Es低于3.6V时,用Boost电路升压以便对电池充电;当Es高于3.6V时,则用Buck电路降压充电。充电电流大小;BUCK电路BOOST电路的切换均由单片机进行控制。关键字: LM2671 MC34063 ATMEGA16L DC-DCAbstract: The design consists of Buck circuit, MC34063 compositio

2、n Boost circuit, high-side current-sensing circuit and the single-chip monitoring circuit constituted by ATMEGAl6. When the DC power supply Es is lower than 3.6V,the voltage is increased through the Boost circuit in order to charge the battery. When Es is higher than 3.6V, the voltage is decreased t

3、hrough the Boost circuit and then charge the battery. The current size and the switching between Buck and Boost circuit are all controlled by the single-chip.Keywords:LM2671 MC34063 ATMEGA16L DC-DC第一章 方案论证1.1 总体方案论证当直流供电电源Es>3.6V时,采用降压模块;Es<3.6V时,采用升压模块。将经过升/降压变换器后的充电电流采样放大后送入比较器与基准源比较。再将比较器的输

4、出信号反馈到Buck和Boost电路,调节Buck和Boost电路的PWM波,达到控制充电电流的目的。当无法对目标电池充电时,由单片机控制关断变换器,尽可能地减小目标电池的放电电流。整体结构框图如图一。可充电电池Ec供电直流电源EsBuckBoost采样基准源误差放大器单片机Ic图一 整体结构框图1.2单元模块方案论证1.2.1降压单元【方案一】降压型电荷泵式变换器。降压型电荷泵式变换器是近几年新出现的电荷泵式变换器,具有转换效率高,开关噪声小,电路简单,耗电少等优点,是比较理想的高效微功率DC-DC变换器。【方案二】由TL494构建的Buck型DC-DC变换电路。TL494是常用的开关电源控

5、制芯片,可以方便的构建BUCK变换电路,且其内部的两个晶体管并联后可以输出500mA的电流,若用于本题则可省去外部开关管。【方案三】采用LM2671集成型Buck型DC-DC变器构建电路。LM2671是一种集成了开关管的高效Buck型变换器集成电路,其最大输出电流为500mA,可以满足本题需要,且其工作电压范围为6.5V-45V,外部仅需要一个电感两个电阻三个电容和一个续流二极管即可正常工作。【方案比较】由于大多数降压式电荷泵IC最高工作电压均为6V左右,且输出电流大多数小于100mA,因此在本设计中没有采纳此方案。TL494要求电源电压必须高于7.5V才能正常工作,可能对实现题目指标产生不利

6、影响,因此该方案也不被选择。LM2671外围电路简单,且在大多数情况下其转换效率均可高于80%,因此最终采用这种方案。图二 Buck电路基本结构1.2.2 升压电路单元【方案一】由TL494构建的推挽式升压变换器。TL494可以方便的构建推挽式变换器,但因为引入了变压器,必然导致效率不及非隔离式的升压型变换器,且因为在升压工作时无论是Es还是Ec均不会高于3.6V,因此无法维持TL494的正常工作。故放弃此方案。【方案二】采用MC34063开关电源芯片制作BOOST升压电路。MC34063是单片双极型开关电源集成电路,可用于构建BUCK、BUCK-BOOST、BOOST等多种结构的DC-DC变

7、换器,由于其内部集成有功率开关管,使用很简单的外围电路就能构成Boost电路。且其控制器部分在3.0V就可正常工作,能满足在3.6V供电条件下正常工作,因此最后选择这种方案。1.2.3 控制单元【方案一】采用89C51系列单片机作为控制核心。由于51系列单片机面世时间较早,因此虽然价格便宜易使用,但是有诸如功耗高、速度低、内部集成的设备少等一系列的缺点。【方案二】采用MSP430F系列作为控制核心。MSP430系列单片机功耗很低,且集成的设备也很丰富,但其价格较贵,尤其是配套的开发设备价格更是高昂,限制了MSP430单片机的性价比,不利于降低成本。【方案三】采用ATMEGA16L作为控制核心。

8、AVR是8位的RISC微控制器,它在指令和数据吞吐能力方面比传统的CISC结构要快很多倍。AVR具有很丰富的片内模拟和数字外设,具有较强的数据处理能力。且其售价较低,编程器也可自制,因此性价比很高,有利于降低成本。【方案选择】430系列虽然功耗很低,但其编程器和开发板价格较高;51系列单片机虽然上手容易,且价格低廉,但性能低下;而属于AVR系列的ATMEGA16L单片可以自制编程器,且性能较强,因此性价比颇高。考虑到在满足需求的情况下尽量节约成本,故本设计采用ATMEGA16L作为控制单元核心。1.2.4 提高效率的设计【方案一】采用新技术,如对MOSFET采用软开关工作方式,避免开关管在硬开

9、关条件下的较大开关损耗,从而可显著提高转换器的效率,或采用同步整流方式降低续流管上的损耗;可以采用交错式开关对,因其工作相位恰互相相差180°,可以很好的抵消输出纹波。【方案二】在设计诸如PCB板等部件时注意细节,如果采用70微米或105微米厚铜层电路板,走线时尽可能粗短,输入滤波电容和输出滤波电容尽可能靠近开关管和电感,以使三者环路面积最小,尽可能减小由纹波电流而产生的损耗;在制作电感时采用铁硅铝或铁镍钼材料的磁环,相比26材铁粉芯(即常用的黄白环)能显著减小电感线圈铁损,绕线时采用多股漆包线或纱包线,以尽可能减小由趋肤效应导致的铜损。第二章 硬件系统设计2.1 Buck电路当Es

10、>3.6V时,需通过升压电路将Es降低到稍大于3.6V,以实现能向电池充电的Es尽可能小。本设计采用LM2671实现降压过程。LM2671引脚图及内部结构图及Buck电路见附录一。其输出电压为 (公式二)OUTR1R2 图五2.2 Boost电路当Es<3.6V时,需通过升压电路将Es升高到稍大于3.6V,否则无法实现充电过程。本设计采用MC34063控制芯片,可实现从0.8V升到3.6V。由电流检测电路的比较输出信号控制其PWM 波占空比。MC34063引脚图和内部结构图以及具体BOOST 电路见附件一。其输出电压为 (公式一)8 1MC340635 4RRROUT RaRb 图

11、四 2.4 启动电路设计由稳压管和1/4LM324组成一个锁定电路。当电压低于2.1V时,将单片机锁定;当高于2.1V时,解锁单片机(单片机在电压高于2.1V时才能正常工作)。单片机解锁后,将按照程序设定启动相应转换模块,待模块稳定后接通被充电电池,向其充电。第三章 软件系统设计系统选用的主控制器是ATMEGA16单片机,软件设计包括主程序和A/D采样子程序两部分。3.1 主程序。主程序包含有A/D采样子程序。在AD采样读取成功后对数据进行分析,并选择合适的基准源。该过程结束后进入低功耗模式,等待下一个采样周期的到来。3.2 A/D采样子程序。A/D使用通道0进行电流检测。单片机给A/D发出通

12、道选择信号,然后等待A/D芯片转换数据,最后读取其数据。开始清除低功耗标志 使能A/DA/D单次采样并读取样值关闭A/D基准选择进入低功耗状态开始初始化程序转换完?送转换的地址通道读A/D转换器返回NY 主流程 A/D子程序图第四章 测试结果分析4.1 测试方案测试方案见附录四,测试所用仪器见附录四4.2 测试结果4.2.1充电电流Ic测试结果如表1: (Rs=0.1,Es<1.1V) 表1 充电电流测试 Es/V0.2960.5091.0121.099Ic/mA88145302335以上数据输出电压用四位半表测得,输出电流用五位半表测得;输入电压和输入电流均用四位半表测得。4.2.2充

13、电电流Ic测试结果如表2: (Rs=1,) 表1 充电电流测试 Es/V12121.5152.4092.6943.004Ic/A2833666497508584.2.3充电电流Ic测试结果如表3: (Rs=100) 表1 充电电流测试 Es/V1113151720Ic/mA73.294.0115.2138.9177.24.2.4升压通电效率序号12345Es4.3 结果分析:我们先测试了Es和Ic 第五章 总结经过四天三夜的辛勤努力,我们三人齐心协力完成了题目给出的要求。但由于时间紧,任务重,系统还存在一些可以改进的地方,如可以采用单片机统一控制升降压电路,以此更节约成本。经过这次电子设计竞赛

14、,我们在电路的设计、调试方面得到了很好锻炼,更深深地认识到动手实践的重要性,也体会到了团队协作的巨大力量。在今后的学习生活中,我们将会继续努力提高自身能力,争取更大的进步。第六章 参考文献开关稳压器应用技巧 沙占友,马洪涛著;中国电力出版社,09.2开关电源技术与典型应用 路秋生著;电子工业出版社,09.3逆变技术基础与应用 曲学基等著;电子工业出版社,07.逆变电源设计与指导 陈贤忠著,机械工业出版社,08.7开关电源设计指南 (英)Marty Brown著;机械工业出版社,06.1模拟电子技术基础简明教程 杨素行主编;高等教育出版社,06.5AVR单片机应用系统开发典型实例 张军著;中国电

15、力出版社,07.8AVR单片机C语言高级程序设计 周兴华著;中国电力出版社,08.3AVR单片机从入门到精通 温正等著;中国电力出版社09.6全国大学生电子设计竞赛获奖作品汇编 北京理工大学出版社,04.8全国大学生电子设计竞赛系统设计 黄智伟著;北京航空航天大学出版社,06.12第七章 附件附件一:单元电路图和芯片介绍1. Boost电路MC34063引脚及内部结构图2. Buck电路LM2671引脚及内部结构图3.电流检测电路LM324引脚及内部结构附件三: 测试使用的仪器设备1.测试方案2.测试使用的仪器设备序号名称型号数量备注13位半数字万用表UNI-T1深圳胜利公司2函数信号发生器G

16、FG-8216A1南京无线电仪器厂3逻辑笔14双踪示波器YB43651江苏扬中电子仪器厂5数字示波器TDS2101广州致远电子有限公司附件四:题目单一、任务设计并制作一个电能收集充电器,充电器及测试原理示意图如图1。该充电器的核心为直流电源变换器,它从一直流电源中吸收电能,以尽可能大的电流充入一个可充电池。直流电源的输出功率有限,其电动势Es在一定范围内缓慢变化,当Es为不同值时,直流电源变换器的电路结构,参数可以不同。监测和控制电路由直流电源变换器供电。由于Es的变化极慢,监测和控制电路应该采用间歇工作方式,以降低其能耗。可充电池的电动势Ec=3.6V,内阻Rc=0.1。二、要求1、基本要求

17、(1)在Rs=100,Es=10V20V时,充电电流Ic大于(Es-Ec)/(Rs+Rc)。(2)在Rs=100时,能向电池充电的Es尽可能低。(3)Es从0逐渐升高时,能自动启动充电功能的Es尽可能低。(4)Es降低到不能向电池充电,最低至0时,尽量降低电池放电电流。(5)监测和控制电路工作间歇设定范围为 0.1 s5s。2、发挥部分(1)在Rs=1,Es=1.2V3.6V时,以尽可能大的电流向电池充电。(2)能向电池充电的Es尽可能低。当Es1.1V时,取Rs =1;当Es1.1V时,取Rs =0.1。(3)电池完全放电,Es从0逐渐升高时,能自动启动充电功能(充电输出端开路电压3.6V,

18、短路电流0)的Es尽可能低。当Es1.1V时,取Rs =1;当Es1.1V时,取Rs=0.1。(4)降低成本。(5)其他。附件二:源程序代码/#include <iom16v.h> #include<qidongAD.h>#include<zhongduan.h>#include <digonghao.h>#include <macrose.h>#define uchar unsigned char #define uint  unsigned&

19、#160;int#define OUT1_0  (PORTB=PORTB&0xfe) #define OUT1_1  (PORTB=PORTB|0x01) #define OUT2_0  (PORTB=PORTB&0xfd) #define OUT2_1  (PORTB=PORTB|0x02) uint value,dis_val; uchar i,flag; uchar 

20、;CNT;unsigned int t=0;/*/void port_init(void)  PORTA = 0x7F;  DDRA  = 0x7F;  PORTB = 0xFF;  DDRB  = 0xFF; PORTC = 0xFF;   DDRC  = 0xFF;  PORTD = 0xFF;  DDR

21、D  = 0xFF; /*/void timer0_init(void) /定时器0初始化 TCNT0 = 0x83;  /1ms定时初值 OCR0  = 0x7D;  /定时器0的计数预分频 TCCR0 = 0x03;  /*/#pragma interrupt_handler timer0_ovf_isr:10 /T/C0中断服务函数void timer0_ovf

22、_isr(void) TCNT0 = 0x83;  /重装1ms定时初值 if(+i>3)i=0;  switch(i)    /case 0:PORTA=SEG7dis_val%10;PORTC=ACT0;break; /case 1:PORTA=SEG7(dis_val/10)%10;PORTC=ACT1;break; /case 2:PORTA=SEG7(dis_val/100)%10;PORTC=ACT2;break;/ case&

23、#160;3:PORTA=SEG7dis_val/1000;PORTC=ACT3;break; default:break; /*/void timer1_init(void)  / TCNT1H = 0xE7;  /50ms定时初值 TCNT1L = 0x96;/ TCCR1B = 0x03;  /定时器0的计数预分频/*/#pragma interrupt_handler timer1_ovf_isr:9

24、0;/T/C1中断服务子函数void timer1_ovf_isr(void) TCNT1H = 0xE7;  /重装50ms定时初值  TCNT1L = 0x96;  /*/void adc_init(void)  ADMUX = 0xC0;/通道0 ACSR  = 0x80; /关掉模拟比较器 ADCSR = 0xE3; /*/#pragma 

25、interrupt_handler adc_isr:15 /ADC中断服务子函数void adc_isr(void) /conversion complete, read value (int) using.  value=ADCL;              value|=(int)ADCH << 8; 

26、  flag=1; /*/void init_devices(void) /芯片初始化 port_init();  timer0_init();  timer1_init();  adc_init();  TIMSK = 0x05;  SREG=0x80; /*/void delay(uint k) /延时函数   uint i,j; for(i=0;i<k;i+)

27、60;    for(j=0;j<140;j+);  void delay_ms(unsigned int t) for(;t>0;t-);/*/uint conv(uint i) /数据转换  long x;    uint y;   x=(5000*(long)i)/1023;   y=(uint)x;   &#

28、160;return y;   /*/void benchmark(void) unsigned char n=0; switch(n)     case 0:   DDRB=0x80;/B7脚设为输出,其他较输入   PORTB=0x00;/B7脚输出低电平   DDRC=0x00;/C端口设为输入   PORTC=0x00; 

29、;  DDRD=0x00;/D端口设为输出   PORTD=0x00;   delay_ms(100000);   n=1;      case 1:      DDRB=0x00;         DDRD=0x02;  /D0脚输出低电平

30、0;  PORTD=0x00;   DDRC=0x00;   delay_ms(100000);   n=2;  /;   case 2:      DDRB=0x00;   DDRD=0x01;  /D1   PORTD=0x00;   DDRC=0x00;

31、   delay_ms(100000);   n=3;         case 3:      DDRB=0x00;   DDRD=0x04;  /D2   PORTD=0x00;   DDRC=0x00;   delay_ms(1000

32、00);   n=4;      case 4:   DDRB=0x00;   DDRD=0x08;  /D3   PORTD=0x00;   DDRC=0x00;   delay_ms(100000);    n=5;      

33、;case 5:   DDRB=0x00;   DDRD=0x10;  /D4   PORTD=0x00;   DDRC=0x00;   delay_ms(100000);   n=6;      case 6:   DDRB=0x00;   DDRD=0x2

34、0;  /D5   PORTD=0x00;   DDRC=0x00;   delay_ms(100000);   n=7;      case 7:   DDRB=0x00;   DDRD=0x40;  /D6   PORTD=0x00;   DDR

35、C=0x00;   delay_ms(100000);   n=8;      case 8:   DDRB=0x00;   DDRD=0x80;  /D7   PORTD=0x00;   DDRC=0x00;   delay_ms(100000);   n=9;

36、60;        /   case 9:   DDRB=0x00;   DDRD=0x00;   PORTC=0x00;   DDRC=0x01;  /C0   delay_ms(100000);   n=10;     &#

37、160;case 10:   DDRB=0x00;   DDRD=0x00;   DDRC=0x02;  /C1   PORTC=0x00;   delay_ms(100000);   n=11;      case 11:   DDRC=0x04;  /C2 

38、;  PORTC=0x00;   DDRB=0x00;   DDRD=0x00;   delay_ms(100000);   n=12;  / break;   case 12:   DDRB=0x00;   DDRD=0x00;   DDRC=0x08;  /C3 &

39、#160; PORTC=0x00;   delay_ms(100000);   n=13;      case 13:   DDRB=0x00;   DDRD=0x00;   DDRC=0x10;  /C4   PORTC=0x00;   delay_ms(100000); &#

40、160; n=14;  / break;   case 14:   DDRB=0x00;   DDRD=0x00;   DDRC=0x20;  /C5   PORTC=0x00;   delay_ms(100000);   n=15;  / break;   

41、case 15:   DDRB=0x00;   DDRD=0x00;   DDRC=0x40;  /C6   PORTC=0x00;   delay_ms(100000);   n=16;  / break;   case 16:   DDRB=0x00;   

42、;DDRD=0x00;   DDRC=0x80;  /c7   PORTC=0x00;   delay_ms(100000);   n=0;   default:;  / break;   /*主程序*/void main(void)    init_devices();   while(1) &#

43、160;   benchmark();    gongnen();   delay_ms(100);    shezhi ();   /#define uchar unsigned char #define uint  unsigned intvoid delay_ms(unsigned int t) for(;t&g

44、t;0;t-);/启动AD子程序void ADC_start(void) delay_ms(70000); ADMUX = 0xC0;/选择通道0 ADCSR = 0xE3; /模数转换子程序uint ADC_convert(void) uint ADL;/ float ADH;/ ADL=ADCL; ADH=ADCH; ADH=ADH*256+ADL; ADH=ADH*0.025; return(ADH)

45、;/返回AD值/主函数子程序void shezhi (void) unsigned temp1,temp2;  PORTC=0x00;/设置寄存器 PORTD=0x00; PORTB=0x00; DDRB=0x07; while(1)  PORTB&=0xFC; delay_ms(70000);/长延时 ADC_start(); temp1=ADC_convert();  if(temp1>=19) &

46、#160;            /设定比较范围  DDRB|=0x80;  DDRD=0x00;  DDRC=0x00;  PORTB|=0x02;  DDRB|=0X02;    else     if(temp1>=18) /设定比较范围  

47、60;   DDRB&=0x7F;   DDRD=0x01;   DDRC=0x00;   PORTB|=0x02;   DDRB|=0X02;      else       if(temp1>=17) /设定比较范围      &#

48、160; DDRB&=0x7F;    DDRD=0x02;    DDRC=0x00;PORTB|=0x02;DDRB|=0X02;        else         if(temp1>=16) /设定比较范围          DDRB&=0x7F;     DDRD=0x04;  

温馨提示

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

评论

0/150

提交评论