LM393电压比较器实战:迟滞计算、开集电极与经典电路

发布时间:2026/10/7 5:10:18

LM393电压比较器实战:迟滞计算、开集电极与经典电路 电压比较器这东西第一次上手的人十有八九会把它当成运放来用我最早做电池电量指示板的时候就是这么干的拿一颗双运放当阈值判断结果翻转点飘得厉害温度一变阈值就跑后来换成 LM393 电压比较器才发现问题根本不在外围电路而是器件本身的设计目标就不一样。这篇内容想把电压比较器从原理到落地完整讲一遍重心放在 LM393 上因为它是中小功率阈值检测场景里最便宜、最耐造、也最容易买到的选择。它做的事情非常朴素拿一个模拟电压去和另一个参考电压比大小然后给出一个干净的高低电平。听起来简单但真实项目里翻车的点基本都集中在干净这两个字上——输入信号带噪声怎么办阈值附近来回抖动怎么办输出要驱动继电器或者光耦怎么办单电源供电时输入范围不够用怎么办。这些问题在数据手册里往往一句话带过实际调起来能耗掉一整个下午。下面我会分成几块来讲先把比较器和运放的关系说清楚再把 LM393 的内部结构、关键参数含义、迟滞计算方法一条条拆开最后给出四个我自己反复用过、能直接照着搭的电路包括过压报警、光控开关、方波振荡器和窗口比较器。中间穿插的注意事项和排查技巧都是踩过之后才明白的。零基础能看懂做过几块板子的人应该也能捞到点东西。1. 先把电压比较器这件事说透1.1 它本质上是一个模拟量判决器要理解电压比较器最省事的类比是把它当成一个只认两条线的门卫。门卫手里有两把尺子一把是你设定的参考电压另一把是送进来的被测电压。他做的唯一判断就是谁高谁低然后把这个判断结果用两种极端状态表达出来——要么输出顶到电源轨附近要么输出被拉到地附近。中间不存在差不多这个档位这就是它和运放最根本的区别。从电路角度看比较器本质上是一个开环工作的高增益差分放大器。开环增益通常在 10 万倍以上这意味着输入差分电压只要有几十微伏的变化输出就会从一个饱和状态猛地跳到另一个饱和状态。这个跳的区域我们叫过渡区而比较器的价值恰恰在于把这个过渡区做得极窄让判决结果尽可能干脆。再展开一点说运放在正常使用时会通过负反馈把输出拉回线性区让输出和输入之间保持某种比例关系比较器则完全不要负反馈它故意让输出撞到供电轨上因为只有撞到轨上后面接的单片机、逻辑门、继电器驱动才能稳定识别。你可以这样理解运放是测量员关心的是数值大小比较器是裁判只关心谁赢。定位不同内部电路和参数取舍也就完全不同。实际选型时判断你手上这个电路到底该用哪种器件有个特别土但特别管用的自问我需不需要知道输入信号的连续数值需要那就是运放只需要知道超过没超过那就是比较器。我见过不少人为了省一颗料硬拿运放凑合最后在噪声和延迟上付出更大代价。1.2 为什么不能随手拿运放顶替很多人第一反应是运放开环增益也很大直接开环当比较器不行吗短时间应急可以但认真做产品不建议原因有四个而且每一个都会实际咬人。第一是频率补偿电容带来的速度问题。通用运放内部为了闭环稳定会内置一个米勒补偿电容把主极点压得很低结果就是压摆率被限制得很死典型通用运放只有 0.5V/us 左右一个 5V 的翻转要花十几微秒。而 LM393 这类专用比较器的响应时间典型值只有 1.3us差距是数量级的。如果你的信号是几十千赫兹的脉冲运放根本追不上。第二是饱和恢复时间。运放输出撞到轨之后内部晶体管进入深度饱和要退出饱和需要把存储电荷抽走这个过程可能长达几微秒到几十微秒。比较器在设计时就避免了深度饱和恢复速度快得多。你如果拿运放做阈值检测会发现输入信号刚越过阈值时输出要愣一下才动就是这个原因。第三是输出结构。运放是推挽输出上下两个输出管会同时导通产生直通电流功耗不低更麻烦的是推挽输出不能简单地接在一起两个运放输出并联会互相较劲。而 LM393 是开集电极输出多个输出可以直接并联实现线与逻辑这一点在做多路窗口判断时非常省事。第四是相位反转。运放输入级在某些共模电压超出范围的情况下会出现相位反转也就是输入继续升高输出却往反方向走。做比较器时这种情况一旦发生逻辑就彻底错了而且很难靠调试发现因为它在特定电压区间才出现。1.3 常见比较器型号与选型对照市面上能买到的比较器很多我按实际项目里的使用频率整理了一张对照表选型时先看这张表基本够用。型号通道数输出类型供电范围响应时间典型适用场景LM3932开集电极2 ~ 36V1.3us通用阈值检测、光控、报警LM3394开集电极2 ~ 36V1.3us多路电平指示、窗口比较LM3111开集电极/发射极可选±15V200ns需要选通端或更高速度TLV17011开漏2.2 ~ 36V560ns低功耗电池设备TLV35011推挽2.7 ~ 5.5V4.5ns高速脉冲整形、时钟恢复ADCMP6001推挽2.5 ~ 5.5V5ns高速数据采集前端选型时我一般按这个顺序问自己供电是不是单电源、需不需要多路、速度要求多少、输出要不要线与。其中 LM393 和 LM339 是绝对主力因为它们能直接吃 5V 到 24V 供电输出耐压 36V接继电器、光耦、PLC 输入都不用额外电平转换抗造程度在实验室里被反复验证过。提示LM393 和 LM339 的电气参数几乎一致只是通道数不同用熟一个另一个就自然会用。选型时优先按通道数决定不要为了省事用四通道代替双通道多出来的两路如果处理不当反而会引入噪声。2. LM393 内部到底是怎么工作的2.1 从引脚定义看它的脾气LM393 是标准的 8 脚封装DIP-8 和 SOP-8 都能买到。脚位排布是左边一组、右边一组1 脚是通道 A 输出2 脚是 A 的反相输入3 脚是 A 的同相输入4 脚接地5 脚是 B 的同相输入6 脚是 B 的反相输入7 脚是 B 输出8 脚接电源。注意两个通道的输入脚顺序是反的A 通道是输出、反相、同相B 通道是同相、反相、输出这种镜像排布是为了让 PCB 走线更顺但第一次画板时很容易接反。供电范围是 2V 到 36V单电源和双电源都能用。单电源时地就是 0V双电源时可以把 4 脚接到负电源比如 ±5V、±15V 都行。但要注意一个硬性限制输入共模电压范围是 0V 到 VCC 减 1.5V。也就是说如果你用 5V 单电源输入信号最高只能到 3.5V超过这个值比较器就不保证正常工作了。这个限制是新手最容易忽略的坑很多人用 5V 供电却把 0 到 5V 的信号直接送进去结果高电平段逻辑全乱。还有一条底线输入电压任何时候都不能低于 -0.3V。虽然是单电源电路但输入端有内部寄生结构一旦被拉到负压就会有大电流灌进去可能直接烧掉输入级。做电机、继电器这类感性负载的场合输入端一定要加限流电阻和钳位二极管。2.2 输入级、增益级、输出级逐层拆解LM393 的内部可以粗分成三级理解了这三级的特性你就理解它所有的行为边界。输入级是一对 PNP 差分晶体管配上恒流源做偏置。用 PNP 而不是 NPN 是关键设计选择PNP 输入级的基极电位可以低到地电位以下 0.3V 左右所以共模输入范围的下限能够包含 0V这对单电源电路极其友好——你可以在接近地电位的信号上做比较。代价是共模上限被卡在 VCC-1.5V因为再往上恒流源就进入饱和区了。输入级还有约 25nA 的偏置电流方向是流出输入端的如果你在输入端接了一个 1M 的电阻这 25nA 就会产生 25mV 的误差比失调电压本身大了十倍。中间是增益级由多级电流镜构成提供主要电压增益同时把差分信号转换成单端信号送给输出级。这一级决定了比较器的过渡区宽度和响应速度LM393 的增益足够让几毫伏的过驱动就完成翻转。响应时间 1.3us 就是在这一级和输出级共同作用下测出来的条件通常写明是 TTL 电平输入、5mV 过驱动。输出级就是那颗 NPN 开集电极晶体管它的发射极接 4 脚集电极就是输出脚。这颗管子在导通时能够灌入十几毫安的电流在这股电流下饱和压降大约 0.15V 到 0.4V。注意它是只灌不拉的输出高电平不能靠自己产生必须由外部上拉电阻或者上拉负载提供。这也解释了为什么 LM393 输出脚可以直接接一个 LED 到正电源——LED 加限流电阻充当上拉输出低电平时 LED 亮输出高电平时 LED 灭连限流和驱动都省了。2.3 开集电极输出带来的两个隐藏福利开集电极这个结构看起来是个麻烦必须加上拉电阻才能出高电平但实际用起来它给了两个非常实用的自由度。第一个福利是输出上拉电压可以远高于芯片供电电压。输出晶体管的集电极耐压是 36V完全独立于 8 脚的供电。这意味着你可以用 5V 给 LM393 供电保持输入范围和功耗都舒服同时在输出端上拉到 12V 或 24V直接驱动继电器线圈或者光耦的发光侧不需要任何电平转换。我做过一个 24V 工业信号检测板就是这个套路LM393 用 5V 供电保证输入共模范围够用输出上拉到 24V 经过光耦隔离后送进 PLC一颗芯片搞定。第二个福利是输出可以线与。多个开集电极输出接到同一个上拉电阻上任意一个输出为低公共节点就是低。这个特性直接省掉了逻辑门做窗口比较器、多路报警汇总的时候特别省心。注意为了实现线与所有并联的输出必须共用一个上拉电阻。如果每一路各自接了上拉电阻再并联就会出现一个输出低、另一个输出高时高电平那一路的上拉电阻和低电平那一路的输出管形成通路白白浪费电流严重时还会损坏器件。当然开集电极也有代价。上升沿完全靠上拉电阻给输出电容充电时间常数是 R 乘 C上拉电阻越大上升沿越慢。如果上拉取 100k而输出节点有 20pF 的寄生电容加上后级输入电容上升时间就有 2us比比较器本身的响应时间还长速度全被上拉电阻拖死了。所以高速场合上拉电阻不能太大1k 到 10k 是常见范围。3. 关键参数怎么读迟滞怎么算3.1 LM393 核心参数逐条翻译数据手册上那几十个参数实际做设计真正要盯住的只有七个。我把它们整理成一张表后面直接说每个参数会在电路里造成什么后果。参数典型值最大值在电路里的实际后果输入失调电压 VIO±2mV±5mV决定静态阈值的绝对精度未调校时有几毫伏偏差输入偏置电流 IIB25nA250nA输入分压电阻越大误差越大1M 电阻上就是 25mV输入失调电流 IIO±5nA±50nA两端等效电阻不匹配时产生附加误差共模输入范围0 ~ VCC-1.5V—单电源时输入上限被硬性卡死输出低电平 VOL0.15V 4mA0.4V不能当作真正的 0V精密场合要补偿响应时间1.3us—决定最高工作频率大致在几十千赫兹灌电流能力16mA—可以直接驱动 LED 或光耦不用外加三极管其中失调电压和偏置电流是最容易造成偏差的两项。失调电压的意思是即使你把两个输入端接成完全相同的电压输出也可能偏向某一侧等效于内部有个 2mV 左右的固定偏差叠加在输入端。做 5V 系统时 2mV 不过是万分之四问题不大但如果你做的是精密电流检测检测电阻上只有 50mV 的压降2mV 就是 4% 的误差这时候就得考虑用低失调的比较器或者加调零电路。偏置电流的危害更隐蔽。它只在输入端外接电阻较大时才明显。举个例子你用两个 1M 电阻分压产生参考电压由于偏置电流的影响实际参考电压会比理论值低 25mV 左右而且这个偏移随温度变化。解决办法有两个一是把分压电阻降到 10k 量级代价是静态电流从 5uA 涨到 500uA二是在分压点加一个 100nF 到 1uF 的电容让偏置电流由电容平均掉同时还能滤掉噪声。我一般两个一起用分压用 47k并 1uF 电容兼顾功耗和稳定性。3.2 没有迟滞会出什么事迟滞这个词听起来有点专业其实说的就是两个阈值。理想比较器只有一个阈值输入穿过它输出就翻转但在真实世界里只要输入信号上叠加了哪怕几毫伏的噪声或者输入变化很缓慢输出就会在阈值附近疯狂抖动。我用示波器看过最夸张的一次一个热敏电阻温度检测电路输入信号变化极慢每秒才走几十微伏但输入端附近有开关电源耦合过来的 20mV 纹波。结果在阈值附近那一小段比较器输出以几十千赫兹的频率来回翻后级的单片机中断被打爆整个系统卡死。当时我在输出脚上看到的不是一条方波而是一团模糊的噪声带。解决思路就是引入正反馈让翻转后的输出反过来抬高或者压低自己的阈值。这样输入需要往回走一段距离才能触发反向翻转噪声只要小于这段距离就完全被忽略。这段距离就是迟滞宽度也叫回差。迟滞带来的代价是阈值不再是一个点而是两个点中心值也有轻微偏移。所以设计时要先确定迟滞宽度再反推电阻。一般来说迟滞宽度取预期噪声峰峰值的 3 到 5 倍比较稳妥但也不能太大否则会丢失真实信号的细节。像过压报警这种场景迟滞取被测电压的 2% 到 5% 都算合理。3.3 迟滞电阻的完整计算过程这里给出一个可以直接套用的计算流程。电路接法是被测信号 Vin 经过串联电阻 Rs 接到同相输入端反相输入端接参考电压 Vref输出经过正反馈电阻 Rh 回到同相输入端输出端另有上拉电阻 Rp 到 VCC。两个阈值电压的表达式是Vth_L Vref × (1 Rs/Rh) - VOH × Rs/Rh 输出为高时的翻转点 Vth_H Vref × (1 Rs/Rh) - VOL × Rs/Rh 输出为低时的翻转点 迟滞宽度 ΔV Vth_H - Vth_L (VOH - VOL) × Rs/Rh因为 VOH 接近 VCCVOL 只有零点几伏工程上可以近似成 ΔV ≈ VCC × Rs/Rh反推就是Rh / Rs ≈ VCC / ΔV举个实际数字。VCC 取 5V上拉电阻 10k所以 VOH 约等于 5VVOL 取 0.15V参考电压 Vref 由两个 10k 电阻分压得到 2.5V。取 Rs 10k希望迟滞宽度 100mV那么Rh / Rs (5 - 0.15) / 0.1 48.5 Rh 10k × 48.5 ≈ 485k取标称值 470k代回原式验算Rs/Rh 10/470 0.02128 Vth_H 2.5 × 1.02128 - 0.15 × 0.02128 2.5532 - 0.0032 2.550V Vth_L 2.5 × 1.02128 - 5 × 0.02128 2.5532 - 0.1064 2.447V 迟滞宽度 2.550 - 2.447 103mV 中心值 2.499V可以看到中心值几乎没动只是阈值被拉开成两个点这正是我们要的效果。提示如果参考电压是由高阻分压网络提供的正反馈电流会流过这个网络把参考电压一起带偏导致计算结果和实测对不上。这种情况下要么把分压电阻降到 10k 以下并加去耦电容要么用运放做一级缓冲或者直接用 TL431 这类低阻基准源。4. 四个能直接抄的 LM393 电路4.1 12V 蓄电池过压欠压报警电路这是我最常做的电路之一方案成熟参数直接可用。系统用 LM393 的两个通道分别做过压和欠压判断供电由 78L05 提供 5V参考电压由 TL431 产生 2.5V 基准然后由两个 10k 电阻再分压出 1.25V 给欠压通道用。被测的 12V 电池电压通过分压网络降到比较器能接受的范围。分压比取 1:6也就是上电阻 100k、下电阻 20k这样电池 15V 时分压点是 2.5V正好等于基准值。实际过压阈值定在 14.5V对应分压点 2.417V所以还要把一个 10k 微调电位器串进下臂把阈值调到正好。欠压阈值 11.0V 对应分压点 1.833V用另一路 1.25V 基准不匹配我改成一个独立的分压网络从 TL431 的 2.5V 用 20k 和 30k 分压出 1.5V再用 10k 电位器微调到 1.833V。这里之所以坚持用 TL431 而不是直接用 5V 分压是因为 12V 电池本身电压会变如果参考电压跟着变阈值就失去了意义这是这类电路最容易犯的错误。迟滞方面过压通道取 50mV 迟滞按前面的公式Rs 取 10kRh 取 1M实算迟滞约 48mV欠压通道取 30mVRh 取 1.5M。两个输出各自接 10k 上拉电阻再各接一个红色和黄色 LED 加 1k 限流电阻报警时对应 LED 点亮。如果要接蜂鸣器把上拉改接到 12V然后用一个 NPN 三极管做驱动因为 LM393 输出灌电流虽然能到 16mA但蜂鸣器启动电流往往超过这个值。输入端保护不能省。12V 电池在充电瞬间可能有几十伏的尖峰分压点前面串一个 1k 电阻再在分压点对地并一个 5.1V 稳压二极管就能把尖峰钳住。我早期没加这个一次充电器插拔就把比较器打坏了两片后来统一加上再没出过问题。4.2 光敏电阻光控开关光控电路的核心是把光敏电阻和固定电阻组成分压用比较器判断亮度是否越过门槛。光敏电阻在亮阻时可能只有几百欧暗阻时能到几兆欧跨度极大所以分压电阻要选在中间位置一般取 10k 到 47k 比较合适。我的接法是把光敏电阻放在上臂47k 固定电阻放在下臂分压点接到比较器的同相输入端反相输入端接一个 4.7k 电位器构成的可调参考电压。输出上拉 10k同时上拉支路直接串一个 LED 做状态指示。这样调电位器就能改变触发亮度白天逆时针转到底截止晚上顺时针转到底常亮中间有一段可用的过渡区。迟滞在这里特别重要因为黄昏时环境光变化很慢。取 Rs 10kRh 470k迟滞约 100mV对应到光敏电阻分压点大约是亮度变化的百分之几实际使用时开关动作非常干脆不会有那种天快黑了灯开始一闪一闪的现象。如果发现还是抖把 Rh 加大到 1M或者在同相端和地之间并一个 10uF 电容做慢速积分。注意光敏电阻对温度也敏感夏天和冬天的阻值曲线会平移如果应用对精度有要求建议改用光电二极管加运放跨阻放大然后再送进比较器。纯光控开关用光敏电阻足够成本也低得多。驱动的如果是 220V 灯具输出不能直接接负载必须经过继电器并用光耦隔离。上拉电阻接到光耦内部 LED 的阳极阴极接比较器输出输出低时光耦导通、继电器吸合。这个方案的隔离耐压取决于光耦型号常见的 PC817 能到 5kV做家电项目够用了。4.3 弛张振荡器用比较器产生方波LM393 配合 RC 网络就能产生方波这个电路在需要简单时钟或者驱动蜂鸣器的场合很实用。我用过最多的接法是这样的同相输入端由三个电阻构成节点100k 从 VCC 接到同相端、100k 从同相端接地、1M 从输出接到同相端做正反馈反相输入端接 100nF 电容到地同时通过 10k 电阻接到输出。上拉电阻取 2.2k注意这个值要比一般情况小因为输出还要给电容充电上拉电阻太大会限制充电电流。先算同相端的两个阈值。输出高时 VOH 约 5VVth_H (VCC/100k VOH/1M) / (1/100k 1/1M 1/100k) (50uA 5uA) / (10uS 1uS 10uS) 55uA / 21uS ≈ 2.62V输出低时 VOL 约 0.15V同样的节点电阻代入Vth_L (50uA 0.15uA) / 21uS ≈ 2.39V迟滞宽度约 230mV。再看电容的充放电时间。充电阶段电容电压从 2.39V 升向 5V到达 2.62V 翻转时间常数是 R1C 10k × 100nF 1mst1 R1C × ln[(VOH - Vth_L) / (VOH - Vth_H)] 1ms × ln(2.61 / 2.38) 1ms × 0.0924 92.4us放电阶段从 2.62V 降到 2.39V目标是 0.15Vt2 R1C × ln[(Vth_H - VOL) / (Vth_L - VOL)] 1ms × ln(2.47 / 2.24) 1ms × 0.0978 97.8us周期约 190us对应频率约 5.3kHz实测在 5kHz 上下误差主要来自上拉电阻和输出饱和压降的偏差。想要别的频率按反比改 R1 或 C 就行要 1kHz把 C 换成 470nF要 50kHz把 C 换成 10nF。占空比接近 50%如果想调占空比在充电支路和放电支路各串一个二极管再分别配电阻就能让两个方向的时间常数不一样。4.4 窗口比较器判断信号是否落在区间内窗口比较器用来判断一个电压是否处于上下限之间典型应用是电源电压监控、电池健康度判断、传感器信号有效性检测。用 LM393 的两个通道配合线与逻辑一颗芯片加一个上拉电阻就能实现非常经济。接法上有个容易搞错的地方我按能工作的版本说清楚通道 A 的反相输入端接被测信号同相输入端接上限参考 Vref_H通道 B 的同相输入端接被测信号反相输入端接下限参考 Vref_L。两个输出直接连在一起接一个 10k 上拉到 5V。推导一下逻辑被测电压低于下限时A 端反相输入低于同相输入A 输出为高也就是不拉低但 B 端同相输入低于反相输入B 输出为低把公共节点拉低所以整体输出低。被测电压在窗口内时A 的反相输入高于同相输入A 输出本应拉低——这里就错了。我重新捋一遍。要让窗口内输出高正确的接法是通道 A 用被测信号接同相端、上限参考接反相端那么被测低于上限时 A 输出为低。不对同相低于反相时输出是低。所以被测信号低于上限时 A 输出低这就把公共节点拉低了窗口内也变低了。所以这个接法只能实现任一路越界即输出低的反向逻辑需要再加一级反相。实际情况是这样把两路接成对称结构一路负责检出高于上限一路负责检出低于下限两者输出都是开集电极。由于线与特性任一越界就把公共节点拉低因此公共节点为高表示窗口内为低表示越界。具体接法是上限通道被测信号接反相端Vref_H 接同相端。被测低于上限时输出为高不拉低高于上限时输出为低拉低。下限通道被测信号接同相端Vref_L 接反相端。被测高于下限时输出为高不拉低低于下限时输出为低拉低。两路并联后只有当被测既低于上限又高于下限时两个输出都不拉低公共节点被上拉成高电平。逻辑完全正确。参数上上下限的迟滞宽度由各自的反馈电阻独立决定一般取一样的值。参考电压用 TL431 加电阻分压得到上下限之间的窗口宽度按实际需求定比如 4.5V 到 5.5V 的电源监控窗口或者 2.8V 到 3.6V 的锂电池窗口。输出可以直接接单片机的外部中断脚配上 100nF 去耦电容效果很稳。5. 上电不工作按这张表排查5.1 输出一直在抖或者频率异常高这是最常见的问题我把它排在第一位。现象是用万用表测输出时读数在两三个值之间乱跳用示波器看是一团不规则的高频脉冲频率往往在几十千赫兹到几百千赫兹。原因基本就是迟滞不足。输入信号在阈值附近的噪声幅度超过了迟滞宽度输出翻转后噪声又把输入推回去。排查方法很直接把示波器接在比较器的两个输入端用交流耦合看纹波幅度再和计算出的迟滞宽度对比。如果噪声峰峰值接近或者超过迟滞就必须加大迟滞。加大迟滞的办法有三种把正反馈电阻 Rh 减小、把串联电阻 Rs 增大、或者在输入节点并一个电容做低通滤波。我通常优先调 Rh因为它只影响迟滞不影响中心值如果是高频噪声加电容更有效但要注意电容会引入延迟响应慢的场合没问题高速场合要谨慎。还有一种抖动来自电源本身。如果比较器的参考电压是从同一个被监测的电源分压得来的电源纹波会同时影响输入和参考看似应该抵消实际上因为分压比不同、相位不同抵消效果很差反而容易在两个通道上形成差模噪声。解决办法是参考电压另走一路稳压或者加 RC 滤波后再用。5.2 输出拉不到想要的高电平或者低电平输出高电平上不去先量上拉电阻两端的电压。如果上拉电阻接的那一侧电压正常但输出节点只有 1V 或者 2V说明有东西在往下拽这个节点。常见原因是负载电流超过了上拉电阻能提供的电流或者输出晶体管被击穿失去阻断能力。把负载断开再测如果恢复正常就是驱动能力问题需要减小上拉电阻或者加三极管缓冲。输出低电平下不去比如说好的 0.15V 实测是 1.5V通常是灌电流超标了。LM393 输出低电平保证的灌电流能力是 4mA 到 16mA 的量级超过之后输出管退出饱和压降迅速上升。驱动继电器或者大电流 LED 时一定要注意这点用三极管或者 MOS 管做驱动级别硬扛。还有一种情况是输出恒定不翻转。这时候先量两个输入端的电压如果发现一端高得离谱可能已经超过共模范围被卡死了如果两端电压完全一样可能是输入端虚焊或者运放损坏。LM393 输入级比较皮实但也怕静电和反压用烙铁拆装时注意先断电。5.3 电源与布局的隐形坑比较器对电源噪声比想象中敏感。8 脚旁边一定要放一个 100nF 的陶瓷去耦电容距离芯片不超过 5mm另外再并一个 10uF 的钽电容或者电解电容做低频支撑。我见过一个案例去耦电容省掉了电路在台面上测试完全正常装进金属外壳后一旦有继电器动作就误触发折腾了两天才发现是电源瞬态。地线布局同样关键。比较器的输入地和输出地要在芯片 4 脚附近单点汇合不要让输出的大电流在输入地线上产生压降。输入信号的走线尽量短远离开关节点、继电器线圈和高频时钟线如果必须交叉就垂直交叉。模拟输入走线和数字走线之间最好有一道地线做隔离。下表把常见故障现象和排查方向做了汇总实际调试时按症状查表效率最高。现象最可能的原因快速验证方法处理办法输出高频抖动迟滞不足、噪声过大示波器交流耦合测输入纹波减小 Rh、增大 Rs、输入端并电容输出高电平偏低上拉电阻过大或负载过重断开负载重测减小上拉或加缓冲级输出低电平偏高灌电流超过 16mA串电流表测输出电流加三极管驱动降负载电流高电平段逻辑错误输入超过 VCC-1.5V测输入最高电压加大分压比或提高供电电压上电就烧芯片输入被拉到负压测输入最低电压串限流电阻加钳位二极管温度变化后阈值漂移参考源温漂大高低温箱实测改用 TL431 等低温漂基准通道之间互相干扰共用电源未隔离单独断开一路观察每路独立去耦参考独立分压6. 我在实际项目里攒下的几条心得先说输入保护的优先级。很多人觉得输入端加电阻电容是浪费板面实际上这是整个电路里性价比最高的部分。我在输入端串的 1k 电阻加 5.1V 钳位二极管成本不到两分钱但挡住了无数次插拔瞬态和感性负载反冲。没有这道防线一次意外就能让整个板子报废返工的时间成本远高于这两分钱。再说参考电压的精度。我建议所有对阈值精度有要求的场合参考电压都不要从被测电源直接分压。用一颗 TL431 产生 2.5V 基准或者至少用一颗独立的 LDO 产生 5V这样阈值和被测量之间就解耦了。TL431 的成本大约三毛钱但它把阈值温漂从几百毫伏压到了几十毫伏以内这个投资非常值。第三个体会关于迟滞的取值。新手往往怕迟滞太大影响精度就把迟滞设得特别小结果系统不稳定。我的经验是先把迟滞设成预期值的三倍把系统调稳再逐步减小到刚好不抖为止。稳定比精度难得多先把稳定性拿到手再谈精度。第四个是关于上拉电阻的选择。我一开始总喜欢用大的上拉电阻省电结果发现驱动光耦和长线传输时经常出问题。现在的习惯是分场景定只接芯片输入或者短距离走线用 10k要驱动光耦、LED 或者长线用 1k 到 2.2k牺牲几毫安静态电流换稳定。电池供电的设备我会在上拉电阻上串一个 10k 和 100nF 的 RC 组合兼顾速度和功耗。最后说一句关于仿真的体会。比较器的迟滞电路在仿真里往往表现得很理想实际焊出来经常有 20% 到 30% 的偏差主要来自上拉电阻的容差、输出饱和压降、输入偏置电流和寄生电容。所以我的做法是理论算完之后留一个位置可调或者用 1M 电位器代替 Rh或者在下臂分压电阻处留一个多圈可调电阻。板子回来先上电测实际阈值调准了再固化成固定电阻。这一条看着笨但每一次都能省下第二版打板的钱。这套方法我用了很多年从最早的电池电量显示到后来的工业信号采集LM393 和它的四通道兄弟一直没让我失望过。它不精密、不高速、也不省电但它在稳定、便宜、够用这三件事上几乎没有对手。
延伸阅读

