系统提示 // 建议使用电脑访问,桌面模式效果最佳

信号调理与放大:运放和电压比较器

传感器给的信号常常小到没法直接测量。这篇讲运放怎么把它放大又不变形,以及比较器怎么把它变成一句「是」或「不是」。

年份

2026年8月

类型

note

分类

电子学

工具

电路分析 · 模拟电子学

#电子学#信号处理#运算放大器#比较器#模拟电路

运放与电压比较器

运放简介运放基础

来源: B站 知乎

看完这一篇,你会知道运放是干什么的、它的两个输入脚为什么是那个脾气,以及信号太弱的时候该翻出哪个经典电路。这篇是我把下面两条规则真正想通之后写的:想通的那一刻,之前一大堆看着像魔法的电路突然就讲得通了。

两条规则,几乎所有电路都靠它

你以后读到的运放电路,基本都是这两条规则换了个用法,所以先把它们弄顺。

虚断。 两个输入脚几乎不吃电流。下面所有计算里你都可以当它们完全不吃电流,把它们当成没接东西的空脚。这个名字的意思就是这个:断开了,但又不是真的断开。

虚短。 把输出接回标着 - 的那个输入脚,就形成了一个反馈回路,也就是把一部分输出送回输入端。在这个回路里,运放会把输出推到两个输入脚电压相同为止。两个脚并没有连在一起,是运放硬把它们拉平的。下面所有增益计算都从这里出发。

另外两件决定电路能不能用的事

输出饱和。 输出高不过电源电压。你要是让它摆得比电源还大,它就直接顶在上限不动了,也就是削顶:上限以下它照着输入走,上限以上波形就没了。

电压跟随器。 增益设成正好 1,输出就照抄输入的电压,但能带动重得多的负载。把它放在弱传感器和下一级之间,传感器就不会被后面那级拖垮。

不打扰信号源的放大电路

信号弱的时候就用这一种,比如传感器出来的信号。信号进 + 脚,而这个脚几乎不吃电流,所以传感器基本感觉不到自己接了东西。放大多少倍由两个电阻决定:Rf 从输出接回 - 脚,Rg 从 - 脚接到地。输出会一直往上抬,直到 - 脚的电压和 + 脚一样。

公式 Vout=Vin×(1+Rf/Rg)

读法是:输出等于输入乘以 1 加这两个电阻的比值。Rf 和 Rg 一样大,增益就是 2;Rf 是 Rg 的九倍,增益就是 10。公式里那个 1 决定了增益不会小于 1,所以这个电路只会把信号变大。

同相放大器反相放大器

把信号倒过来的放大电路

需要把几路信号加起来,或者把电流变成电压的时候用这一种。信号进 - 脚,+ 脚接地,所以它走的是反方向:输入往上,输出往下。代价是 - 脚会从信号源里抽电流,所以它适合带得动负载的信号源。Rin 接在信号和 - 脚之间,Rf 接在 - 脚和输出之间。

公式 Vout = (-R2/R1) × Vi

负号表示输出是倒过来的,增益大小就是 Rf 除以 Rin。这个增益也可以小于 1,所以它既能放大,也能把信号变小。

因为 + 脚接地,运放会把 - 脚也稳在地电位上,尽管没有任何东西把它接过去。这个点叫虚地,它正是好几路输入电流能在同一个地方相加的原因。

我该用哪一个?

特性 同相放大器 反相放大器
输入阻抗 极高(MΩ级) 等于 Rin(kΩ级)
增益 1+Rf/Rg,≥1 −Rf/Rin,可<1
输出相位 与输入同相 与输入反相
虚地 无 反相端为虚地
典型用途 高阻抗缓冲、传感器放大 混音、反相、电流检测

真正决定选择的是输入阻抗这一行,它说的是这个电路会给信号源加多大负担。同相输入端几乎不取电流,所以放在弱传感器后面很安全。反相输入端在信号源看来就是 Rin,会从它那里抽电流;做电流相加的时候这正是你要的,接高阻抗传感器的时候这正是你不想要的。

你家里就在用它的电路

厨房秤或者压力传感器,输出的是两根线之间一点点电压差,运放把它变成 ADC 读得出来的电压(ADC 就是单片机里负责量电压的那部分)。量程要选得让大信号不至于削顶。热电偶输出的电压更小,放大之后要用两次:一次送显示,一次在超过设定温度时去拨继电器。PIR 人体感应器在有人走动的时候输出一个很小的变化电压,运放先把它滤一遍,再交给比较器(只会回答“是”或“不是”的器件)决定要不要开灯。电机电流是靠串在电机回路里那颗小电阻上的压降量出来的,放大之后送给单片机,电流一高就断电。音频里,麦克风的信号也是先放大滤波,再进功放或者 ADC。

用反相那一版的电路

音频混音器是最典型的例子:每一路各接一个输入电阻,全部汇到同一个虚地上,电流就在那儿相加,所以各路之间互不干扰。同一级电路还能把接反的传感器信号正过来:有些传感器压力越大输出电压反而越低,接一级反相就正回来了。把 Rin 去掉,让电流直接灌进 - 脚,同一个电路就变成电流转电压,光电二极管检测基本都是这么做的(光电二极管是一种输出电流的光传感器)。把反相和同相各搭一级,就得到差分放大器,也就是工业传感器在信号是两根线之差时用的那一级。

真正动手时会咬你的几件事

