【笔记】基于仿真探究整流管尖峰,以及 RC 吸收 | 二极管尖峰 | 漏感振铃 | 尖峰抑制 | 反压尖峰
一. 前言
最近作者在做一个高压输出的 D2D 电源,用来给电容充电。输出电压 0-2200V 连续可调、输出电流约 200 mA,那么副边基本的唯一选项就是高压整流二极管了。
因为手头没有合适的绕线工具,这次直接买了成品高压包。收到之后,将初级短接,使用数字电桥测量次级漏感,结果发现这个高压包的次级漏感相当大,接近 200 mH。
这会直接带来一个工程问题,反压尖峰,这就导致整流二极管所需的反向耐压就需要更高。
对二极管来说,反向耐压、正向电流、体积和价格往往很难同时兼顾。电流需求已经基本固定,所以更现实的思路是尽量压低尖峰电压,从而降低器件的耐压要求,顺便把体积和成本一起压下来。这也是这篇文章讨论副边尖峰抑制的主要目的。
在查资料的时候,其实发现对于副边二极管尖峰吸收的资料相对较少。猜测的一个重要原因是,很多现代电源已经上了同步整流,或是肖特基二极管,高频关断损耗不再像常规二极管那样明显,所以尖峰问题自然就迎刃而解了。(但是高压场景还是得用PN结二极管)
二. 反压尖峰是怎么来的
在讨论吸收之前,有必要先把尖峰的来源说清楚。
这里要考虑变压器和二极管的非理想模型。对变压器来说,有漏感 L s L_s Ls 串联在整个回路中。对于二极管来说,有分布电容 C C C 并联在二极管两端。

对于变压器来说,通常有:
L s ≪ L m L_s \ll L_m Ls≪Lm
根据电感感抗公式:
X L = 2 π f L X_L = 2 \pi f L XL=2πfL
对于尖峰和振铃这种高频振荡来说,励磁电感 L m L_m Lm 的感抗极高,它对电路的影响显著小于漏感 L s L_s Ls,对电路的影响。所以忽略 L m L_m Lm。
对于剩下的理想变压器来说,可以等效为一个方波电压源(假设原边方波驱动)。因此得到下图:

对于二极管分布电容,情况稍微复杂一些,需要考虑正偏时的扩散电容 C d C_d Cd 和反偏时的势垒电容 C j C_j Cj。
对于扩散电容 C d C_d Cd 描述的其实就是 Q r r Q_{rr} Qrr 反向恢复电荷。为了在电路中更好的进行分析,下文中都采用 C d C_d Cd 扩散电容的模型来分析, C d C_d Cd 由下式给出 [1]:
C d 0 = q L n 2 2 k T D n J F C_{d0} = \frac{q L_n^2}{2 k T D_n} J_F Cd0=2kTDnqLn2JF
又因为:
J = I A J = \frac{I}{A} J=AI
所以可以看出:
C d ∝ I C_d \propto I Cd∝I
势垒电容则可写成 [2]:
C j = C j 0 ( 1 − V V b ) m C_j = \frac{C_{j0}}{\left(1 - \frac{V}{V_b}\right)^m} Cj=(1−VbV)mCj0
势垒电容 C j C_j Cj 虽然会随着反偏电压增加而减小,但由于这里的指数 m m m Grading Coefficient, 0.33 < m < 0.5 0.33 < m < 0.5 0.33<m<0.5 ,变化较为缓慢。为了简化模型,此处当作常数处理。
所以最后就能得到二极管总分布电容的表达式:
C e q = C j + C d = C j + q L n 2 2 k T D n A I \boxed{C_{eq} = C_j + C_d = C_j + \frac{q L_n^2}{2 k T D_n A} I} Ceq=Cj+Cd=Cj+2kTDnAqLn2I
这和经验也是一致的,没有电流 I = 0 I = 0 I=0 的时候, C d = 0 C_d = 0 Cd=0,此时主要由耗尽电容 C j C_j Cj 主导;有正向电流的时候则分布电容被 C d C_d Cd 主导。
这个公式有什么意义呢?其实已经隐含二极管关断损耗较大,而开通损耗较小的原因。二极管从关断到开通的时候,只需要给较小的耗尽电容 C j C_j Cj 充电(建立扩散电荷);从导通到关断的时候,则需要给 C j C_j Cj 与 C d C_d Cd 两个电容放电(抽空载流子),并且导通时候的电流越大, C d C_d Cd 越大,在相同时间内关断所需的放电电流就更大。
现在就可以理解尖峰是怎么产生的了,由于二极管从导通到关断的时候需要将较大的扩散电容放电,就会产生反向电流尖峰,而漏感会续流,因此产生反向电压尖峰。
在 Multisim 中搭建以下电路进行仿真。

