LM393电压比较器:从核心原理到五大经典电路设计实战
2026/7/31 3:18:02 网站建设 项目流程

1. 项目概述:从“比较”开始理解电路逻辑

在电子设计的江湖里,有一种器件,它不负责放大,也不负责产生信号,它的核心任务就两个字:比较。这就是电压比较器。而LM393,无疑是这个领域里最经典、最“能打”的选手之一,没有之一。你可能在各种电池保护板、充电器、温控器甚至玩具里都见过它的身影,它就像电路里的“裁判”,时刻盯着两个电压输入,然后果断地给出“高”或“低”的判决。今天,我们就来彻底拆解这个看似简单却无比重要的芯片,把它的里里外外、典型用法和那些容易踩的坑,一次讲透。

对于刚入门的电子爱好者来说,运放和比较器常常傻傻分不清楚。简单来说,你可以把运放想象成一个追求“精确放大”的数学家,工作在闭环状态下,输出是输入的线性放大。而比较器则是一个追求“快速判决”的裁判,通常工作在开环或正反馈状态,它的输出只有两种状态:接近电源电压的高电平,或者接近地电位的低电平。LM393就是这样一个双通道、集电极开路输出的通用型电压比较器。它的核心价值在于,用极低的成本(通常几毛钱一片)和极高的可靠性,解决了大量需要阈值判断的控制问题。无论你是想做一个光照强度控制的小夜灯,还是一个防止电池过充的保护电路,LM393往往都是那个最直接、最经济的选择。

2. LM393 核心特性与内部结构解析

要玩转一个芯片,不能只停留在看典型电路图,必须得知道它“肚子里”装的是什么,以及它的脾气秉性。LM393的数据手册就是它的“武功秘籍”,里面有几个关键参数,直接决定了它在你电路里的表现。

2.1 关键电气参数与选型考量

首先,最需要关注的是输入失调电压。这个参数指的是,当两个输入端理论上电压相等时,实际需要施加的微小电压差才能使输出状态翻转。LM393的典型值在2mV左右,最大不超过5mV(商业级)。这意味着,如果你的比较阈值设置在非常精细的毫伏级别,这个失调电压可能会带来误差。但在绝大多数应用,比如以0.1V甚至1V为阈值的电池电压检测中,这个误差完全可以忽略。其次是响应时间,LM393的典型响应时间在1.3μs左右。它不是一个超高速比较器,但对于电机启停、继电器控制、LED状态指示等kHz级别以下的开关应用,绰绰有余。如果你需要比较MHz级别的信号,那得去找专门的超高速比较器。

另一个至关重要的特性是集电极开路输出。这是LM393与许多运放最大的不同。它的输出级相当于一个接在输出引脚和地之间的NPN三极管的集电极,而这个三极管的发射极接地。这意味着,当输出为低电平时,这个三极管饱和导通,输出引脚被强力拉低到接近0V;当输出为高电平时,这个三极管截止,输出引脚相当于悬空(高阻态)。因此,LM393的高电平输出,必须依靠一个外部的上拉电阻连接到正电源才能实现。这个设计带来了巨大的灵活性:你可以将多个LM393的输出端直接并联在一起,实现“线与”逻辑;也可以方便地驱动不同电压等级的后级电路,比如用5V供电的LM393通过上拉电阻拉到12V,去驱动一个12V的继电器线圈。

注意:集电极开路输出是理解LM393电路设计的基石。忘记接上拉电阻,是新手最常见的错误,会导致输出高电平不确定,后级电路无法正常工作。

供电电压范围宽(单电源2V到36V,或双电源±1V到±18V)和极低的静态电流(每个比较器约0.8mA)也是其优点,非常适合电池供电的便携设备。

2.2 内部功能框图与工作逻辑

虽然我们不需要设计芯片内部,但了解其简化结构有助于理解它的行为。LM393内部每个比较器单元,可以看作是一个高增益的差分放大器输入级,驱动一个集电极开路的三极管输出级。输入级决定了它极高的开环增益(约100dB)和较大的输入阻抗,使得输入端几乎不汲取电流,不会对被测信号源造成显著负载。输出级则提供了强大的灌电流能力(可达16mA),能够直接驱动LED、小型继电器或光耦。

