编辑: ddzhikoi | 2019-07-03 |
fxdzw.com -
1 - 电能收集充电器 福星电子网 http://www.fxdzw.com 福星电子网 http://www.fxdzw.com -
2 - E 题:电能收集充电器 摘要: 本设计包括 LM2671 构成的 Buck 直流-直流转换器(即DC-DC 转换器)电路, MC34063 构成的 Boost 型DC-DC 电路,高侧电流检测电路以及由 ATMEGAl6 单片 机构成的监控电路.当直流供电电源 Es 低于 3.6V 时,用Boost 电路升压以便对 电池充电;
当Es 高于 3.6V 时,则用 Buck 电路降压充电.充电电流大小;
BUCK 电路 BOOST 电路的切换均由单片机进行控制. 关键字: LM2671 MC34063 ATMEGA16L DC-DC Abstract: The design consists of Buck circuit, MC34063 composition 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 through 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 福星电子网 http://www.fxdzw.com -
3 -
第一章 方案论证 1.1 总体方案论证 当直流供电电源 Es>3.6V 时,采用降压模块;
Es3.6V 时,需通过升压电路将 Es 降低到稍大于 3.6V,以实现能向电池充电 的Es 尽可能小.本设计采用 LM2671 实现降压过程.LM2671 引脚图及内部结 构图及 Buck 电路见附录一. 其输出电压为 (公式二) 福星电子网 http://www.fxdzw.com -
6 - 图五 2.2 Boost 电路 当Es3)i=0;
switch(i) { //case 0:PORTA=SEG7[dis_val%10];
PORTC=ACT[0];
break;
//case 1:PORTA=SEG7[(dis_val/10)%10];
PORTC=ACT[1];
break;
///case 2:PORTA=SEG7[(dis_val/100)%10];
PORTC=ACT[2];
break;
// case 3:PORTA=SEG7[dis_val/1000];
PORTC=ACT[3];
break;
default:break;
} } void timer1_init(void) // { TCNT1H = 0xE7;
//50ms 定时初值 TCNT1L = 0x96;
// TCCR1B = 0x03;
//定时器
0 的计数预分频 } #pragma interrupt_handler timer1_ovf_isr:9 //T/C1 中断服务子函数 福星电子网 http://www.fxdzw.com -
16 - void timer1_ovf_isr(void) { TCNT1H = 0xE7;
//重装 50ms 定时初值 TCNT1L = 0x96;
} void adc_init(void) { ADMUX = 0xC0;
//通道
0 ACSR = 0x80;
//关掉模拟比较器 ADCSR = 0xE3;
} #pragma interrupt_handler adc_isr:15 //ADC 中断服务子函数 void adc_isr(void) { //conversion complete, read value (int) using... value=ADCL;
value|=(int)ADCH =19) { //设定比较范围 DDRB|=0x80;
DDRD=0x00;
DDRC=0x00;
PORTB|=0x02;
DDRB|=0X02;
} else { if(temp1>=18) //设定比较范围 { DDRB&=0x7F;
DDRD=0x01;
DDRC=0x00;
PORTB|=0x02;
DDRB|=0X02;
} else { if(temp1>=17) //设定比较范围 { DDRB&=0x7F;
福星电子网 http://www.fxdzw.com -
25 - DDRD=0x02;
DDRC=0x00;
PORTB|=0x02;
DDRB|=0X02;
} else { if(temp1>=16) //设定比较范围 { DDRB&=0x7F;
DDRD=0x04;
DDRC=0x00;
PORTB|=0x02;
DDRB|=0X02;
} else { if(temp1>=15) //设定比较范围 { DDRB&=0x7F;
DDRD=0x08;
DDRC=0x00;
PORTB|=0x02;
DDRB|=0X02;
} else { if(temp1>=14) //设定比较范围 { DDRB&=0x7F;
DDRD=0x10;
DDRC=0x00;
福星电子网 http://www.fxdzw.com -
26 - PORTB|=0x02;
DDRB|=0X02;
} else { if(temp1>=13) //设定比较范围 { DDRB&=0x7F;
DDRD=0x20;
DDRC=0x00;
PORTB|=0x02;
DDRB|=0X02;
} else { if(temp1>=12) //设定比较范围 { DDRB&=0x7F;