文号
949581
阅读
903
回复
5
收藏
0
本文在AI协助下创作,作者声明AI的作用仅限于局部修饰性、辅助性工作,文章内容的严肃性由作者负责。
【笔记】基于仿真探究整流管尖峰,以及 RC 吸收 | 二极管尖峰 | 漏感振铃 | 尖峰抑制 | 反压尖峰
2026/04/10
原创
IP:上海
摘要:本文围绕高压整流电路中二极管反压尖峰问题,基于仿真分析其产生机理及抑制方法。通过建立包含变压器漏感与二极管结电容的等效模型,指出尖峰源于二极管反向恢复过程与漏感续流共同作用,并形成LC振铃。进一步分析负载对尖峰的影响,得出轻载时尖峰最严重。文章重点讨论RC吸收电路设计方法,包括“先定电阻”与“先定电容”两种思路,并通过仿真验证其对吸收效果与损耗的影响。最后比较不同整流拓扑(半波与全桥)下的尖峰差异。

一. 前言

最近作者在做一个高压输出的 D2D 电源,用来给电容充电。输出电压 0-2200V 连续可调、输出电流约 200 mA,那么副边基本的唯一选项就是高压整流二极管了。

因为手头没有合适的绕线工具,这次直接买了成品高压包。收到之后,将初级短接,使用数字电桥测量次级漏感,结果发现这个高压包的次级漏感相当大,接近 200 mH。

image.jpg

这会直接带来一个工程问题,反压尖峰,这就导致整流二极管所需的反向耐压就需要更高。

对二极管来说,反向耐压、正向电流、体积和价格往往很难同时兼顾。电流需求已经基本固定,所以更现实的思路是尽量压低尖峰电压,从而降低器件的耐压要求,顺便把体积和成本一起压下来。这也是这篇文章讨论副边尖峰抑制的主要目的。

在查资料的时候,其实发现对于副边二极管尖峰吸收的资料相对较少。猜测的一个重要原因是,很多现代电源已经上了同步整流,或是肖特基二极管,高频关断损耗不再像常规二极管那样明显,所以尖峰问题自然就迎刃而解了。(但是高压场景还是得用PN结二极管)


二. 反压尖峰是怎么来的

在讨论吸收之前,有必要先把尖峰的来源说清楚。

这里要考虑变压器和二极管的非理想模型。对变压器来说,有漏感 $L_s$ 串联在整个回路中。对于二极管来说,有分布电容 $C$ 并联在二极管两端。

image.jpg

对于变压器来说,通常有:

$$L_s \ll L_m$$

根据电感感抗公式:

$$X_L = 2 \pi f L$$

对于尖峰和振铃这种高频振荡来说,励磁电感 $L_m$ 的感抗极高,它对电路的影响显著小于漏感 $L_s$,对电路的影响。所以忽略 $L_m$。

对于剩下的理想变压器来说,可以等效为一个方波电压源(假设原边方波驱动)。因此得到下图:

image.jpg

对于二极管分布电容,情况稍微复杂一些,需要考虑正偏时的扩散电容 $C_d$ 和反偏时的势垒电容 $C_j$。

对于扩散电容 $C_d$ 描述的其实就是 $Q_{rr}$ 反向恢复电荷。为了在电路中更好的进行分析,下文中都采用 $C_d$ 扩散电容的模型来分析,$C_d$ 由下式给出 [1]:

$$C_{d0} = \frac{q L_n^2}{2 k T D_n} J_F$$

又因为:

$$J = \frac{I}{A}$$

所以可以看出:

$$C_d \propto I$$

势垒电容则可写成 [2]:

$$C_j = \frac{C_{j0}}{\left(1 - \frac{V}{V_b}\right)^m}$$

势垒电容 $C_j$ 虽然会随着反偏电压增加而减小,但由于这里的指数 $0.33 < m < 0.5$ Grading Coefficient, $0.33 < m < 0.5$ ,变化较为缓慢。为了简化模型,此处当作常数处理。

所以最后就能得到二极管总分布电容的表达式:

$$\boxed{C_{eq} = C_j + C_d = C_j + \frac{q L_n^2}{2 k T D_n A} I}$$

这和经验也是一致的,没有电流 $I = 0$ 的时候,$C_d = 0$,此时主要由耗尽电容 $C_j$ 主导;有正向电流的时候则分布电容被 $C_d$ 主导。

