搞懂环路补偿

Posted on February 13, 2026

经常设计模拟电路的朋友会发现,运放的输出端通常需要串入一个补偿网络到反向输入端。

如下图所示:

R1 C1 C2 构成了一个补偿网络。

这是为何呢?

闭环系统的稳定性

闭环系统,就是消灭跟踪误差。 消灭的方式,就是对误差进行放大,然后进行反向调节——“负反馈”。

理想的运放,有无穷大的放大倍数,和 0 延迟。

然而现实世界不是理想世界,显示中的运放是有延迟的,放大倍数也不是无穷大。

放大倍数对运放的稳定性其实关系不大,主要是放大延迟:即输入信号发生改变的时候,输出信号能多快的反应过来并跟踪输入的变化。

为什么这个反应速度很重要呢?

因为反应慢了,会导致“运放振荡”。

为什么反应慢了会振荡呢?

如上图的运放,在稳态时,其2个输入端的电压是相同的。当输入信号发生变化的时候,比如,增加。 则运放需要提高输出电压,以抬高其反相输入端的电压,最终使得2个输入端的电压相同。

如果运放抬高输出端的电压不够快,有延迟,此时同相输入的电压就已经跌落。那么经过延迟后,运放的反相输入端电压就会超过同相输入端。

此时运放不得不降低输出电压,而他每次进行调节的时候,都总是反应慢一拍,导致每次都会“过调”。过调后又要反向调节,但是因为延迟的缘故,始终无法稳定下来。 于是运放就进入了振荡。

也就是,输入的一个扰动,会导致运放的输出产生非常多的来回振荡。而这个来回振荡又反过来引起跟多的来回振荡。

那么如何从数学上精确的描述运放的这种“来回振荡”的行为呢?

专门用来描述闭环系统的稳定性的数学工具,就是 频率响曲线,包括 增益曲线和相位延迟两个子图。

也就是,运放对每一个频率的输入,他对这个频率会产生多大幅度的“增益”(放大倍数),以及对这个频率他会有多少延迟(转化为相位延迟表示)。

如下面这个:

一条增益曲线,一条相位延迟曲线,就完整的描述了一个系统的行为逻辑了。 那么,对于一个闭环系统,什么样的曲线,算是“稳定”的呢?(稳定,即发生扰动后不会发生来回振荡)

答案是,在整个增益 >0db 的部分,其相位延迟全部都 < 180度。在工程上为了留有一定的余量,通常会要求延迟 <150度,乃至 120度。增益 = 0db 的频率,姑且起个名字叫穿越频率。

增益 <1 的部分,哪怕延迟 > 180,导致的振荡也是“阻尼振荡”。因此系统还是稳定的,只不过不是很优秀。也就是说,我们希望在延迟 =180度的那个频率,他离穿越频率越远越好,系统在扰动下的恢复时间就会越短。

于是就有了相位裕度。相位裕度指的是在穿越频率上,距离180度的不稳定极限,还剩下多少。相位裕度越大,说明系统就越稳定。

为什么延迟要 < 180度 呢? 因为运放是一个“负反馈”系统。如果运放的输出和输入之间有了 180度的延迟,则运放实质上会变成一个正反馈。正反馈就使得运放产生自激振荡。

如何修正反馈的稳定性

修正它,有一个很简单的办法:将超过穿越频率的信号给过滤掉。 只要输入给运放的信号,其频率成分总是小于穿越频率,运放就没有机会不稳定了。

那么为什么一般是在输出端和反向输入端之间,连接高通滤波器而不是在输入端使用低通滤波器呢? 因为补偿网络还有一个重要功能,是调节穿越频率本身!

这个功能特点,对于“电源类应用”是非常必要的。

补偿网络,通过前馈调节,提前补偿运放的反馈链,从而实质上从输出去除掉部分信号。所以补偿网络,从形式上看,通常是一个高通滤波器。不响应低频信号,从而不调节低频增益。对于高频信号,让运放的输入输出直通从而压制高频增益。 因此,补偿网络的截止频率,就变成了此时整个环路的穿越频率。而在输入端使用低通滤波器则起不到这个作用。同时补偿网络对低频的相位延迟影响微乎其微,而输入低通滤波器则会引入更多的相位延迟,并不利于环路的稳定。

使用何种类型补偿网络

使用何种类型的补偿网络,关键在于系统未进行补偿的情况下,其环路的频率响应情况。理想的补偿网络,是系统使用了补偿网络后,其频响曲线变成一条直线。 然而这是不可能的。因此,退而求其次,选择补偿网络,就是压制高频增益,降低穿越频率,提高相位裕度。对于一些出现二次穿越的情况,还需要使用带通滤波器设计的环路补偿器。

因此,系统原有的频响特性,决定了补偿的类型。

为什么说电流模式 PWM 控制好?好就好在他的补偿器容易设计。电流模式pwm控制器,其补偿网络简单到,只需要将穿越频率压低到开关频率的1/10就能使环路稳定。而电压型pwm控制,补偿网络还要引入微分积分器,对占空比的变化将要引起的电压变化进行预测—— 也就是不能简单的压制穿越频率。或者说,电压信pwm控制器,不进行补偿的情况下,其极点频率太低,使得只是降低穿越频率变得不可能。需要降低穿越频率的同时提高极点频率——简单的来说,就是补偿器自身的频响应要实现相位提前。

测量频响曲线

所以,要设计补偿网络,前提是需要先知道原来系统的频响曲线。

有2个办法可以获得它:

  1. 使用电路仿真软件。
  2. 使用频谱仪。
  3. 用传递函数算

我个人是更倾向于推荐使用仿真软件。因为它成本更低。但是如果清晰的知道每个步骤的传递函数,也可以算(不用手算,可以编程算)。编程算的最简单办法,其实是使用 matlab (笑)。

Comments