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 应该差不多,可以降低高频信号的增益,或许能增大整个环路的阻尼比。

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

相关推荐
芯联智造12 分钟前
【stm32简单外设篇】- 28BYJ-48 步进电机(配 ULN2003 驱动板)
c语言·stm32·单片机·嵌入式硬件
喜喜安40 分钟前
CoreS3 屏幕背光
单片机·嵌入式硬件·m5stack cores3
星期天21 小时前
1.4光敏传感器控制蜂鸣器
stm32·单片机·嵌入式硬件·江科大
田甲3 小时前
【STM32】基于TPS61165芯片的LED驱动电路
stm32·单片机·嵌入式硬件
d111111111d3 小时前
STM32得中断服务函数,为什么不能有返回值
笔记·stm32·单片机·嵌入式硬件·学习
CS Beginner3 小时前
【单片机】GPIO位结构图解析
单片机·嵌入式硬件
袖手蹲3 小时前
Arduino UNO Q 烘托圣诞节气氛
人工智能·单片机·嵌入式硬件
电子工程师-C513 小时前
基于51单片机的64位流水灯
单片机·嵌入式硬件·51单片机
d111111111d4 小时前
连续形式PID和离散PID-详情学习-江科大(学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习
电气_空空4 小时前
基于 PLC控制机械手臂取放料的系统设计
人工智能·嵌入式硬件·毕业设计