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

调试了很久,逆变器推挽前级总是出问题

[复制链接]
查看: 11151 |回复: 24
1
ericjackson05
  • 积分:1589
  • |
  • 主题:43
  • |
  • 帖子:280
积分:1589
LV6
高级工程师
  • 2017-1-10 16:28:36
10问答币
我先描述一下现象
前级的电路图就是这样:
1.jpg
用DSP产生带死区互补的40kHzPWM信号,然后经过HCPL2232高速光耦隔离,后接推挽驱动芯片,接MOS管然后接推挽变压器。
推挽变压器的参数是前级4T+4T,后级134T,将12V升压至400V。
现象如下:输入11.4V以下正常工作,输入电压再高出现异常
输入滤波电容采用5500UF时,输入电压低于11.4V时能够正常升压;
但是提高输入电压之后,输入电压被拉低,变压器开始吱吱吱的响,光耦之后的波形就开始乱,其中一个MOS管发烫,过几秒之后,烧推挽驱动芯片或者烧光耦。怀疑是变压器偏磁饱和,加入气隙,毫无改善;加大死区,毫无改善。
采用不同容量的输入滤波电容,出现问题时的输入电压阈值也会变化,例如,采用3300uF,9V左右就会出问题,找不到问题的原因所在。

不换芯片不换方案,单就这个电路而言,问题应该是什么?
nc965
  • 积分:93523
  • |
  • 主题:115
  • |
  • 帖子:27314
积分:93523
版主
  • 2017-1-10 21:18:01
 
建议你多研究波形
ericjackson05
  • 积分:1589
  • |
  • 主题:43
  • |
  • 帖子:280
积分:1589
LV6
高级工程师
  • 2017-1-12 16:44:30
 
波形我附到4楼了,麻烦您看一下,我真是没有办法了...
ailuer_shijidianyuan
  • 积分:7859
  • |
  • 主题:18
  • |
  • 帖子:937
积分:7859
LV8
副总工程师
  • 2017-1-11 09:44:44
 
变压器加气隙怎么能防止饱和呢?只能会有所轻微改善一下。
看你的现象,应该是变压器饱和了,饱和的时候就会有那种声音
ericjackson05
  • 积分:1589
  • |
  • 主题:43
  • |
  • 帖子:280
积分:1589
LV6
高级工程师
  • 2017-1-12 16:44:02
 
嗯应该是饱和了,我查了一些资料,他们用的都是SG3525或者UC3846之类的逐周期电流检测PWM控制芯片,我不想用这些,因为这些很不灵活,改变频率、占空比、死区时间什么的还要改动硬件电路,而且外围电路很复杂。我上网查不到用DSP/MCU产生推挽波形,如何防止偏磁的方法,我觉得用这些微控制器比较灵活,随时随地改变程序即可。
今天测了一下波形,现象直指偏磁。
下面放一些刚才测试的图:
1、推挽驱动电路+推挽变压器,变压器次级空载时的次级波形图:
推挽变压器空载波形.png
可以看到没有偏磁,波形正常。

2、推挽变压器后接高频整流桥再接滤波电容,次级波形图:
整体:
接入C后的变压器次级波形.png
细节:
接入C后的变压器次级波形细节.png

以上两个图是刚给滤波电容充电的瞬间,消耗的电流比较大,输入直流电源我设置了限流3A左右,直流源电压被拉低。
随着充电的进行,直流源输出电压逐渐升高,但始终到不了设定的12V,我不敢再把限流设置高了,3A已经不小了,毕竟逆变器没接负载。
然后偏磁的时间越来越短,直到似乎消失,如下图:
接入C后等待一段时间之后变压器次级波形_不偏磁但是电压拉低.png

但是这时候电路还是有短路的地方,直流电源设置的12V/3A,直接飙到3A,电压被拉低到8.8V。
现在空载还不行呢,逆变器后级一加上载就更不行了,给电容都充不进去电,变压器吱吱吱吱响,而且永远达不到“似乎不偏磁”的状态。

驱动频率40kHz(周期25us),死区时间1us
ericjackson05
  • 积分:1589
  • |
  • 主题:43
  • |
  • 帖子:280