普通运放(比如 LM358)的输出摆不到电源电压。5V 供电时它大概停在 3.5V,输入端也是同样的上限:从地到大约 3.5V。给输入端 6V,就已经高过电源本身了,这颗芯片就不正常了。配上 3.3V 的 ADC 时这一点很要紧,因为运放能推过 ADC 的满量程:量程上限是 ADC 定的,不是运放定的。要满摆幅,就去买轨到轨运放,也就是输出能贴到两边电源轨的那种。

还有两件事容易忘。输入脚还是会吃一点电流,这电流总得有地方去:给每个输入端一条到地的通路,可以是电阻,也可以是信号源本身,否则输入电压会漂,输出跟着一起漂。另外,每个供电脚就近对地加一颗 0.1μF 电容,这一颗别省。

如果这件事本质上是“是/不是”的判断,就用比较器,并且给它一点迟滞:从输出接一个电阻回 + 脚,就做出一个很小的死区,把开和关隔开一点。没有它,输入停在阈值附近时输出就会乱跳;凡是拿慢信号或者带噪声的信号做比较的电路,都需要这个死区。

经典电路,每个是干什么用的

这些是我学的时候自己一个个推出来的。下面写的是每个电路干什么用、对信号做了什么,推导就不放了。

把两个电压加起来(反相输入)

加法器1

两路信号各过一个电阻进 - 脚,而这个脚停在虚地上。因为这个点动不了,两路电流就在那里相加。三个电阻取一样大时,输出是两个输入之和取反:大小对,符号是倒的。

把两个电压加起来(同相输入)

加法器2

同样是把两个电压加起来,换了另一种搭法。两路信号经过 R1、R2 汇到 + 脚,R3 和 R4 组成反馈分压。取 R1 = R2、R3 = R4 时,输出就是两个输入之和,这一版不倒相。

从一个电压里减掉另一个

减法器

每一路输入各经一个电阻接到运放的一个输入脚,反馈电阻成对取相同值。接到 + 脚的那一路是被减数,接在 - 侧的那一路被减掉。电阻配对之后,输出正好就是这个差值。

把输入按时间累加(积分电路)

积分电路

把反馈电阻换成电容,电路做的事就变了:它把进来的东西一点点累加起来。输入保持不变,输出会一直动,像一只不停表的秒表。输入是恒定电压时,输出走一条直线往上爬,爬到电源轨就停在那里不动了。

对输入变化的快慢做反应(微分电路)

微分电路

正好反过来:输入串电容,反馈用电阻。这一种对变化快慢做反应,不对大小做反应。输入稳住不动,输出就待在零;输入突然跳一下,输出就给你一个反方向的尖峰。

读两根线之间的差值(差分放大)

差分放大电路

信号是两根线之差的时候用这个电路。第一级把两根线之间的差值量在中间那个电阻上,周围一圈电阻决定这个差值被放大多少倍。第二级把两边相减,合成一路输出。两根线一起捡到的干扰会互相抵消,不会被放大。

读 4~20mA 的传感器电流

电流检测

有些工业变送器送出来的是电流,不是电压:量程下端 4mA,上端 20mA,控制器通常既收 020mA 也收 420mA。让这个电流流过一颗 100Ω 电阻,就变成 0.42V。放大器再乘 2.2 倍(由 22k 和 10k 两个电阻定),ADC 那边看到的就是 0.884.4V。输出是负的,把电流方向掉过来就是正的。

把电压变成电流

电压电流转换

反过来玩:送一个电压进去,取一个电流出来。这里反馈不是直接经电阻回去,而是穿过了三极管。这并不把它变成比较器:只要三极管还在放大区,那两条规则照样成立。流过 R7 的电流等于输入电压除以 R7 的阻值;只要负载比输出那颗 100kΩ 电阻小得多,这股电流基本都从负载上走。

读 PT100 温度传感器

PT100传感器

PT100 是一种温度传感器:它的电阻随温度变化,量出阻值再去表里对出温度。它引出三根线,材质和长度完全一样。其中两根走电流,电缆自己的电阻和传感器串在一起,会算进读数里:线一长,看起来就像温度高了一截。

电路的办法是用第三根线去量电缆自己的压降。第一级放大器把传感器电阻变成电压,第二级单独把电缆电阻量出来。两个测量值、两个未知量,于是能把传感器电阻单独算出来,再查表得到温度。第二级必须接在电缆压降那个点上,不能接在第一级的输出上:要是它只是照抄第一级,两个读数带的是同一个未知量,就分不开了。

为什么叫“运算”放大器?

这个名字来自早期模拟计算机的年代:那时候这些电路真的是在做运算,加法、减法、积分。名字就这么留下来了。

模拟计算机1模拟计算机2

运放还是比较器,我该用哪个?

比较器长得和运放差不多,干的却是另一件事。它不追求线性:它比较两个输入,然后只给一个答案,高或者低。有些比较器自己拉不高输出,得靠一颗电阻上拉到电源。

运放(如 LM358)工作在线性区。有了反馈,它会让两个输入保持相等,输出连续地跟着输入走。它生来是为了放大,也就是输出波形必须和输入波形一个样:把 0.2V 的光电二极管信号放到 2V,波形一点不变。急用的时候也可以开环当比较器,但那不是它该干的活。

**比较器(如 LM393)**生来是为了翻转。它故意让两个输入拉开,输出一下就撞到某一边的电源轨,只有两种状态。它的活是做判断:设一个 2.5V 阈值,一越过就动作。

我的选择逻辑很简单:

  • 需要读取一个连续的模拟量(温度、光线、压力变化的曲线)→ 用运放做缓冲、放大、滤波,送 MCU 的 ADC。
  • 需要做一个开关判断(温控启动、人来灯亮、电池电压低报警)→ 用比较器,干净利落地给出高/低电平,或触发中断。