使用LTspice进行运放自激振荡电路调试
相信每个硬件工程师经常会遇到这样的问题:运算放大器(之后简称运放)在实际使用当中出现了自激振荡。即使是最简单的运放测试电路,由于电路设计的不合理或者是外围器件选择的不恰当也会产生自激振荡。自激振荡一旦产生,轻则导致测试时间增加,严重的话,会导致测试结果不准确,产生质量安全隐患。想要解决这个问题就必须清楚问题产生的原因。
任何一款运放产生自激振荡必须满足两个条件:
- 环路增益大于1 (|AF|>1)
- 反馈前后相位差在360°以上,附加相位在180°以上,简单来说相位裕度不够
知道了运放产生自激振荡的原因之后,就可以判断一个电路是否会产生自激振荡,方法如下:
相对裕度判断方法:即20lg|AF|=0时,相位偏移是否超过180°
我们了解了运放自激振荡产生的条件以及判断方法。如何解决运放电路产生自激振荡的问题?从产生的原因我们可以从两方面入手:减小环路增益;增大相位裕度。
减小环路增益
对于运放电路来讲,减小环路增益,其实就是在减小F,F的最大值是多少呢?就是1,我们最常见的跟随电路。这也是为什么运放在作为跟随电路时最容易产生震荡的原因。但是通常由于设计层面上的原因,运放的增益以及反馈不能随意地减小,所以用这种方法来调试有一定的局限性。
增大相位裕度
主极点补偿:在反馈环路中增加一个主极点,使它远离第二个极点,从而改变环路的频率特性,增大相位裕度,实现频率补偿。
密勒补偿:这种补偿方式比较简单,通常是在反馈环路上添加一个小数值的电容,通常是几pf到几十pf,有的电路可能会用到nf级别;补偿后特性是从主极点-20db/十倍频程下降,也会增大相位裕度。
LTspice仿真调试
借助LTspice模拟一个自激振荡电路,并且通过仿真来让这个电路不再振荡:
仿真前的设置:
在进行运放的仿真时,我们都是通过瞬态响应观察,所以是在Transient里面进行设置,通常运放的自激振荡在很短的时间内就会观察到波形,将仿真时间设置为10ms,保证观察到尽可能多一点的波形,同时不会对软件造成太大负载。接下来进行电路绘制。
电路绘制:
下图为自激振荡电路,两个经典的OP07运放,输出我们通过电阻反馈到前级运放,在第二级运放的正极我们提供一个Pulse信号。
通过输出结果,我们可以清楚地看到,运放产生了自激振荡。
如何解决这个问题?通过上面的理论分析,我们以密勒补偿为例:在反馈环路上并联一个小电容,首先电容加的不要太大,没有最合适,只能一点点尝试!
R5并联一个100pF的电容后,输出波形就没有产生持续的振荡了,如下图所示:
通过LTspice我们可以判断运放电路是否会产生自激振荡,具体做法是在电路中加入AC小信号,做频域分析,获得电路的波德图,通过波德图来判断一个电路是否稳定。
如上图所示:在仿真选项选择AC分析,扫描类型一般设置为Decade,点数可以适中一点100个就比较合适,因为是扫频,我们需要设置一个频域范围,上图设置的时0.1Hz到1Mhz。
扫频需要用到交流小信号,所以信号源还需要进行改进下,在上图位置设置交流信号的幅值,相位一般就是默认没有偏移。
首先对初始的有自激振荡的电路进行AC分析,得到如下波德图:
如图所示,在增益大于0dB的时候,相位裕度有一个急剧降低的过程,这种电路肯定是不稳定的。
对加100pf补偿电容后的电路进行AC分析,得到如下波德图:
0dB以及以上时相位全部远离±180°,并且裕度都大于45°,这种电路我们可以说是稳定的。
不同大小的电容对测试结果有很大的影响,我们可以用LTspice进行验证:
补偿电容为10PF的情况下的输出点波形:如图中所示,输出依然存在振荡。
补偿电容为1nF的情况下的输出波形:如下图所示,振荡消失。
补偿电容为10nF的情况下的输出波形:如图中所示,振荡消失,但是产生了杂散信号。
总结
对于同一款运放来讲,仅仅是一个小电容就会对实际输出结果产生巨大的影响。当然对于不同运放,变化更加多样,同一个电路也不一定适用。LTspice的示波器功能可以帮助我们看到设计的电路是否出现振荡,AC分析功能可以迅速帮助我们找出运放电路出现自激振荡的原因。借助LTspice大家可以快速准确地设计自己的电路,防止出现自激振荡问题。通过以上的阐述,相信您对借助LTspice 进行运放自激振荡电路调试有了一定的了解。假如您对此调试感兴趣,请点击下方「联系我们」,提交您的需求,我们愿意为您提供更深入的讲解。
参考资料
相关阅读
《活学活用 LTspice 进行电路设计 — 基础操作流程》
《活学活用 LTspice 进行电路设计 — DC-DC 转换器仿真》
《活学活用 LTspice 进行电路设计 — 电源启动时的评估要素》
《活学活用 LTspice 进行电路设计 — 评估输出瞬态响应》
《活学活用 LTspice 进行电路设计 — 用 .meas 命令确认电压最大、最小值》
《活学活用 LTspice 进行电路设计 — 用 .step 命令更改参数》
更多資訊: