【硬件自锁开关】用两个D触发器完成实用的自锁开关电路


前言

性价比是做电子设计的人要考虑的事,在学会了用单片机解决大多数问题的时候,是否你也想过用简单的手段解决一个多数场合要解决的问题呢?

自锁开关我们都熟悉,它的原理是:

按一下,输出状态由关闭变成开启,再按一下开启变成关闭。

机械弹簧式的开关可以实现自锁的功能:钩子和弹簧将当前状态“储存”起来,这个能量为下一次触发的提供状态“翻转”的动力;在电子设计中,经常通过单片机的程序指令实现自锁:通过寄存器将当前电平状态暂存起来,下一次触发的时候寄存器内容“取反”,再将其输出到端口。

可否用电路实现以上过程呢?完全可以,方案很简单,通过两个D触发器即可实现。


一、由两个D触发器实现的电路

在这里插入图片描述

CD4013集合两个D触发器,左边一个触发器作用是消除轻触开关的机械抖动,如图接成了单稳态形式——即在没有外加信号触发时,电路处于稳态;在外加信号触发下,电路从稳态翻转到暂态,并且经过一段时间后,电路会自动返回到稳态,SW1是轻触开关,自复位式——按下闭合,松手断开,SW1就是这个电路的外加信号源的触发装置。

R2和C1是延时参数元件,当按钮第一次按下时,输出信号Q2为高电平(因为D2一直接了电源正极,所以Q2同D2的状态),同时,Q2通过R2给C1充电,过一段时间,待C1的电平达到一定值时,触发器的复位端R(高电平有效)会将会使输出Q2回归原始状态。

由于C1的电平状态不能突变,而是需要一定时间才能稳定,所需要的这段时间可以叫做暂时的稳定状态——即暂稳态。设计这个短暂的时间,目的是等待SW1机械弹片抖动稳定下来,在稳定下来的过程中,触发器不做任何响应。
在这里插入图片描述
硬件消抖是利用RC充放电原理,在C1充电时间内,触发器不响应后面连续的输入,也就是按钮的机械抖动带来的输入

         计算是消除抖动的时间,即暂稳态的时间:T=0.69*R2*C1=0.69*1MΩ*1uF=69ms

等按键的机械抖动稳定后,(按100ms左右考虑),Q2端将平滑、可靠的信号电平给下一级。

右边这个触发器,CLK1端接受上升沿输入,输出Q1根据D1的状态改变,由于D1端被Q1/“锁定”,因此就能实现“每次来一个上升沿输出翻转一次”的效果。

二、实际测试效果

在这里插入图片描述
笔者在试验板上搭了一下电路,亲手验证一下效果:

每次按下按钮,继电器都动作一次,和我们设计初衷的结果一样!我们这次用的是晶体管加继电器的输出,我们也可以改成其他形式的输出,比如晶闸管等 ,当然,也可以将D触发器部分和单片机结合,省去单片机程序中对按钮的处理程序。

二、成本计算

如果打算应用,就得算算实现成本:

1、 物料价格成本:一片CD4013,和阻容,几块钱;

2、 方案难度:低;

3、 可靠性:功能上稍加试验即可验证,器件选择品牌种类很多;

4、 PCB占用面积:大概70*30mm,如果用贴片元件,占用面积会更小;

笔者认为这个电路最有用的地方在于,它让工程师多了一种方案选择。
在这里插入图片描述

总结

1、由两个D触发器实现自锁开关电路:一个用于机械按钮的消抖,另一个用于电平翻转;
2、机械按钮消抖的效果由暂态时间决定,暂态时间由定时元件R2和C1决定,暂稳态时间的计算公式是T=0.69R2C1,一般消除机械抖动延时定在100ms左右即可;
3、这个电路最有用的地方在于,它让工程师多了一种方案选择。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值