恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
CD4013实战:用D触发器搭建单稳态双稳态继电器控制电路
首页
资讯中心
/
CD4013实战:用D触发器搭建单稳态双稳态继电器控制电路
CD4013实战:用D触发器搭建单稳态双稳态继电器控制电路
发布时间:2026/10/6 6:52:29
1. 为什么是CD4013一个老芯片在项目里的不可替代性想聊这个芯片得先从我实际踩过的一个坑说起。之前做一个需要把传感器短脉冲转成长信号去触发继电器的设备最开始图省事直接用单片机处理外部中断捕获脉冲、定时器做延时、IO口输出驱动。调试的时候怎么都正常一到量产就出问题强电启动瞬间、继电器动作瞬间单片机偶尔会复位一复位输出逻辑全部归零整个设备处于不可控状态。后来痛定思痛把关键逻辑全部换成了CD4013之类的纯硬件电路问题彻底消失。很多年轻工程师可能对CD4013这种老掉牙的CMOS芯片不太看得上觉得又慢又笨。但说实话在工业控制和一些对可靠性要求高的项目里这种纯硬件逻辑反而是最稳的方案。它没有程序跑飞的问题没有启动时序的问题也没有看门狗失效的问题。电源一上来逻辑就固定住了输出该高就高该低就低。CD4013是双D触发器芯片一片里面集成了两个完全独立的D触发器。每个触发器都有自己的数据输入端D、时钟输入端CLK、置位端SET、复位端RESET以及两个互补输出端Q和Q非。从应用角度来说它是数字电路里的一个基础积木可以搭出单稳态、双稳态、分频器、移位寄存器等一堆功能电路。它的核心优势有三个第一2V到6V的宽电源范围和5V单片机系统、3.3V系统都能直接兼容第二静态功耗极低数据手册上给的典型值就微安级别电池供电设备完全扛得住第三输出能直接驱动一个输入端而且带缓冲逻辑电平干净利落。再配合一个关键特性——它是边沿触发只在时钟信号的上升沿或者下降沿改变输出状态这一点对做精确时序控制特别重要。所以这篇文章不聊理论直接把我用CD4013搭单稳态、双稳态然后驱动继电器这套实战方案完整拆开从原理到计算到踩坑全部讲透。2. 单稳态电路用CD4013做脉冲展宽和延时控制2.1 单稳态的触发模式选择单稳态电路说白了就是平时输出保持在一个稳定状态收到触发信号后跳变到另一个状态维持一段时间后自动弹回来。CD4013搭单稳态有几种经典接法我实测下来最稳定的是利用复位端RESET来做定时结束控制。先看正触发模式。把D端接高电平CLK端作为触发输入。平时CLK没有上升沿的时候Q端保持低电平。来一个上升沿Q瞬间拉高继电器或者指示灯就开始动作。Q端高电平经过一个R电阻给C电容充电当电容上的电压上升到复位端的阈值电压时RESET被触发Q端被强制拉低整个电路又回到等待状态。这就完成了一次收到脉冲→输出固定宽度高电平→自动恢复的过程。触发宽度可以通过R和C来设定典型计算公式是T约等于1.1乘R乘C。这个1.1的系数不是凭空来的它和CMOS电路的阈值翻转电平有关。复位端的翻转阈值大约在电源电压的一半左右电容从0充电到VCC/2的时间正好是约0.693RC再加上传输延迟和输出级的缓冲延迟综合下来用1.1RC估算比较贴近实测值。假如用1兆欧电阻和10微法电容计算得到的定时时间大概是11秒。如果想要更短的脉宽比如100毫秒可以选100千欧电阻和1微法电容算下来T约等于1.1秒但注意电容容差和漏电会造成偏差具体项目里还是要用示波器实测微调。如果项目需要负触发也就是输入信号是下降沿触发可以加一个反相器把CLK输入先反一次或者改用SET端做触发路径。我自己习惯在CD4013前面加一个施密特反相器做信号整形既解决了触发沿不干净的问题又顺便做了极性转换。2.2 定时精度与RC选型的实战要点CD4013搭的单稳态精度肯定没法跟555定时器比更没法跟晶振比但它胜在电路极其简单两颗元件完成定时。很多场合不需要精确计时只需要保证一个脉冲能拉长到足够让继电器吸合、让蜂鸣器响几声这就够了。RC选型有几个关键细节必须注意。R的阻值不宜超过1兆欧否则并联在芯片输入端的漏电流会造成比较明显的定时偏移温度一变化脉冲宽度跟着飘。C建议优先选CBB电容、聚酯薄膜电容这类漏电极小的类型电解电容虽然在容量上占优势但漏电会跟R构成额外的放电路径实测同一个R值下电解电容做出的脉宽可能比计算值偏大或者偏小稳定性也比较差。电容耐压值尽量选50V以上的不是信号电压需要那么高而是高压电容的介质损耗更小等效串联电阻也更低对定时电路的稳定性更友好。这一点很多资料不会提但在实际量产对比中有一条明显差异。还有一个容易忽略的细节复位端的动作需要一定的脉冲宽度如果RC时间常数设置得太短比如电容只有几百皮法复位信号还没保持够就自己放掉了输出端可能出现半切换状态。我用过的保守做法是定时电容不低于1纳法这样复位脉冲能维持足够的时间。2.3 单稳态的实际应用场景单稳态电路在这个方案里最大的用途就是脉冲展宽。很多传感器输出的脉冲宽度只有几个毫秒而继电器从线圈通电到触点完全吸合机械动作时间一般需要5到10毫秒如果直接驱动很可能继电器刚动一半脉冲就结束了触点处于半接触状态反复拉弧。用CD4013把传感器的短脉冲拉长到几百毫秒继电器稳稳吸合触点寿命也延长了。另一个常用场景是延时断开。设备启动时给某个负载供电几秒钟然后切断典型应用比如汽车点烟器延时断电、门禁电锁开锁保持一段时间。用单稳态电路触发一次输出保持设定时间后自动关闭不需要单片机持续盯着省心也省电。我之前还用它做过分批上电控制。一个设备上电瞬间冲击电流太大把电容用RC延时分成多个CD4013单稳态级联起来让各路继电器按顺序依次吸合每路之间错开200毫秒实测冲击电流降低了一大截。这种用纯硬件做时序交错的方法在一些对成本敏感的批量产品里很实用。3. 双稳态电路一个按键控制继电器开与关3.1 双稳态的原理与最小接法双稳态电路就是两个稳定状态输出端要么一直保持高要么一直保持低每次触发信号到来就翻转一次。这个功能在某类设备里特别实用比如用同一个按键控制继电器的开和关或者用一个信号交替切换两个负载。CD4013搭双稳态的方式非常经典只需要一根线把Q非端直接连回D端CLK作为触发输入端。因为D端的电平始终等于Q非也就是Q的反向所以每个时钟上升沿到来时D端的数据被锁存到输出输出自然就翻转到相反的状态。这就实现了二分频功能——输出频率正好是输入脉冲频率的一半。这个电路的时序逻辑可以用真值表去理解。D触发器本身的行为是CLK上升沿到达瞬间D端的电平被传输到Q端。当D连接Q非等于在每次时钟沿把上次的输出取反再进行锁存。连续两个脉冲第一次翻转第二次再翻回来输出就是一个方波周期是输入的两倍。而我们需要的就是这种翻转逻辑——按一下按键开再按一下关。在继电器控制场景里CLK可以接一个按键、光电开关的输出或者其他逻辑信号的边缘。SET和RESET端可以接一个上电复位电路保证系统上电时输出处于已知状态。当然也可以用来做手动清零或者外部强制关断。3.2 按键抖动问题为什么会出现误触发任何接触式机械开关都有抖动问题。按键按下时金属触点物理碰撞会产生一系列短暂的通断脉冲持续时间从几百微秒到几毫秒不等。如果直接把按键接到CLK端CD4013会在这些抖动脉冲的每个上升沿都翻转一次表现出来就是按一下开关继电器咔嗒咔嗒乱跳好几次最后停在哪个状态完全随机。解决这个抖动问题有几种思路。最有效的是硬件消抖在按键和CLK之间加一阶RC低通滤波器R取10千欧C取1微法左右时间常数大概10毫秒足以把抖动脉冲滤平。但这个方案有个隐患——如果输入信号本身比较缓慢RC充电可能产生的是倾斜的上升沿CD4013虽然对上升沿速率要求不高但过慢的边沿也可能导致触发器工作在不确定区。实际做法是RC后面再接一个施密特触发器整形或者直接用施密特反相器做缓冲把缓慢的斜边重新变成陡峭的方波。另一个思路是软件消抖用单片机定时采样去抖后再给出单脉冲触发CD4013。这种方式适合系统里已经有MCU的情况灵活性好可以区分短按和长按。但如果纯粹追求电路可靠性我还是推荐纯硬件消抖毕竟少一道程序就少一个不可控因素。按键消抖RC参数的计算也不复杂。RC时间常数取按键抖动期的大约3到5倍比如抖动用3毫秒估算时间常数可以做到10到15毫秒。采样点选在按键按下后2到3个时间常数之后这时候电平已经稳定。注意这里的R决定了触发源的内阻不能太大否则可能影响后级触发灵敏度。3.3 上电状态的确定性一个容易被忽视的坑CD4013是CMOS触发器上电瞬间所有输出端的初始状态是随机的可能是高也可能是低。如果这个输出直接控制继电器就存在一种危险场景设备插上电瞬间继电器随机吸合一下带动的负载跟着动作。轻则吓人一跳重则如果负载是电机或者加热器就可能出安全事故。解决这个问题必须用复位电路给触发器一个确定性状态。做法是把RESET端通过一个10千欧电阻下拉到地同时接一个1到10微法电容到VCC。上电瞬间电容还没充满RESET端是低电平CD4013处于工作状态但输出状态依然不确定。更好的接法是RESET端接一个RC到VCC的上电复位脉冲上电时RESET被电容瞬间拉高芯片被强制复位Q端输出低电平然后电容通过电阻放完电RESET回落到低电平触发器恢复工作状态。这样上电的时候继电器一定是断开的安全。注意这个复位时间要超过电源爬升时间。如果电源上电比较慢在电源还没稳定时RS触发器可能被干扰误触发所以复位电容可以适当取大一点保证电源稳定后200毫秒内RESET仍然有效。实测用10微法电容加100千欧电阻复位时间大概1秒系统上电后先保持1秒的全关断再进入正常工作状态观感上也没有明显异常。3.4 双稳态的扩展玩法二分频和级联计数双稳态电路如果只是开关控制有点大材小用。CD4013的另一个常见应用是分频器。把Q非接回D、CLK输入一个连续方波Q端就输出一个频率减半的方波。把两个D触发器级联起来可以得到四分频如果需要更多分频级数可以外接更长的计数器或者移位寄存器。这种方式在很多数字钟、频率计的前级调理电路里还在用。另外双稳态还能搭出简单的状态机。比如用两个CD4013分别控制两个继电器通过对CLK和复位端的组合逻辑设计可以实现A、B两个负载交替工作、禁止同时开启的逻辑。这个在没有单片机的小设备里非常实用曾经有个农业灌溉的项目就是用它实现两个电磁阀轮流开、单次工作10分钟的。4. 继电器驱动接口CD4013输出怎么带得动线圈4.1 驱动能力分析为什么需要三极管或MOS管CD4013是CMOS电路输出高电平时能提供的电流极小数据手册在5V供电下的典型驱动能力只有0.4到1毫安级别灌电流稍大一些但也就几个毫安。而一个普通的小型继电器比如5V线圈、额定电流70毫安的型号或者12V线圈、额定电流30毫安的型号需要的驱动电流都远超过这个数值。直接把CD4013的Q端接继电器线圈结果就是输出电平被严重拉低触发器逻辑混乱继电器也吸合不了。正确做法是在中间加一级驱动电路。最常用的方案是用NPN三极管做开关CD4013输出高电平时给三极管基极灌入电流三极管导通继电器线圈通电输出低电平时三极管截止继电器断开。这种方案成本低、元件少、响应速度也够用。三极管的基极电阻必须算一下。以S8050为例其直流电流放大倍数一般在100以上继电器线圈电流70毫安则基极电流需要约0.7毫安。CD4013高电平约5V三极管VBE约0.7V那么基极电阻上要承担4.3V压降串联4.7千欧即可得到约0.9毫安基极电流可以保证三极管饱和导通。如果不加基极电阻直接把输出端连到基极电流可能过大损坏驱动管。基极电阻也不宜太大否则三极管进入线性放大区管压降大发热严重。4.2 续流二极管继电器线圈反电动势的杀伤力继电器线圈本质是一个电感内部有铁芯和绕组。三极管导通时电流在线圈中建立磁场三极管截止时磁场瞬间消失线圈两端会感应出一个反方向的电动势。这个反向电压可以高达几十伏甚至上百伏虽然时间很短但对三极管是致命的——很容易击穿CE结导致驱动管报废。针对这个必须在线圈两端反向并联一个续流二极管让电感中的电流在管子关断时通过二极管续流缓慢释放能量把电压尖峰钳位在0.7V左右。续流二极管的接法非常关键二极管负极接继电器线圈的正电源端二极管正极接三极管的集电极也就是线圈的另外一端。如果接反了等于给电源加了一个正向导通二极管一上电就短路直接烧毁。这个方向在实板上很容易焊错完事用万用表二极管档确认一遍再上电。二极管的选型用1N4148还是1N4007还是需要选更快的理论上续流二极管需要快速恢复特性但不是追求极致速度的场合1N4148足够胜任几百毫安级别的继电器。大功率继电器线圈电流超过1A时建议改用1N4007或者SR210这类额定电流更大的整流二极管。有些兄弟习惯用1N4007虽然恢复速度稍慢但在工频继电器场景下完全够用不容易坏。4.3 驱动管的三种方案对比用三极管是最常见的方案我直接对比一下三种选择。三极管方案的代表型号有S8050、2N2222、BC337。优点是成本极低、货源充足、旧库存一大堆随便用。缺点是基极需要持续供电功耗偏高在大电流继电器场景下三极管饱和压降会导致发热。对于单路5V小型继电器S8050绰绰有余。N沟道MOS管方案的代表型号是2N7000、AO3400。MOS管是电压驱动栅极基本不取电流CD4013的高电平就直接让MOS管完全导通驱动能力更强、导通电阻更小。缺点是比较容易受静电损坏栅极悬空时容易误动作需要在栅极和源极之间加一个10到100千欧的下拉电阻。AO3400在低电压、大电流场景下的表现比三极管好不少做两路以上的继电器控制时非常稳。达林顿管或者驱动芯片方案代表是ULN2003。它内部集成了7路达林顿管和续流二极管专为继电器驱动设计。一片就能带7路继电器输入侧可以直接接CD4013输出内部已经有2.7千欧基极电阻不需要再外接限流电阻。在需要多路控制的设备里用ULN2003省掉了一堆外围器件的布局是非常省事的方案。但它内部是集电极开路结构输出低电平才是导通所以逻辑上要和CS4013的输出极性搭配好。4.4 电源去耦和布线稳定性的最后一块拼图继电器驱动电路还有一个容易忽略的点继电器吸合瞬间线圈电流突增如果电源内阻大、布线细VCC电压会被瞬间拉低CD4013的工作电压如果跌落到2V以下逻辑状态就可能丢失。所以必须在CD4013的电源脚VCC和GND之间紧靠芯片放置一个100纳法的陶瓷电容同时在继电器电源端并联一个大容量电解电容比如100到470微法作为瞬态电流的缓冲池。布线方面继电器线圈的驱动回路尽量短粗不要和CD4013的信号线长距离平行。我之前有一版PCB为了走线美观让继电器驱动线在芯片下方绕了一圈结果继电器动作时CD4013偶尔误翻转。割线飞线改成粗短路径之后问题立刻消失。这种问题在面包板上不太容易复现因为面包板的寄生电容和电感帮你吸收了但到了正式PCB上就原形毕露注意这个问题能省下一整天的debug时间。5. 一套完整的实战电路单稳态加双稳态加继电器5.1 功能需求与逻辑拆解这里给出一套完整的电路设计适用范围是做一款延时启动、按键关断的控制器。具体功能为外部传感器给一个短脉冲脉冲到来后继电器立即吸合并保持保持时间由RC设定保持过程中如果按下复位按键继电器立即断开保持时间结束后继电器自动断开如果再次收到传感器脉冲重复以上循环。这个需求用两片CD4013就可以搞定。第一片配置为单稳态负责把传感器短脉冲展宽成设定宽度的定时脉冲第二片配置为双稳态配合复位逻辑和按键控制负责继电器的开关状态记忆。最后用三极管驱动继电器。不用单片机的原因是这个控制器需要常年不间断运行环境还有一定的电磁干扰单片机复位的后果是输出全部归零可能导致设备误动作。用CD4013纯硬件方案上电复位后状态确定除非电源真断了否则逻辑不会乱。5.2 单稳态级参数设计过程传感器输出脉冲宽度约20毫秒我们希望继电器吸合时间设定在10秒左右用于某种需要持续供风或供液的场合。第一片CD4013内部第一个D触发器U1A。D端接VCCCLK接传感器输出。Q端输出定时信号。Q端通过R1接C1C1另一端接地R1与C1的连接点接U1A的RESET端。计算R1与C1的取值目标定时10秒按T约等于1.1RCR乘C应约为9.09秒。选择R1910千欧C110微法理论值T约为10秒。实测因为电容容差和漏电可能需要微调R1比如换成1兆欧可以微增至约10.5秒视具体情况调整。这个单稳态级还要注意D端不能悬空必须接VCC不用动SET端直接接地CLK端输入信号如果边沿不够陡前面加施密特反相器整形。5.3 双稳态级与复位逻辑设计参数过程第二片CD4013用内部第二个D触发器U2B。Q非端直接接回D端CLK接一个控制信号。这个控制信号来自两个地方一是单稳态级Q输出上升沿二是手动按键的按下脉冲。用两个二极管做一个或门将两路信号合并到U2B的CLK端。手动按键需要消抖按键一端接VCC另一端通过10千欧下拉到地按键信号经过RC滤波10千欧加1微法后进入施密特反相器整形后的输出连接到或门。这里用二极管1N4148做隔离两个输入的正向端接信号源公共端接U2B的CLK防止一路信号倒灌到另一路。上电复位电路U2B的RESET端接一个100千欧下拉电阻到地同时接一个10微法电容到VCC。上电瞬间RESET被电容拉高U2B强制复位Q输出低电平继电器断开。大约1秒后电容充电结束RESET回到低电位此时U2B才能正常工作。SET端固定接地。5.4 继电器驱动级参数设计过程U2B的Q输出接到NPN三极管Q1的基极基极串联4.7千欧电阻Q1选用S8050集电极接继电器线圈发射极直接接地。继电器线圈额定电压12V线圈电阻约400欧工作电流30毫安5V供电的CD4013高电平通过4.7千欧电阻给基极约0.9毫安电流S8050的放大倍数足够使其饱和导通。继电器线圈两端反向并联1N4148续流二极管。继电器触点控制一个220V交流小功率负载。CD4013电源脚VCC接5VGND接地旁边放一个100纳法陶瓷电容和一个10微法电解电容做去耦。整套电路的电源输入12V用一片78L05将12V降至5V供逻辑电路使用。5.5 接线顺序与上电自检流程搭这套电路建议按以下顺序接线先接CD4013的电源和地再去耦电容然后接单稳态级再接双稳态级最后接驱动级和继电器。每一级单独供电验证后再继续不要在面包板上全部接完再一次性上电否则出问题很难定位。上电自检步骤先不接传感器和按键用万用表量CD4013的VCC是否为5VU2B的Q端是否为低电平继电器是否断开。正常后用一根导线把VCC瞬间短接到U1A的CLK端模拟传感器脉冲观察继电器是否吸合等待设定时间后是否自动断开。再按一下手动复位按键验证能够强制断开。全部通过后再接入真实信号源。我用这套电路做出来的样机把传感器脉冲宽度从10毫秒到100毫秒范围内反复变化继电器每次都能稳定吸合固定时间没有一次误动作。在继电器触点两端接感性负载现场测试了上千次通断CD4013的输出状态始终稳定没有出现因为反电动势导致的逻辑翻转续流二极管的功劳很大。6. 常见问题与排查技巧实录6.1 上电瞬间继电器突然吸合一下这是遇到过最多的故障。原因是U2B上电时输出状态随机恰好为高电平继电器瞬间获得驱动。处理办法是增加上电复位电路在RESET端接RC到VCC的复位脉冲让芯片上电时先强制复位然后再进入等待状态。同时三极管基极可以加一个10千欧下拉电阻即使CD4013输出短暂不确定三极管也不会导通相当于加了一道保险。6.2 单稳态定时时间明显偏长或者偏短排查思路从两个方向出发。第一个是电容漏电电解电容用久了或者低温环境下漏电增大等效于在RC并联了一支电阻会让定时偏长。换用CBB电容或者钽电容能明显改善。第二个是触发信号宽度对定时起点的影响如果触发信号在RC充电结束后仍然保持高电平复位端可能被反复触发输出波形出现异常的二次脉冲。处理方式是在触发源后面加一个单稳态整形或者RC微分电路确保每次触发只送出一个干净的边沿。6.3 按一下按键继电器状态乱跳这个几乎可以断定是按键抖动没有处理好。检查消抖RC的充放电波形用示波器看CLK引脚上的信号如果还能看到毛刺说明RC时间常数不够大或者波形边沿太缓导致触发器开阈值附近反复震荡。加大电容到2.2微法或者4.7微法并确保信号经过施密特整形后再送入CLK这个现象基本就消失了。6.4 继电器吸合时有异响、触点拉弧先量续流二极管是否接反如果接反电源一上电就会短路烧管子。如果二极管方向正确再看继电器线圈的供电电压是否充足。线圈电压偏低会让继电器吸合力不足触点接触电阻大产生拉弧。还有一种隐藏问题驱动三极管没有完全饱和集电极-发射极压降大导致线圈实际电压只有额定值的70%继电器的吸合状态不稳定会有连续的异响。6.5 CD4013未使用的输入引脚悬空这个问题在一些新手做的板子上经常出现。CD4013是CMOS器件任何悬空的输入引脚都相当于一根天线会感应出浮动的电位导致内部MOS管处于半导通状态不仅增加功耗还容易引入噪声干扰。规矩做法是把未使用的D端和CLK端接电源或地SET和RESET端按逻辑功能接好固定电平不能悬空。6.6 快速排查速查表现象可能原因排查建议上电继电器误动作无上电复位或复位时间不够加RC复位电路基极加下拉电阻定时时间不准电容漏电或容量偏差大换低漏电电容多处对比实测按键触发乱跳机械抖动未滤除干净增加RC时间常数配施密特整形继电器异响续流二极管接反、驱动管未饱和确认二极管方向、测量饱和压降逻辑不稳、偶尔翻转电源去耦不足、布线干扰芯片旁加100纳法电容驱动线远离信号线芯片发烫输入悬空或输出负载过重检查所有输入引脚是否接固定电平7. 使用心得与几个实用技巧这套CD4013加继电器的组合我在好几个项目里都用了最大的感受是纯硬件逻辑一旦调通稳定性好到你会忘记它的存在。单片机方案每次改代码都要重新验证边界条件硬件方案只要RC参数定死逻辑就是铁板一块换新板子上去行为一模一样。分享几个实用技巧。做定时调整的时候不要反复去换电阻用一个100千欧电位器和固定电阻串联先粗调再细调找到需要的定时宽度后用一个1%精度的固定电阻替换电位器减少温漂。如果希望定时过程中能够提前结束可以在复位端加一个放电三极管定时期间给一个脉冲让电容快速放电立即恢复到等待状态这个玩法比单纯依赖RC自然放电灵活很多。多路继电器的场景下不必每路都用单独的CD4013双稳态可以考虑第一片芯片做统一的输入逻辑第二片用ULN2003做驱动这样PCB面积会小不少。CD4013和ULN2003配合使用的时候注意电平极性ULN2003输出是低电平有效要么在逻辑上做反相要么用继电器接在VCC和输出端之间的接法这个接反了就要多焊好几根飞线。最后一个小细节给CD4013供电的5V电源如果是从开关电源取的开关频率的纹波可能串进逻辑电路导致输出端偶尔出现亚稳态毛刺。在芯片电源脚加磁珠和电容做二次滤波成本不高但改善明显。这个也是我在一个量产项目里半夜加班排查出来的问题写在这里给大家提个醒。