这个公式有什么意义呢?其实已经隐含二极管关断损耗较大,而开通损耗较小的原因。二极管从关断到开通的时候,只需要给较小的耗尽电容 $C_j$ 充电(建立扩散电荷);从导通到关断的时候,则需要给 $C_j$ 与 $C_d$ 两个电容放电(抽空载流子),并且导通时候的电流越大,$C_d$ 越大,在相同时间内关断所需的放电电流就更大。

现在就可以理解尖峰是怎么产生的了,由于二极管从导通到关断的时候需要将较大的扩散电容放电,就会产生反向电流尖峰,而漏感会续流,因此产生反向电压尖峰。


在 Multisim 中搭建以下电路进行仿真。

image.jpg

使用函数发生器发生40kHz峰峰值20V的方波电压源。

image.jpg

可得以下波形图。

image.jpg

图中蓝线是电流,红线是电压,绿线是输入方波。

尖峰产生的过程大致可以拆成四个阶段:

image.jpg

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

image.jpg

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

image.jpg

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

image.jpg

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

image.jpg


三. 负载对尖峰和振铃的影响

在进行RC吸收设计之前,工程上通常需要先考虑最坏工况,也就是尖峰电压最大的情况。只有在最坏情况下也能被有效抑制,整个电路在其他工况下才是安全可靠的。

对于该电路而言,变压器参数、二极管选型、$C_{\text{bulk}}$、以及其他寄生参数都是在电源内部,是常量,而负载电阻 $R_l$ 是唯一可能变化的外部因素。不同的负载条件(轻载或重载)会直接影响二极管电流、扩散电容大小以及漏感中的储能,从而改变尖峰电压和振铃幅度。

因此,在设计吸收电路之前,有必要先分析:

$$\text{尖峰电压是在轻载(}R_l\text{ 较大)时更严重,还是在重载(}R_l\text{ 较小)时更严重?}$$

不妨先定性分析一下:

在尖峰和振铃的时候,二极管反偏不参与,分析交流振铃的时候可以忽略电压源带来的直流偏置。因此得到以下电路:

image.jpg

在整个系统中,只有负载电阻 $R_l$ 在消耗能量,提供阻尼,其余原件只有 $L$ 和 $C$,所以不妨用RLC模型分析。

但是这样就会遇到以下问题:

  1. 这个电路既不是标准串联 RLC,也不是标准并联 RLC,单靠肉眼不太容易判断 $R_l$ 在特征方程里到底落在分子还是分母。

  2. 即便先强行套一个模型,也会遇到“阻尼变化”和“初始储能变化”同时存在的问题。因为扩散电容和电流相关,而电流又和负载相关,所以尖峰初始能量本身也在变。

也就是说,只靠定性分析,很难直接得到稳妥结论。


这里作者一开始想到的方法是通过基尔霍夫对电路建模,进行数学推理,目的是找出在 $R_l$ 变化的时候,到底是阻尼的变化更显著还是扩散电容的变化更显著。

  • 输出电压为 $V_o = V_{C_{bulk}} = V_{R_l}$

  • 电感电压为 $V_L = L_s \frac{dI_L}{dt}$

  • 结电容电流为 $I_{C_j} = C_j \frac{dV_j}{dt} = C_j \frac{d(V_L - V_o)}{dt}$

  • 输出电容电流为 $I_{C_{\text{bulk}}} = C_{\text{bulk}} \frac{dV_o}{dt}$

  • 负载电流为 $I_{R_l} = \frac{V_o}{R_l}$

由于 $L_s$ 与 $C_j$ 串联,有:

$$I_L = I_{C_j} = I$$

使用KCL:

image.jpg

$$I - C_{\text{bulk}} \frac{dV_o}{dt} - \frac{V_o}{R_l} = 0$$

使用KVL:

image.jpg

$$V_L + V_j + V_o = 0$$

到这里其实列式已经列完了。下一步就是带入然后求解。

但是限制于作者是高中生,能力有限,不会解这个东西。所以把方程发送给ChatGPT整理。

把式子整理成标准三阶微分方程后,可得到特征方程:

$$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$$

串联 RLC 的典型形式为:

$$L \frac{d^2 q}{dt^2} + R \frac{d q}{dt} + \frac{1}{C} q = 0$$

并联 RLC 的典型形式为:

$$\frac{d^2 v}{dt^2} + \frac{1}{RC} \frac{dv}{dt} + \frac{1}{LC} v = 0$$

从形式上看,这里的 $R_l$ 更像是出现在并联阻尼的位置(分母),也就是说:$R_l$ 越小,阻尼越强;$R_l$ 越大,阻尼越弱。按这个思路推测,轻载下的尖峰应该更严重。

