运放补偿网络波特图LTspice仿真:PI、II型、PID
补偿器的输出电压只有在一定的范围内时才能正常工作。开环工作时,补偿器的输出很容易饱和,导致仿真结果不正确。
所以,需要加一个偏置调节电路,使得补偿器的输出电压Vc在合适范围内,如下图,参考LDO的原理,搭建了一个偏置调节电路。
U3
的正输入,电压源V2
设置Vc的电压为3VU3
的输出为vout
偏置调节的原理: Vc>3V——U3的输出Vout↑——补偿器输入↑——补偿器输出Vc↓。
然后在这个环路中加入一个交流激励V4,就可以通过ac仿真来获得补偿器的波特图。对于上图,控制器的传递函数为: G c ( s ) = V c ( s ) V o u t ( s ) G_c(s)=\frac{V_c(s)}{V_{out}(s)} Gc(s)=Vout(s)Vc(s)
绘制波特图时公式相同(但是,一般看补偿器的波特图时,不考虑引入的180°相位,所以最终公式为 -Vc/Vout)。
PI控制器传递函数为:
− G c ( s ) = Z f ( s ) Z i n ( s ) = R 2 R 1 + 1 R 1 C s -G_c(s)=\frac{Z_f(s)}{Z_{in}(s)}=\frac{R_2}{R_1}+\frac{1}{R_1 Cs} −Gc(s)=Zin(s)Zf(s)=R1R2+R1Cs1
K P = R 2 R 1 K_P=\frac{R_2}{R_1} KP=R1R2
K i = 1 R 1 C K_i=\frac{1}{R_1 C} Ki=R1C1
因此,PI控制器有一个零点在 f z = 1 2 π R 1 C f_z=\frac{1}{2\pi R_1 C} fz=2πR1C1
例如,设置Kp=1,fz=10kHz,仿真得到的波特图为:
LTspice的理想运放其实也是有带宽和增益的(而不是无穷大),右键点击元件可以修改:
对于实际运放,高频的增益和相位会有明显变化。例如,
对于II型控制器,
Z f ( s ) = ( R 2 + 1 C 1 s ) / / 1 C 2 s Z i n ( s ) = R 1 − G c ( s ) = Z f ( s ) Z i n ( s ) = C 1 R 2 s + 1 R 1 s ( C 1 + C 2 + C 1 C 2 R 2 s ) ≈ C 1 R 2 s + 1 R 1 C 1 s ( 1 + C 2 R 2 s ) Z_f(s) = (R_2+\frac{1}{C_1 s} )// \frac{1}{C_2 s} \\ Z_{in}(s) = R_1 \\ -G_c(s) = \frac{Z_f(s)}{Z_{in}(s)}=\frac{C_1 R_2 s + 1}{R_1s(C_1 + C_2 + C_1 C_2 R_2 s)} \approx \frac{C_1 R_2 s + 1}{R_1C_1 s(1 + C_2 R_2 s)} Zf(s)=(R2+C1s1)//C2s1Zin(s)=R1−Gc(s)=Zin(s)Zf(s)=R1s(C1+C2+C1C2R2s)C1R2s+1≈R1C1s(1+C2R2s)C1R2s+1
推导:
II型控制器有2个极点,极点1为原点,极点2约为 f p 2 ≈ 1 / ( 2 π C 2 R 2 ) f_{p2}\approx 1/(2\pi C_2R_2) fp2≈1/(2πC2R2),和1个零点 f z = 1 / ( 2 π C 1 R 2 ) f_{z}=1/(2\pi C_1R_2) fz=1/(2πC1R2),其中,零点的频率一般会小于极点2的频率,因此有 C 1 > > C 2 C_1>>C_2 C1>>C2。因此能做上面的近似。
此外,频率在 f z f_{z} fz和 f p 2 f_{p2} fp2之间时,控制器的增益约为 R 2 / R 1 R_2/R_1 R2/R1。
基于这些信息,设计一个中频增益10,零点100Hz,极点10kHz,参数如下图公式:
仿真得到的波特图如下: 零点约100Hz,极点约10kHz,中频增益20dB,同设计值。
(具体II型控制器的参数选择还要看相位抬升的度数和抬升处的频率,此处不涉及。)
PID(III型)控制器的传递函数为
− G c ( s ) = Z f ( s ) Z i n ( s ) = ( C 1 R 2 s + 1 ) [ C 3 ( R 1 + R 3 ) s + 1 ] R 1 s ( C 3 R 3 s + 1 ) ( C 1 + C 2 + C 1 C 2 R 2 s ) ≈ ( C 1 R 2 s + 1 ) [ C 3 ( R 1 + R 3 ) s + 1 ] R 1 s ( C 3 R 3 s + 1 ) ( C 2 R 2 s + 1 ) -G_c(s) = \frac{Z_f(s)}{Z_{in}(s)}=\frac{(C_1 R_2 s + 1)[C_3 (R_1 + R_3 )s+1]}{R_1s(C_3 R_3 s+1)(C_1 + C_2 + C_1 C_2 R_2 s)} \approx \frac{(C_1 R_2 s + 1)[C_3 (R_1 + R_3 )s+1]}{R_1s(C_3 R_3 s+1)( C_2 R_2 s + 1)} −Gc(s)=Zin(s)Zf(s)=R1s(C3R3s+1)(C1+C2+C1C2R2s)(C1R2s+1)[C3(R1+R3)s+1]≈R1s(C3R3s+1)(C2R2s+1)(C1R2s+1)[C3(R1+R3)s+1]
f p 1 = 0 f p 2 = 1 2 π R 3 C 3 f p 3 = 1 2 π R 2 C 2 f z 1 = 1 2 π R 2 C 1 f z 2 = 1 2 π ( R 1 + R 3 ) C 3 f_{p1} = 0 \\ f_{p2} = \frac{1}{2\pi R_3 C_3} \\ f_{p3} = \frac{1}{2\pi R_2 C_2} \\ f_{z1} = \frac{1}{2\pi R_2 C_1} \\ f_{z2} = \frac{1}{2\pi (R_1+R_3) C_3} fp1=0fp2=2πR3C31fp3=2πR2C21fz1=2πR2C11fz2=2π(R1+R3)C31
低频增益约为 R 2 / R 1 R_2/R_1 R2/R1(C2和C3开路,C1短路),中频增益约为 R 2 / ( R 1 / / R 3 ) R_2/(R_1//R_3) R2/(R1//R3)(C2开路,C1和C3短路)。
例如,选择 f z 1 = 100 , f z 2 = 1 k , f p 2 = 10 k , f p 3 = 100 k f_{z1}=100,f_{z2}=1k,f_{p2}=10k,f_{p3}=100k fz1=100,fz2=1k,fp2=10k,fp3=100k, 低频增益 g a i n l o w = 10 gain_{low}=10 gainlow=10,选定R1=20k,参数计算如下图仿真模型:
其中,C3的计算较为复杂,因为同时与R1和R3有关:
C 3 = 1 f z 2 − 1 f p 2 2 π R 1 C_3= \frac{\frac{1}{f_{z2}}-\frac{1}{f_{p2}}}{2\pi R_1} C3=2πR1fz21−fp21
获得的波特图如下:
PI、II型、PID控制器LTspice仿真模型