使用函数发生器发生40kHz峰峰值20V的方波电压源。并设置原件初始值(如图)。

可得以下波形图。

图中蓝线是电流,红线是电压,绿线是输入方波。
尖峰产生的过程大致可以拆成四个阶段:

阶段 1:二极管正常导通,原边向副边传递能量。

阶段 2:原边电压翻转,但由于漏感储能仍在释放,回路会续流一段时间,二极管暂时还保持导通。

阶段 3:二极管即将关断,扩散电容需要放电,于是出现负向电流尖峰。随后这个负电流电流被漏感续流,在结电容上拉出反向电压尖峰,也就是二极管的反压尖峰。此时负载电流主要由输出电容提供。

阶段 4:二极管已经反偏关断。漏感 L s L_s Ls 与势垒电容 C j C_j Cj 发生 LC 振荡,再叠加输入的电压源源带来的直流偏置,就形成了带偏置的振荡波形,也就是所谓 “振铃”。

三. 负载对尖峰和振铃的影响
在进行RC吸收设计之前,工程上通常需要先考虑最坏工况,也就是尖峰电压最大的情况。只有在最坏情况下也能被有效抑制,整个电路在其他工况下才是安全可靠的。
对于该电路而言,变压器参数、二极管选型、 C bulk C_{\text{bulk}} Cbulk、以及其他寄生参数都是在电源内部,是常量,而负载电阻 R l R_l Rl 是唯一可能变化的外部因素。不同的负载条件(轻载或重载)会直接影响二极管电流、扩散电容大小以及漏感中的储能,从而改变尖峰电压和振铃幅度。
因此,在设计吸收电路之前,有必要先分析:
尖峰电压是在轻载( R l 较大)时更严重,还是在重载( R l 较小)时更严重? \text{尖峰电压是在轻载(}R_l\text{ 较大)时更严重,还是在重载(}R_l\text{ 较小)时更严重?} 尖峰电压是在轻载(Rl 较大)时更严重,还是在重载(Rl 较小)时更严重?
不妨先定性分析一下:
在尖峰和振铃的时候,二极管反偏不参与,分析交流振铃的时候可以忽略电压源带来的直流偏置。因此得到以下电路:

在整个系统中,只有负载电阻 R l R_l Rl 在消耗能量,提供阻尼,其余原件只有 L L L 和 C C C,所以不妨用RLC模型分析。
但是这样就会遇到以下问题:
- 这个电路既不是标准串联 RLC,也不是标准并联 RLC,单靠肉眼不太容易判断 R l R_l Rl 在特征方程里到底落在分子还是分母。
- 即便先强行套一个模型,也会遇到“阻尼变化”和“初始储能变化”同时存在的问题。因为扩散电容和电流相关,而电流又和负载相关,所以尖峰初始能量本身也在变。
也就是说,只靠定性分析,很难直接得到稳妥结论。
这里作者一开始想到的方法是通过基尔霍夫对电路建模,进行数学推理,目的是找出在 R l R_l Rl 变化的时候,到底是阻尼的变化更显著还是扩散电容的变化更显著。
- 输出电压为 V o = V C b u l k = V R l V_o = V_{C_{bulk}} = V_{R_l} Vo=VCbulk=VRl
- 电感电压为 V L = L s d I L d t V_L = L_s \frac{dI_L}{dt} VL=LsdtdIL
- 结电容电流为 I C j = C j d V j d t = C j d ( V L − V o ) d t I_{C_j} = C_j \frac{dV_j}{dt} = C_j \frac{d(V_L - V_o)}{dt} ICj=CjdtdVj=Cjdtd(VL−Vo)
- 输出电容电流为 I C bulk = C bulk d V o d t I_{C_{\text{bulk}}} = C_{\text{bulk}} \frac{dV_o}{dt} ICbulk=CbulkdtdVo
- 负载电流为 I R l = V o R l I_{R_l} = \frac{V_o}{R_l} IRl=RlVo
由于 L s L_s Ls 与 C j C_j Cj 串联,有:
I L = I C j = I I_L = I_{C_j} = I IL=ICj=I
使用KCL:

