加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 寄生电感怎么来的
    • LC 串联谐振电路
    • LC 滤波器
    • 不同负载的 LC 滤波器
    • 噪声源内阻的影响
    • L、C 的值的影响
    • MOS 管 G 极串联电阻如何抑制谐振
    • Matlab 源码
    • 小结
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

LC串联谐振的意义

2020/12/24
283
阅读需 38 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

我一直有一个感觉:咱们硬件工程师,会遇到各种各样的问题,亦或是各种各样的现象,总会有一个非常简单的解释,一句话或者是几句话,我们见多了这个解释,就自以为明白了,当别人再问起我们的时候,我们也会拿这句话去给别人解释。

比如说,寄生电感这个字眼就经常出现,特别是引线电感。我们解释一些问题的时候都是直接套用的,默认它的存在。可实际上是,我在很长一段时间内并不理解它到底是怎么来的,因为我印象中电感都是线圈,而直导线并不是。直到之前不久我才思索了一番,算是有一些了解,也写了下面一篇文章。

寄生电感怎么来的

最近一直在看电感和磁珠的内容,也有看 LC 滤波器,自然会有 LC 谐振的问题。LC 串联谐振,单独拿出来说的话,可能会觉得太简单了,这有啥好说的。自然是因为实际应用中会出现各种各样的场景,尽管都是谐振,但是表现各不相同。

先来思考下这么几个问题:

电路中不必要的 LC 串联谐振要绝对杜绝吗?

MOS 管 G 极经常串联一个小电阻,说是可以抑制振荡,啥原理呢?这个电阻阻值怎么取呢?

电源上面加上磁珠,结果纹波变大了,只能换 0Ω电阻来解决吗?有没有其它的解决方法?

这几个问题,如果你明白了 LC 串联谐振的分析方法,那么自然都不在话下了。

LC 串联谐振电路

尽管 LC 串联谐振电路非常简单,我们还是来看下,这样一步一步深入会更好的理解。

一个电感和一个电容串联,在某个特定的频率,就会发生谐振,这个频率就是谐振频率。串联谐振电路有如下特点:

谐振时整个电路阻抗呈电阻性,阻抗最小,电流达到最大;

谐振时电感和电容两端的电压达到最大。

上面这些理论都是非常基础的,就不赘述。实际电路的场景要远比这个要复杂,搞清楚那些才是我们的目的。那么我们下面就来结合具体的场景。

LC 滤波器

LC 滤波器经常用,但有一个比较坑的问题就是,有时候使用 LC 滤波器之后,效果反而更差了,还不如不用。

原因我们当然可以说是在噪声在此处谐振啦,噪声被放大了之类的。曾经的我也会这么说原因,不过并不是真的明白,对于这种会起反效果的东西,我会惧怕,会担心它出问题。这种惧怕,来源于对未知的恐惧,因为没有懂。现在下面来具体分析下

首先,我们需要明白,噪声是如何被放大的?也就是说输出比输入幅度要大?

先来看最简单的模型,也就是理想器件模型的情况。

我们列出输出与输入的比值,也就是增益,如果增益大于 1,那么说明被放大了。很容易列出增益的公式,我们画下这个曲线。

上图的曲线,是 1uH 电感,1uF 电容的增益。可以看到,在低频时,增益基本就是 1,也就是不放大不衰减。而在谐振频率处,有一个非常高的尖峰,因为这里设定的器件为理想器件,所理论上尖峰为穷大,谐振频率旁边的增益也是非常高的,而在频率比较高的时候,随着频率的升高,增益下降,也就是衰减了输入信号。

如果我们能把谐振频率处的增益降到 0.707 左右,那就是完美的低通滤波器了。很显然,电感和电容都是非耗能器件,没有电阻器件的引入,在谐振频率处,增益总是等于无穷大的。我们从增益 Av 的公式就可以得出来,因为谐振频率时的分母为 0。

幸运的是,我们的滤波电路总是要接负载的,我们把信号滤波之后总是要给负载用的,接入了负载,那增益又不一样了。

不同负载的 LC 滤波器

现实中的电路各种各样,负载的阻抗也就差别很大了,下面是加入负载的模型。

我们看看负载是 1Ω,10Ω,100Ω的增益曲线,如下图:

我们可以看到,负载电阻越小,谐振处的增益越小,谐振引起的噪声变大越不会发生。当然了,实际电路中的负载各种各样,有低阻的,有高阻的。相对来说,低阻负载的更不容易发生加入滤波器效果更差的事情。因此,如果你发现同样的 LC 滤波器,加入不同的电路,有的效果好,有的效果变差,很有可能就是因为负载的不同。