积分:1589
LV6
高级工程师
  • 2017-1-12 16:55:58
 
我再说一下的想法和猜测:1、推挽变压器不带载前级电流小所以不易偏磁,电流和磁场强度成正比,电流大了磁场强度就大,看磁滞回线可知,就更容易达到Bmax;

Imax=Bmax*lm/(u*N)
其中lm是平均磁路长度,u是磁导率,N是匝数;
2、根据上面那个公式,我认为变压器不变的情况下,减小匝数能够使通过的电流增大而不饱和
lizlk
  • 积分:6600
  • |
  • 主题:15
  • |
  • 帖子:1062
积分:6600
版主
  • 2017-1-12 17:25:52
 
你开环的时候,是什么样子,也就是说,断开变压器次级与整流回路看看驱动发波的样子
或者你直接发20%占空比的PWM,先不做环路,看看整个电路是什么样子的波形,一步步来,现在你这样,感觉太乱,以至于,你自己都不好从哪里下手了。
lizlk
  • 积分:6600
  • |
  • 主题:15
  • |
  • 帖子:1062
积分:6600
版主
  • 2017-1-12 17:29:40
 
看明白了,原来你用了一对PWM,目前你的PWM配置出相位交错的PWM应该很难,你互补的话,应该是错的,推挽的PWM是要相位交错,带死区而已。
ericjackson05
  • 积分:1589
  • |
  • 主题:43
  • |
  • 帖子:280
积分:1589
LV6
高级工程师
  • 2017-1-12 21:13:13
 
您说的交错相位是这样吗?
波形说明.jpg
如果是这样,我试了,直接直通了
lizlk
  • 积分:6600
  • |
  • 主题:15
  • |
  • 帖子:1062
积分:6600
版主
  • 2017-1-12 22:50:03
 
你这个不是的。这样是直通了。
ericjackson05
  • 积分:1589
  • |
  • 主题:43
  • |
  • 帖子:280
积分:1589
LV6
高级工程师
  • 2017-1-12 20:22:39
 
两路驱动波形就是这样的:40kHz(12.5us高/12.5us低),两路互补,带1us死区时间。
scope_0.png

您说的相位交错是什么意思?类似于移相全桥吗,就是有同时为高的时候?

lizlk
  • 积分:6600
  • |
  • 主题:15
  • |
  • 帖子:1062
积分:6600
版主
  • 2017-1-12 22:50:51
 
我很奇怪,你的EPWM2的一对,怎么能做出相位交错180度的PWM呢?如果用EPWM1和EPWM2的其中一个还有可能呢。
你下面的这个图,没有问题,基本上就是这种了,现在是相位差180度,正常。
ericjackson05
  • 积分:1589
  • |
  • 主题:43
  • |
  • 帖子:280
积分:1589
LV6
高级工程师
  • 2017-1-13 09:46:17
 
没错呀,EPWM2A和EPWM2B就是来自28027的一对PWM信号呀,EPWM2A是主通道,2B是辅通道,辅通道在主通道的基础上设置了死区互补。给您看一下DSP这部分的配置函数:
void InitEPwm2()//用于驱动前级推挽
{
        //1/XHz=2*TBPRD*(1/60M)=>TBPRD=60M/(2*XHz)
        EPwm2Regs.TBPRD = 750;
        EPwm2Regs.TBPHS.half.TBPHS = 0x0000;
        EPwm2Regs.TBCTR = 0x0000;
        EPwm2Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN;
        EPwm2Regs.TBCTL.bit.PHSEN = TB_DISABLE;
        EPwm2Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;
        EPwm2Regs.TBCTL.bit.CLKDIV = TB_DIV1;
        EPwm2Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
        EPwm2Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
        EPwm2Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;
        EPwm2Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO;
        EPwm2Regs.CMPA.half.CMPA = 375;
        EPwm2Regs.AQCTLA.bit.CAU = AQ_CLEAR;
        EPwm2Regs.AQCTLA.bit.CAD = AQ_SET;
        EPwm2Regs.DBCTL.bit.OUT_MODE = DB_FULL_ENABLE;
        EPwm2Regs.DBCTL.bit.POLSEL = DB_ACTV_LOC;
        EPwm2Regs.DBCTL.bit.IN_MODE = DBA_ALL;
        EPwm2Regs.DBRED = 60;
        EPwm2Regs.DBFED = 60;
        EPwm2Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO;
        EPwm2Regs.ETSEL.bit.INTEN = 1;
        EPwm2Regs.ETPS.bit.INTPRD = ET_1ST;
}



