RC 按键消抖
按键 RC 消抖 + 施密特触发器:计算按下/松开时电容电压越过施密特阈值所需时间,判断能否滤掉触点抖动;或由抖动时间反算 R1、R2。内置 74HC14、CD40106、MCU 输入阈值。
电路原理图
输入参数
计算结果
点按结果可复制数值;支持输入 4.7k、100n、2u2 等工程写法
计算公式
按下(经 R2 放电):tpress = R2C · ln(VCC / VT−)
松开(经 R1+R2 充电):trelease = (R1+R2)C · ln[VCC / (VCC − VT+)]
反算:R2 = tb / (C·ln(VCC/VT−)),R1 = tb / (C·ln[VCC/(VCC−VT+)]) − R2
原理与说明
机械触点闭合/断开时会弹跳几毫秒,数字电路会把它当成多次按键。RC 网络把抖动"平均"成缓慢变化的电压,施密特触发器的两个不同阈值(回差)再把它整形为一次干净的跳变。
设计要点
- 抖动时间按实测或经验取 5–20 ms,并留 1.5–2 倍裕量;总延时一般控制在 20–50 ms 以内,否则手感迟钝。
- R2 不可省:它限制电容对触点的放电电流,并与 C 决定按下延时;R1 决定松开延时。
- 普通 CMOS 输入(无施密特)在缓慢斜坡上可能多次翻转甚至振荡,必须使用 74HC14/74LVC1G14 或 MCU 的施密特输入。
- 也可以只用 MCU 软件消抖(间隔 5–10 ms 连续采样 N 次一致);硬件 RC 对中断唤醒、计数器输入更可靠。