更多相关文章

2026/10/7 5:05:17

影视APP双端源码实战:从选型、编译到播放器封装与上架

简介:影视APP双端源码程序是一套面向移动应用开发者的完整工程,同时支持Android与iOS平台,适合希望快速搭建在线视频聚合类应用的团队或个人学习。资源包大小42.5MB,采用zip压缩格式,内部包含双端应用源码、数据库SQL文…

2026/10/7 5:05:17

Agent技能封装实战:从Function Calling到可插拔技能包体系

最近大模型圈子都在折腾同一个问题:把 LLM 从只会“聊天”变成真正能“干活”的 Agent。而agent-skills这个项目,就是我在这个方向上尝试过的一套比较完整的技能封装方案。说白了,它就是给 Agent 准备一套可插拔的“技能包”体系,…

2026/10/7 5:05:17

付费进群系统源码全解析:PHP支付回调、部署与二次开发避坑指南

简介:付费进群系统V4.1全开源版本源码,定位社群运营者、小程序及App开发者,用于快速搭建付费入群、会员筛选等知识付费场景,通过设置门槛提升社群专业性和互动质量。源码无后门,目前市面上常见的6.0、8.0版本多在此基础…

2026/10/7 7:55:26

ESP32选型避坑指南:从SoC、模组到料号的完整链路解析