I − C bulk d V o d t − V o R l = 0 I - C_{\text{bulk}} \frac{dV_o}{dt} - \frac{V_o}{R_l} = 0 I−CbulkdtdVo−RlVo=0
使用KVL:

V L + V j + V o = 0 V_L + V_j + V_o = 0 VL+Vj+Vo=0
到这里其实列式已经列完了。下一步就是带入然后求解。
但是限制于作者是高中生,能力有限,不会解这个东西。所以把方程发送给ChatGPT整理。
把式子整理成标准三阶微分方程后,可得到特征方程:
s 3 + 1 R l C bulk s 2 + C bulk + C j L s C bulk C j s + 1 L s C j R l C bulk = 0 s^3 + \frac{1}{R_l C_{\text{bulk}}} s^2 + \frac{C_{\text{bulk}} + C_j}{L_s C_{\text{bulk}} C_j} s + \frac{1}{L_s C_j R_l C_{\text{bulk}}} = 0 s3+RlCbulk1s2+LsCbulkCjCbulk+Cjs+LsCjRlCbulk1=0
串联 RLC 的典型形式为:
L d 2 q d t 2 + R d q d t + 1 C q = 0 L \frac{d^2 q}{dt^2} + R \frac{d q}{dt} + \frac{1}{C} q = 0 Ldt2d2q+Rdtdq+C1q=0
并联 RLC 的典型形式为:
d 2 v d t 2 + 1 R C d v d t + 1 L C v = 0 \frac{d^2 v}{dt^2} + \frac{1}{RC} \frac{dv}{dt} + \frac{1}{LC} v = 0 dt2d2v+RC1dtdv+LC1v=0
从形式上看,这里的 R l R_l Rl 更像是出现在并联阻尼的位置(分母),也就是说: R l R_l Rl 越小,阻尼越强; R l R_l Rl 越大,阻尼越弱。按这个思路推测,轻载下的尖峰应该更严重。
那么为什么只从形式上分析而不完整解出来呢?因为我不会。所以这一段并不是特别严谨,只当参考即可。还是用仿真作为主要依据。
下面用仿真验证。
对于 R l = 10 Ω R_l = 10 \Omega Rl=10Ω、 50 Ω 50 \Omega 50Ω、 150 Ω 150 \Omega 150Ω、 500 Ω 500 \Omega 500Ω、 1000 Ω 1000 \Omega 1000Ω、 2000 Ω 2000 \Omega 2000Ω 和 R l → ∞ R_l \to \infty Rl→∞(开路) 这些条件下,其他参数保持不变:
对于 R l = 10 Ω R_l = 10 \Omega Rl=10Ω:

对于 R l = 50 Ω R_l = 50 \Omega Rl=50Ω:

对于 R l = 150 Ω R_l = 150 \Omega Rl=150Ω:

对于 R l = 500 Ω R_l = 500 \Omega Rl=500Ω:

对于 R l = 1000 Ω R_l = 1000 \Omega Rl=1000Ω:

对于 R l = 2000 Ω R_l = 2000 \Omega Rl=2000Ω:

对于 R l → ∞ R_l \to \infty Rl→∞:

从这些波形可以看出,随着 R l R_l Rl 逐渐减小(逐渐变为重载),振铃的衰减速度也变得更快。而当 R l R_l Rl 继续减小时,第一个尖峰值会逐渐逼近一个下限,不再显著下降,但后续振铃的衰减仍会继续增加。
所以基本可以得出:
R l 较大,也就是轻载的情况下,尖峰达到最大值 \boxed{R_l \text{ 较大,也就是轻载的情况下,尖峰达到最大值}} Rl 较大,也就是轻载的情况下,尖峰达到最大值
四. RC 吸收
处理副边尖峰最常用方法是RC吸收。即在二极管两端并联RC,或在变压器次级两端并联RC。这两种接法是等效的。因为对于高频尖峰来说,输出电容 C bulk C_{\text{bulk}} Cbulk 可以视为交流短路[3]。


