ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

555定时器经典电路全解析:方波、单稳态、施密特、PWM与锯齿波

555定时器经典电路全解析:方波、单稳态、施密特、PWM与锯齿波 555这颗芯片年纪比很多电子工程师都大但直到今天你拆开任何一个带调光功能的台灯、一个廉价方波信号源、一个LED闪烁电路大概率还能看到它的身影。原因很简单它便宜、皮实、外围器件少而且从单稳态到多谐振荡从施密特触发到PWM调制一颗芯片几乎把模拟电路里最常用的几种波形产生功能全包了。很多人学模电的时候被它内部的比较器、RS触发器、放电管搞得云里雾里但真正上手搭电路之后会发现555的脾气其实很好摸只要搞清楚几个关键电阻电容怎么配剩下的就是查表算参数的事。这篇内容我打算把555最经典的5种电路一次性讲透方波发生器、单稳态触发器、施密特触发器、PWM调光电路、以及一个容易被忽略但很实用的锯齿波发生器。每种电路我都会给出完整的原理拆解、参数计算过程、实际搭电路时踩过的坑以及从选型到布局的实操建议。不管你是刚学模电的学生还是需要快速出方案的硬件工程师看完都能直接抄作业。1. 先搞清楚555内部到底在干什么1.1 三个电阻分压器决定了它的“判断标准”555内部最核心的部分是一个由三个5kΩ电阻组成的分压网络这也是“555”这个名字的由来。这三个电阻把电源电压VCC分成三份1/3 VCC、1/2 VCC、2/3 VCC。其中1/3 VCC接到下比较器的同相端2/3 VCC接到上比较器的反相端。这两个比较器的输出分别控制RS触发器的置位和复位。简单说就是当THRESH引脚6脚的电压超过2/3 VCC时上比较器翻转触发器复位OUT输出低电平当TRIG引脚2脚的电压低于1/3 VCC时下比较器翻转触发器置位OUT输出高电平。这个2/3和1/3的阈值是固定的没法从外部调整。很多人一开始会想“能不能改分压电阻来调阈值”答案是可以但没必要而且改了之后内部比较器的偏置电流会受影响反而容易出问题。正确做法是通过外部RC网络来控制引脚电压的变化速率。1.2 放电管Q1才是振荡电路的关键555内部还有一个NPN型放电三极管它的集电极接DISCH引脚7脚基极受RS触发器控制。当OUT输出低电平时这个三极管导通把DISCH引脚拉到地当OUT输出高电平时三极管截止DISCH引脚悬空。这个放电管的存在是多谐振荡电路能自动循环的根本原因。电容通过两个电阻充电充到2/3 VCC时触发器翻转放电管导通电容又通过一个电阻放电放到1/3 VCC时触发器再次翻转如此循环。搞懂了这个充放电回路所有基于555的振荡电路你都能自己推导出来。1.3 复位引脚和使能引脚别乱接4脚RESET是低电平有效复位正常工作时必须接高电平。我见过有人把它悬空结果电路时好时坏因为悬空的引脚容易受干扰误触发复位。直接接到VCC是最稳妥的做法。5脚CTRL是控制电压引脚内部接到2/3 VCC的分压点。如果不用外部电压控制必须通过一个0.01μF的电容接地否则输出频率会抖动。这个电容不是可有可无的它的作用是滤除控制电压上的噪声保证比较器基准稳定。很多新手照着电路图搭完发现频率不稳十有八九就是漏了这个电容。2. 方波发生器最基础也最容易翻车的电路2.1 多谐振荡的充放电路径分析方波发生器本质上就是555工作在无稳态模式astable mode。电路连接方式6脚和2脚短接在一起7脚通过一个电阻R2接到6脚同时7脚通过R1接到VCC6脚通过电容C接地。充电时VCC → R1 → R2 → C → 地。电容电压从1/3 VCC充到2/3 VCC充电时间常数是(R1R2)×C。 放电时C → R2 → 7脚内部放电管 → 地。电容电压从2/3 VCC放到1/3 VCC放电时间常数是R2×C。这里有个关键点充电时间永远大于放电时间因为充电回路多了R1。所以555方波发生器的输出占空比永远大于50%。如果你需要50%以下的占空比要么用二极管绕开R2要么换其他方案。2.2 频率和占空比的精确计算公式充电时间t_high 0.693 × (R1 R2) × C 放电时间t_low 0.693 × R2 × C 总周期T t_high t_low 0.693 × (R1 2R2) × C 频率f 1.44 / ((R1 2R2) × C) 占空比D (R1 R2) / (R1 2R2)举个例子R1 1kΩR2 10kΩC 0.1μF。 f 1.44 / ((1k 20k) × 0.1μ) 1.44 / (21k × 0.1μ) 1.44 / 0.0021 685.7Hz 占空比 (1k 10k) / (1k 20k) 11/21 ≈ 52.4%实测下来这个公式在频率低于100kHz时非常准误差主要来自电容容差和电阻精度。普通电解电容容差能到±20%所以如果你要精确频率C必须用CBB或独石电容。2.3 占空比可调但频率不变的改进方案标准多谐振荡电路调占空比时频率会跟着变因为R1和R2同时影响充放电时间。改进方法是在R1和R2之间串联两个二极管再用一个电位器分别调节充电和放电回路的电阻。具体接法VCC → 二极管D1 → 电位器上端 → 电位器滑动端 → 二极管D2 → 7脚。D1和D2方向相反充电时电流走D1和电位器上半段放电时走D2和电位器下半段。这样调节电位器时充电电阻和放电电阻此消彼长总周期基本不变占空比可以在5%到95%之间调节。注意二极管要用1N4148这类开关管正向压降约0.7V。这个压降会略微影响频率因为充电回路的有效电压降低了。如果对频率精度要求高可以用肖特基二极管压降只有0.3V左右。2.4 实测中遇到的三个坑第一个坑电源没有去耦。555在输出翻转瞬间会产生很大的电流尖峰如果VCC引脚没有就近接0.1μF陶瓷电容输出波形上会有明显的振铃。我习惯在555的8脚和1脚之间直接焊一个0.1μF的0805电容越近越好。第二个坑C的介质类型选错。有人用钽电容做定时电容结果频率随温度漂移严重。定时电容首选CBB聚丙烯或聚酯薄膜电容温度系数小容值稳定。电解电容只适合对频率精度要求不高的场合。第三个坑输出端直接驱动大负载。555的输出电流最大约200mA但这是峰值持续输出时芯片会发热。如果要驱动继电器或电机输出端必须加三极管或MOS管缓冲不能直接接。3. 单稳态触发器一个按键控制一个精确脉冲3.1 触发方式和输出脉宽的计算单稳态模式monostable mode的接法2脚接触发信号6脚和7脚之间接电阻R6脚接电容C到地4脚接VCC。平时2脚保持高电平输出为低。当2脚收到一个低电平脉冲低于1/3 VCC时输出翻转为高同时内部放电管截止VCC通过R给C充电。当C电压充到2/3 VCC时输出翻回低电平放电管导通C快速放电。输出脉宽T 1.1 × R × C这个1.1是0.693×ln(3)的近似值精确计算是1.0986。工程上直接用1.1就够了。举例R 100kΩC 10μFT 1.1 × 100k × 10μ 1.1秒。如果要500ms可以把C换成4.7μFT 1.1 × 100k × 4.7μ 517ms接近500ms。3.2 触发脉冲宽度必须小于输出脉宽这是单稳态电路最容易翻车的地方。如果触发脉冲太宽输出会在触发信号还没结束时就开始下一次定时导致输出脉宽异常。555的2脚是边沿触发但内部比较器需要触发信号低于1/3 VCC并保持足够时间才能可靠翻转。实际做法是在触发输入端加一个RC微分电路把宽脉冲变成窄尖峰。比如用0.01μF电容和10kΩ电阻组成微分网络触发脉冲经过后变成几十微秒的尖峰足够触发但不会影响后续定时。3.3 上电误触发的解决办法单稳态电路上电瞬间C两端电压为02脚如果通过某种路径被拉到低电平输出会误触发一个脉冲。常见原因是触发按钮并联的下拉电阻太大或者触发信号源在上电时输出低电平。解决办法有两个一是在2脚接一个10kΩ上拉电阻到VCC确保平时为高二是在4脚加一个RC上电复位电路让芯片在上电后延迟几十毫秒才使能等电源稳定后再工作。3.4 实际应用按键消抖和延时开关单稳态电路最实用的场景之一是按键消抖。机械按键按下时会产生几十毫秒的抖动用555单稳态电路可以把抖动变成干净的单脉冲输出。按键接在2脚和地之间按下时2脚被拉到地触发输出一个固定宽度的脉冲后续电路只认这个脉冲抖动就被屏蔽了。另一个场景是延时开关按下按钮灯亮30秒后自动熄灭。R取270kΩC取100μFT 1.1 × 270k × 100μ 29.7秒接近30秒。输出端通过三极管驱动继电器或LED电路简单可靠。4. 施密特触发器把烂波形整成方波4.1 555做施密特触发器的特殊接法施密特触发器模式不需要外部定时电容接法很特别2脚和6脚短接在一起作为输入端7脚悬空不接4脚接VCC5脚接0.01μF到地。输出端就是3脚。工作原理当输入电压上升超过2/3 VCC时输出翻转为低当输入电压下降低于1/3 VCC时输出翻转为高。两个阈值之间的差值就是回差电压等于1/3 VCC。这个回差是固定的没法调整。如果VCC是5V回差就是1.67V。对于很多整形应用来说这个回差偏大但好处是抗干扰能力极强输入信号上的噪声只要不超过1.67V就不会导致输出误翻转。4.2 回差电压的意义和局限回差电压的存在是为了防止输入信号在阈值附近波动时输出反复翻转。比如一个缓慢上升的模拟信号上叠加了50mV的噪声如果没有回差输出会在阈值附近疯狂抖动有了1.67V的回差噪声完全被忽略。但回差太大也有问题如果输入信号的幅度本身就小于1.67V施密特触发器根本不会翻转。所以这个电路只适合处理幅度较大的信号比如从传感器出来的0-5V信号或者经过放大的交流信号。4.3 和专用施密特芯片的对比专用施密特触发器芯片如74HC14回差电压只有0.5V左右而且可以通过外部电阻调整。555做施密特触发器的优势在于输出电流大200mA可以直接驱动继电器或LED而74HC14输出电流只有几毫安。选型建议如果只需要整形后给单片机读用74HC14就够了体积小、功耗低如果需要直接驱动负载用555更合适。另外555的电源范围宽4.5V到16V在工业现场这种电源波动大的场合更皮实。4.4 实测处理光电传感器的输出信号我做过一个项目用光电对管检测传送带上的物体输出信号在物体经过时从5V降到0.3V但下降沿很缓有2ms的过渡时间而且叠加了电机噪声。直接把信号给单片机中断引脚会误触发多次。用555施密特触发器处理后输出变成干净的方波边沿时间小于100ns单片机只检测到一次下降沿。电路很简单光电管输出接2脚和6脚3脚接单片机5脚接0.01μF电容其他引脚按标准接法。成本不到一块钱效果比用运放做比较器还好。5. PWM调光电路从原理到实战5.1 用555产生PWM信号的两种方案方案一在标准多谐振荡电路的基础上用二极管把充电和放电路径分开然后用电位器调节占空比。这个方案在前面2.3节已经讲过优点是电路简单缺点是频率会随占空比略微变化。方案二用555产生固定频率的锯齿波然后用一个比较器把锯齿波和直流控制电压比较输出PWM。这个方案频率稳定占空比线性度好但需要额外一个比较器可以用LM393或运放。对于LED调光应用方案一就够用了。LED对频率变化不敏感只要频率在200Hz以上人眼就看不到闪烁。占空比变化导致频率漂移10%以内完全不影响调光效果。5.2 调光频率的选择为什么是1kHzLED调光频率不能太低否则人眼会感觉到闪烁也不能太高否则MOS管的开关损耗会增加。1kHz是一个比较折中的选择。人眼的闪烁融合频率大约是60-90Hz所以理论上100Hz以上就看不到闪烁了。但在实际使用中如果LED灯具在移动比如车载照明或者人眼快速扫视低频PWM会产生“频闪效应”看起来像一串光点。1kHz以上就完全没这个问题。频率上限受限于MOS管的开关速度和驱动电路的功耗。1kHz时MOS管的开关损耗可以忽略10kHz时如果驱动电阻不合适MOS管会发热。所以1kHz是调光应用的甜点频率。5.3 驱动LED的MOS管选型要点555的输出电流虽然有200mA但驱动大功率LED时还是不够需要用MOS管扩流。选MOS管主要看三个参数VDS耐压、RDS(on)导通电阻、VGS(th)开启电压。对于5V电源的LED调光电路VDS选20V以上就够了RDS(on)越小越好减小发热VGS(th)要低于3V确保555的高电平能完全导通MOS管。常用的型号有AO3400SOT-23封装RDS(on)约30mΩ、IRLZ44NTO-220封装RDS(on)约22mΩ。注意555的输出高电平大约是VCC-1.7V如果VCC是5V输出高电平只有3.3V左右。选MOS管时一定要确认VGS(th)在2V以下否则MOS管可能处于半导通状态发热严重。5.4 实际调光电路的参数计算和布局目标频率1kHz占空比10%-90%可调驱动1W LED。选C 100nF根据f 1.44 / ((R1 2R2) × C)1kHz 1.44 / ((R1 2R2) × 100n)解得R1 2R2 14.4kΩ。用10kΩ电位器两端分别通过二极管接R1和R2。取R1 1kΩR2 6.8kΩ则R1 2R2 1k 13.6k 14.6kΩf ≈ 986Hz接近1kHz。占空比范围当电位器滑到一端时充电电阻约1kΩ放电电阻约6.8kΩ占空比约(16.8)/(113.6) ≈ 53%滑到另一端时充电电阻约6.8kΩ放电电阻约1kΩ占空比约(6.81)/(6.82) ≈ 88%。实际范围大约50%-90%如果要更宽的调光范围需要增大电位器阻值或调整R1和R2的比例。布局要点定时电容C要靠近555的2脚和6脚走线尽量短MOS管的栅极驱动电阻通常10Ω-100Ω要靠近MOS管栅极减小振铃LED的电流采样电阻要靠近地避免地弹影响。6. 锯齿波发生器一个被低估的实用电路6.1 和方波发生器的区别在哪里锯齿波发生器和方波发生器的电路结构几乎一样区别在于电容的充放电时间比例。方波发生器的充放电时间比较接近输出接近对称方波锯齿波发生器让充电时间远大于放电时间输出就是缓慢上升、快速下降的锯齿波。实现方法在标准多谐振荡电路中让R1远小于R2。充电时间由R1R2决定放电时间由R2决定。如果R1100ΩR2100kΩ充电时间约等于放电时间的1000倍输出就是锯齿波。但这样做的缺点是放电时间太短输出波形的下降沿很陡上升沿很缓。对于需要线性度好的锯齿波更好的方案是用恒流源给电容充电这样电容电压线性上升锯齿波的线性度会好很多。6.2 恒流源充电的改进方案用555做锯齿波发生器时可以把充电电阻R1换成恒流源电路。最简单的恒流源用一个PNP三极管和两个电阻实现三极管发射极通过电阻接VCC基极通过稳压二极管或LED接VCC集电极接555的7脚和定时电容。恒流源的好处是充电电流恒定电容电压线性上升锯齿波的线性度可以做到1%以内。放电时555内部放电管导通电容通过R2快速放电形成陡峭的下降沿。这个电路在需要线性锯齿波的应用中很有用比如模拟示波器的时基电路、PWM比较器的载波生成等。6.3 锯齿波在PWM比较器中的应用用锯齿波和直流电压比较产生PWM比直接用555的多谐振荡电路产生PWM更灵活。因为锯齿波的频率由555决定占空比由直流控制电压决定两者互不影响。具体做法555产生1kHz锯齿波接到比较器LM393的同相端控制电压接到反相端比较器输出就是PWM信号。控制电压从0到2/3 VCC变化时占空比从0%到100%线性变化。这个方案的优点是控制电压和占空比是线性关系适合做闭环控制。比如用单片机DAC输出控制电压就可以用数字方式精确控制LED亮度或电机转速。6.4 实测中的线性度问题和解决办法用电阻充电的锯齿波线性度通常只有10%-20%因为电容充电是指数曲线不是直线。在要求不高的场合比如LED调光可以接受但在精密PWM控制中就不够了。恒流源充电可以把线性度提高到1%以内但恒流源本身受温度影响三极管的VBE有-2mV/°C的温度系数会导致充电电流随温度变化。解决办法是用带温度补偿的恒流源或者用运放搭建精密恒流源。我在实际项目中用过运放恒流源给555定时电容充电线性度实测0.5%温度漂移小于0.1%/°C效果很好。电路稍微复杂一点但比专用锯齿波芯片便宜得多。7. 从选型到布局555电路设计的实战经验7.1 芯片选型NE555、LM555、TLC555怎么选NE555是原始型号双极型工艺输出电流大200mA但静态电流也大约10mA电源电压4.5V-16V。适合驱动继电器、LED等需要大电流的场合。LM555和NE555基本一样不同厂家生产参数略有差异。TI的LM555C静态电流典型值3mA比NE555小。TLC555是CMOS工艺静态电流只有几百微安电源电压2V-15V输出电流只有10mA左右。适合电池供电的低功耗场合但驱动能力弱需要外接三极管扩流。选型建议如果电路板上有单片机或其他数字电路用TLC555可以减少电源负担如果需要直接驱动负载用NE555或LM555。注意CMOS版本的555输入阻抗极高触发引脚不能悬空必须接上拉或下拉电阻。7.2 定时电容的介质选择和容差控制定时电容的介质类型直接决定频率稳定性。常见电容介质的温度系数介质类型温度系数容差适用场景CBB/聚丙烯±100ppm/°C±5%精密定时聚酯薄膜±200ppm/°C±10%一般定时独石±30ppm/°C±10%高频旁路铝电解±1000ppm/°C±20%粗略定时钽电解±500ppm/°C±20%不推荐从表里可以看出CBB电容的温度系数最小容差也最小是定时电容的首选。如果对成本敏感聚酯薄膜电容也可以接受。铝电解电容只适合对频率精度要求不高的场合比如LED闪烁电路。7.3 PCB布局的五个关键点第一电源去耦电容必须靠近555的8脚和1脚走线长度不超过5mm。这个电容的作用是提供输出翻转瞬间的峰值电流减少电源波动。第二定时电容和电阻要靠近2脚、6脚、7脚走线尽量短避免引入干扰。特别是高阻值的定时电阻比如1MΩ以上走线越长越容易拾取噪声。第三输出走线要远离输入走线避免输出信号通过寄生电容耦合到输入导致振荡不稳定。如果空间允许输出和输入之间用地线隔离。第四5脚的控制电压电容必须接而且要走短线直接到地。这个电容滤除控制电压上的噪声保证比较器基准稳定。第五大电流负载如LED、继电器的走线要粗和555的电源走线分开最后在电源入口处单点接地避免负载电流在地线上产生压降影响555工作。7.4 常见故障排查表故障现象可能原因排查方法无输出4脚未接高电平测量4脚电压应为VCC输出频率不对定时电容容值偏差用万用表测电容实际容值输出波形抖动5脚未接电容检查5脚是否有0.01μF到地输出占空比异常充放电二极管接反检查二极管方向芯片发热输出电流过大测量输出电流加缓冲三极管上电误触发2脚上电为低加10kΩ上拉电阻到VCC频率随温度漂移定时电容介质差更换CBB电容这张表是我在实际维修中总结出来的覆盖了90%以上的555电路故障。遇到问题先查4脚和5脚这两个引脚的问题最常见也最容易忽略。7.5 从5V到12V电源电压变化时的参数调整555的电源电压范围很宽但改变VCC时输出频率和脉宽都会变化。因为阈值电压是VCC的1/3和2/3充电时间常数不变的情况下充到2/3 VCC的时间会随VCC升高而略微缩短。严格来说555的定时公式f 1.44 / ((R1 2R2) × C) 与VCC无关因为充电速率和阈值电压成比例变化。但实际上内部比较器的偏置电流和放电管的饱和压降会随VCC变化导致频率有5%左右的漂移。如果电路需要在不同电压下保持相同频率最好的办法是用稳压管给555单独供电或者用LDO稳压到固定电压。比如12V供电时用78L05稳压到5V给555频率就和5V时完全一致。8. 几个容易混淆的概念澄清8.1 555的“双极型”和“CMOS”版本不能直接互换双极型555NE555的输入阻抗约为10MΩCMOS版本TLC555的输入阻抗高达10^12Ω。这意味着CMOS版本的触发引脚极其敏感悬空时会因为静电或空间电场而随机翻转。用CMOS版本时所有输入引脚都必须有明确的直流路径不能悬空。另外双极型555的输出高电平大约是VCC-1.7VCMOS版本可以做到VCC-0.1V。驱动MOS管时CMOS版本的高电平更高更容易让MOS管完全导通。8.2 占空比和频率不能独立调节的根源标准555多谐振荡电路中充电电流流过R1R2放电电流只流过R2。调节R1会同时改变充电时间和总周期所以频率和占空比是耦合的。要独立调节必须把充电和放电路径分开这就是2.3节讲的二极管方案。理解了这个根源你就明白为什么有些电路用两个电位器分别调频率和占空比——一个电位器调R1R2的总和改变频率另一个调R1和R2的比例改变占空比。但两个电位器互相影响调节起来比较麻烦实际产品中更常用单片机产生PWM。8.3 555输出端能不能直接并联有人为了增大输出电流把两个555的输出端并联。这样做理论上可行但实际上两个芯片的内部延迟和阈值有微小差异输出翻转时间不同步会在并联点产生瞬间短路电流长期工作容易损坏芯片。正确做法是用一个555输出后面加推挽三极管或MOS管扩流。如果一定要并联每个输出端串联一个均流电阻0.1Ω-1Ω但效果仍然不如单管扩流可靠。9. 从555出发的进阶思路9.1 用555做电压频率转换555的5脚可以输入外部控制电压改变比较器的阈值。如果在5脚加一个0-5V的控制电压输出频率会随控制电压变化实现电压频率转换VFC。这个电路在模拟信号隔离传输中很有用把模拟电压转换成频率信号通过光耦传输再在接收端把频率还原成电压。具体做法5脚接控制电压2脚和6脚接RC网络输出频率约等于控制电压/(2×R×C×VCC)。控制电压越高充电电流越大频率越高。线性度取决于控制电压的稳定度和RC网络的精度。9.2 555和单片机的配合使用虽然单片机可以用定时器产生PWM但在某些场合555仍然有优势第一555产生PWM不占用单片机资源单片机可以休眠省电第二555的PWM频率可以做到很高几百kHz单片机定时器分频后可能达不到第三555电路简单不需要编程适合快速验证。我常用的做法是用单片机控制555的5脚电压从而调节PWM占空比。单片机只需要一个DAC输出或者PWM加RC滤波就可以控制555产生高频PWM驱动LED或电机。这样既利用了555的高频能力又保留了单片机的灵活性。9.3 555电路的仿真验证方法搭实际电路之前我习惯先用LTspice仿真一遍。LTspice自带555模型可以直接调用。仿真时重点看三个波形定时电容电压、输出波形、电源电流。定时电容电压应该是三角波在1/3 VCC和2/3 VCC之间线性变化。如果波形不是三角波而是指数曲线说明充电电流不恒定这是正常的因为555用电阻充电本身就是指数曲线。电源电流波形在输出翻转瞬间会有尖峰峰值可能达到几百毫安。这个尖峰就是为什么需要去耦电容的原因。仿真时如果发现电源电压在尖峰期间跌落超过0.5V说明去耦电容不够大需要增加容值或改善布局。仿真通过后再搭实际电路成功率会高很多。但仿真不能完全替代实测因为仿真模型不包含寄生参数和温度效应实际电路的频率偏差通常在5%-10%之间。9.4 555电路的扩展阅读方向如果你已经掌握了555的基本用法可以进一步研究这几个方向用555做开关电源的PWM控制器需要配合误差放大器和驱动电路、用555做超声波换能器驱动需要推挽输出和变压器匹配、用555做电容测量电路利用单稳态脉宽和电容成正比的关系。这些应用的核心原理都离不开本文讲的充放电回路和比较器阈值只要把基础打牢剩下的就是根据具体需求调整外围电路。我在实际项目中用过555做超声波驱动40kHz的方波经过推挽放大后驱动换能器电路简单成本不到专用驱动芯片的十分之一。最后分享一个我在实际调试中总结的小技巧如果你不确定555电路是否起振不要急着用示波器测输出先用万用表测3脚电压。起振时3脚电压大约是VCC的一半因为方波的平均值如果测到0V或VCC说明电路没起振。这个方法不需要示波器在现场排查时特别方便。
返回列表