[资源共享]

按键消抖常用的硬件方法

[复制链接]
1097|7
手机看帖
扫描二维码
随时随地手机跟帖
麻花油条|  楼主 | 2022-12-5 14:54 | 显示全部楼层 |阅读模式

1668930197877515.png

当我们按下按钮或拨动开关或微动开关时,两个金属部件会接触以短路电源。但它们不会立即连接,而是金属部件在实际稳定连接之前连接和断开几次。释放按钮时也会发生同样的事情。这会导致误触发或多次触发,例如多次按下按钮。这就像一个弹跳的球从高处落下,它一直在表面弹跳,直到它静止。

1668930222167570.png

换句话说,我们可以说开关弹跳是任何开关的非理想行为,它会生成单个输入的多个转换。当我们处理电源电路时,开关弹跳不是主要问题,但当我们处理逻辑或数字电路时,它会引起问题。因此,为了消除电路中的抖动,使用了开关去抖动电路。

1668930232282732.png

首先,我们将演示没有开关去抖动的电路

1668930250545361.png


通过示波器抓取信号的波形如下:


1668930264704819.png

您还可以在按下按钮时在示波器中看到波形。它显示在按钮切换期间发生了多少弹跳。

1668930278330289.png


防止电路开关弹跳的常用方法有3种。
  • 硬件去抖
  • RC 去抖
  • 开关去抖IC


01 硬件电路去抖

在硬件去抖动技术中,我们使用 S-R 触发器来防止电路发生开关抖动。这是所有方法中最好的去抖动方法。

1668930313263642.png

1668930322495401.png


该电路由两个与非门(74HC00 IC)组成,形成一个 SR 触发器。正如您在电路图中看到的,只要拨动开关切换到 A 侧,输出逻辑就会变为“高”。在这里,我们使用示波器来检测弹跳。而且,正如您在下面给出的波形中看到的那样,逻辑正在以轻微的曲线移动而不是弹跳。电路中使用的电阻是上拉电阻。


每当开关在触点之间移动以产生反弹时,触发器都会保持输出,因为“0”是从与非门的输出反馈的。

02 R-C 去抖

R-C 仅由其名称定义,该电路使用 RC 网络来防止开关弹跳。电路中的电容器滤除开关信号的瞬间变化。当开关处于打开状态时,电容器两端的电压保持为零。最初,当开关打开时,电容器通过 R1 和 R2 电阻器充电。


1668930350834226.png


当开关闭合时,电容器开始放电至零,因此反相施密特触发器输入端的电压为零,因此输出变为高电平。


在弹跳情况下,电容器停止 Vin 处的电压,直到它达到 Vcc 或接地。

为了提高 RC 去抖动的速度,我们可以连接一个二极管,如下图所示。因此,它减少了电容器的充电时间。


1668930368934181.png

03 开关去抖IC

市场上有用于开关去抖动的 IC。一些去抖 IC 是 MAX6816、MC14490 和 LS118。

下面是使用MAX6818进行开关去抖的电路图。


1668930390891443.png


所以在这里,我们学习了按钮如何产生开关反弹效应,以及如何通过使用硬件的方式来防止按键抖动。

转贴自网络

使用特权

评论回复
aoyi| | 2023-1-3 14:31 | 显示全部楼层
一般来说看情况 有用硬件的时候也有选用软件的时候

使用特权

评论回复
tpgf| | 2023-1-3 14:51 | 显示全部楼层
由于开关极其微小的触点面积、机械式设计、产品老化等原因,使开关在实际应用中不可能象数字系统所期望的那样产生干净的数字信号输出

使用特权

评论回复
nawu| | 2023-1-3 15:12 | 显示全部楼层
原来做开关去抖都是自己搭建模拟电路 现在都是专用的芯片了

使用特权

评论回复
zljiu| | 2023-1-3 15:24 | 显示全部楼层
使用rc去抖的时候电阻电容的值如何确定呢

使用特权

评论回复
gwsan| | 2023-1-3 15:47 | 显示全部楼层
在抖动不是很剧烈的时候完全可以通过软件去抖

使用特权

评论回复
tfqi| | 2023-1-3 15:54 | 显示全部楼层
如果抖动是不规则的 我们首选哪种去抖方式呢

使用特权

评论回复
caigang13| | 2023-1-3 21:08 | 显示全部楼层
RC滤波或者门限比较器

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

262

主题

1384

帖子

2

粉丝