我想设计一个硬件去抖电路、我需要一些计算方面的帮助。
1:在物理测试之前、如何确定开关所需的反弹时间?
2:我注意到一些电路使用 R2。 是否有选择该值的经验法则?
3:我必须连接三个开关、您能帮我选择施密特触发器吗?
4:选择二极管、选择二极管时应考虑哪些参数? 还是简单的通用二极管可以满足您的需求?
https://www.ti.com/lit/an/scea094/scea094.pdf
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我想设计一个硬件去抖电路、我需要一些计算方面的帮助。
1:在物理测试之前、如何确定开关所需的反弹时间?
2:我注意到一些电路使用 R2。 是否有选择该值的经验法则?
3:我必须连接三个开关、您能帮我选择施密特触发器吗?
4:选择二极管、选择二极管时应考虑哪些参数? 还是简单的通用二极管可以满足您的需求?
https://www.ti.com/lit/an/scea094/scea094.pdf
应在数据表中指定反弹时间。
2.这取决于 R2的用途。 如果您想限制电流、则需要知道所需的限制。
有多个通道的器件、例如 SN74HCS125-Q1或 SN74HCS126-Q1。
任何小信号二极管都可以工作。 通常选择1N4148或某些 SMD 等效器件。
假设我选择顶部 R = 100K 和 C = 0.1uF 以获得10ms 去抖时间。 我还添加了一个二极管、以绕过底部 R 为电容器快速充电
我需要一些有关底部 R 值的公式或建议。 在某处、我读出它应该是上述 R 值的1/10。
谢谢
R2会减慢电容器的放电速度。 它的大小取决于您希望下降沿的速度、或者您希望限制放电电的电流尖峰的速度。 如果没有任何其他信息、则 R1的1/10听起来正常。
二极管使充电时间独立于 R2。 您也可以使 R1减小相同的大小并使二极管下降、而对于 R1的1/10、差异无论如何都不重要。 (只有当 r1=R2时、二极管才有意义。)
因此、如果我需要20ms 的充电和放电时间、我应该使两个电阻保持相同、从而保持二极管不变。 对吧?
例如、
C = 0.1uF、R = 200k Ω。
施密特触发器的杂散值如何? 在选择电容器充电和放电值时、我是否应该考虑该值?
是的、使用二极管的 R1=R2也是合理的。 (但在实践中、电容器的放电速度比充电快得多不是问题。)
施密特触发输入的迟滞(和开关阈值)的规定不是很明确。 但无论如何、电容器上的容差很大、因此这通常不是问题。
您好、Ali、
我一段时间构建了此图、以帮助显示施密特触发缓冲器/逆变器的阈值如何影响输入信号的延迟时间:
红线显示 了典型的输出转换时间、最小/最大延迟值显示了根据数据表限制输出可能切换的位置。
这是为特定器件开发的,但是您可以将相同的概念应用于任何 ST 器件-- 您只需了解 RC 电容器电荷公式和阈值限制、然后就可以非常轻松地将最小/最大延迟时间作为时间常数(TAU)的函数求解。
一般而言、对于去抖电路、不值得深入探讨所有这些内容。 最好只应用一个您知道不会对人类按下按钮感到"不好"的值、因此我只需选择 C = 1uF 和 R = 10k (TAU = R*C = 10ms)、这在绝大多数情况下都很有效。 如果您由于回弹而遇到错误、则始终可以轻松地将 R 更改为更大的值。
这是我通常要使用的电路(从 对开关进行去抖图像:
我从未遇到过使用此解决方案的问题、但从理论上讲、您拥有的双电阻器解决方案更好(本视频也对此进行了介绍)。
如果我使用双电阻器解决方案、我将设置 C1 = 0.1uF、R1 = 10k、R2 = 100k、这意味着上升沿和下降沿将非常相似(只有10%的差值)。
就个人而言、我不会为该电路使用二极管、因为这会增加成本、并且对正常运行没有任何真正的好处。
感谢您的出色解释。 我真的很感谢。 我正在寻找与您提供的解释完全相同的解释。 我选择了此 ST (ST)、我想现在一切都很清晰。
您好、Ali、
我很高兴能为我提供帮助。 如果你觉得这个主题已经解决了,请标记合适的答案(我相信这是一个绿色的按钮)--如果人们有类似的问题,这将帮助人们在将来找到这个主题。