id1001h
  • 积分:1022
  • |
  • 主题:1
  • |
  • 帖子:87
积分:1022
LV6
高级工程师
  • 2017-2-14 15:12:23
  • 倒数6
 
PWM配置不对,无法输出周期对称互补的推挽驱动波形;
让  PWM2A  在  ZERO      置1,  CAU  置0;
     PWM2B  在  PERIOD  置1,   CBD  置0;
DEAD BAND 寄存器不需要用;
更新值的时候,注意CMPB与CMPA互补,即:CMPB = PERIOD - CMPA ;


另外,软启是必需的
沧海一粒
  • 积分:1074
  • |
  • 主题:5
  • |
  • 帖子:159
积分:1074
LV6
高级工程师
  • 2017-3-29 22:37:41
  • 倒数4
 
您这样说,出来的波形也不对。我之前使用TMS320F28377S进行推挽波形的产生,首先EPWM应该配置成UP-DOWN模式,这样才能配置成合适的推挽驱动波形。
沧海一粒
  • 积分:1074
  • |
  • 主题:5
  • |
  • 帖子:159
积分:1074
LV6
高级工程师
  • 2017-3-29 22:40:26
  • 倒数3
 
还差了一点,没有CMPB,附上我的配置程序,来交流一下哇!
        EPwm7Regs.CMPA.bit.CMPA = SYSCLK_FREQ / Freq / 100 * Duty - 1;                                // set duty Duty% initially
        EPwm7Regs.CMPB.bit.CMPB = SYSCLK_FREQ / Freq / 100 * (100 - Duty) - 1;
        EPwm7Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
        EPwm7Regs.CMPCTL.bit.LOADAMODE = CC_CTR_PRD;

        // Action Qualifier SubModule Registers
        EPwm7Regs.AQCTLA.bit.CAU = AQ_CLEAR;
        EPwm7Regs.AQCTLA.bit.CAD = AQ_SET;

        EPwm7Regs.AQCTLB.bit.CBU = AQ_SET;
        EPwm7Regs.AQCTLB.bit.CBD = AQ_CLEAR;

lizlk
  • 积分:6600
  • |
  • 主题:15
  • |
  • 帖子:1062
积分:6600
版主
  • 2017-1-12 22:52:35
 
目前启动的时候,你加了软启动不,这种推挽,如果不加软启动,将会超大电流,拉低你的直流源。
另外你的整流后,高压电容是多大,如果容量大,一样存在拉低直流源。
还有你上面的那种波形,怎么呈现了断续,是什么问题造成,难道是拉低直流源,造成DSP复位,然后又重新开机吗?
ericjackson05
  • 积分:1589
  • |
  • 主题:43
  • |
  • 帖子:280
积分:1589
LV6
高级工程师
  • 2017-1-13 10:00:27
 
您这段话让我受益匪浅。
现在DSP使用的是外接适配器,不存在拉低DSP电源的情况。
整流后采用470uF/450V的电解,我看很多成品逆变器都采用这个值的,应该没问题。
昨天晚上我基本上找到问题的原因了。
原因是:
整流滤波后我采用的是LC滤波,L=10mH(Sendust磁环),C=470uF,3dB截止频率就是73.4Hz,我想把这个直流滤得直一些,所以采用这个如此低截止频率的二阶滤波。
但是,后级接的逆变全桥,相当于Boost里面的功率开关,而那个电感就是Boost电感,直接升压了!
驱动后级全桥的SPWM假设占空比在5%至95%变化,大概可以算一下,理论上最高升压值=高压直流母线电压/(1-Dmax)=350V/0.05=7000V!
考虑一些非理想因素,比如说输出电容ESR、电感DCR还有负载效应之类的,Boost升压比没这么大,但是总归是升压。
这个电压我昨天大概测了一下,峰值>600V,直接就把电解电容击穿失效了。
失效以后,我感觉大概是短路了。
这时候我一直在调前级推挽,电流非常大也止不住,几乎所有电流全部走后级的短路的滤波电容了!
我觉得应该是这个原因,下午我试一下。