RC 参数常见有两种思路:一种是先定 R s R_s Rs 再定 C s C_s Cs,追求较好的吸收效果;另一种是先定 C s C_s Cs 再定 R s R_s Rs,优先约束吸收功率。
4.1 先确定 R s R_s Rs,再确定 C s C_s Cs [3]
对于尖峰和振铃的高频部分,可以将 C bulk C_{\text{bulk}} Cbulk 视为导线:

由于上文说过,二极管在尖峰和振铃时为反偏,不导通,所以可以继续省略二极管;并且我们分析的是交流振铃,所以将直流偏置也忽略。于是电路进一步简化为最基本的 L s L_s Ls 与 C j C_j Cj 的 LC 网络:

现在加入吸收电阻 R s R_s Rs,希望它对尖峰和振铃提供阻尼。这是一个并联LCR电路,其阻尼系数可写成:
ζ = 1 2 R L C \zeta = \frac{1}{2R} \sqrt{\frac{L}{C}} ζ=2R1CL
变形后得到:
R s = 1 2 ζ L C R_s = \frac{1}{2\zeta} \sqrt{\frac{L}{C}} Rs=2ζ1CL
一个常见的经验取值,是先令:
ζ = 0.5 \zeta = 0.5 ζ=0.5
这样往往能取得一个比较实用的折中。显然, ζ \zeta ζ 越大,就意味着需要更小的 R s R_s Rs,而这通常又意味着更高的吸收功率。
不过我们并不希望这个 R s R_s Rs 在直流状态下也一直耗能,所以实际电路里还需要串联一个隔直电容 C s C_s Cs。这样它对直流近似开路,对尖峰频率则表现出较低阻抗,相当于构成了一个高通滤波器。
其截止频率为:
f o = 1 2 π R s C s f_o = \frac{1}{2 \pi R_s C_s} fo=2πRsCs1
而振铃频率可近似写成:
f ring = 1 2 π L C f_{\text{ring}} = \frac{1}{2 \pi \sqrt{LC}} fring=2πLC1
f o f_o fo 往往选得比振铃频率低一个量级,或者为了计算方便,至少低约 2 π 2\pi 2π 倍。并且 C s C_s Cs 不能过小,否则会引入新的振荡频率。
一个常用近似式:
C s ≈ 1 R s f o \boxed{C_s \approx \frac{1}{R_s f_o}} Cs≈Rsfo1
电路图如下:

基于先选择 R s R_s Rs 后选择 C s C_s Cs 的方式可以确保较好的吸收效果,但是代价是更大的吸收功率。如果想要确保吸收功率在一定范围内,在保证变换器的效率情况下降低一定尖峰,可以选择先确定 C s C_s Cs 后再确定 R s R_s Rs。
4.2 先确定 C s C_s Cs,再确定 R s R_s Rs
如果更在意效率,或者需要把吸收损耗控制在一个范围内,那么也可以先定 C s C_s Cs。
假设吸收功率最大的时候,显然是“全充全放型吸收”,吸收电容完全充满至最高尖峰电压,再完全放电。
那么吸收功率就可以由
P = 2 ⋅ 1 2 C s V p 2 f s = C s V p 2 f s P = 2 \cdot \frac{1}{2} C_s V_p^2 f_s = C_s V_p^2 f_s P=2⋅21CsVp2fs=CsVp2fs
只看这个公式好像没什么意义,因为 V p V_p Vp 和 C s C_s Cs 不是独立变量, C s C_s Cs 增大时,尖峰电压会减小。所以还是只能仿真。
下面是一组仿真结果:


