最新全国大学生电子设计竞赛双向DCDC电源设计报告.docx
《最新全国大学生电子设计竞赛双向DCDC电源设计报告.docx》由会员分享,可在线阅读,更多相关《最新全国大学生电子设计竞赛双向DCDC电源设计报告.docx(21页珍藏版)》请在冰豆网上搜索。
最新全国大学生电子设计竞赛双向DCDC电源设计报告
营销环境信息收集索引
大学生购买力有限,即决定了要求商品能价廉物美,但更注重的还是在购买过程中对精神文化爱好的追求,满足心理需求。
我们大学生没有固定的经济来源,但我们也不乏缺少潮流时尚的理念,没有哪个女生是不喜欢琳琅满目的小饰品,珠光宝气、穿金戴银便是时尚的时代早已被推出轨道,简洁、个性化的饰品成为现代时尚女性的钟爱。
因此饰品这一行总是吸引很多投资者的目光。
然而我们女生更注重的是感性消费,我们的消费欲望往往建立在潮流、时尚和产品的新颖性上,所以要想在饰品行业有立足之地,又尚未具备雄厚的资金条件的话,就有必要与传统首饰区别开来,自制饰品就是近一两年来沿海城市最新流行的一种。
四、影响的宏观环境分析
2、传统文化对大学生饰品消费的影响
与此同时,上海市工商行政管理局也对大学生创业采取了政策倾斜:
凡高校毕业生从事个体经营的,自批准经营日起,1年内免交登记注册费、个体户管理费、集贸市场管理费、经济合同鉴证费、经济合同示范文本工本费等,但此项优惠不适用于建筑、娱乐和广告等行业。
我们从小学、中学到大学,学的知识总是限制在一定范围内,缺乏在商业统计、会计,理财税收等方面的知识;也无法把自己的创意准确而清晰地表达出来,缺少个性化的信息传递。
对目标市场和竞争对手情况缺乏了解,分析时采用的数据经不起推敲,没有说服力等。
这些都反映出我们大学生创业知识的缺乏;
自制性手工艺品。
自制饰品其实很简单,工艺一点也不复杂。
近两年来,由于手机的普及,自制的手机挂坠特别受欢迎。
创业首先要有“风险意识”,要能承受住风险和失败。
还要有责任感,要对公司、员工、投资者负责。
务实精神也必不可少,必须踏实做事;
中式饰品风格的饰品绝对不拒绝采用金属,而且珠子的种类也更加多样。
五光十色的水晶珠、仿古雅致的嵌丝珐琅珠、充满贵族气息的景泰蓝珠、粗糙前卫的金属字母珠片的材质也多种多样。
2013年全国大学生电子设计竞赛
双向DC-DC变换器(A题)
2015年8月12日
摘要
本系统以Buck和Boost并联,实现双向DC-DC交换,以STM32为核心控制芯片。
Buck降压模块使用XL4016开关降压型转换芯片,通过单片机闭环实现恒流输出控制。
放电回路选择Boost升压模块,以UC3843作为PWM控制器,组成电压负反馈系统,通过调整PWM的占空比,实现稳压输出。
系统能自动检测外部电源电压变化,在负载端电源较高时自动切换成充电模式,反之切换为放电状态。
系统具有过流、过压保护功能,并可对输出电压、电流进行测量和显示。
关键字:
DC-DC交换;Buck;Boost;PWM控制
Abstract
ThesystemisBuckandBoostparallel,toachievetwo-wayDC-DCexchange,STM32asthecorecontrolchip.TheBuckBuckmoduleusestheXL4016switchBuckconverterchip,takesthecurrentsignalintheoutput,controlsthefeedbackofXL4016,completestheclosed-loopcontrol,andrealizestheconstantcurrentoutput.BoostboostmoduleusesUC3843asthePWMcontrolchip,accordingtotheoutputvoltagenegativefeedbacksignaltoadjustthePWMsignal,theclosed-loopcontroliscarriedout,inordertoachievetheregulatoroutput.Systemcanautomaticallyswitchchargeanddischargemode,canalsobemanuallyswitch.Thesystemhasthefunctionofovercurrentandovervoltageprotection,andcanmeasureanddisplaytheoutputvoltageandcurrent.
Keywords:
bidirectionalDC-DCconverter,Buck,boost,PWMcontrol
双向DC-DC变换器(A题)
【本科组】
1系统方案
系统要求效率,所以恒压输出、稳流输出都应采用开关电路,鉴于本题目要求的功能,系统主要由恒压控制模块、恒流控制模块组成,另为了灵活调整输出参数并实时监控系统工作状态,运用单片机控制技术,还有支持系统控制系统工作的辅助电源。
1.1升、降压电路的论证与选择
方案一:
采用线性电源电路。
线性控制电路控制简洁,输出波形指标良好,电路简单,但缺点是效率极低,在当前的大功率电源应用场合已被淘汰,因题目对效率的要求,这里不能采用线性电源。
方案二:
正激、反激变换器。
电源调整管工作在开关状态,优化调整后其效率远高于线性电源;且有可以有灵活的参数设计满足不同的需求;有大量产品级方案可供借鉴,实现起来难度不大。
方案三:
当前流行的开关电源大多基于Buck、Boost基本电路拓扑结构或他们的结合,在对题目进行仔细分析后,系统需求的尽是升压和降压,在Buck、Boost基础上附加反馈控制就可完成任务,这样还可以省略繁杂的变压器参数设计,因电路简洁实现起来更加容易。
并且因为使用较少的常规元件,节省成本提高可靠性,符合产品设计的思路。
综合以上分析,选择方案三。
1.2系统组成及控制方法
方案一:
系统由Buck、Boost模块实现升压、降压任务,各模块所需PWM信号的由单片机提供,单片机AD采集实时输出量,经运算后通过改变占空比调整模块工作状态。
该方案电路最简单,各种控制灵活,缺点有单片机运算量过大,开关信号占空比受单片机限制,浮点运算的时延影响电路跟随,另外单片机容易受到功率管开关干扰而失灵。
方案二:
使用振荡器、比较器产生PWM波,由负反馈电路实现输出控制,单片机负责状态切换和测量显示,该方案原理易于理解,但自己装调的PWM电路在开关时容易出现振铃毛刺,直接影响了系统效率,并且要完善反馈控制对回馈信号要求较高。
方案三:
借用现有成熟PWM控制器,该类集成电路输出波形好,工作稳定,都具备至少一个反馈控制引脚,按照厂商提供的典型电路就可装调出应用电路。
但这类电路一般针对专用场合设计,借用时需要较多设计计算,特别是该类芯片的反馈有极高的控制灵敏度,在单片机参与时需要较多改动。
为提高系统性能选择方案三,降压回路使用XL4016,升压回路以UC3843为核心,控制单片机使用STM32,有很高的工作速度、丰富的外围资源,可以很好地完成系统控制任务。
2系统理论分析与计算
2.1电路设计与分析
2.1.1提高效率的方法
在电路的设计过程中,找到了影响系统效率的主要因素有三点:
功率变换器开关器件的开关损耗;感性元件的铁损和铜损;控制电路的损耗。
.
所以提高系统效率,我们可以从这三方面出发。
1.开关器件的损耗不可避免,但是可以采用低功耗的开关管和二极管。
采用MOS管做为开关管,IRF540型MOS管开关损耗小,其只在导通期间由开关损耗,适合频率比较高的工作场合。
采用肖特基二极管做为续流二极管,耐压高,损耗小。
如此选择器件可以降低开关器件的损耗,提高系统效率。
2.通过理论和实践验证,电感越大,纹波电流越小,电感损耗越大。
所以在满足要求的条件下减小电感,并且严格按照要求绕制电感,减小磁隙,线圈紧凑等。
3.在焊接时合理安排布局,减少开关信号走线的连接,可以在布局布线上减小损耗。
2.1.2控制回路分析
1.恒流输出:
在输出端检测采样电阻的电压,因为信号很小,经过20倍放大送至单片机,单片机将处理结果,经误差放大器送至XL4016的反馈端FB。
FB与内部1.25V基准电压比较,控制PWM信号,进而达到控制输出电流。
经过闭环负反馈系统控制,可以使输出电流恒定,起到了过流保护作用。
2.自动切换:
由单片机采集30欧负载两端电压,当电压低于30V时,系统工作在放电模式;当电压高于30V时,系统工作在充电模式。
此外,还可以手动切换工作模式。
3.液晶显示:
使用12864液晶屏,显示电池组的充电电流和充电电压。
充电电压是采集XL4016输出端的电压,当电压大于24V时,断开充电模式。
充电电流同XL4016反馈的电流信号,在单片机内部换算并显示。
2.2控制方法分析
UC3843是高性能固定频率电流模式控制器,电压负反馈均衡控制,每周期由斜波电流峰值关断。
UC3843的振荡频率由RT/CT引脚接的电阻电容决定,系统的开关频率为f=1.8(RT*CT)=60KHz。
PWM以60KHz的频率控制开关管的导通截止,电感L储存并释放能量。
PWM的占空比越大,开关管的导通时间越长,电感存储的能量越大;相反电感存储的能量越小。
稳压过程有两个闭环系统来控制,分别是恒压输出和过流保护。
恒压输出:
在输出端通过电阻分压采集比例电压信号,经电压误差比较器后平滑滤波。
积分器的电容大小影响系统的调节速度,即影响指标中输出的动态响应时间。
当采集的电压小于内部2.5V基准电压,使PWM调节器的输出脉宽增加,从而影响输出电压调节幅度。
2.3升压、降压电路参数计算
2.3.1元件选取
1.MOS管的选取
根据主电路中的工作电压及电流,结合MOS管的耐压、耐流及损耗性能,电力晶体管耐压高,且开关损耗大,适合工作频率比较低的场合,电力场效应管耐压比较低,但是开关损耗小,适合频率比较高的工作场合。
根据这里的情况,我们选用了。
考虑到实际电压电流尖峰和冲击,电压电流耐量分别取2.5和2倍裕量,即应选取耐压高于40V,最大电流33A。
实际选用IRF540型MOS管。
2.二极管的选取
为降低续流二极管的导通压降,减少功率损耗,提高效率,选用肖特基二极管作为续流二极管。
根据主回路中的工作电压及电流,结合肖特基二极管的耐压、耐流及损耗性能,选用IN4746耐压40V最大电流为30A。
2.3.2电感计算
1.CCM工作模式下MOS开关管占空比D的计算:
2.当输出最大负载时若要使电流连续,则:
为开关导通时的压降和电流取样电阻上的压降之和,取06~0.9V
设电感纹波电流为平均电流的30%,即:
所以电感值:
电感的设计包括磁芯材料、尺寸选择及绕组匝数计算、线径选用等。
电路工作时重要的是避免电感饱和、温升过高。
磁芯和线径的选择对电感性能和温升影响很大,材质好的磁芯如环形铁粉磁芯,承受峰值电流能力较强,EMI低。
而选用线径大的导线绕制电感,能有效降低电感的温升。
3电路与程序设计
3.1电路的设计
3.1.1系统总体框图
系统总体框图如图1所示,主要包括DC-DC降压充电模块、DC-DC升压放电模块、MCU控制模块、显示单元、转换开关、稳压电源、电池组七部分组成。
本系统可实现手动和自动充放电模式选择。
图1系统总体框图
工作原理:
转换开关调整为充电模式,直流稳压电源输出大于30V电压,经降压模块以小于24V电压、2A恒定电流为电池组充电。
当转换开关调整为放电模式时,电池组输出电压经UC3843升压模块达到30V为负载供电。
3.1.2充电系统原理
充电系统那个框图如图2所示。
图2充电系统框图
采用XL4016做Buck调整,FB脚接电流负反馈。
由0.05电阻将电流信号转变为电压信号,并放大20倍,这时就将电流的误差也放大,使误差判断器更准确的判断误差。
单片机采集放大后的电流信号并给出基准电压,误差放大器判断将结果送入FB端,控制输出电压的变化,从而达到控制电流。
3.1.3放电系统原理
放电模式时,电池作为电源通过变换器提供高压侧负载能量,输出恒定30V电压到负载。
因为要求恒压输出,所以引入电压负反馈。
反馈回的电压信号接到UC3843电压反馈端,与内部基准电压比较,控制PWM波脉宽,因此达到控制输出电压的目的。
图3放电系统框图
PWM控制开关管导通,电感以v/L速度充电,把能量储存在L中。
当开关管截止时,L产生反向感应电压,通过二极管D把储存的电能以(U-Vo)/L的速度释放到输出电容器Cs中。
输出电压由传递的能量控制,传递的能量通过电感电流的峰值控制。
开关信号的频率为60KHz,可以达到稳定输出30V电压。
单片机采集负载电压,判断如果电压小于30V则转换充电模式,否则为返点模式,因此到到自动切换目的。
3.2程序的设计
3.2.1程序功能描述与设计思路
1、程序功能描述
根据题目要求软件部分主要实现AD采集、键盘设置和显示。
1)AD采集:
恒流充电电流采样,过压保护电压采样,自动切换电压采样。
1)键盘实现功能:
步进调节充电电流。
2)显示部分:
显示充电电流、输出电压。
2、程序设计思路
单片机上电后,实时采集充电电流,在单片机内部进行运算,通过液晶屏显示。
充电时单片机采集到电池充电电压,判断如果电压大于24V,则单片机控制开关断开,停止充电。
放电时,单片机采集负载两端电压,判断电压是否大于30V,如果大于则系统切换为充电模式,否则为放电模式。
3.2.2程序流程图
主程序流程图如图所示,自动切换子流程图如图所示。
图4主程序流程图图5自动切换程序流程图
4测试方案与测试结果
4.1测试方案
1、硬件测试:
电流变化率测试:
设定充电电流为2A,当U2=36V时,测量充电电流值I11;U2=30V时,充电电流值I1;U2=24V时,充电电流I12,则电流变化的调整率SI1=|
|*100%。
(2)电路效率测量:
DC-DC变换器效率
,
。
(3)过流保护测试:
在电池组上串入滑线变阻器,时充电电压增加。
判断是否能在24V时停止充电。
2、软件仿真测试
利用proteus画出电路仿真图,进行电路的各项性能测试。
3、硬件软件联调
软件仿真结果与实测值进行比较,分析差异原因,找出改进方案。
4.2测试条件与仪器
测试条件:
多次检查仿真电路和硬件电路必须与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。
测试仪器:
直流稳压电源、信号源、模拟示波器、数字示波器、数字万用表、指针式万用表。
4.3测试结果及分析
4.3.1测试结果(数据)
1.U2=30V条件下,实现对电池恒流充电。
充电电流I1在1~2A范围内步进可调,步进值不大于0.1A,电流控制精度不低于5%。
测量结果如表1.
表1电流步进精度测试(单位:
A)
设定值
1
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2
实际值
1.03
1.08
1.22
1.28
1.45
1.51
1.64
1.76
1.84
1.92
1.98
精度(%)
3
1.8
1.6
2.3
3.5
0.6
2.5
3.5
2.2
1.1
2.测量并显示充电电流I1,在I1=1~2A范围内测量精度不低于2%。
结果如表2。
表2:
充电电流显示测量(单位:
A)
测量值
1
1.2
1.4
1.5
1.6
1.7
1.8
1.9
2
显示值
1.00
1.21
1.40
1.51
1.62
1.69
1.81
1.90
2.00
误差%
0
0.08
0
0.06
1.23
0.59
0.55
0
0
3.具有过充保护功能:
设定I1=2A,当U1超过阈值U1th=24±0.5V时,停止充电。
测试结果如下表3。
表3:
过保护功能测试
充电电压V
状态
23
充电
24.1
断开
4.电池放电时,输出稳压性能测试。
结果如表4所示。
表4:
放电稳压测试
电池(V)
17.5
18
19
20
21
22
23
放电(V)
29.7
30.06
30.18
30.19
30.21
30.23
30.24
4.3.2测试分析与结论
根据上述测试数据,可以得出以下结论:
1、在充电模式下,电流步进值不大于0.1A,误差精度小于5%。
2、具有良好的变化率和控制精度。
3、具有过程保护功能和较高的变换器效率。
4、放电模式时,30V稳压性能好。
可以自动切换。
综上所述,本设计达到设计要求。
附录1:
电路原理及实物
附录2:
主要程序片段
系统主程序
main(void)
{
uchartemp[4];
ulintPidTemp=0;
SYS_Clock_Init(9);
Delay_Init(72);
SYS_JTAG_Set(0x01);
ADC_GPIO_Init();
ADC_Init();
DMA_Init();
ADC_Start();
DMA_Enable();
DAC_Init();
TIM2_Init();
//PID_init();
XL_6009_Init();
Delay_mS(500);Delay_mS(500);
LCD_GPIO_Init();
LCD_Init();
KEY_GpioInit();
KEY_Init(
mode_chongdian();
updatdisp_chongdian_shezhi();
updat_Dac();
while
(1){
KEY_Task();
KEY_App();
if(Flag_1mS){
DMA_Get_AD_Avg();
Flag_1mS=0;
guoyabaohu();
}
if(Flag_200mS>=1000){
Flag_200mS=0;
updatdisp_chongdian_AD();
}
}
}
按键控制和状态切换:
voidKEY_App(void){
TYPE_KEY_EVENTKey={KEY_VALUE_NULL,KEY_EVENT_NULL};
if(KEY_GetEvent(&Key)){
switch(Key.KeyValue){
caseKEY_VALUE_1:
//
switch(Key.KeyMessege){
caseKEY_EVENT_UP:
/
if(SYS_MOD==0){/
SYS_MOD=1;
PBout(12)=0;
Chongdian_En=0;//ֹͣ
updat_Dac();
mode_fangdian();
}else{
SYS_MOD=0;
Chongdian_En=0;
}
break;
default:
break;
}break;
caseKEY_VALUE_2:
//
switch(Key.KeyMessege){
caseKEY_EVENT_UP:
//switch(SYS_MOD){
case0:
if(Chongdian_En==1){
Chongdian_En=0;
}else{
Chongdian_En=1;
}updat_Dac();
break;
case1:
if(Fangdian_En==1){
Fangdian_En=0;
PBout(12)=0;//
LCD_PutString(1,6,"ֹͣ");
}else{
Fangdian_En=1;
PBout(12)=1;
LCD_PutString(1,6,)
}
break;
default:
break;
}
break;
default:
break;
}break;
caseKEY_VALUE_3:
switch(Key.KeyMessege){
caseKEY_EVENT_UP:
switch(SYS_MOD){
case0:
DAC_Voltage+=5;
……
break;
}break;
caseKEY_VALUE_4:
switch(Key.KeyMessege){
caseKEY_EVENT_DOWN:
break;
caseKEY_EVENT_UP:
switch(SYS_MOD){
case0:
DAC_Voltage-=5;
if(DAC_Voltage>=200){
DAC_Voltage=200;
……
}
}
}
电流控制:
voidupdat_Dac(void){
ulintCon_temp;
Con_temp=DAC_Voltage*4096/330;
DAC_Out_Val=(usint)Con_temp;
if((Chongdian_En)&&(Baohu==0)){
DAC_OUT(DAC_Out_Val);
DAC_OUT(DAC_Out_Val);
LCD_PutString(1,6,"Ǵ֯");
}elseif((Chongdian_En==0)){
DAC_OUT(0);
DAC_OUT(0);
……
}
}