世纪电源网社区logo
社区
Datasheet
标题
返回顶部
未解决

移相全桥DC-DC电路,输出电压振荡

[复制链接]
查看: 480 |回复: 9
1
wb547443498
  • 积分:225
  • |
  • 主题:2
  • |
  • 帖子:17
积分:225
LV3
助理工程师
  • 2019-7-5 14:27:30
100问答币

各位前辈,小弟是一名研二学生,现在在做移相全桥DC-DC实验时,遇到了问题,自己琢磨了很久,没能解决,特来此地求助给位前辈,希望给位前辈能为小弟指点迷津

双有源桥直流变换器双向功率流电路拓扑,如图1所示。由一个高频变压器T、电感L(包括变压器的漏感)、变压器两侧的有源全桥、输入电压源U1输出电压源U2支撑电容C1C2构成。可以根据变换器两边能量的需求关系来控制传输功率的大小和方向。
变换器工作在正向功率流时:每组桥臂的上下开关管互补导通(理想情况下忽略死区),原边全桥的对角开关管之间存在一个移相占空D1S4上升沿比S1上升沿滞后D1Ths,其中Ths为半个开关周期。副边全桥的对角开关管之间没有移相,每组对角线导通180°两个全桥之前存在移相占空D2S5上升沿比S1上升沿滞后D2Ths


二、PCB QQ图片20190705141057.png QQ图片20190705141123.png
1、原理图
图片4.png
2、实物图
图片5.png 图片6.png
三、主要器件参数
开关管(八个管子一样):
碳化硅管C3M0065090D  COSS =60PFtrr=30nsIrrm=7.5A   
变压器:
磁芯:铁氧体PM62/49,变比:1:1.8,原边自感:2mH,原边漏感:1.5uH,副边自感:800uH,副边漏感:500nH
电感:
L=150uHR=0.244
隔直电容:
Cgb1:CBB电容,容值为6.8u
Cgb2:CBB电容,由两个电容并联,6.85u并联10u16.85u
支撑电容:
电解电容:C1=C2=470u
开关频率及死区:
频率为50kHz,死区时间为200ns
指标:
输入电压:400VDC,输出电压:200VDC

四、实验波形
  整个实验过程采用风冷,器件温度正常。
  1、未上电时的驱动波形,从上到下依次是S1~S4,S5~S8和某一个开关的上升下降时间,可以看出驱动正常,没有波动,桥臂死区存在,开关上升和下降正常。
图片7.png 图片8.png 图片9.png

2、上电时(此时输出电压为205V,功率为1.6kW)的驱动波形,从上到下依次是S1~S4,S5~S8,电感电压VL,变压器原边中点电压VAB,变压器副边中点电压VCD。可以看出驱动在各个开关切换点出现震荡,各电压也在开关切换点出现震荡。
图片10.png 图片11.png 图片12.png
其震动点波形依次展开如下,发现震荡主要出现在开关切换点的死区内。
图片13.png 图片14.png 图片15.png



其电压应力如下,分别是S1~S4其应力大小基本正确,除了振荡点外。
图片16.png

该图从上到下依次是输入电压,输出电压,后面两个是驱动,可以看出,输出电压和输入电压都有振荡。
图片17.png

共有两种振荡,这是输出电压第一种振荡的展开,发现其振荡频率约为26MHz,不过展开另一种小的振荡并没有发现有规律的振荡频率。


图片18.png
下图是单个周期的展开和细节展开,前三个图从上到下依次是S1~S4,S5,S6,输出电压,输入电压,电感电压和电感电流。后三个图是S5关断,S6开通时刻的展开。可以发现,振荡就发生在死区之间  
图片19.png 图片20.png 图片21.png
图片22.png 图片23.png 图片24.png
五、尝试解决问题
1、怀疑输出和输入电解电容容值太小,在输出和输入电容上又并联了三个同样型号的电解电容,发现并没有解决这个问题。
2、怀疑输出和输入电解电容内阻太大,在输出和输入电容上又并联了一个10uCBB电容,发现并没有解决这个问题。
3、怀疑管子DS电容太小,同时在八个管子的DS端并联0.47n的高压电容,发现震荡的幅值略有减小,但效果并不满意,整个电路的效率下降了0.5%。还是觉得DS电容太小,重新并联4.7n的高压电容,效果还是不好。
4、怀疑隔直电容与漏感震荡,将隔直电容全部短路,发现没有效果,反而电感电流产生了很小的直流偏移。
5、怀疑是PCB布板太差,但不知道如何解决
下图是使用CLC录波器后的波形。
图片25.png 图片26.png 图片27.png
可以看出,采用CLC滤波后,输出电压振荡变小(大概只有7V左右的振荡),但是电感电压并没有变化,且效率降低了,其原因是,电解电容在50KHz时,容性太差,在开关切换时,寄生电感上由于产生电压振荡,电容后面接了LC后,振荡电压部分降落在电感上,因此输出电压振荡会减小。