它的工作逻辑极其直接:当同相输入端(+)电压高于反相输入端(-)电压时,输出三极管截止,输出端由上拉电阻拉至高电平;当反相输入端(-)电压高于同相输入端(+)电压时,输出三极管饱和导通,输出端被拉至低电平。这个“非黑即白”的判决过程,就是所有比较器应用的核心。

3. 五大典型应用电路深度剖析与实操

理解了内核,我们来看实战。LM393的电路千变万化,但归根结底都源于几种基本配置。我会结合具体参数计算和器件选型,让你不仅能看懂,更能自己设计。

3.1 基础比较器电路:过压检测实例

这是最直接的应用。假设我们要为一个12V的铅酸蓄电池设计一个过压保护电路,当电压超过14.5V时,点亮一个报警LED。

电路构成

  1. 电源:直接用待监测的电池电源(Vcc=12V-14.5V)为LM393供电。
  2. 参考电压:使用一颗TL431精密可调基准源,搭建一个简单的2.5V基准电路,再通过电阻分压得到我们需要的阈值电压Vref。例如,我们希望Vref=4.5V(对应电池14.5V的分压)。
  3. 信号输入:电池电压通过两个高精度电阻(如R1=100kΩ, R2=33kΩ)进行分压。分压点电压Vsen = Vbat * R2 / (R1+R2)。当Vbat=14.5V时,Vsen = 14.5 * 33 / (100+33) ≈ 3.6V。等等,这里似乎和Vref=4.5V对不上?这里有一个关键点:我们需要决定哪个是反相端,哪个是同相端。
  4. 比较器连接:我们选择“反相比较器”接法。将稳定的参考电压Vref(4.5V)接在同相输入端(+)。将被监测的分压信号Vsen接在反相输入端(-)
  5. 输出与上拉:输出端通过一个1kΩ的上拉电阻连接到Vcc。输出驱动一个LED,LED阳极接输出端,阴极串联一个330Ω限流电阻到地。

工作过程与计算

  • 正常时(Vbat<14.5V),Vsen < Vref。根据比较器逻辑,反相端电压低于同相端,输出为高电平(被上拉到Vcc)。此时LED阴极电压高,阳极电压也高,两端无压差,LED熄灭。
  • 过压时(Vbat>14.5V),Vsen > Vref。反相端电压高于同相端,输出三极管导通,输出被拉至低电平(约0.2V)。此时LED阳极(输出端)为低电平,阴极通过电阻接地,电流路径为:Vcc -> 1kΩ上拉电阻 -> LED -> 330Ω电阻 -> 地。LED点亮报警。

实操心得:在这个电路中,分压电阻的精度直接影响保护点精度。如果使用5%精度的普通电阻,14.5V的保护点可能飘移到13.8V或15.2V。对于电池保护这种应用,建议使用1%精度的金属膜电阻。另外,TL431基准源比直接用电阻分压做参考电压要稳定得多,不受电源电压波动影响。

3.2 迟滞比较器(施密特触发器):消除振荡的利器

基础比较器有一个致命弱点:当输入电压在参考电压附近有微小波动或噪声时,输出会在高、低电平间疯狂快速跳变,这种现象称为“振荡”。这在驱动继电器时会导致继电器频繁吸合释放,损坏触点。解决方法就是引入正反馈,构成迟滞比较器。

电路改进:在基础比较器的基础上,增加一个反馈电阻Rf,连接在输出端和同相输入端之间。假设我们设计一个温度控制电路,用NTC热敏电阻感知温度。我们希望温度低于25°C时加热器关闭(输出高),高于30°C时加热器开启(输出低),而在25-30°C之间保持当前状态,形成一个“回差”。

参数设计

  • 设Vcc=5V,R1和R2设置同相端初始电压Vref0(对应25°C的NTC分压值,例如2.5V)。
  • 输出高电平Voh≈5V,输出低电平Vol≈0V。
  • 反馈电阻Rf与R2并联,会影响同相端实际电压。当输出为高电平(5V)时,通过Rf会在Vref0基础上抬升同相端电压,形成上限阈值电压Vth_high。当输出为低电平(0V)时,通过Rf会在Vref0基础上拉低同相端电压,形成下限阈值电压Vth_low
  • 计算过程:根据叠加定理,同相端电压 V+ = Vref0 * (Rf//R2) / (R1 + Rf//R2) + Vout * (R1//R2) / (Rf + R1//R2)。为了简化,通常选择Rf远大于R1和R2,这样影响较小,便于计算。例如,取R1=R2=10kΩ,则Vref0=2.5V。取Rf=100kΩ。
    • 输出高时(Vout=5V):Vth_high ≈ 2.5V + (5V-2.5V) * (10k//10k) / (100k + 10k//10k) = 2.5V + 2.5V * 5k / 105k ≈ 2.62V。
    • 输出低时(Vout=0V):Vth_low ≈ 2.5V + (0V-2.5V) * 5k / 105k ≈ 2.38V。
  • 这样,我们就得到了一个约0.24V的迟滞窗口。对应到NTC的电阻变化上,就转换为了25°C到30°C的温度回差。输入电压必须超过2.62V才会使输出从高翻低(停止加热),必须低于2.38V才会使输出从低翻高(开始加热),中间的波动不会引起误动作。

3.3 窗口比较器:监测电压是否在正常范围

窗口比较器用于判断输入电压是否处于一个设定的上限和下限之间。它需要两个比较器。例如,监测一个锂电池电压,正常范围是3.0V到4.2V,低于3.0V或高于4.2V都要报警。

电路连接

  • 第一个比较器U1A:设置过压保护。反相端(-)接输入电压Vin,同相端(+)接上限参考电压Vhigh(对应4.2V的分压)。当Vin > Vhigh时,输出为低电平(触发)。
  • 第二个比较器U1B:设置欠压保护。同相端(+)接输入电压Vin,反相端(-)接下限参考电压Vlow(对应3.0V的分压)。当Vin < Vlow时,输出为低电平(触发)。
  • 两个比较器的输出端(均为集电极开路)通过一个公共的上拉电阻连接到Vcc,然后并联在一起,作为总报警输出。

逻辑分析

  • 当电压正常(3.0V < Vin < 4.2V)时:对于U1A,Vin < Vhigh,输出为高(内部三极管截止);对于U1B,Vin > Vlow,输出也为高。两个输出端都处于高阻态,被公共上拉电阻拉至高电平,报警输出为高(表示正常)。
  • 当电压过高(Vin > 4.2V)时:U1A输出三极管导通,报警输出被强行拉低。
  • 当电压过低(Vin < 3.0V)时:U1B输出三极管导通,报警输出同样被拉低。
  • 这种利用集电极开路输出实现“线与”逻辑的方式,非常简洁高效。报警输出为低电平时,表示电压异常。

3.4 方波发生器(弛张振荡器)

利用迟滞比较器和RC充放电电路,LM393可以轻松产生方波。这是一个非常实用的电路,可以用来产生时钟信号、驱动LED闪烁或者作为简单的PWM信号源。

电路原理

  • 将输出通过一个电阻Rf反馈到同相输入端,构成迟滞比较器。
  • 同时,输出端通过一个电阻R连接到反相输入端,反相输入端再通过一个电容C接地。
  • 上电瞬间,电容电压为0。假设输出随机为高电平(Vcc),则同相端电压被抬升到Vth_high。输出通过电阻R向电容C充电,反相端电压逐渐上升。
  • 当反相端电压超过Vth_high时,输出翻转为低电平(0V),此时同相端电压被拉低到Vth_low。
  • 输出为低后,电容C通过电阻R向输出端放电(实际是输出端低电平吸收电流),反相端电压开始下降。
  • 当反相端电压低于Vth_low时,输出再次翻转为高电平,周期开始重复。

频率计算与调节: 方波的周期T ≈ R * C * ln[(Vth_high - Vol) * (Voh - Vth_low) / ((Voh - Vth_high) * (Vth_low - Vol))]。在Voh=Vcc, Vol=0V,且迟滞窗口对称的情况下,公式可以简化为 T ≈ 2.2 * R * C。例如,取R=10kΩ, C=10μF,则 T ≈ 2.2 * 10^4 * 10^-5 = 0.22秒,频率f≈4.5Hz,即每秒闪烁约4.5次。通过改变R或C的值,可以轻松调节闪烁频率。

3.5 光控开关与磁控开关实例

这是LM393最经典的应用场景之一,结合传感器使用。

光控开关(配合LDR光敏电阻)

  • 将LDR和一个固定电阻串联在Vcc和地之间,分压点接LM393的一个输入端(例如反相端)。
  • 另一个输入端(同相端)接一个可调电阻,用于设置光控阈值。
  • 当环境光变强,LDR阻值减小,分压点电压升高。我们可以设计成:光线强时,反相端电压高于同相端,输出低电平,关闭灯光;光线暗时,输出高电平,开启灯光。这就构成了一个自动小夜灯。
  • 关键点:LDR的响应速度较慢,且阻值变化范围大,通常需要搭配可调电阻仔细调整阈值点。为了抗干扰,强烈建议将此电路配置为迟滞比较器模式。

磁控开关(配合干簧管或霍尔传感器)

  • 干簧管是机械触点,可以直接将其与一个上拉电阻串联。干簧管闭合时,输入被拉低;断开时,输入被上拉至高电平。将这个电平信号送入LM393与一个阈值比较,即可判断磁铁是否靠近。
  • 霍尔传感器(如3144)是主动器件,输出也是数字电平,用法类似。LM393在这里可以起到信号整形和增加驱动能力的作用,特别是当传感器输出能力较弱时。
  • 这类开关电路常用于位置检测、防盗报警等。

4. 电路设计核心要点与避坑指南

纸上得来终觉浅,绝知此事要躬行。在实际用LM393搭电路时,有几个细节决定了成败。

4.1 上拉电阻的选型计算

上拉电阻(Rp)的值需要仔细权衡。

  • 阻值不能太大:当输出为高时,负载电流(如后级CMOS电路的输入漏电流)会流过Rp产生压降。Rp太大,会导致高电平电压被拉低,可能无法达到后级电路识别的高电平最小电压。同时,也会影响输出从低到高转换时的上升速度,因为需要对后级电路的输入电容充电,Rp越大,RC时间常数越大,上升沿越缓。
  • 阻值不能太小:当输出为低时,输出三极管要吸入来自Vcc通过Rp流下来的电流。Rp太小,这个灌电流会很大,可能超过LM393的最大灌电流能力(典型16mA,最大可达50mA但需参考手册),导致芯片发热甚至损坏。同时,小的Rp也会增加系统的静态功耗。

计算公式与实例: 假设Vcc=5V,后级是一个CMOS逻辑门,高电平输入电流忽略不计(Iih≈0),LM393低电平输出时允许的最大灌电流Iol_max=16mA。

  1. 确保灌电流安全:Rp_min = Vcc / Iol_max = 5V / 0.016A = 312.5Ω。为了留有余量,通常选择比这个值大的电阻。
  2. 权衡上升时间与功耗:常用值在1kΩ到10kΩ之间。对于速度要求不高的控制场合(如驱动继电器、LED),4.7kΩ或10kΩ是非常常见的选择。它既能提供足够的驱动电流(5V/4.7k≈1mA),又不会对芯片造成负担。
  3. 如果后级是LED:需要将LED的限流电阻和上拉电阻的功能结合考虑。例如,Vcc=5V,LED正向压降Vf=2V,希望工作电流If=10mA。那么总电阻 R_total = (5V - Vf) / If = 3V / 0.01A = 300Ω。这已经接近上面计算的最小安全电阻了。此时,绝不能直接用300Ω既作上拉又作限流,因为当输出低电平时,300Ω上的电流高达5V/300Ω≈16.7mA,已达芯片极限。安全的做法是:上拉电阻用1kΩ,LED单独串联一个电阻R_led。当输出高电平时,电流路径:Vcc -> 1kΩ -> LED -> R_led -> 地。你需要根据这个路径重新计算R_led的值。

4.2 电源去耦与布局布线

LM393虽然皮实,但基本的电路礼仪必须遵守。

  • 电源去耦:必须在芯片的Vcc和GND引脚之间,尽可能靠近引脚的地方,并联一个0.1μF的陶瓷电容。这个电容的作用是为芯片内部高速开关的晶体管提供瞬间的局部电流,避免电流波动通过电源线干扰芯片自身甚至电路其他部分。对于高频噪声更敏感的应用,可以再并联一个10μF的电解电容。
  • 输入信号处理:如果比较器用于比较缓慢变化的信号(如温度、光强),在信号输入端对地接一个小容量电容(如10nF~100nF)可以滤除高频噪声,防止误触发。但要注意,这个电容会和信号源内阻构成低通滤波器,会减缓信号的边沿,在需要快速响应的场合慎用。
  • 布局接地:模拟电路部分(特别是参考电压源、传感器分压网络)的地线,应尽量采用单点接地或星型接地的方式,最后汇聚到电源地,避免数字开关电流在模拟地线上产生噪声电压,影响比较精度。

4.3 未使用单元的处理

一片LM393包含两个独立的比较器。如果只用一个,另一个必须妥善处理,不能悬空,否则可能因感应噪声导致随机开关,增加功耗和不稳定性。

  • 推荐接法:将未使用的比较器的同相输入端接地或接到一个固定的电压(如Vcc/2),反相输入端接Vcc或一个更高的电压,确保输出稳定在一个固定状态(通常为低电平)。同时,输出引脚可以悬空,但最好也通过一个上拉电阻接到Vcc,使其处于确定状态。

5. 常见故障排查与实战问答

在实际调试中,问题总是层出不穷。这里汇总几个最典型的问题和排查思路。

问题1:输出好像不听话,该高的时候不高,该低的时候不低。

  • 检查1:上拉电阻。这是头号嫌疑犯。用万用表测量输出引脚电压,当认为它应该是高电平时,如果电压远低于Vcc(比如5V系统只有1V),那肯定是没接上拉或者上拉电阻太大了。
  • 检查2:电源电压。确认LM393的Vcc引脚电压是否正常。用万用表直接测引脚,别相信原理图。
  • 检查3:输入电压。用万用表测量两个输入引脚的电压,确认是否和你计算或预设的值一致。特别注意参考电压是否稳定。
  • 检查4:芯片方向。确认芯片是否插反了。LM393的缺口或圆点标记对应原理图。

问题2:输出在阈值点附近频繁跳动,继电器“哒哒”响。

  • 诊断:这是典型的没有迟滞导致的振荡。
  • 解决:立即为电路添加正反馈电阻,将其改造为迟滞比较器。反馈电阻值可以从几十kΩ到几百kΩ尝试,用示波器观察输入信号和输出波形,直到振荡消失,输出变化干净利落。

问题3:电路反应迟钝,或者该触发的时候不触发。

  • 检查1:输入信号带宽。如果你在比较一个变化很快的信号,而LM393的响应时间是1.3μs,那么对于纳秒或微秒级的脉冲它可能无法响应。确认信号频率在芯片能力范围内。
  • 检查2:输入端的滤波电容。如果为了抗噪在输入端加了过大的电容(比如10μF),它和信号源内阻形成的RC时间常数会很大,导致信号变化缓慢,比较器自然反应迟钝。根据信号频率调整或移除这个电容。
  • 检查3:输出负载过重。如果你让LM393直接驱动一个大的感性负载(如继电器线圈)而没有续流二极管,或者在输出低电平时负载电流超过芯片的灌电流能力,都可能导致输出电平不正常,表现为“驱动不了”。

问题4:同一个电路,有的板子工作正常,有的不正常。

  • 排查1:元件参数离散性。特别是分压电阻、传感器(如LDR、热敏电阻)。它们的阻值可能有5%,甚至10%的偏差。对于阈值精度要求高的电路,需要用可调电阻在现场校准,或者使用精度更高的元件。
  • 排查2:LM393的失调电压。虽然典型值很小,但最大可能有±5mV。在比较阈值设置得极低(比如几十毫伏)的应用中,这个失调电压的差异会导致不同板子的触发点略有不同。要么接受这个误差,要么选择失调电压更小的比较器,或者在软件/校准上想办法。

问题5:如何用LM393产生PWM信号?

  • 思路是制作一个频率固定的三角波或锯齿波发生器作为输入信号A,再将你的控制电压作为输入信号B。用LM393比较这两个信号,当控制电压高于三角波电压时输出一种状态,低于时输出另一种状态。通过改变控制电压的大小,就能改变输出高电平的占空比,实现PWM。三角波可以用另一个运放或比较器(比如LM393的另一个单元)搭建的积分电路产生。

LM393就像电子世界里的瑞士军刀,简单、可靠、用途广泛。它的价值不在于性能的极致,而在于以极低的成本和复杂度,优雅地解决了无数个“是或不是”、“高于或低于”的判断问题。掌握它,不仅仅是学会了一种芯片的用法,更是建立起一种“比较器思维”——如何将模拟世界的连续量,转化为数字世界的开关量。这种思维,在传感器接口、电源管理、安全保护等无数场合都会用到。下次当你需要做一个简单的自动控制或状态检测时,不妨先想想:用一片LM393是不是就能搞定?很多时候,答案都是肯定的。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询