1. 从一次采购翻车说起:为什么“ESP32”这四个字远远不够前两年帮一个做智能硬件的团队做技术顾问,他们硬件负责人拿着BOM表跟我说:“这颗主控就用ESP32,便宜又好用。”结果采购按“ESP32”去下单,供应商发回来的是一盘…

2026/10/7 7:55:26

模型点三道菜,回喂被拒 400

「手写中文版 claude code」教学系列:codeAgent 是我从零手写的 claude code 复刻——不套壳不翻译,从界面到 Agent 主循环一行行实现,注释全是中文大白话,适合当 Agent 开发教材从头读到尾。 上一课治好了工具的"钱袋子&quo…

2026/10/7 7:55:26

常见组学技术笔记:从 DNA 基因组学到 Multi-omics

1. 前言 组学(Omics)技术——从 DNA、RNA、蛋白质乃至表观遗传等多个层面,全面揭示生命活动的分子机制。内容:系统梳理 DNA 基因组学、Chromatin、RNA 转录组学、蛋白质组学以及 Multi-omics 五大方向的核心概念、技术手段与应用场…

2026/10/7 7:55:26

Agent Skills 实战:从 npx 安装到 GKE 云端部署与避坑指南

1. 从“skills”这个标题说起:它到底指什么“skills”这个词单独拎出来,放在技术社区里,十有八九不是指人类技能,而是指Agent Skills——一套让 AI 智能体(Agent)具备可插拔能力的机制。我第一次看到这个标…

2026/10/7 7:50:25

运动营养代工怎么选?ODM 研发能力决定产品品质

国内运动营养市场持续扩容,大量品牌方选择代工模式推出蛋白粉、肌酸等运动补剂。很多品牌方与普通消费者在挑选代工工厂时,只关注报价和交付速度,忽略工厂的底层研发实力。市面上不少小型代工企业仅能做简单贴牌加工,没有独立配方…

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/6 4:01:51

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/6 17:46:51

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

ESP32免重刷固件:浏览器直接修改NVS键值实现WiFi配置更新

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

SAP HANA查询结果导出CSV:避开乱码、性能与权限的实用指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

数字后端Placement阶段Density与Congestion控制实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