ailuer_shijidianyuan
  • 积分:5169
  • |
  • 主题:16
  • |
  • 帖子:885
积分:5169
LV8
副总工程师
  • 2019-7-6 10:11:11
  • 倒数9
 
那是开关节点的震荡传出来的,震荡是由寄生电感和寄生电容引起的,这是不可避免的,只能是尽量的减小,输入输出母线距离管子较靠近的地方增加高频电容看看

评分

参与人数 121币 +5收起理由
世纪电源网-恬恬 + 5

查看全部评分

wb547443498
  • 积分:225
  • |
  • 主题:2
  • |
  • 帖子:17
积分:225
LV3
助理工程师
  • 2019-7-6 13:01:59
  • 倒数8
 
谢谢您的建议,我正打算将两端的电容靠近管子一些,另外我想问一下,用铜皮绕制的变压器是不是寄生电容比铜线绕制的变压器的寄生电容要大一些?
ailuer_shijidianyuan
  • 积分:5169
  • |
  • 主题:16
  • |
  • 帖子:885
积分:5169
LV8
副总工程师
  • 2019-7-8 09:06:30
  • 倒数3
 
是的,而且在同样的匝数和同样的截面积下,铜皮的温升高于铜线
宋小祥
  • 积分:121
  • |
  • 主题:1
  • |
  • 帖子:4
积分:121
LV2
本网技师
  • 2019-7-7 10:33:21
  • 倒数7
 
学长好,我在做单移相的时候也遇到过,直流母线加电容会好一些。我现在遇到的问题是DSP28335移相输出的驱动对不上,单移相好使,双移相就不好使了,下面附上程序,师兄帮看一眼可以么。
void InitEPwm1Example()
{
   // Setup TBCLK
   EPwm1Regs.TBPRD = 3000;           // Set timer period
   EPwm1Regs.TBPHS.half.TBPHS = 0; // Set Phase register to zero
   EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN; // Symmetrical mode
   EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE; // Master module
   EPwm1Regs.TBCTL.bit.PRDLD = TB_SHADOW;
   EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN; // Sync down-stream module
   EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
   EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
   EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; // load on CTR=Zero
   EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; // load on CTR=Zero
   EPwm1Regs.AQCTLA.bit.CAU = AQ_SET; // set actions for EPWM1A
   EPwm1Regs.AQCTLA.bit.CAD = AQ_CLEAR;
   EPwm1Regs.DBCTL.bit.OUT_MODE = DB_FULL_ENABLE; // enable Dead-band module
   EPwm1Regs.DBCTL.bit.POLSEL = DB_ACTV_HIC;      // Active Hi complementary
   EPwm1Regs.DBFED = 300;
   EPwm1Regs.DBRED = 300;
   // Interrupt where we will change the Compare Values
   EPwm1Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO;     // Select INT on Zero event
   EPwm1Regs.ETSEL.bit.INTEN = 1;                // Enable INT
   EPwm1Regs.ETPS.bit.INTPRD = ET_1ST;           // Generate INT on 1st event
}
void InitEPwm2Example()
{
   EPwm2Regs.TBPRD = 3000;           // Set timer period
   EPwm2Regs.TBPHS.half.TBPHS = 800; // Phase = 300/900 * 360 = 120 deg
   EPwm2Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN; // Symmetrical mode
   EPwm2Regs.TBCTL.bit.PHSEN = TB_ENABLE; // Slave module
   EPwm2Regs.TBCTL.bit.PHSDIR = TB_UP; // Count DOWN on sync (=120 deg)
   EPwm2Regs.TBCTL.bit.PRDLD = TB_SHADOW;
   EPwm2Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN; // sync flow-through
   EPwm2Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
   EPwm2Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
   EPwm2Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; // load on CTR=Zero
   EPwm2Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; // load on CTR=Zero
   EPwm2Regs.AQCTLA.bit.CAU = AQ_SET; // set actions for EPWM2A
   EPwm2Regs.AQCTLA.bit.CAD = AQ_CLEAR;
   EPwm2Regs.DBCTL.bit.OUT_MODE = DB_FULL_ENABLE; // enable Dead-band module
   EPwm2Regs.DBCTL.bit.POLSEL = DB_ACTV_HIC; // Active Hi Complementary
   EPwm2Regs.DBFED = 300;
   EPwm2Regs.DBRED = 300;
   // Interrupt where we will change the Compare Values
   EPwm2Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO;        // Select INT on Zero event
   EPwm2Regs.ETSEL.bit.INTEN = 1;                   // Enable INT
   EPwm2Regs.ETPS.bit.INTPRD = ET_1ST;              // Generate INT on 1st event
}
void InitEPwm3Example(void)
{
   // Setup TBCLK
   EPwm3Regs.TBPRD = 3000;           // Set timer period
   EPwm3Regs.TBPHS.half.TBPHS = 300; // Phase = 300/900 * 360 = 120 deg
   EPwm3Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN; // Symmetrical mode
   EPwm3Regs.TBCTL.bit.PHSEN = TB_DISABLE; // Slave module
   EPwm2Regs.TBCTL.bit.PHSDIR = TB_UP; // Count UP on sync (=240 deg)
   EPwm3Regs.TBCTL.bit.PRDLD = TB_SHADOW;
   EPwm3Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN; // sync flow-through
   EPwm3Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
   EPwm3Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
   EPwm3Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; // load on CTR=Zero
   EPwm3Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; // load on CTR=Zero
   EPwm3Regs.AQCTLA.bit.CAU = AQ_SET; // set actions for EPWM3Ai
   EPwm3Regs.AQCTLA.bit.CAD = AQ_CLEAR;
   EPwm3Regs.DBCTL.bit.OUT_MODE = DB_FULL_ENABLE; // enable Dead-band module
   EPwm3Regs.DBCTL.bit.POLSEL = DB_ACTV_HIC; // Active Hi complementary
   EPwm3Regs.DBFED = 300;
   EPwm3Regs.DBRED = 300;
   // Interrupt where we will change the Compare Values
   EPwm3Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO;     // Select INT on Zero event
   EPwm3Regs.ETSEL.bit.INTEN = 1;                // Enable INT
   EPwm3Regs.ETPS.bit.INTPRD = ET_1ST;           // Generate INT on 1st event
}

