摘要:
作品以直流电源变换器(主要包括DC-DC 升压电路,DC-DC 降压电路)为核心,以TI公司(德州仪器)新一代低功耗单片机MSP430为控制单元,以监测电路,起振电路,显示电路为外围。直流电压变换器的设计主要选用了集成芯片MC34063。硬件启动后采用间歇工作方式,并且可动态显示实时采样电压。作品各部分设计无不以低功耗,节能为考量,紧扣题目要求。可用作直流电压值变化较大工作场合的电能采集,有着广阔的应用前景和市场前景。
关键词: MC34063 MSP430 节能
1.2 升压充电模块
1.3控制模块
3.4 降压模块…………………………………………………
3.5 系统软件设计计 …………………………………… 2.4
4 测试条件与测试结果………………………………………………..
4.1 测试条件 …………………………………………..
4.2 测试条件与测试结果………………………………………
5 设计总结 ………………………………………………………
6 参考文献 ………………………………………………………..
7 附录………………………………………………………..
引言
随着节能降耗,绿色环保的理念日益深入,成为全社会的共识,设计新一代节能产品,提高能源利用率,已成为时代对产业界的要求。可以预见的是,在不久的将来越来越多的节能发明会走进我们的生活。在工业生产及日常生活中经常遇到电压值连续可变的直流电源,由于这些电压可以从极低的范围(低于1V)变化至相对较高范围(高于10V),往往很难采集,正因如此这些电源往往被人们遗忘而造成电力的浪费。而常用的采集方法往往对所要采集的电压有一定要求,这就了这些方法的应用范围。因此,设计一种能够在超低电压(低于1V)的条件下工作的电路,使之能够对低压进行收集,无疑具有广阔前景。
1方案论证与比较
给出系统各模块的设计方案,并对各方案进行了比较分析。
1.1降压充电模块
方案一:采用普通开关式电源变换器为核心设计降压充电模块。该电路结构比较简单,但输出电流纹波较大、电压波形不稳定,且对电感要求比较高,不易匹配。
方案二:采用线性电压转换器LM2596配合简单的外围电路组成DC/DC降压模块。LM2596包含150kHz振荡器并采用1.23V带隙基准电压,具有3.3V、5.0V、12V及可调式四种型号,并具备完善的保护电路功能,仅需很少的外围器件即可构成高效率变压器,电源转换效率高达94%,且内部功率开关管的饱和压降进一步降低。
方案三:使用MC34063设计DC-DC降压电路。以MC34063为中心搭建电路,通过调整R1,R2阻值大小,实现对输入电压的比例降低和升高。
由于线性电压转换器LM2596的器材,而且MC34063作为开关电源芯片使用已经多年,其升降压电路技术历经多年发展已相当成熟,故本设计选用第三种方案搭建直流电源变换器的降压充电模块。
1.2升压充电模块
方案一:根据升压式电源变换器的原理,采用电解电容、耦合电感、NPN三极管、稳压管、电阻等分立元件进行电路搭建,实现一个升压充电模块。这种模块结构简单,实现容易且相对于集成元件价格便宜,但经过实际测试,其输出电压精度不是很高。
方案二:采用MAX1674型升压器配合外围电路实现升压充电模块。由于MAX1674是一种高效率脉冲频率调制、可预置、可调升压式DC/DC电源变换器,电源转换效率高达94%,且外围电路比较简单,因此能够很好的满足题目要求。
方案三:使用MC34063设计DC-DC升压电路。以MC34063为中心搭建电路,通过调整R1,R2阻值大小,实现对输入电压的比例降低和升高。
经过综合比较和测试,升压充电模块可采用方案二与方案三,但是由于集成芯片MAX1674的而且MC34063作为开关电源芯片使用已经多年,其升降压电路技术历经多年发展已相当成熟,故本设计选用第三种方案搭建直流电源变换器的升压充电模块 。
通过以上方案的分析与比较,降压充电模块与升压充电模块均采用相应的方案三。
1.3 控制模块:
方案一:采用模拟电路的控制方法,即用运放构成比较器,对输入电压与一个基准电压进行比较,然后决定升压和降压的工作方式。但这样做效果不好,不能实现MTTP算法。
方案二:利用单片机对继电器进行控制,根据单片机给出的高低电平实现继电器的通断,从而选择是升压电路还是降压电路。这种方法比较方便而且高效。经过讨论,我们最终选择了该方案。
2系统设计
根据赛题要求的任务,该电能收集充电器系统包括升压电路,降压电路,监测电路,控制电路和显示电路共五个模块,由于五个模块相对,以下分别对其进行原理分析与电路设计。硬件总体框图如下
Zx
3单元电路设计
3.1监测电路
监测模块
模块功能介绍
监测电路采集来自外部电压信号,送入单片机P6.0口(AD口),供单片机判决。
电路设计
监测取样电路
电路设计主要采用了一个运算放大器,来自外部的采集信号首先进行1/10衰减,然后送入运放,通过运放消弱环境噪声,保护下级电路。运放选用LM358,因为该运放可以 单电源供电,而普通运放一般需正负两种电源供电,在本题中是无法实现的。
3.2控制模块
模块功能介绍:控制模块通过单片机对继电器的通断进行控制,实现自动选择升降压电路的功能。
⏹电路设计
单片机对采集的电压进行判决后,由P3.0口发出控制指令,控制指令实现三极管的导通或截止,使继电器选择降压电路或升压电路,对电池进行稳定供电。三极管2N3904选用普通NPN型。继电器选用直流TX2-5型,工作电压为3.6V。该电压可由直流电源变换器获得,满足了题目要求。
⏹3.3 升压模块
⏹模块功能介绍
由于直流源有时处于较低电压下,而这种电压往往不能满足负载电压(本题要求负载为3.6V)要求,为此必须对低电压进行升压,达到负载的要求。
⏹电路设计:
电路设计主要采用集成芯片MC34063AP1,来自外部的电压通过上图所示升压电路实现比例放大,放大比例为
其中,
其电路图如下:
⏹3.4降压模块
⏹模块功能介绍
由于直流源有时处于较高电压下,而这种电压往往超过负载电压(本题要求负载电压为3.6V)要求,为此必须对高电压进行适当降压,达到负载的要求。
⏹电路设计:
电路设计主要采用集成芯片MC34063AP1,来自外部的电压通过上图所示升压电路实现比例降压,降压比例为
,其中
3..5 系统软件设计
控制电路以AT80C52为核心,首先让输入电压经过tlc549将模拟量转换为数字量,将取得模拟量经过QC1602显示出来,并将在单片机内部程序中设置与3.6V比较,通过控制一个I/O口输出高低电平,再用这个高低电平经三极管NPN9013控制继电器换挡,在这部分中由于tlc549的转换电压在5V以下,故需要将输入电压衰减为原来的十分之一再接tlc549,所以液晶显示的是衰减之后的电压。
程序见下页
电路图如下:
4 测试条件与测试结果
4.1 测试环境
由于该电能收集充电器主体部分是DC—DC升压和降压部分,直流电压缓慢变化,再加上电路设计时已充分考虑到噪声和电磁干扰,故对测试环境无特殊要求,在常温常压下即可进行工作
4.2测试条件与结果
Es(v) | 10 | 12 | 15 | 17 | 20 |
Ic(mA) | 47.6 | 48.3 | 48.6 | 48.9 | 50.8 |
条件 | 1.1<<3.6 Rs=1欧Es姆 | Es>3.6 Rs=100欧姆 |
最小Es(v) | 1.75 | 3.71 |
条件 | 1.1<<3.6 Rs=1欧Es姆 | Es>3.6 Rs=100欧姆 |
最小Es(v) | 1.75 | 3.71 |
条件 | Es>3.6v Rs=100欧姆 |
放电电流 | 1.4mA |
(2) 能向电池充电的最低Es(Ic略大于0)
(3)Es从零逐渐升高,能自动启动充电功能的Es值
(4)Es最低至0时电池放电电流
五 设计总结
由MC34063构成的开关电源虽然价格便宜,应用广泛,但它的局限性也是明显的。比如效率偏低,对于降压的应用一般只有70%左右输出电压低时效率更低这就使它不能用在某些对功耗要求严格的场合;其次,由于占空比范围偏小这就了它的动态范围,在某些输入电压变化较大的场合不适用;再次由于开环误差放大,所以占空比不能锁定,这就给电路参数的选择带来麻烦,电感量和电容量不得不数倍于理论计算值才能达到预期效果。由于芯片功能,升压模块完成效果不是很好,启动电压比较高,大于1.1V。
鉴于这些缺陷我们可以做一些改进,比如当开关频率很高时,电感可选用多线并绕,以降低趋肤效应的影响,提高整体效率;管脚3处连接的电容选择工业陶瓷电容改善电路的高频特性;同时根据题目要求,采用间歇工作方式。
通过,我们加深了对模拟电路理论,自动控制理论,单片机理论的掌握,特别是对系统和工程的概念有了深刻的理解,为以后进行相关方面的设计打下了基础,同时也提高了自己动手处理实际问题能力,一定程度上改变了我们在以前的学习中普遍存在的“重理论,轻动手”的不合理的学习习惯。在设计调试过程中我们小组成员积极对待,分工合作,合理规划,共同努力,最终完成了这次设计。
最后,我们对这次大赛的各级组委会及辅导老师表示感谢!
六 参考文献
(1)童诗白 华成英《模拟电子技术基础》 高等教育出版社
(2)刘鲲 孙春亮《单片机C语言入门》
七 附录
程序:#include #define uchar unsigned char #define uint unsigned int #include uchar code table[]="OUTPUT"; uchar code table1[]="0.000"; sbit rs=P1^0; sbit rw=P1^1; sbit lcden=P1^2; sbit DataOut=P2^0; sbit CS=P2^1; sbit CLK=P2^2; sbit chu=P3^0; uchar tt,shu; uchar ad; void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void write_com(uchar com) { rs=0; rw=0; lcden=0; P0=com; delay(5); lcden=1; delay(5); lcden=0; } void write_data(uchar date) { rs=1; rw=0; lcden=0; P0=date; delay(5); lcden=1; delay(5); lcden=0; } void init(void) { uchar num; lcden=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); write_com(0x80); for(num=0;num<6;num++) { write_data(table[num]); delay(5); } write_com(0x80+0x40); for(num=0;num<5;num++) { write_data(table1[num]); delay(5); } TMOD=0x01; TH0=(65536-50000)/256; TL0=(65535-50000)%256; EA=1; TR0=1; ET0=1; } void isr_time0(void) interrupt 1 { TH0=(65536-50000)/256; TL0=(65535-50000)%256; tt++; } uchar count() { uchar i; CS = 1; _nop_(); CS = 0; _nop_(); for(i = 0; i < 8; i++) { shu <<= 1; shu |=DataOut; CLK = 1; _nop_(); CLK = 0; } CS = 1; for(i=17;i!=0;i--){_nop_();} return shu; } void main() { uint date; uchar qian,bai,ge,shi; init(); while(1) { if(tt==20) { tt=0; date=count()*5.0/256*1000; qian=date/1000; bai=date/100%10; shi=date/10%10; ge=date%10; write_com(0x80+0x40); write_data(0x30+qian); write_com(0x80+0x40+1); write_data('.'); write_com(0x80+0x40+2); write_data(0x30+bai); write_com(0x80+0x40+3); write_data(0x30+shi); write_com(0x80+0x40+4); write_data(0x30+ge); if(date>360) shu=1; else shu=0; } } } 实物制作图: