Multisim 用LM358 运放模拟线性稳压器 - 运放输出饱和 - 前馈电容

就是拿运放搭一个可调的LDO 稳压器,类似下面这个功能框图里的感觉。本来应该非常简单,没什么好说的,没想到遇到了两个问题。

原理 - 理想运放

我用PNP 三极管Q2 作为输出,运放输出电压升高时,流过PNP 三极管BE 的电流变小,输出电压就变小,所以反馈信号和运放输出是反相的,反馈就接到同相端,参考电压0.8V 接到反相端。右边的电阻和电容是模拟的负载。

如果运放是用虚拟的理想运放,这个电路是可以工作的:当参考电压高于反馈点时,运放输出电压降低,三极管基极电流增加,输出电压升高,然后反馈电压升高,反之亦然。通过R6 和R5 设定输出电压的反馈比例,输出电压的计算公式和一般电源芯片一样:

V O U T = V R E F ⋅ ( 1 + R 6 R 5 ) V_{OUT} = V_{REF} \cdot (1 + \frac{R6}{R5}) VOUT=VREF⋅(1+R5R6)

不过换成LM358P 的仿真模型后就出了问题。

问题1,运放输出电压饱和

理论上,输出电压过高时,反馈电压比参考高,运放就应该一直升高电压,从而使基极电流变小,输出电压降低。但是当负载很小时,比如上面那个1k 电阻R4,PNP 三极管只要输出很小的电流就足以让输出电压高过设定值,而LM358 不是轨到轨运放,输出电压无法更加接近它的供电电压,只能像上面图里那样,最高输出到10.5V,此时三极管BE 节还有大约1.5V 电压,输出电压就无法降低了。

解决方法是增大负载,比如把电阻R4 改成100Ω,需要流过更大的电流才能升高电压,从而让基极电流的调节范围和运放输出能力匹配;也可以给基极接个上拉电阻。

问题2,输出电压震荡

如果把PNP 三极管换成PMOS,可以用Vgs 电压阈值较高的PMOS 直接处理掉运放输出电压饱和的问题,但是又发现输出电压会震荡。

震荡波形如下:

增大输出电容C1 可以降低震荡幅度,但是治标不治本,就这么个单纯的线性稳压器,这种震荡是不可接受的。更好的方式是加一点魔法~ 比如在电阻R6 旁边并联个小电容:

震荡就完全消除了。这个电容和有些DC-DC 电路上的前馈电容CFF 应该差不多,可以降低高频信号的增益,或许能增大整个环路的阻尼比。

示波器换成直流耦合,当输出电压上升时,可以看到波形完全没有过冲。

相关推荐
Lester_11015 天前
STM32霍尔传感器输入口设置为复用功能输入口时,还能用GPIO函数直接读取IO的状态吗
stm32·单片机·嵌入式硬件·电机控制
LCG元5 天前
低功耗显示方案:STM32L0驱动OLED,动态波形绘制与优化
stm32·嵌入式硬件·信息可视化
三佛科技-187366133975 天前
120W小体积碳化硅电源方案(LP8841SC极简方案12V10A/24V5A输出)
单片机·嵌入式硬件
z20348315205 天前
STM32F103系列单片机定时器介绍(二)
stm32·单片机·嵌入式硬件
Alaso_shuang5 天前
STM32 核心输入、输出模式
stm32·单片机·嵌入式硬件
脚后跟5 天前
AI助力嵌入式物联网项目全栈开发
嵌入式硬件·物联网·ai编程
2501_918126915 天前
stm32死锁是怎么实现的
stm32·单片机·嵌入式硬件·学习·个人开发
星马梦缘5 天前
驱动层开发——蜂鸣器驱动
stm32·单片机·嵌入式硬件·hal·驱动
小刘爱玩单片机5 天前
【stm32简单外设篇】- 测速传感器模块(光电)
c语言·stm32·单片机·嵌入式硬件
电化学仪器白超5 天前
EC20CEHDLG-128-SNNS调试记录
python·单片机·嵌入式硬件·自动化