所以说,负载阻抗越低,越不容易产生尖峰,也就是说不容易恶化。

噪声源内阻的影响

除了负载阻抗的影响,还有噪声源内阻的影响,实际的噪声信号肯定是有一定的内阻的。根据内阻的不同,我们构建下面的模型,加入内阻的参量。

分别画出 Rs=0.1Ω,Rs=1Ω,Rs=10Ω的情况,为了排除负载电阻的影响,宁其为高阻态,统一 RL=1MΩ。

可以看到,内阻越大,越不容易产生尖峰,也就是说不容易恶化,反之,内阻越小,越容易恶化。

L、C 的值的影响

除了内阻和负载大小,电感和电容值的大小有没有影响呢?

电容变化:电容分别为 1uF,10uF,100uF,内阻,负载,电感都为 Rs=0.1,RL=1MΩ,L=1uH。

可以看到,电容增大,尖峰变小,也就是说,在遇到谐振引起噪声增大的情况,可以尝试增大电容是可以降低噪声。不过需要注意,尖峰变小,只是说最高点变小了,但是引起了谐振频率降低,新的谐振点可能还是要比原来的增益更高,也就是说如果噪声正好是这个频率段,那么改变之后效果变更差了。当然了,如果我们加更大的电容,即使是谐振点都没有放大作用,比如如果电容加到 100uF,整个频段基本都没有放大作用了。

实际电路具体加到多大的电容,完全不会出现尖峰呢?这个跟信号源内阻 Rs,负载阻抗 RL,电感值 L 都有关系。实际上,如果内阻 Rs 从 0.1 提升到 1,电容不用增大到 100uF,即使是原来的 1uf 也不会有尖峰,曲线就不画了。

电感变化:电感分别为 0.01uH,0.1uH,1uH,内阻,负载,电容都为 Rs=0.1,RL=1MΩ,C=1uF

可以看到,减小电感,可以降低尖峰的高度。我们如果继续减小电感到 0.01uH,尖峰也会消失。同样的,电感变化会造成谐振频率移动,具体是使噪声变大还是变小也是要依情况而定,与内阻,负载,电容都有关系。

总的来说,大部分电路增大电容,或者减小电感,都可以降低尖峰。如果 LC 滤波器用于电源滤波发生噪声变大,可以增大电容,或者减少电感。

这里之所以说大部分电路,是因为如果满足一定的 Rs,RL 的条件,可能结果是相反的,这个可以自己修改 Matlab 代码(后文分享出来)里面的参量,执行下就知道了。

MOS 管 G 极串联电阻如何抑制谐振

有了以上的基础,我们来看实际的问题:MOS 管 G 极串联电阻如何抑制谐振?

这个问题,我们首先要明白,问题是如何产生的,即为什么会振荡?其实通过前面的铺垫,也就很明白了。

这个是典型的 MOS 管驱动电路,串联了 10Ω电阻。

尽管从电路图上看去,上面既没有电感,也没有电容。但实际上是,我们 PCB 总要将线从驱动芯片拉到 MOS 管,我查了一下,线宽 12mil,长度 10mm 的走线寄生电感是 9.17nH。实际电路中 10mm 走线太正常了,所以寄生电感肯定是存在的。

电感有了,电容呢?功率 MOS 管都有输入电容存在,并且还不小,小的几百 pF,大点的几 nF。我们只是为了说明道理,那取电容 1nF 吧。

一般来说,左边驱动管子发出开关信号,它的内阻一般不会很大,尽管现在不知道它到底是多大,那就按照比较恶劣的情况来看,就让 Rs=0.1Ω。

那么负载电阻是多大呢?负载是 MOS 管,那阻抗就很大了,就取 RL=1MΩ。

看看现在的等效电路:

从前面内容知道,源内阻越小,负载阻抗越大,就越容易产生谐振尖峰。我们画出此时曲线。

可以看到,谐振频率 52Mhz 处增益达到了好几十倍。而 MOS 管驱动信号可以看作是一个阶跃信号,频率分量非常丰富,肯定有 52Mhz 附近的频率。

所以说确实会发生谐振。

现在分别串联 1Ω,10Ω,100Ω电阻,这个电阻可以等效到内阻里面去,相当于等效电路变成了 Rs=1.1Ω,Rs=10.1Ω,Rs=100.1Ω,其它参数不变。我们再看看曲线。

可以看到,串联 1Ω电阻,还是放大,最大到 3 倍,说明电阻稍小。而 10Ω电阻就能完全消除振荡了。100Ω电阻也能完全消除振荡,但是其截止频率更低,会造成驱动信号的高频分量丢失,最终上升沿变缓,也就是 MOS 管开启的时间变长。