可以看出:
- 并非吸收越多损耗越大,适当的吸收有一个效率最高点。
- 吸收电容C2的大小与吸收功率(R2的损耗)呈正比关系。即:吸收功率基本上由吸收电容决定。
[4]
至于在给定 C s C_s Cs 后如何选择 R s R_s Rs,可以用一个很直观的极限法来理解:
R s → ∞ ⇒ I → 0 R_s \to \infty \Rightarrow I \to 0 Rs→∞⇒I→0
这时等于 RC 支路根本没接进去,当然没有吸收效果。
R s → 0 R_s \to 0 Rs→0
这时又近似变成导线,变成 L s L_s Ls 和 ( C s + C j ) (C_s + C_j) (Cs+Cj) 的无阻尼振荡,同样不是理想情况。
所以在给定 C s C_s Cs 的前提下, R s R_s Rs 一定存在一个更合适的范围,既不是不是越大越好,也不是越小越好。
这里我引用这篇帖子的原文(这里的 C 2 C_2 C2 和 R 2 R_2 R2 就是上文的 C s C_s Cs 与 R s R_s Rs ):
在固定 C 2 C_2 C2 下对于 R 2 R_2 R2 不同取值的仿真。

可以看出:
- 吸收电阻的阻值对吸收效果干系重大,影响明显。
- 吸收电阻的阻值对吸收功率影响不大,即:吸收功率主要由吸收电容决定。
- 当吸收电容确定后,一个适中的吸收电阻可以(才能)达到最好的吸收效果,太大太小效果都不好。
- 当吸收电容确定后,最好的吸收效果发生在发生最大吸收功率处。换言之,哪个电阻发热最厉害就最合适。
- 当吸收电容确定后,吸收程度对效率的影响可以忽略。
下面是尖峰波形被吸收的过程的细节,我们来看看吸收电阻的阻值大小是如何影响吸收效果的。

可以做如下理解:
- 尖峰电压的本质是一种谐振现象。
没有吸收时( R 2 R_2 R2 无穷大时)漏感与线路分布电容(结电容)形成高频谐振,第一个谐振高峰就是反压尖峰。
吸收电阻 R 2 = 0 R_2=0 R2=0 时, C 2 C_2 C2 的存在大大增加了回路谐振电容,谐振频率大大降低,第一个谐振高峰就是新的反压尖峰。 - 适当的 R 2 R_2 R2 才能使谐振达到最大的阻尼,产生最大的吸收功率,获得最低的反压尖峰,即最佳吸收效果。这就是RC吸收的本质。
- 为什么在最佳吸收点后进一步减少吸收电阻会(明显)增加反压?这是因为 R 2 R_2 R2 越小吸收能量越小、而漏感能量因为 C 2 C_2 C2 的存在表现为更低的谐振频率,而在能量不减少的情况下频率越低意味着振幅越高,故反压提高。
- 适当的R2有一个比较宽松的范围,比如这里, R 2 = 180 300 Ω R2=180~300Ω R2=180 300Ω 范围内都是可以接受的。
- 欲减少吸收功率,应该减小 C 2 C_2 C2,而不是减小 R 2 R_2 R2 。
归纳一下:
吸收电阻 R 2 有一个最佳值,才能获得最好的效果。 吸收电阻 R2 有一个最佳值,才能获得最好的效果。 吸收电阻R2有一个最佳值,才能获得最好的效果。
[4]
4.3 一些例子
来看一个实际例子,按照4.1节中的公式和仿真模型中势垒电容 C j = 53.6 p F C_j =53.6 pF Cj=53.6pF 计算出RC吸收网络为 1360 Ω 1360 Ω 1360Ω 和 470 p F 470pF 470pF,效果如下图。
将RC网络并联在变压器的效果:

将RC网络并联在二极管的效果:

顺带也验证了,修改RC网络所在位置不会对吸收效果产生影响(实际上,两个波形几乎是一模一样的)。
五. 不同整流拓扑下的尖峰差异
上面的讨论主要围绕单管半波整流展开。那么如果换一种整流拓扑,尖峰行为会不会明显变化?
比较常见的几种方案里,这里重点看四管全桥整流。
对于单管半波整流,上文已经详细探讨过,初始能量由扩散电容提供,振荡时则是势垒电容主导。
这里继续研究下四管全桥整流的行为。