wb547443498
  • 积分:225
  • |
  • 主题:2
  • |
  • 帖子:17
积分:225
LV3
助理工程师
  • 2019-7-7 12:56:15
  • 倒数6
 
对不上?   是移相角度对不上吗? 还是驱动的顺序对不上
宋小祥
  • 积分:121
  • |
  • 主题:1
  • |
  • 帖子:4
积分:121
LV2
本网技师
  • 2019-7-7 22:01:49
  • 倒数5
 
哥,你是怎么消除尖峰电压的啊
双移相电压电流.png
伟林电源
  • 积分:22225
  • |
  • 主题:204
  • |
  • 帖子:8345
积分:22225
版主
  • 2019-7-8 07:19:45
  • 倒数4
 
加吸收电路抑制尖峰,
宋小祥
  • 积分:121
  • |
  • 主题:1
  • |
  • 帖子:4
积分:121
LV2
本网技师
  • 2019-7-8 17:50:38
  • 倒数2
 
单移相正常,双移相的时候原边电压有个跌落,为了找出问题,不加变压器输出电压正常,加了传输电感与变压器,并且变压器副边什么都不加,原边输出测会有跌落。请问是什么原因呢?
0975a7f47f48a2e9a86773e2f7e2ef1.jpg
835423706
  • 积分:225
  • |
  • 主题:2
  • |
  • 帖子:34
积分:225
LV3
助理工程师
最新回复
  • 2019-7-13 21:54:51
  • 倒数1
 
这个不影响功能是没什么问题的。
热门技术、经典电源设计资源推荐

世纪电源网总部

地 址:天津市南开区黄河道大通大厦5层

电 话:400-022-5587

传 真:(022)27690960

邮 编:300110

E-mail:21dy#21dianyuan.com(#换成@)

世纪电源网分部

广 东:(0755)28285637 /(13823562357)

北 京:(010)69525295 /(15901552591)

上 海:(021)24200688 /(13585599008)

香 港:HK(852)92121212

China(86)15220029145

网站简介 | 网站帮助 | 意见反馈 | 联系我们 | 广告服务 | 法律声明 | 友情链接 | 清除Cookie | 小黑屋 | 不良信息举报

Copyright 2008-2019 21dianyuan.com All Rights Reserved    备案许可证号为:津ICP备10002348