相信到这里,对于这个串联电阻的作用,已经怎么取值应该就比较清楚了。G 极走线越长,寄生电感越大,越容易引起问题,电阻就要选得更大些。

从文章开头,一路看下来,这也太费劲了,确实,明白这些也不是很容易,很多时候,我们都是拿着厂家的原理图来抄抄,也不会有问题。等到有新人问到“这个电阻干什么用的?”老员工答曰“抑制振荡”,是啊,这四个字,每个字都认识,是不是总有一种模模糊糊的感觉呢?希望看完此文之后不再模糊。

Matlab 源码

上面所有的曲线图,Matlab 源码都在这个里面了,我已经把每个图对应的代码分开来了,有 7 部分,全部复制过去可以一次执行得到 7 个图。也可以把其中的一个复制出去执行,都是可以的。代码里面的注释写得也比较清楚,可以自行去修改 Rs,RL,L,C 的值。

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--- 理想 LC 低通滤波器增益%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%f=[1000:100:100000000];   %频率:范围 1Khz-10Mhzw=(f.*pi*2);              %角频率C=0.000001; %1uF   电容量L=0.000001; %1uH   电感量Zc=1./(w.*C.*j);   %电容总阻抗Zl=w.*L.*j;        %电感总阻抗Av= abs(Zc./(Zc+Zl));   %增益figure;       %画图loglog(f,Av); %画出增益曲线grid on;      %显示网格set(gca,'YLim',[0.001 1000]);%y 轴的数据显示范围set(gca, 'XTickLabel' ,{'1K','10K','100K','1M','10M','100M'}); %x 轴频率数据set(gca, 'YTickLabel' ,{'0.001','0.01','0.1','1','10','100','1000'});   %y 轴幅度数据xlabel('频率'), ylabel('增益');  %x,y 轴名称title(['LC 低通滤波器增益(L=',num2str(L*1000000),'uH,C=',num2str(C*1000000),'uF)']);%标题
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--- 不同负载%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%f=[1000:100:100000000];   %频率:范围 1Khz-10Mhzw=(f.*pi*2);              %角频率C=0.000001; %1uF   电容量L=0.000001; %1uH   电感量RL1=1;      %负载 RL1=1RL2=10;     %负载 RL2=10RL3=100;    %负载 RL2=100Zc=1./(w.*C.*j);   %电容总阻抗Zl=w.*L.*j;        %电感总阻抗Av1=abs(((Zc.*RL1)./(Zc+RL1))./(((Zc.*RL1)./(Zc+RL1))+Zl)); %负载 1 对应增益Av2=abs(((Zc.*RL2)./(Zc+RL2))./(((Zc.*RL2)./(Zc+RL2))+Zl)); %负载 2 对应增益Av3=abs(((Zc.*RL3)./(Zc+RL3))./(((Zc.*RL3)./(Zc+RL3))+Zl)); %负载 3 对应增益figure;       %画图loglog(f,Av1,f,Av2,f,Av3); %画出 3 种负载的增益grid on;      %显示网格legend(['RL=',num2str(RL1)],['RL=',num2str(RL2)],['RL=',num2str(RL3)]);%曲线说明set(gca,'YLim',[0.001 1000]);%y 轴的数据显示范围set(gca, 'XTickLabel' ,{'1K','10K','100K','1M','10M','100M'}); %x 轴频率数据set(gca, 'YTickLabel' ,{'0.001','0.01','0.1','1','10','100','1000'});   %y 轴幅度数据xlabel('频率'), ylabel('增益');  %x,y 轴名称title(['不同负载的增益(L=',num2str(L*1000000),'uH,C=',num2str(C*1000000),'uF)']);%标题
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--- 不同噪声源内阻%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%f=[1000:100:100000000];   %频率:范围 1Khz-10Mhzw=(f.*pi*2);              %角频率C=0.000001; %1uF   电容量L=0.000001; %1uH   电感量RS1=0.1;   %内阻 RS1=0.1RS2=1;     %内阻 RS2=1RS3=10;    %内阻 RS2=10RL=1000000;%负载 RL=1MZc=1./(w.*C.*j);   %电容总阻抗Zl=w.*L.*j;        %电感总阻抗Av1=abs(((Zc.*RL)./(Zc+RL))./(((Zc.*RL)./(Zc+RL))+Zl+RS1)); %内阻 1 对应增益Av2=abs(((Zc.*RL)./(Zc+RL))./(((Zc.*RL)./(Zc+RL))+Zl+RS2)); %内阻 2 对应增益Av3=abs(((Zc.*RL)./(Zc+RL))./(((Zc.*RL)./(Zc+RL))+Zl+RS3)); %内阻 3 对应增益figure;       %画图loglog(f,Av1,f,Av2,f,Av3); %画出 3 种内阻的增益grid on;      %显示网格legend(['Rs=',num2str(RS1)],['Rs=',num2str(RS2)],['Rs=',num2str(RS3)]);%曲线说明set(gca,'YLim',[0.001 1000]);%y 轴的数据显示范围set(gca, 'XTickLabel' ,{'1K','10K','100K','1M','10M','100M'}); %x 轴频率数据set(gca, 'YTickLabel' ,{'0.001','0.01','0.1','1','10','100','1000'});   %y 轴幅度数据xlabel('频率'), ylabel('增益');  %x,y 轴名称title(['不同噪声源内阻的增益(L=',num2str(L*1000000),'uH,C=',num2str(C*1000000),'uF)']);%标题
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--- 不同的电容 C 的值%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%f=[1000:100:100000000];   %频率:范围 1Khz-10Mhzw=(f.*pi*2);              %角频率C1=0.000001; %1uF   电容量 1C2=0.00001;  %10uF   电容量 2C3=0.0001;   %100uF   电容量 3L=0.000001; %1uH   电感量RS=0.1;   %内阻 RS1=0.1RL=1000000;%负载 RL=1MZc1=1./(w.*C1.*j);   %电容 C1 总阻抗Zc2=1./(w.*C2.*j);   %电容 C2 总阻抗Zc3=1./(w.*C3.*j);   %电容 C3 总阻抗Zl=w.*L.*j;          %电感总阻抗Av1= abs(((Zc1.*RL)./(Zc1+RL))./(((Zc1.*RL)./(Zc1+RL))+Zl+RS));%电容 1 对应增益Av2= abs(((Zc2.*RL)./(Zc2+RL))./(((Zc2.*RL)./(Zc2+RL))+Zl+RS));%电容 2 对应增益Av3= abs(((Zc3.*RL)./(Zc3+RL))./(((Zc3.*RL)./(Zc3+RL))+Zl+RS));%电容 2 对应增益figure;       %画图loglog(f,Av1,f,Av2,f,Av3); %画出 3 种电容的增益grid on;      %显示网格legend(['C=',num2str(C1*1000000),'uF'],['C=',num2str(C2*1000000),'uF'],['C=',num2str(C3*1000000),'uF']);%曲线说明set(gca,'YLim',[0.001 1000]);%y 轴的数据显示范围set(gca, 'XTickLabel' ,{'1K','10K','100K','1M','10M','100M'}); %x 轴频率数据set(gca, 'YTickLabel' ,{'0.001','0.01','0.1','1','10','100','1000'});   %y 轴幅度数据xlabel('频率'), ylabel('增益');  %x,y 轴名称title(['不同电容 C 的增益']);%标题
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--- 不同的电感 L 的值%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%f=[1000:100:100000000];   %频率:范围 1Khz-10Mhzw=(f.*pi*2);              %角频率C=0.000001; %1uF   电容量L1=0.000001; %1uH   电感量L2=0.0000001; %0.1uH   电感量L3=0.00000001; %0.01uH   电感量RS=0.1;   %内阻 RS1=0.1RL=1000000;%负载 RL=1MZc=1./(w.*C.*j);   %电容 C 总阻抗Zl1=w.*L1.*j;          %电感 L1 总阻抗Zl2=w.*L2.*j;          %电感 L2 总阻抗Zl3=w.*L3.*j;          %电感 L3 总阻抗Av1= abs(((Zc.*RL)./(Zc+RL))./(((Zc.*RL)./(Zc+RL))+Zl1+RS));%电感 1 对应增益Av2= abs(((Zc.*RL)./(Zc+RL))./(((Zc.*RL)./(Zc+RL))+Zl2+RS));%电感 2 对应增益Av3= abs(((Zc.*RL)./(Zc+RL))./(((Zc.*RL)./(Zc+RL))+Zl3+RS));%电感 3 对应增益figure;       %画图loglog(f,Av1,f,Av2,f,Av3); %画出 3 种电感的增益grid on;      %显示网格legend(['L=',num2str(L1*1000000),'uH'],['L=',num2str(L2*1000000),'uH'],['L=',num2str(L3*1000000),'uH']);%曲线说明set(gca,'YLim',[0.001 1000]);%y 轴的数据显示范围set(gca, 'XTickLabel' ,{'1K','10K','100K','1M','10M','100M'}); %x 轴频率数据set(gca, 'YTickLabel' ,{'0.001','0.01','0.1','1','10','100','1000'});   %x 轴幅度数据xlabel('频率'), ylabel('增益');  %x,y 轴名称title(['不同电感 L 的增益']);%标题
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%---MOS 不串电阻%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%f=[1000:100:100000000];   %频率:范围 1Khz-10Mhzw=(f.*pi*2);              %角频率C=0.000000001; %1nF   电容量L=0.00000000917; %1uH   电感量RS=0.1;   %内阻 RS1=0.1RL=1000000;%负载 RL=1MZc=1./(w.*C.*j);   %电容总阻抗Zl=w.*L.*j;        %电感总阻抗Av=abs(((Zc.*RL)./(Zc+RL))./(((Zc.*RL)./(Zc+RL))+Zl+RS)); %MOS 管不串增益figure;       %画图loglog(f,Av); %画出增益曲线grid on;      %显示网格set(gca,'YLim',[0.001 1000]);%y 轴的数据显示范围set(gca, 'XTickLabel' ,{'1K','10K','100K','1M','10M','100M'}); %x 轴频率数据set(gca, 'YTickLabel' ,{'0.001','0.01','0.1','1','10','100','1000'});   %x 轴幅度数据xlabel('频率'), ylabel('增益');  %x,y 轴名称title(['MOS 管不串电阻的增益(L=',num2str(L*1000000000),'nH,C=',num2str(C*1000000000),'nF)']);%标题
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%---MOS 串电阻%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%f=[1000:100:100000000];   %频率:范围 1Khz-10Mhzw=(f.*pi*2);              %角频率C=0.000000001; %1nF   电容量L=0.00000000917; %1uH   电感量RS1=0.1;   %内阻 RS1=0.1RS2=1.1;   %内阻 RS1=1.1RS3=10.1;   %内阻 RS1=10.1RS4=100.1;   %内阻 RS1=100.1RL=1000000;%负载 RL=1MZc=1./(w.*C.*j);   %电容总阻抗Zl=w.*L.*j;        %电感总阻抗Av1=abs(((Zc.*RL)./(Zc+RL))./(((Zc.*RL)./(Zc+RL))+Zl+RS1)); %MOS 管不串增益Av2=abs(((Zc.*RL)./(Zc+RL))./(((Zc.*RL)./(Zc+RL))+Zl+RS2)); %MOS 管串 1Ω电阻增益Av3=abs(((Zc.*RL)./(Zc+RL))./(((Zc.*RL)./(Zc+RL))+Zl+RS3)); %MOS 管串 1Ω电阻增益Av4=abs(((Zc.*RL)./(Zc+RL))./(((Zc.*RL)./(Zc+RL))+Zl+RS4)); %MOS 管串 1Ω电阻增益figure;       %画图loglog(f,Av1,f,Av2,f,Av3,f,Av4); %画出增益曲线grid on;      %显示网格legend(['不串电阻'],['串 1Ω电阻'],['串 10Ω电阻'],['串 100Ω电阻']);%曲线说明set(gca,'YLim',[0.001 1000]);%y 轴的数据显示范围set(gca, 'XTickLabel' ,{'1K','10K','100K','1M','10M','100M'}); %x 轴频率数据set(gca, 'YTickLabel' ,{'0.001','0.01','0.1','1','10','100','1000'});   %x 轴幅度数据xlabel('频率'), ylabel('增益');  %x,y 轴名称title(['MOS 管串电阻的增益(L=',num2str(L*1000000000),'nH,C=',num2str(C*1000000000),'nF)']);%标题

小结

LC 串联电路非常简单,然而实际电路应用起来却不简单,从而会引起各种各样的现象,如果不深入分析的话,确实会有点无从下手。下面写几个小结论:

1、LC 串联谐振的增益,与信源内阻,负载阻抗,电感,电容的大小都有很大的关系,四个变量造成的情景组合非常多,表现也就有很不一样。总的来说信源内阻越小,负载阻抗越大,电感越大,电容越小,越容易出现尖峰

2、LC 滤波器恶化要满足几个条件:源内阻要小,负载阻抗要大,噪声频率正好处于谐振频率附近,电容容量太小,电感感量太大。

这些结论,个人认为真心不重要,重要的是分析方法。有了方法,各种结论不是随便就推出来了,还用别人告诉你吗?至于开篇提的几个问题,自然答案就出来了。

写了好几天了,有帮助的话麻烦点个赞吧,谢谢!

相关推荐

电子产业图谱

公众号“硬件工程师炼成之路”作者,近10年硬件开发经验,致力于硬件分享交流,共同学习进步。