那么为什么只从形式上分析而不完整解出来呢?因为我不会。所以这一段并不是特别严谨,只当参考即可。还是用仿真作为主要依据。

下面用仿真验证。

对于 $R_l = 10 \Omega$、$50 \Omega$、$150 \Omega$、$500 \Omega$、$1000 \Omega$、$2000 \Omega$ 和 $R_l \to \infty$(开路) 这些条件下,其他参数保持不变:

对于 $R_l = 10 \Omega$:

image.jpg

对于 $R_l = 50 \Omega$:

image.jpg

对于 $R_l = 150 \Omega$:

image.jpg

对于 $R_l = 500 \Omega$:

image.jpg

对于 $R_l = 1000 \Omega$:

image.jpg

对于 $R_l = 2000 \Omega$:

image.jpg

对于 $R_l \to \infty$:

image.jpg

从这些波形可以看出,随着 $R_l$ 逐渐减小(逐渐变为重载),振铃的衰减速度也变得更快。而当 $R_l$ 继续减小时,第一个尖峰值会逐渐逼近一个下限,不再显著下降,但后续振铃的衰减仍会继续增加。

所以基本可以得出:

$$\boxed{R_l \text{ 较大,也就是轻载的情况下,尖峰达到最大值}}$$


四. RC 吸收

处理副边尖峰最常用方法是RC吸收。即在二极管两端并联RC,或在变压器次级两端并联RC。这两种接法是等效的。因为对于高频尖峰来说,输出电容 $C_{\text{bulk}}$ 可以视为交流短路[3]。

image.jpg

image.jpg

RC 参数常见有两种思路:一种是先定 $R_s$ 再定 $C_s$,追求较好的吸收效果;另一种是先定 $C_s$ 再定 $R_s$,优先约束吸收功率。

4.1 先确定 $R_s$,再确定 $C_s$ [3]

对于尖峰和振铃的高频部分,可以将$C_{\text{bulk}}$ 视为导线:

image.jpg

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

image.jpg

现在加入吸收电阻 $R_s$,希望它对尖峰和振铃提供阻尼。这是一个并联LCR电路,其阻尼系数可写成:

$$\zeta = \frac{1}{2R} \sqrt{\frac{L}{C}}$$

变形后得到:

$$R_s = \frac{1}{2\zeta} \sqrt{\frac{L}{C}}$$

一个常见的经验取值,是先令:

$$\zeta = 0.5$$

这样往往能取得一个比较实用的折中。显然,$\zeta$ 越大,就意味着需要更小的 $R_s$,而这通常又意味着更高的吸收功率。

不过我们并不希望这个 $R_s$ 在直流状态下也一直耗能,所以实际电路里还需要串联一个隔直电容 $C_s$。这样它对直流近似开路,对尖峰频率则表现出较低阻抗,相当于构成了一个高通滤波器。

其截止频率为:

$$f_o = \frac{1}{2 \pi R_s C_s}$$

而振铃频率可近似写成:

$$f_{\text{ring}} = \frac{1}{2 \pi \sqrt{LC}}$$

$f_o$ 往往选得比振铃频率低一个量级,或者为了计算方便,至少低约 $2\pi$ 倍。并且 $C_s$ 不能过小,否则会引入新的振荡频率。

一个常用近似式:

$$\boxed{C_s \approx \frac{1}{R_s f_o}}$$

电路图如下:

image.jpg

基于先选择 $R_s$ 后选择 $C_s$ 的方式可以确保较好的吸收效果,但是代价是更大的吸收功率。如果想要确保吸收功率在一定范围内,在保证变换器的效率情况下降低一定尖峰,可以选择先确定$C_s$ 后再确定 $R_s$。


4.2 先确定 $C_s$,再确定 $R_s$

如果更在意效率,或者需要把吸收损耗控制在一个范围内,那么也可以先定 $C_s$。

假设吸收功率最大的时候,显然是“全充全放型吸收”,吸收电容完全充满至最高尖峰电压,再完全放电。

那么吸收功率就可以由

$$P = 2 \cdot \frac{1}{2} C_s V_p^2 f_s = C_s V_p^2 f_s$$

只看这个公式好像没什么意义,因为 $V_p$ 和 $C_s$ 不是独立变量,$C_s$ 增大时,尖峰电压会减小。所以还是只能仿真。

下面是一组仿真结果:

image.jpg

image.jpg

