单相ACDC变换电路AWord文档下载推荐.docx
《单相ACDC变换电路AWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《单相ACDC变换电路AWord文档下载推荐.docx(16页珍藏版)》请在冰点文库上搜索。
图2-1
2-2方案论证
2-2-1升降压电路的选择
方案1:
采用BUCK电路与Boost电路相结合的的组合电路,由单片机经继电器控制需要选择的电路模式,交流电压AC24V经桥堆后电压会变成大于24V的DC.系统要求输出电压稳定在36V,此时单片机片经由AD采集转换判断经桥堆后的的电压是大于36V还是小于36V,当小于36V时单片机通过继电器选择boost升压电路,反之选择buck电路。
方案2:
直接使用BOOST升压电路可以通过开关管IRF540调节输出的电压,开关管受AVR单片机产生的PWM波经由IR2104驱动IRF540的通断,输出电压Uo=Uin*(D/(1-D))公式中D为PWMD的占空比,这种方案简单易行容易上手。
比较以上两个方案,方案二虽然简单易行对于软件的要求也比较低,可以很容易的实现升压。
使电路的输出电压稳定在36V.所以综合以上考虑最终选择方案二。
2-2-2PFC控制电路选择
无源功率补偿法,其基本原理是把具有容性功率负载的装置与感性功率负荷装置并联在同一个电路中,当容性负荷释放能量时,感性负荷吸收能量,而当感性负荷释放能量时,容性负荷吸收能量。
能量在两种负荷中交换,感性负荷所吸收的无源功率可从容性负荷输出的无功功率中得到补偿。
一般才去的方法是并联电容法,但是由于无源功率补偿其功率因数一般达到70﹪左右,不具有良好的补偿性.
有源功率因数校正,目的在于改善电源输入功率因数,减小输入电流谐波.采用一级PFC技术,即将PFC级与DC/DC级输入的预稳,实现统一控制,采用TI的UCC28019,该芯片通过双闭环完成调制,内环为电流环,在连续电感电流的条件下使平均输入电流跟踪正弦是输出电压成正弦波。
系统电压可由该芯片的VSENSE脚的输入电压与芯片内部+5v的基准电压决定,实际应用中可以通过调节反馈回该引脚的电压即可实现输出电压的数字调节。
综合以上考虑选择方案二
2-2-3过流保护
采用2.5A的自恢复保险丝,方案简单易行,满足系统要求。
采用单片机控制继电器达到过流保护的目的,单片机通过片内AD采集系统输出电流,电流超过设定值时,单片机通过I/O口给继电器一个高电平使继电器跳闸电路断开,从而起到保护电路的目的,这种方法可以有很强的使用性可以满足系统的动作电流从2.3A到2.7A,动作电流范围广。
综合以上考虑选择方案二
3.单元模块设计
3-1功率因数校正电路
图3-1
根据UCC28019芯片工作原理可知,其输出的PWM波占空比是根据电压环路的反馈电压输入到VSENSE脚与+5V基准电压比较,经差分放大后改变PWM斜坡的斜率进行调节,则可知系统稳定状态时该引脚的电压一定是5V,根据该特性可以利用电阻的分压比,利用D/A转换,通过设定最低的电压来控制最终的输出。
3-2功率因数测量电路
图3-2
采用相位差测量法,利用电压电流互感器分别对电压电流信号进行提取,然后用精密仪表放大器INA118对电压电流放大指饱和,经TLC372整形后,测出相位差。
3-3主电路及参数计算
图3-3
系统主电路包括采用BOOST电路,在Usmin=20v,Uomax=36V,Iomax=2A时,Pomax=Iomax*Uomax=72w.取输入功率Pimax=80w,Imax=Pmax/Umin=4A,
由此我们的桥堆选择4A耐压600V.完全符合系统要求
3-3-1开关场效应管及肖特基二极管的选择
在MOS管导通时,电流流过MOS管,肖特基二极管承受反向电压;
在MOS管关断时,电流流过MOS管,肖特基二极管承受正向电压。
考虑到系统开启等一系列动作带来的冲击效应,二者应该满足Idmax>
16A;
Udss(Umm)>
72v;
IRF540的Idmax=28A,Udss=100v,可以满足系统要求。
3-3-2电感参数计算
由公式
脉动电流与平均电流之比取0.25,开关频率65KHZ,输出电压36V,则最终电感可取200uH。
3-3-3电容参数计算
ΔUo为负载电压变化量,取值20mV.f=654KHz,ΔUo=36v,则可取Cb=1200uF,可以利用多个低ESR的电解电容并联得到。
为增强高频响应,可以采用输出端并联多个无极性的吸收电容减少毛刺.
4软件设计
软件流程图图4-1
5数据测试
测试仪器
15MHz函数信号发生器型号Agilent33128A,
数字示波器双通道60Mhz型号TektronixTDS1002
万用表型号Fluke17B
表5-1负载变化时电源参数及PFC
负载/Ω
预置输出电压/V
实际输出电压/V
输出电流/A
PFC
45
36
35.7
0.79
0.99
40
35.9
0.89
0.98
35
36.1
1.02
0.95
30
35.8
1.19
0.96
25
36.0
1.44
0.97
20
35.95
1.79
15
2.2
表5-2负载调整率
输出电流值/A
0.2
0.5
0.8
1.0
1.5
2.5
输出电压值/A
36.04
36.02
36.01
36.00
35.59
35.56
35.55
由负载调整率计算公式Si=(36.04-35.55)/36=0.25﹪
表5-3电压调整率
22
24
26
28
36.05
36.08
36.07
36.09
由电压调整率计算公式Su=(36.09-36.05)/36=0.12﹪
6系统方案结果分析与总结
通过对系统的数据分析发现,由于系统采用数字闭环反馈调节,经过实时采样使负载调整率和电压调整率达到很高的稳定度。
功率因数由于采用UCC28019跟踪电压式调节,使输入电压电流相位差很小,功率因数可以达到99﹪。
但是由于Boost主拓扑结构的特点,其输出纹波较大。
所以最终的输出纹波只能控制在400mV以内。
系统还可以添加温度检测电路防雷及采用辅助电源等附加功能,进一步完善,也可以利用无损吸收回路进一步提高系统的效率。
7参考文献
[1]陈言俊、王延伟、罗亚非.大学生创新竞赛实战[M].北京航空航天大学出版社.2009.
[2]高吉祥.全国大学生电子设计竞赛培训系列教材[M].电子工业出版社.2010.
[3]龙威林、杨冠声、胡山.单片机应用入口-AT89S51和AVR[M].化学工业出版社.2008.
[4]彭伟.单片机C语言程序设计实例[M].电子工业出版社.2009.
8附件
附件1系统电路图
附件2系统实物图
附3部分源代码
#include<
reg52.H>
#include"
LCD5510.H"
delay.h"
other.h"
intrins.h>
#defineucharunsignedchar
#defineuintunsignedint
/*ADC相关寄存器入口地址*/
sbitsw=P2^7;
#defineoffP2=P2&
&
0x7f
sfrADC_LOW2=0XBE;
/*ADC相关寄存器配置赋值*/
#defineADC_POWER0x80
#defineADC_FLAG0x10
#defineADC_START0x08
#defineADC_SPEEDLL0x00
#defineADC_SPEEDL0x20
#defineADC_SPEEDH0x40
#defineADC_SPEEDHH0x60
#defineADC_CHS0X00
typedefunsignedcharBYTE;
typedefunsignedintWORD;
sbitPWMJA=P3^0;
sbitPWMJIA=P3^1;
sfrPCAPWM0=0xF2;
//PCA模块PWM寄存器PCAPWM0/1;
sfrPCAPWM1=0xF3;
//定义DA位
uintdingshiqi;
voidInitADC();
voidgetAD(charch)
{
ADC_CONTR=ADC_POWER|ADC_SPEEDHH|ADC_START|ch;
_nop_();
while(!
(ADC_CONTR&
ADC_FLAG));
ADC_CONTR&
=~ADC_FLAG;
}
voiddisplay_da_ch(charch)//电压数值显示函数
{
getAD(0);
Print_voltage(ADC_RES,ch);
ADC_RES=0;
voidPAC_PWM()//设置PWM0固定占空比PWM1可变占空比
CCON=0;
CMOD=0x02;
CL=0x00;
CH=0x00;
CCAPM0=0x4D;
CCAP0L=0x00;
CCAP0H=0x00;
CCAPM1=0x42;
CCAP1L=135;
CCAP1H=135;
CR=1;
}/*--------------------------------------------------------*/
//主函数
voidPID()
{uintt;
t=ADC_RES;
if(t<
180)
{CCAP1L+=1;
CCAP1H+=1;
}
if((t<
189)&
(t>
=180))
delays();
while((t>
188)&
(t<
192))
{getAD(0);
delays();
if((t>
192)&
=199))
{CCAP1L-=1;
CCAP1H-=1;
if(t>
199)
{CCAP1L-=1;
voidmain(void)
PAC_PWM();
kaiji();
//LCD5510_Init();
//液晶初始化
jiemian1();
InitADC();
sw=1;
display_da_ch(0);
while
(1)
{
display_da_ch(0);
//PID();
delay50ms();
}
voidInitADC()
P1ASF=0x03;
//设置AD输入通道为P1.0-1.2
ADC_RES=0;
ADC_CONTR=ADC_POWER|ADC_SPEEDHH;
delay
(2);