
不知道你有没有这种感觉想做个温度报警器第一反应是单片机。其实LM393加NE555这对老搭档不写一行代码就能把活儿干得漂漂亮亮。LM393负责“感受温度并做出判断”NE555负责“用声音提醒你”两个芯片各管一摊电源一上电就自动工作掉电再上电也不会跑飞。这篇文章就从选型逻辑开始把如何用这两颗芯片搭出一个可靠、可调、不抖动的温度报警器完整拆给你看整个过程会用B值公式手算一次阈值再讲清楚电位器怎么标定、回差怎么设、上电后常见故障怎么排查照着接线表焊完就能用。1. 为什么是LM393和NE555两颗芯片的分工搞明白就不会乱接线很多人问一个温度报警器用运放、用三极管、用单片机不都能做吗为什么非要用LM393和NE555这个问题的答案其实就藏在这两颗芯片的性格里。1.1 LM393看起来是“比较器”实际上是个万能的模拟开关LM393是双电压比较器内部有两个独立的比较单元。它最明显的特点有两个一是输出级是集电极开路二是输入级允许共模电压接近地。先说集电极开路意味着什么。你可以把它理解成一个“单刀开关”当同相输入端电压大于反相输入端时开关断开当反相输入端电压大于同相输入端时开关接通到地。开关断开时输出引脚是悬空的什么电压都没有必须外接一个上拉电阻到电源输出才能被拉成高电平。这个特性让LM393特别适合做“判断”任务因为它天然就能驱动继电器、三极管、LED这类负载而且两个比较器的输出可以并联做“线与”逻辑。缺点是不加电阻直接把输出接到芯片引脚上高电平是“拉不出来的”新手十有八九在这个地方翻车。第二个说“共模电压接近地”意思是两个输入端即便输入接近0V的电压芯片也能正常判断这在单电源5V供电时非常实用。一般运放在输入接近地轨时会失效LM393不会有这个问题所以可以直接用电阻分压网络做温度采样不需要负电源。1.2 NE555这次不拿它当定时器而是当信号发生器NE555大家太熟了一提起就是单稳态延时但做报警器恰恰要用它的另一种经典工作模式——无稳态多谐振荡器。在这个模式下NE555靠外接的电阻和电容自动充放电输出脚会持续输出方波方波频率由两个电阻和一个电容决定不需要单片机干预。只要电源正常、复位脚是高电平它就永远在那儿振荡。报警器最需要的就是这种“无人值守”的特性温度一旦超限即使没人管它它也会一直滋滋滋地响温度降回来之后又能自动安静下来。用单片机当然也能干这件事但需要写程序、考虑掉电初始化、担心程序跑飞对于只想给孵化箱、机柜、鱼缸加个保护的人来说纯硬件方案反而更省心。1.3 为什么不用运放、不用分立三极管、不用单片机把几种常见方案放在一起看你会更清楚LM393NE555的组合赢在哪里方案优势劣势适合场景运放做比较器精度高、响应快开环容易自激、输出级复杂低电压轨性能差对精度要求极高的仪器仪表分立三极管搭振荡成本最低元件多、温漂大、频率不稳定调试麻烦电子学习练手单片机热敏电阻ADC可编程、精度高、易扩展需要烧录器、程序开发、掉电状态管理需要联网、显示、多路采集的复杂场景LM393NE555元件少、不用写码、上电即工作、逻辑直观精度不如高精度ADC、扩展复杂功能难单点或双点温度报警、纯硬件闭环控制从表格能看出来这套方案最适合的就是“不需要多聪明、但必须可靠”的报警场景。LM393做判断NE555做发声每个模块都能单独测试出问题也容易定位。2. 信号链路逐级拆解NTC分压、比较器翻转、555振荡是怎么串起来的在动手焊接之前最好先把整条信号链在脑子里过一遍不然很容易出现“该响的时候不响、不该响的时候狂响”的情况。我可以把这条链路用文字直接画出来你感受一下NTC温度采样点电压变化 → LM393第一路比较器翻转输出报警信号 → LM393第二路反相缓冲输出使能信号 → NE555复位脚被释放 → NE555开始振荡 → 三极管开关驱动蜂鸣器发声2.1 温度采样NTC怎么把温度变成电压报警器用的测温元件是NTC热敏电阻负温度系数温度越高阻值越小。电路里让NTC和固定电阻串联分压把温度变化转换成分压点电压的变化。我用的接法是固定电阻R1从电源正极接到A点NTC从A点接到地。这样温度升高时NTC阻值变小A点电压下降。A点电压公式很简单VA VCC × R_NTC / (R1 R_NTC)以5V供电、固定电阻R110kΩ、NTC为10kΩ25°CB3950为例几个典型温度下的A点电压大概是温度NTC阻值约A点电压VA25°C10kΩ2.50V50°C3.6kΩ1.32V60°C2.5kΩ1.00V70°C1.8kΩ0.77V注意这里用的是“约”因为NTC的阻值除了看标称值和B值还受批次、工艺影响同一只10kΩ的NTCB3435和B3950在60°C时阻值能差出几百欧。所以最终报警点不靠算要靠电位器校准这个后面专门讲。2.2 比较器翻转报警是高电平还是低电平提前想清楚LM393的规矩是同相输入端电压大于反相输入端输出高反相输入端电压大于同相输入端输出被拉低因为集电极开路接内部开关到地。在这个电路里我把A点电压接到第一路比较器的同相端第3脚把10k电位器的分压值接到反相端第2脚电位器设定的就是报警阈值。温度低于报警点时A点电压高于阈值输出高电平温度升高、A点电压降到阈值以下时输出翻转为低电平。这里有个关键设计报警信号是低电平有效不是高电平有效。这样做的原因很简单LM393的输出低电平时内部开关导通下拉能力非常强可以直接拉低后面的逻辑而输出高电平时需要外部上拉电阻驱动能力受到上拉电阻限制。利用“低电平报警”这个特性后面接第二路比较器做反相会非常自然。2.3 从比较器到NE555第二路比较器为什么能当反相器用第一路比较器报警时输出低电平但NE555的复位脚第4脚恰好是低电平复位、高电平工作。为了把“报警低电平”变成“复位脚释放”需要反相一次。LM393里面不是还有第二个比较器吗别浪费就让U1B做反相缓冲。接法如下U1B的反相输入端第2脚也就是整个芯片的第6脚接U1A的输出端U1B的同相输入端第3脚整个芯片的第5脚接一个2.5V的参考电压U1B的输出端整个芯片的第7脚通过10k电阻上拉到VCC同时接到NE555的第4脚。当U1A输出高电平时U1B反相端约5V高于同相端2.5VU1B输出低电平把NE555复位脚死死按在地上555不振荡。当U1A报警输出低电平时U1B反相端约0V低于同相端2.5VU1B输出高电平复位脚被释放555立刻开始振荡。这样一来两个比较器都用上了反相问题也解决了还省了一个三极管。2.4 NE555振荡参数频率怎么定NE555无稳态电路的振荡频率公式f 1.44 / ((RA 2×RB) × C)我的选择是RA1kΩRB4.7kΩC0.1μF代入公式f 1.44 / ((1k 2×4.7k) × 0.1μF) ≈ 1.38kHz这个频率落在人类耳朵比较敏感的范围蜂鸣器听起来是“滋滋滋”的连续音而不是太尖或太闷。占空比大约是D (RA RB) / (RA 2×RB) ≈ 55%接近方波驱动蜂鸣器效率也还可以。如果你希望声音更尖可以把C降到0.047μF频率会提高到接近2.9kHz如果希望声音低沉一点加大电容就行。2.5 从比较器输出到蜂鸣器响起来的完整逻辑表温度状态A点电压U1A输出U1B输出NE555第4脚蜂鸣器正常报警点高于阈值高电平上拉到5V低电平复位0V不响报警≥报警点低于阈值低电平高电平上拉到5V工作约5V使劲响恢复降到恢复点以下高于阈值高电平低电平复位停止3. 完整硬件搭建元件清单、接线表与每个模块的搭法3.1 完整元件清单先把元件备齐。我给的这一套是经过实测的标准搭配总共没几个零件全部下来成本很便宜序号元件型号/参数数量作用1LM393DIP-81双电压比较器2NE555DIP-81无稳态振荡器3NTC热敏电阻10kΩ25°CB39501温度传感器4固定电阻R110kΩ1与NTC组成分压5电位器RP10kΩ多圈1设定报警阈值6电阻R5、R610kΩ2LM393输出上拉7电阻R3、R410kΩ2给U1B提供2.5V参考8电阻RA1kΩ1NE555振荡电阻9电阻RB4.7kΩ1NE555振荡电阻10电容C10.1μF瓷片电容1NE555振荡电容11电容C20.01μF瓷片电容1555控制脚滤波12电容C3、C4100μF电解100nF瓷片各1电源滤波13电阻R71kΩ1三极管基极限流14三极管Q1SS8050NPN1驱动蜂鸣器15无源蜂鸣器5V电磁式无源1报警发声16二极管D11N41481蜂鸣器续流保护17接线端子/排针若干-外部接线多圈电位器一定要选别为了省钱买普通单圈微调。单圈电位器从0调到10k只转270°调报警点的时候手一抖就飘出好几度多圈电位器能转十几圈标定精度完全不一样。3.2 接线表照着这张表连基本不会错下面这张表是我建议的原理图连接关系。你可以在洞洞板上按这个顺序焊也可以先在立创EDA或Multisim里画一遍再下单打样。LM393U1引脚功能接法1OUT1接R510k到VCC上拉同时接U1B反相端第6脚2IN1-接电位器RP中间抽头3IN1接A点R1与NTC连接点4GND接地5IN2接R3与R4分压点2.5V参考6IN2-接U1A的OUT1第1脚7OUT2接NE555第4脚复位脚同时接R610k到VCC做上拉8VCC接5V电源NE555U2引脚功能接法1GND接地2TRIG接到第6脚阈值脚并与电容C1相连3OUT经R71kΩ接三极管Q1基极4RESET接LM393第7脚同时经10k电阻上拉到VCC5CONT经C20.01μF接地6THRES接第2脚并经RB4.7kΩ接第7脚7DISCH经RA1kΩ接VCC经RB4.7kΩ接第2/6脚8VCC接5V电源其他部分R110kΩ一端接VCC另一端接A点NTC一端接A点另一端接地。RP10kΩ两端分别接VCC和GND中间抽头接LM393第2脚。R310kΩ接VCC到分压点R410kΩ接分压点到地分压点接LM393第5脚。Q1SS8050基极接R7另一端发射极接地集电极接蜂鸣器负极蜂鸣器正极接VCCD11N4148反并联在蜂鸣器两端负极朝VCC、正极朝Q1集电极。接完先别急着上电花五分钟核对一遍尤其是LM393有没有漏上拉、NE555的复位脚有没有悬空。复位脚悬空是高频翻车点555的复位脚不能悬空逻辑不定振荡状态时有时无。3.3 分模块搭建顺序建议按模块搭而不是一上来全焊死这样每一步都能单独验证。第一步先把电源部分焊好。VCC入口并联100μF电解电容和100nF瓷片电容防止后面555振荡时的开关噪声干扰比较器。实测中如果省掉这两个电容偶尔会出现比较器在临界点误翻转的现象。第二步焊NTC分压网络。把R1、NTC、A点焊好先不接LM393用万用表量A点电压。室温下25°C左右应该大约2.5V。如果捏住NTC电压应该明显下降说明测温部分工作正常。第三步焊LM393周边电路。焊完后把电位器临时调到中间位置用万用表量LM393第1脚和第7脚电压确认它们在正常状态下的高低电平符合预期。此时NE555可以先不焊只验证比较器逻辑。第四步焊NE555振荡部分。不接LM393的使能控制先把NE555第4脚直接接VCC确认蜂鸣器能持续响。用示波器或万用表频率档测第3脚输出频率应该接近1.4kHz左右。第五步最后把NE555第4脚接到LM393第7脚整个闭环联调。3.4 洞洞板布局时的一点经验如果用洞洞板建议把LM393和NE555放在板子的两侧中间留出走线区域。NTC分压部分尽量靠近LM393的输入端走线越短越好555的振荡电阻电容靠近第2、6、7脚避免振荡受杂散电容影响。电源线和地线稍微加粗或者用跳线飞一根“总线地”不要对着芯片一圈圈绕地否则555的几百毫安开关电流会在公共地上产生噪声让LM393误判。4. 阈值标定与回差设定用B值公式算一遍再把电位器调到刚好电路焊好只是第一步真正决定报警准不准的是阈值标定。这一节我带你手算一遍再讲怎么实际操作。4.1 用B值公式手算报警点NTC的阻值随温度变化可以用B值公式近似表达R_T R_25 × exp(B × (1/T - 1/298.15))其中R_25是25°C时的标称阻值10kΩB是材料常数通常标在NTC规格书上常见值3950T是开尔文温度。以50°C报警点为例T273.1550323.15KR_T 10k × exp(3950 × (1/323.15 - 1/298.15)) ≈ 10k × exp(-1.025) ≈ 3.59kΩA点电压VA 5V × 3.59k / (10k 3.59k) ≈ 1.32V。所以要想让报警器在50°C响就把电位器中心抽头电压调到1.32V附近。但由于NTC的B值有误差、电阻精度也不是绝对准这个计算结果只能作为初值最终必须靠实测校准。4.2 没有恒温箱怎么把电位器调到刚好很多人家里没有恒温设备我推荐一个很实用的替代法——电阻箱模拟法。既然报警条件取决于A点电压下降到阈值以下那我们可以直接拿一个精密电阻盒或者一串电阻并联凑阻值代替NTC。把电阻调到50°C对应的3.6kΩ接在A点与地之间然后慢慢调电位器直到蜂鸣器刚好开始响。这比拿着吹风机吹NTC稳定得多也方便复现。没有电阻箱的话就用吹风机热风档慢慢加热NTC同时用温度计贴着NTC看读数。温度到了设定值附近时用无感螺丝刀慢慢调电位器让蜂鸣器在目标温度点“刚响”就停手。这个过程一定要慢每次只能转一点点因为人手的温度也会影响NTC读数最好用镊子夹着NTC操作。4.3 回差电阻防止临界点疯狂抖动如果你直接这么用大概率会遇到一个现象温度很接近报警点时蜂鸣器不是稳定地响或停而是“滋滋滋……停……滋滋滋”反复横跳。这是因为LM393在临界点附近A点电压和阈值电压一旦有微小波动输出就会来回翻转。噪声、电源波动、甚至旁边有人走动引起的温度扰动都会造成抖动。解决办法是在第一路比较器上加正反馈电阻也就是从U1A的输出端第1脚接一个电阻到同相输入端第3脚。这样当输出为高电平时同相端会被额外抬高一点当输出为低电平时同相端会被额外拉低一点。结果是报警触发点比恢复点高对应温度上报警温度略微高于恢复温度中间形成一个回差区。回差量估算公式可以近似写成ΔV ≈ VCC × R源 / (R反馈 R源)其中R源是A点对地的等效电阻也就是R1与NTC的并联值。在阈值附近R源大概2~3kΩ如果R反馈取100kΩVCC5VΔV大约在0.1V左右。前面算过A点电压在50°C附近每变化1°C大约变动38mV0.1V的回差对应2~3°C的滞后。这个量级对加热器保护、机柜报警足够用既不会抖又不会让报警点偏差太大。4.4 回差电阻太大带来的副作用回差电阻不是越大越好。如果回差超过5°C会出现一个尴尬情况温度升到70°C报警了要等它降到60°C以下才会停。很多孵化箱、实验水浴应用根本不允许这么大的滞后。所以选100kΩ起步如果发现还有抖动再往220kΩ方向加如果发现恢复温度太低就往47kΩ方向减。这个电阻没有绝对标准完全取决于你的现场环境噪声和允许的滞后范围。5. 上电调试与排错我踩过的坑和怎么用万用表定位这一节全是我实际焊板子时踩过的坑按“现象—原因—排查”的顺序列出来你遇到问题直接对应查就行。5.1 上电前必须做的三件检查第一用万用表蜂鸣档量一下VCC和GND之间有没有短路尤其是NE555第8脚和第1脚正负极接反烧芯片的例子太多了。第二检查LM393两个输出端的上拉电阻有没有漏焊漏焊的典型症状是“输出电平怎么量都不对”因为开集输出悬空时电压是飘的。第三检查NE555第4脚是不是已经接到LM393第7脚并上拉了如果第4脚悬空555会处于不确定状态蜂鸣器可能开机就响也可能怎么都不响。5.2 常见故障排查表故障现象可能原因排查方法上电蜂鸣器一直响温度没到就响阈值电位器设定电压过高NTC分压点接反U1A的/-接反量U1A第3脚和第2脚电压看哪个高电位器往下调温度很高了还是不响电位器阈值过低NTC虚焊R1阻值错NE555第4脚被拉死量A点电压是否随温度下降量U1A第1脚是否翻转短接第4脚到VCC试响NE555不振荡第3脚没输出第4脚是低电平振荡电容虚焊RB/RA接错直接把第4脚接VCC排除使能问题再查C1和RA、RB蜂鸣器声音很弱、发闷用了有源蜂鸣器三极管驱动电流不够供电电压偏低换无源蜂鸣器确认SS8050记得串基极限流电阻且蜂鸣器接在集电极临界点反复响、停、响、停缺少回差电阻电源纹波大NTC引线过长加100kΩ正反馈电阻在VCC处补100μF100nF电容缩短NTC引线并绞合手碰NTC就误报人体电容耦合进A点NTC引线周围有强干扰源NTC焊在板子边缘引线远离555输出端必要时在A点对地并一个0.1μF电容5.3 用万用表怎么快速定位故障点没有示波器也能调试关键是把逻辑节点一个个量清楚。先量LM393第3脚A点电压和第2脚阈值电压。正常时两者都在0V到5V之间。如果A点电压不随温度变化说明NTC或R1有问题。然后量U1A第1脚温度低时应该接近5V温度高时接近0V。如果第1脚一直不变说明比较逻辑有问题重点查第2、3脚的接线和电位器触点。再量U1B第7脚报警时应接近5V正常时接近0V。最后量NE555第3脚报警时应该有约1.4kHz的方波用万用表频率档能直接读到频率如果读到0Hz说明555没起振。从前往后一级一级排查整个系统最多20分钟就能定位到故障点。5.4 实测中的几点体会我实际焊过几版最深的体会是不要迷信计算值一定要给电位器留出足够的调节余量。标称10kΩ的NTC实际在25°C时可能是9.3kΩ也可能是10.6kΩ这直接导致按公式算出的1.32V阈值到了实际板子上可能差出好几度。所以我后来都先用电阻箱模拟法把电位器粗调到目标温度点再用加热实测精调一遍。另外如果用USB供电注意USB口的电源纹波在负载变化时可能达到几百毫伏。555振荡时瞬间电流变化如果LM393的VCC没有好好滤波报警点会随着负载波动漂移。别问我怎么知道的我第一次接充电宝测试50°C报警点硬是飘到53°C才稳定触发。6. 还能怎么改双限报警、风扇联动与低功耗电池版做完了基础版本这套电路其实还有很大的扩展空间而且改起来都不复杂。6.1 双限报警低温也提醒你LM393有两个比较器前面U1B被用来做反相使能了如果想让电路支持“过高和过低都报警”可以换成U1A做高温比较、U1B做低温比较两个输出直接做“线与”后接NE555复位脚。逻辑是只要有一路报警输出低电平555就停不对需要根据你的使能逻辑重新设计。更简单的高温低温双限方案是U1A输出高温报警低电平U1B输出低温报警低电平两个输出都接到NE555第4脚但复位脚是高电平工作所以这里需要把“报警低”转换成“复位脚高”可以加一级NPN三极管反相后接到复位脚。这样任一路报警复位脚都会被释放555响铃。6.2 联动风扇报警的同时排热降温如果把蜂鸣器换成继电器或者直接接一个12V风扇的MOS管驱动报警器就变成了一个温控开关。继电器线圈记得并联续流二极管MOS管栅极加一个10k下拉电阻防止上电瞬间误开通。这个改造对机柜散热、功放散热特别实用。6.3 低功耗电池版改成间隔发声野外设备如果要靠电池供电NE555连续发声太费电。可以把NE555的振荡电阻RA改成大阻值让它在报警时输出低频脉冲蜂鸣器变成“嘀—嘀—嘀”的间隔发声而不是连续尖叫同时把分压电阻R1从10kΩ提高到100kΩ降低静态功耗。实测静态电流可以从十几毫安降到几毫安一节9V电池顶很久。6.4 先仿真再焊板子如果你手头有Multisim或者立创EDA建议先把电路图画进去仿真一遍。LM393和NE555这两个模型都不复杂仿真能看到关键节点的电压变化。不过仿真软件里的NTC模型往往过于理想最终还是要结合实物校准。我现在习惯先在仿真里确认逻辑关系再在洞洞板上焊省了很多来回改线的功夫。最后再分享一个小技巧调试这种模拟报警电路尽量准备一套“最小测试法”——把555的复位脚强制接到高电平只测试振荡部分把LM393的输出悬空只观察比较逻辑。这样把一个闭环拆成两个开环问题很快就能暴露出来。等你把所有模块都确认没问题了再把闭环接上基本一次就能成功。