可以看出:

  1. 并非吸收越多损耗越大,适当的吸收有一个效率最高点。

  2. 吸收电容C2的大小与吸收功率(R2的损耗)呈正比关系。即:吸收功率基本上由吸收电容决定。

[4]

至于在给定$C_s$ 后如何选择 $R_s$,可以用一个很直观的极限法来理解:

$$R_s \to \infty \Rightarrow I \to 0$$

这时等于 RC 支路根本没接进去,当然没有吸收效果。

$$R_s \to 0$$

这时又近似变成导线,变成 $L_s$ 和 $(C_s + C_j)$ 的无阻尼振荡,同样不是理想情况。

所以在给定 $C_s$ 的前提下,$R_s$ 一定存在一个更合适的范围,既不是不是越大越好,也不是越小越好。

这里我引用这篇帖子的原文(这里的 $C_2$ 和 $R_2$ 就是上文的 $C_s$ 与 $R_s$ ):

在固定 $C_2$ 下对于 $R_2$ 不同取值的仿真。

image.jpg

可以看出:

  1. 吸收电阻的阻值对吸收效果干系重大,影响明显。

  2. 吸收电阻的阻值对吸收功率影响不大,即:吸收功率主要由吸收电容决定。

  3. 当吸收电容确定后,一个适中的吸收电阻可以(才能)达到最好的吸收效果,太大太小效果都不好。

  4. 当吸收电容确定后,最好的吸收效果发生在发生最大吸收功率处。换言之,哪个电阻发热最厉害就最合适。

  5. 当吸收电容确定后,吸收程度对效率的影响可以忽略。

  6. 下面是尖峰波形被吸收的过程的细节,我们来看看吸收电阻的阻值大小是如何影响吸收效果的。


image.jpg


可以做如下理解:

  1. 尖峰电压的本质是一种谐振现象。没有吸收时( $R_2$ 无穷大时)漏感与线路分布电容(结电容)形成高频谐振,第一个谐振高峰就是反压尖峰。吸收电阻 $R_2=0$ 时,$C_2$ 的存在大大增加了回路谐振电容,谐振频率大大降低,第一个谐振高峰就是新的反压尖峰。

  2. 适当的 $R_2$ 才能使谐振达到最大的阻尼,产生最大的吸收功率,获得最低的反压尖峰,即最佳吸收效果。这就是RC吸收的本质。

  3. 为什么在最佳吸收点后进一步减少吸收电阻会(明显)增加反压?这是因为 $R_2$ 越小吸收能量越小、而漏感能量因为 $C_2$ 的存在表现为更低的谐振频率,而在能量不减少的情况下频率越低意味着振幅越高,故反压提高。

  4. 适当的R2有一个比较宽松的范围,比如这里, $R_2 = 180\text{–}300\,\Omega$ 范围内都是可以接受的。

  5. 欲减少吸收功率,应该减小 $C_2$,而不是减小 $R_2$ 。

归纳一下:

$$吸收电阻 R2 有一个最佳值,才能获得最好的效果。$$

[4]


4.3 一些例子

来看一个实际例子,按照4.1节中的公式和仿真模型中势垒电容 $C_j =53.6 pF$ 计算出RC吸收网络为 $1360 Ω$ 和 $470pF$,效果如下图。

将RC网络并联在变压器的效果:


image.jpg


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


image.jpg


顺带也验证了,修改RC网络所在位置不会对吸收效果产生影响(实际上,两个波形几乎是一模一样的)。


五. 不同整流拓扑下的尖峰差异

上面的讨论主要围绕单管半波整流展开。那么如果换一种整流拓扑,尖峰行为会不会明显变化?

比较常见的几种方案里,这里重点看四管全桥整流。

对于单管半波整流,上文已经详细探讨过,初始能量由扩散电容提供,振荡时则是势垒电容主导。

这里继续研究下四管全桥整流的行为。


image.jpg


在四个二极管两边都并联一个分布电容得到上图。

这些电容是并联还是串联呢?对于高频尖峰来说,输出电容近似短路,把原来的 $C_{\text{bulk}}$ 替换成一个导线,所以变成这样。


image.jpg


看电路图可知分布电容是二串二并。但是容量是有区别的。对于四管全桥,任意时刻均有两个二极管为反偏,另外两个正偏。因为正偏的扩散电容远大于反偏的势垒电容,所以实际上的等效 $C_{eq} \approx \frac{C_d}{2}$串联。

