三相交流电源5555.docx
- 文档编号:5864312
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:18
- 大小:199.72KB
三相交流电源5555.docx
《三相交流电源5555.docx》由会员分享,可在线阅读,更多相关《三相交流电源5555.docx(18页珍藏版)》请在冰豆网上搜索。
三相交流电源5555
2.方案论述
2.1DC-DC升压电路设计
本次设计中,提供的直流源是正负18V,而逆变后输出电压的有效值要求是36V,所以必须把18V升压到36V以上,才能满足要求。
MC34063本身包含了DC/DC变换器所需要的主要功能的单片控制电路且价格便宜。
它由具有温度自动补偿功能的基准电压发生器、比较器、占空比可控的振荡器,R—S触发器和大电流输出开关电路等组成。
该器件可用于升压变换器、降压变换器、反向器的控制核心,由它构成的DC/DC变换器仅用少量的外部元器件,易于实现,所以本方案采用MC34063芯片来搭建升压电路。
MC34063组成的降压电路原理如下图,当芯片内开关管(T1)导通时,电源经取样电阻Rsc、电感L1、MC34063的1脚和2脚接地,此时电感L1开始存储能量,而由C0对负载提供能量。
当T1断开时,电源和电感同时给负载和电容Co提供能量。
电感在释放能量期间,由于其两端的电动势极性与电源极性相同,相当于两个电源串联,因而负载上得到的电压高于电源电压。
开关管导通与关断的频率称为芯片的工作频率。
只要此频率相对负载的时间常数足够高,负载上便可获得连续的直流电压。
2.2.1基本构成
本设计基于IR2103驱动全桥来实现DC/AC逆变,所用元件少,且结构更为简便。
IR2103芯片是IR公司专为驱动功率开关管而设计的,是一种高电压高速的功率MOSFET和IGBT驱动器,尤其适用于驱动高强度的放电HID灯,如高压钠灯和金卤灯等。
该逆变设计电路的方框图如图1。
该电路由18V直流输入、DC/DC升压电路、SPWM波驱动电路、逆变电路以及滤波电路组成。
图1
2.2.2电路工作原理
输入12V直流电源电压,经然后经过逆变得到交流电。
在逆变电路中是用单片机产生SPWM脉冲频率波形,作为各开光管的驱动。
在每项中,在前半周期和后半周期,各开关管交替导通,使得负载电压极性有变化,上述状态如能不断地反复交替进行,则负载上的电压为交变电压。
这就是由直流电变为交流的逆变过程。
三相逆变的电路结构其工作过程与单相逆变桥相同,只要注意三相的相位之间互差三分之一周期就可以了。
逆变器的输出波形是SPWM方波,含有谐波成份,为了使输出波形正弦化,必须采用输出滤波器。
输出滤波器的任务是使单次谐波和总谐波含量降低到指标允许的范围,其结构和容量取决于谐波含量的大小。
电力电子器件高频化频率改善了三相逆变器的许多特性但是高频化同时带来了一系列其他的问题,比如过高的dv/dt容易使感性负载的分布电容的作用不容忽视,从而导致整个系统的电磁兼容性变差。
如果在没有任何滤波器的情况下,直接由SPW},I电压波驱动负载,那么与载波成整数倍的谐波会进入负载,从而对后级系统造成一些不良影响,严重甚至会损坏后级的系统。
如果在SP删逆变器和负载之间加入低通滤波器,即通常的Lc滤波器,则某些高次谐波电压将被抑制。
进行滤波处理,最后得到基波为主要部分,就可得出三相交流电。
陷波滤波器由Lc电路构成,它实际上是一种带阻滤波器,主要作用是防止开关频率附近的谐波进入负载,从而造成电流脉动和控制系统不稳定。
所以它的转折频率与载波频率有密切的关系通常选择与开关频率一致。
像这样把陷波滤波器和低通滤波器串联,就会得到非常好的滤波效果。
首先,陷波滤波器消除了开关频率处谐波,接着低通滤波器进一步滤除其它高次谐波。
这样一种滤波方式,同时可以降低低通滤波器转折频率过低要求和相应地提高阻尼电阻。
2.2.3场效应管
场效应管是一种适应开关电源小型化、高效率化和高可靠性要求的理想器件。
它是利用电场效应来控制其电流大小的半导体器件[3]。
其代表符号如图5。
这种器件不仅兼有开关速度快、无存储时间、体积小、重量轻、耗电省、寿命长等特点,而且还有输入阻抗高、噪声低、热稳定性好、抗辐射能力强和制造工艺简单等优点,因此大大的扩展了它的应用范围,特别是在大规模和超大规模集成电路中得到了广泛的应用。
MOSFET开关较快而无存储时间,故在较高工作频率下开关损耗较小,另外所需的开关驱动功率小,降低了电路的复杂性。
本设计采用的是N沟道增强型MOSFET。
只有在正的漏极电源的作用下,在栅源之间加上正向电压(栅极接正,源极接负),才能使该场效应管导通。
当>0时才有能有电流即漏极电流产生。
即当时MOS管才导通。
电路中主要运用三极管的导通截止的开关特性。
2.3精密全波整流电路
全波精密整流电路如图
从左到右看电路图,在第一个运放NE5532的作用是一个比例运算放大器,主要就是想把输入的信号缩小成1/2倍,要求R6=2R7,R5=R6*R7/(R6+R7),输出的Uo=-R7*Ui/R6。
图中第二个运放NE5532作用就是精密全波整流,要求R1=2R2=2R3,增益为1/2,输入的正弦波,当UI>0时,波形没有改变方向;当UI<0时,波形就把其往上翻,使其同正向波形方向一样,从而得到精密的全波整流电路,最后全波整流得到的波形幅值为输入的1/2。
C1与C2构成电容滤波电路。
2.4SPWM波生成
方案一:
用模拟电路构成三角波载波和正弦调制波发生电路,用比较器来确定它们的交点,在交点时刻对功率开关器件的通断进行控制,就可以生成SPWM波形。
但这种模拟电路结构复杂,难以实现精确的控制。
方案二:
微机控制技术的发展使得用软件生成SPWM波形变得比较容易,有自然采样法,规则采样法,低次谐波消去法,面积中心等效法等,微处理器可以用DSP,ARM,MSP430等有PWM模块的MCU。
由以上分析知,采用软件生成法,既方案二比较容易实现,而使用DSP成本较高,切手上又有一块现成的ARM7,所以本次设计选用了ARM7系列的LPC2138来生成SPWM波。
SPWM波的具体生成方法如下:
PWM(PulseWidthModulation)控制就是对脉冲的宽度进行调制的技术,即通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形。
SPWM波形(SinusoidalPWM)就是脉冲的宽度按正弦规律变化而和正弦波等效的PWM波形。
产生SPWM波的原理是:
用一组等腰三角波与一个正弦波进行比较,其相交的时刻(即交点)作为开关管“开”或“关”的时刻,这组等腰三角形波称为载波,而正弦波称为调制波,如图1所示。
正弦波的频率和幅值是可控制的,改变正弦波的频率,就可以改变电源输出电压的频率,改变正弦波的幅值,也就改变了正弦波与载波的交点,使输出脉冲系列的宽度发生变化,从而改变电源输出电压的大小。
而LPC2138的PWM模块有PWMMR0~PWMMR6这7个匹配寄存器,可实现6个单边沿控制或三个双边沿控制PWM输出。
三相逆变桥需要6路SPWM波驱动,可由ARM7产生3路,其余3路以及死区控制由驱动电路产生。
算法分析:
通过实时计算生成电压SPWM需要数学模型,建立数学模型的方法有多种,比如谐波消去法、等面积法、采样型SPWM法以及它们派生出来的各种方法。
本文介绍的生成SPWM波采用的是对称规则采样法。
对称规则采样法包括两种,规则I法和规则Ⅱ法。
规则I法为三角波顶点采样法,规则Ⅱ法为底点采样法。
这里使用的是规则II法,如图:
在规则采样Ⅱ法中,三角波每个周期的采样时刻都是确定的,不作图就可算出相应时刻的正弦波值。
由几何相似三角形关系可得脉宽计算公式:
间歇时间:
式中M=UM/US,即正弦波峰值与三角波峰值之比,M称为调制度。
N=fc/f即三角波频率fc与正弦波频率f之比,N称为载波比。
k为采样带点(k:
0,1,2,3⋯⋯)。
以上是生成单相SPWM波的数学模型,要生成三相SPWM波,必须使用三条正弦波和同一条三角波求交点,三相正弦波依次相差120。
,所以在采样时三相的脉宽分别是:
3.ADC0809的控制程序的设计
ADC0809是M美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D转换器。
其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。
是目前国内应用最广泛的8位通用A/D芯片。
ADC0809的工作过程:
首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。
此地址经译码选通8路模拟输入之一到比较器。
START上升沿将逐次逼近寄存器复位。
下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。
直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。
当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。
转换数据的传送A/D转换后得到的数据应及时传送给单片机进行处理。
数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。
ADC0832的接线图比较简单,将D0~D7接单片机的P1口,CLK接外部时ST=P3.4,EOC=P3.5,OEP接P3.6。
通道选择C=P2.0,B=P3.7,A=P2.7。
INT0和INT1分别为电压测量输入通道0和电流测量输入通道1。
4.液晶显示驱动的设计
开发仿真软件使用KeiluVision3,C语言编程。
采用YJD12864C—1(汉字图形点阵液晶显示模块),可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM),显示内容为128列×64行。
该模块有并行和串行两种连接方法,在本设计中采用并行连接方法。
该部分利用STC89C52单片机来控制液晶显示,显示输出电压。
5.附录
5.1MC34063的引脚图如下:
5.2LC滤波电路
电路如图3所示
图3LC滤波电路
5.3逆变电源总电路
电路图如图2所示
5.4ADC0809引脚图如下:
ADC0832工作时序图如图所示
5.5PWM波程序流程图:
主函数流程图匹配中断函数流程图
5.6程序流程图如图所示。
5.7程序清单
(一)SPWM波程序
#include"config.h"
#include"math.h"
#definepi3.1415926
#defineN200
inti=0;
floatTEMP,TEMP1,TEMP2;
intMR1[N],MR3[N],MR5[N];
void__irqPWMCaculate(void)
{
PWMMR1=MR1[i];
PWMMR3=MR3[i];
PWMMR5=MR5[i];
i++;
if(i>=N)
i=0;
PWMLER=0x7F;
VICVectAddr=0x00;
}
voidPwm_Init(void)
{PINSEL0=(2<<2)|(2<<0);
PINSEL1=(1<<10);
PWMTCR=0x02;
PWMPR=0x00;
PWMMCR=0x03;
PWMPCR=(0<<0)|
(0<<3)|
(0<<5)|
(1<<9)|
(1<<11)|
(1<<13);
PWMMR0=Fpclk/12000;
PWMLER=0x7F;
PWMTCR=0x09;
RQEnable();
VICIntSelect=0x00;
VICVectCntl0=0x20|8;
VICVectAddr0=(uint32)PWMCaculate;
VICIntEnable=1<<8;
}
voidInit_VPB_PLL(void)
{
//Fosc=11.0592MHz
//Fcclk=11.0592*6=66.3552MHz
//Fcco=66.3552*2*P=265.4208MHz
//Fpclk=16.5888MHz
//配置VPB分频器相关寄存器
VPBDIV=0x00;//Fcclk*1/4
//配置PLL锁相环相关寄存器
PLLCON=0x01;//PLLE=1PLL使能但PLL未连接
PLLCFG=0x26;//00100111分频器值(P=2)倍增器值(M=7)
PLLFEED=0xAA;//0xAA和0x55,为固定数据,写入以后。
配置才会生效。
PLLFEED=0x55;
while((PLLSTAT&(1<<10))==0);
PLLCON=0x03;//PLLE=1PLLC=1PLL使能并连接
PLLFEED=0xAA;
PLLFEED=0x55;
}
intmain()
{intk=0;
Init_VPB_PLL();
PWMMR0=Fpclk/12000;
while(k {EMP=0.5*(1+0.97*sin(k*2*pi/N)); TEMP1=0.5*(1+0.97*sin(k*2*pi/N+2*pi/3)); TEMP2=0.5*(1+0.97*sin(k*2*pi/N-2*pi/3)); MR1[k]=(uint32)(PWMMR0*TEMP); MR3[k]=(uint32)(PWMMR0*TEMP1); MR5[k]=(uint32)(PWMMR0*TEMP2); k=k+1; } Pwm_Init(); while (1); return0; } /********************************************************************************************************* **EndOfFile ********************************************************************************************************/ (二)系统测量程序 #include #include #include #defineucharunsignedchar #defineuintunsignedint sbitkey1=P3^0;//定义按键位置 sbitkey2=P3^1; sbitkey3=P3^2; sbitADC0809_ST=P3^4;//定义采样控制口 sbitADC0809_EOC=P3^5; sbitADC0809_OE=P3^6; sbitC=P2^0;//定义采样通道定义 sbitB1=P3^7; sbitA=P2^7; sbitRS=P2^4;//定义LCD显示控制口 sbitRW=P2^5; sbitE=P2^6; longintk,z=100,counter1=0; longintsum1=0,sum2=0;//定义采样求和 floatcounter2=0,tmp=0; floatu1=0,i1=0,w=0,w1=0,w2=0;//定义三相电压电流功率频率 voiddelayms(uintz)//延时zms {uinti; ucharj; for(i=z;i>0;i--) for(j=110;j>0;j--); } voiddelay(uinti)//延时 { while(i--); } voidzhiling(uchara)//LCD12864写命令 { E=0;RS=0;RW=0; E=1; P0=a; delayms (2);//延时5ms E=0; delayms (2);//延时5ms } voidshuju(ucharb)//LCD12864写数据 {E=0;RS=1;RW=0; E=1; P0=b; delayms (2);//延时5ms E=0; delayms (2);//延时5ms } voidlcd_init()//LCD12864初始化 {zhiling(0x01);//清屏 zhiling(0x30);//功能设置 zhiling(0x0e);//开/关显示设置 zhiling(0x06);//输入方式设置 zhiling(0x14);//光标右移 } voidwritestring(char*str)//LCD12864写字符 {inti=0; while(str[i]! ='\0') {shuju(str[i++]); } } voidwritedata(longintd)//LCD12864写数字 {uintshi,ge,shifen,baifen,qianfen; shi=(uint)(d/10000); ge=(uint)(d%10000/1000); shifen=(uint)(d%1000/100); baifen=(uint)(d%100/10); qianfen=(uint)(d%10); if(shi) shuju(shi+'0'); shuju(ge+'0'); writestring("."); shuju(shifen+'0'); shuju(baifen+'0'); shuju(qianfen+'0'); } voidwritedata1(floatd)//写频率数字 {uintqian,bai,shi,ge,shifen,baifen,qianfen; qian=(uint)d/1000; bai=(uint)(d/100)%10; shi=(uint)(d/10)%10; ge=(uint)d%10; shifen=(uint)((d-(uint)d)*10)%10; baifen=(uint)((d-(uint)d)*100)%10; qianfen=(uint)((d-(uint)d)*1000)%10; if(qian) shuju(qian+'0'); if(qian||bai) shuju(bai+'0'); if(qian||bai||shi) shuju(shi+'0'); shuju(ge+'0'); writestring("."); shuju(shifen+'0'); shuju(baifen+'0'); shuju(qianfen+'0'); } voiddianyaxianshi() { zhiling(0x80); writestring("电压测量"); zhiling(0x90); writestring("1相U=");writedata(u1); zhiling(0x97);writestring("V"); zhiling(0x88); writestring("2相U=");//writedata(u1); zhiling(0x8F);writestring("V"); zhiling(0x98); writestring("3相U=");//writedata(u1); zhiling(0x9F);writestring("V"); } voiddianliuxianshi() { zhiling(0x80); writestring("电流测量"); zhiling(0x90); writestring("1相I=");writedata(i1); zhiling(0x97);writestring("A"); zhiling(0x88); writestring("2相I=");//writedata(i1); zhiling(0x8F);writestring("A"); zhiling(0x98); writestring("3相I=");//writedata(i1); zhiling(0x9F);writestring("A"); } voidgonglvxianshi() { zhiling(0x80); writestring("频率=");writedata1(counter2); zhiling(0x87);writestring("Hz"); zhiling(0x90); writestring("有功W="); zhiling(0x97);writestring("w"); zhiling(0x88); writestring("无功W="); zhiling(0x8F);writestring("w"); zhiling(0x98); writestring("功率因素="); } longintADC0809caiyang1(uintq)//通道1采样 {longinti1; longintgetdata1; P1=0xff; ADC0809_ST=0; C=0; B1=0; A=q; delay(10); ADC0809_ST=1; delay(10); ADC0809_ST=0; delay(10); while(ADC0809_EOC==0); ADC0809_OE=1; getdata1=P1;//初始二进制采样值 ADC0809_OE=0; i1=getdata1*5000/256; returni1; } voidInit_Timer(void)//定义定时器 { TMOD=0x11;//使用模式1,16位定时器 TH0=0x3c;TL0=0xaf;//给定初值,这里使用定时器最大值从0开始计数一直到65535溢出 TH1=(65536-10000)/256;TL1=(65536-10000)%256; EA=1;//总中断打开 EX1=1;//允许外部中断INT1 IT1=1;//选择外部中断边沿触发方式 ET0=1;ET1=1;//定时器中断打开 TR0=1;TR1=1;//定时器开关打开 } voidmain() { z=100; Init_Timer(); lcd_init(); dianyaxianshi(); while (1) { if(! key1) k=1;//按下1相应的键显示三相电压 if(! key2) k=2;//按下3相应的键显示三相电流 if(! key3) k=3;//按下4相应的键显示功率与频率 switch(k) {case1: lcd_init(); dianyaxianshi();delayms(1000);break;//k=1按下3相应的键显示三相电压 case2: lcd_init(); dianliuxianshi();delayms(1000);break;//k=2按下7相应的键显示三相电流 case3: lcd_init(); gonglvxianshi();delayms(1000);break;//k3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 三相 交流 电源 5555