如果是这个原因,那么我把电感去掉,但是去掉之后会有电流浪涌,如您所说我再加一个软启动电路,应该就能解决了。
ericjackson05
  • 积分:1589
  • |
  • 主题:43
  • |
  • 帖子:280
积分:1589
LV6
高级工程师
  • 2017-1-13 10:02:30
  • 倒数10
 
此外,我问您一下,逆变器的输入滤波电容怎么选取?我现在暂时选取的3300uF,它的作用就是为了防止推挽的高频往直流源上跑呗?
我找了很久,没有个明确的计算公式。
ericjackson05
  • 积分:1589
  • |
  • 主题:43
  • |
  • 帖子:280
积分:1589
LV6
高级工程师
  • 2017-1-14 22:45:02
  • 倒数9
 
今天基本上调通了,上电瞬间需要给后级滤波电容充电,电流颇大,把VIN拉低,而VIN同时也是推挽驱动芯片的电源,Vgs被拉低,由12V拉低至3-4V,然后MOSFET就工作在了线性区,然后MOSFET上压降就会变大,这样恶性循环,电路不能正常工作。
我现在暂时用的外接电源,但是实际的逆变器不可能有外接电源。我想解决方案有两种:
1、用个Boost电路,即使被拉低到3-4V,也输出12V,这样MOSFET就不会工作在线性区;
2、如您所说,用个软启动电路。

我在网上找的软启动电路都是一般的开关电源,高压小电流,但是逆变器需要低压大电流,大电流的继电器不好找,而且徒增损耗。
若用NTC的话,非冷态又不起作用。
那么适用于逆变器的软启动电路您有相关资料吗?非常感谢!
绍兴大力
  • 积分:1987
  • |
  • 主题:40
  • |
  • 帖子:372
积分:1987
版主
  • 2017-1-17 23:55:53
  • 倒数8
 
是母线电压直接拉低?我有种感觉你的供电电流不够。另外描述建议画个草图。不然感觉你有点乱。
wujianyu
  • 积分:992
  • |
  • 主题:78
  • |
  • 帖子:371
积分:992
LV6
高级工程师
  • 2017-2-14 11:15:34
  • 倒数7
 
可软件软起,开机时,PWM出一小占空比信号,慢慢给电容充电。亦可硬件限流解决。
沧海一粒
  • 积分:1074
  • |
  • 主题:5
  • |
  • 帖子:159
积分:1074
LV6
高级工程师
  • 2017-3-29 22:33:06
  • 倒数5
 
这个MOSFET,应该接在低端
zhiwei
  • zhiwei
  • 离线
  • LV4
  • 初级工程师
  • 积分:396
  • |
  • 主题:0
  • |
  • 帖子:6
积分:396
LV4
初级工程师
最新回复
  • 2018-3-3 08:02:43
  • 倒数1
 
这个方法很好,用极小占空比把母线电容充满后再打开占空比,再启动逆变输出。
xyharm
  • 积分:45
  • |
  • 主题:1
  • |
  • 帖子:3
积分:45
LV1
本网技工
  • 2018-3-2 13:56:14
  • 倒数2
 
楼主,您好,问下您这个是开环的还是闭环的!如果是闭环怎么软件的算法是怎么样的?
热门技术、经典电源设计资源推荐

世纪电源网总部

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

电 话:400-022-5587

传 真:(022)27690960

邮 编:300110

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

世纪电源网分部

广 东:(0755)82437996 /(138 2356 2357)

北 京:(010)69525295 /(15901552591)

上 海:(021)24200688 /(13585599008)

香 港:HK(852)92121212

China(86)15220029145

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

Copyright 2008-2024 21dianyuan.com All Rights Reserved    备案许可证号为:津ICP备10002348号-2   津公网安备 12010402000296号