这个电路还能看出一些有意思的内容,当把 $C_{\text{bulk}}$ 视为短路后,整个电路就短路了(或者严格说是全桥拓扑的箝位效应)。那么短路的时候是不可能产生LC振荡的。所以这里不妨大胆猜测:四管全桥整流的尖峰应该不存在,或者至少远小于单管情况下的尖峰。

那么实际上是这样吗?仿真验证一下。


image.jpg

(四管全桥仿真波形)



image.jpg


(单管仿真波形)


从波形上可以总结出几点:

  1. 四管全桥整流时,尖峰并没有消失,正负半周都会出现尖峰,因为每个换向边沿都仍然有二极管在关断。

  2. 四管全桥的尖峰幅度明显小于单管半波整流。(这和仿真前的猜测是一致的)

  3. 输入是 $\pm 10 \text{ V}$ 的方波,全桥整流后输出却能到约 $+12 \text{ V}$,说明尖峰能量通过正偏二极管转移到了 $+12 \text{ V}$,并被输出电容暂时存储。

  4. 四管全桥的振铃频率约为 1.52 MHz,而单管半波约为 2.24 MHz。两者在其余条件相同下振铃频率不同,说明全桥情况下的等效分布电容更大(这点也和先前的推断一致)。


六. 关于某些误区

在作者搜集资料的时候,发现有某些误区。比如以下这种观点:“直接在二极管两端并联电容,也可以抑制高压”。理由是“电容可以抑制电压突变”。


image.jpg

image.jpg


然而这个结论只在“初始能量固定”的 LC 振荡中成立:

$$V_p = \sqrt{\frac{2E}{C}}$$

看起来电容越大,尖峰越低。

但实际副边二极管尖峰并不满足这个前提,因为尖峰的初始能量来自电容 $C_{eq}$,经漏感续流后产生尖峰。因此 $C_{eq}$ 越大,初始能量也越大。

$$C_{eq} = C_j + C_d + C_{extra}$$

image.jpg

从仿真结果来看,这样操作不但对于尖峰振铃的抑制能力聊胜于无,还引入了正向振铃等等新问题。

当然,对于其所谓“电容可以抑制电压突变,所以可以抑制高压”则更为荒谬,电容抑制电压突变,所限制的是$\frac{dV}{dt}$,而不是$V_{max}$。

这里第六段我本来是不想写的。但是作者本人非常反感在没有任何根据的情况下,随意发表所谓的 “工程建议”,或者类似以上的这种断言。这不但非常有可能会误导他人,进一步说,这种完全不假思索的经验主义,本质上是科学探究精神的极度匮乏。

最后希望所有读者,不但要知其然,更要知其所以然。如果文章中有任何错误或者不严谨之处,也欢迎各位大佬批评指正。


参考资料

[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", <XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX>

[3] Jim Hagerman, Calculating Optimum Snubbers, p. 4, p. 6, <XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX>

[4] 《关于吸收》五:RC 吸收,21世纪电源论坛,<XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX>

[ 修改于6个月23天前 - 2026/04/10 17:19:52 ]
+1
科创币
茴香豆
2026/04/10
先投个币
6个月22天前IP:四川
949594
1楼

仿真的步长看起来有些过大?有些图里的曲线已经变成折线了。

可以在这里设置步长,让仿真结果平滑一些。这样也能准确很多。

image.jpg

引用
评论
1
AzidoPP作者
6个月22天前IP:上海
949599
2楼
引用三水合番发表于1楼的内容
仿真的步长看起来有些过大?有些图里的曲线已经变成折线了。可以在这里设置步长,让仿真结果平滑一些。这样也能准确很多。[图片]

感谢提醒,刚刚使用了更短的步长,重新进行了一次仿真。在这里重新上传一次第二节的图2.5和图2.6。这样细节更加丰富一些。

image.jpg

image.jpg


引用
评论
2
6个月21天前IP:广东
949610
3楼

原边拓扑是什么?有时候未必能等效于方波驱动。

引用
评论
6个月21天前IP:广东
949614
4楼

只说一个,二极管反向工作到超过耐压并不一定会坏,而是会进入雪崩击穿,此时二极管会开始发热。如果雪崩击穿能量比较大二极管就坏了(热击穿)。首先要确认这是一个问题,是会让二极管损坏的问题。如果确实二极管会坏,那么建议最好的方法是改变电源架构,改为双向激励的结构,比如桥类或者推挽电路。

引用
评论
22天12时前IP:广东
952457
5楼

不错的分享

引用
评论
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的