在四个二极管两边都并联一个分布电容得到上图。
这些电容是并联还是串联呢?对于高频尖峰来说,输出电容近似短路,把原来的 C bulk C_{\text{bulk}} Cbulk 替换成一个导线,所以变成这样。

看电路图可知分布电容是二串二并。但是容量是有区别的。对于四管全桥,任意时刻均有两个二极管为反偏,另外两个正偏。因为正偏的扩散电容远大于反偏的势垒电容,所以实际上的等效 C e q ≈ C d 2 C_{eq} \approx \frac{C_d}{2} Ceq≈2Cd 串联。
这个电路还能看出一些有意思的内容,当把 C bulk C_{\text{bulk}} Cbulk 视为短路后,整个电路就短路了(或者严格说是全桥拓扑的箝位效应)。那么短路的时候是不可能产生LC振荡的。所以这里不妨大胆猜测:四管全桥整流的尖峰应该不存在,或者至少远小于单管情况下的尖峰。
那么实际上是这样吗?仿真验证一下。

(四管全桥仿真波形)

(单管仿真波形)
从波形上可以总结出几点:
- 四管全桥整流时,尖峰并没有消失,正负半周都会出现尖峰,因为每个换向边沿都仍然有二极管在关断。
- 四管全桥的尖峰幅度明显小于单管半波整流。(这和仿真前的猜测是一致的)
- 输入是 ± 10 V \pm 10 \text{ V} ±10 V 的方波,全桥整流后输出却能到约 + 12 V +12 \text{ V} +12 V,说明尖峰能量通过正偏二极管转移到了 C bulk C_{\text{bulk}} Cbulk,并被输出电容暂时存储。
- 四管全桥的振铃频率约为 1.52 MHz,而单管半波约为 2.24 MHz。两者在其余条件相同下振铃频率不同,说明全桥情况下的等效分布电容更大(这点也和先前的推断一致)。
六. 关于某些误区
在作者搜集资料的时候,发现有某些误区。比如以下这种观点:“直接在二极管两端并联电容,也可以抑制高压”。理由是“电容可以抑制电压突变”。


然而这个结论只在“初始能量固定”的 LC 振荡中成立:
V p = 2 E C V_p = \sqrt{\frac{2E}{C}} Vp=C2E
看起来电容越大,尖峰越低。
但实际副边二极管尖峰并不满足这个前提,因为尖峰的初始能量来自电容 C e q C_{eq} Ceq,经漏感续流后产生尖峰。因此 C e q C_{eq} Ceq 越大,初始能量也越大。
C e q = C j + C d + C e x t r a C_{eq} = C_j + C_d + C_{extra} Ceq=Cj+Cd+Cextra

从仿真结果来看,这样操作不但对于尖峰振铃的抑制能力聊胜于无,还引入了正向振铃等等新问题。
当然,对于其所谓“电容可以抑制电压突变,所以可以抑制高压”则更为荒谬,电容抑制电压突变,所限制的是 d V d t \frac{dV}{dt} dtdV,而不是 V m a x V_{max} Vmax。
这里第六段我本来是不想写的。但是作者本人非常反感在没有任何根据的情况下,随意发表所谓的 “工程建议”,或者类似以上的这种断言。这不但非常有可能会误导他人,进一步说,这种完全不假思索的经验主义,本质上是科学探究精神的极度匮乏。
最后希望所有读者,不但要知其然,更要知其所以然。如果文章中有任何错误或者不严谨之处,也欢迎各位大佬批评指正。
参考资料
[1] S. M. Sze, Kwok K. Ng, Physics of Semiconductor Devices, 3rd Edition, p. 101.
[2] Engineering Niche, “How to Calculate Junction Capacitance in Semiconductor Devices”, https://engineeringniche.com/how-to-calculate-junction-capacitance-in-semiconductor-devices
[3] Jim Hagerman, Calculating Optimum Snubbers, p. 4, p. 6, https://www.hagtech.com/pdf/snubber.pdf
[4] 《关于吸收》五:RC 吸收,21世纪电源论坛,https://bbs.21dianyuan.com/thread-22051-1-1.html
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)