PCB“触摸”按钮


10

是否可以将PCB焊盘用作按钮?我想用它来打开仅当用户将其握在手中时才应启用的Curcuit。

作为启发,我使用了在键盘或计算器上的软触摸按钮上使用的键盘:

在此处输入图片说明

我知道人体具有很高的电阻,那么检测触摸输入的合适电路是什么?仅裸硬件。我不想在这里使用任何微控制器。


6
您是说电容式触摸传感器?
PlasmaHH

@PlasmaHH这可能是另一种可能性,但是我想像一下用手指桥接上述垫时放大流过的电流,不让它操作mosfet或其他东西
mxcd

1
根据设计的电源要求,电容式感应可能会太耗电。您可以摆脱50Hz(可能)。如果触摸mos的门,则会打开mos。另外,您通常会破坏它,因此必须以某种方式对其进行保护,但这是一个很好的起点。
弗拉基米尔·克拉韦罗(Fladimir Cravero)'17年

Answers:


12

出于可靠性的原因,我不会采用开放式设计,而只能依靠50Hz的噪声。它可能可行,但是您使用交错手指的想法应该可以很好地工作。

干燥皮肤的电阻在1k到100k之间,因此您可以想到一个NMOS晶体管(找到一个带ESD保护的晶体管)和较大的下拉电阻,例如1M欧姆。然后,您可以将手指用作上拉电阻来打开MOSFET。

原理图

模拟此电路 –使用CircuitLab创建的原理图

您也可以使用双极(或达林顿)晶体管,它们不易受到ESD缺陷的影响,但是如果需要,则无法在输出端提供大电流,因此需要对输出进行缓冲。

电容传感器将是替代解决方案,但需要更复杂的电路。


2
我会考虑在D1的阴极与R1和传感器右侧之间的结点之间添加一个10k的电阻,以限制从静态放电进入M1栅极的瞬时电流,并通过总体上减慢速度来帮助D1完成其工作边缘向下。如果您发现该电路特别容易产生噪声,则在R1两端接一个100pF左右的电容可能会有所帮助-您必须先进行构建并尝试一下!
stefandz

好点,我将其添加到电路图中
Douwe66 '17

12

可以使用您所示的电阻连接垫,但电容垫通常更好。电阻垫直接与外部开放的电路连接。因此,它们容易受到静电释放和噪声的损害。

电容垫是一种更好的方法,尽管它们需要更多的固件才能感测,至少如果您想做得好的话。请注意,为了获得基本的抗噪能力,电阻垫也需要固件。仅将两个焊盘连接到诸如FET的栅极之类的敏感器件是一个坏主意。您将无法取消共模和其他环境噪声。

这是我最近用来研究电容式按钮的一个小板的布局:

盖垫是直径150密耳(3.8毫米)的小圆盘,否则在顶层被地面包围。该单片机是PIC 16LF1786。它和所有不直接与用户连接的其他部件都安装在此两层板的底部。

PIC持续扫描焊盘。当它检测到压垫的释放时,它会通过串行端口发送消息,更新右上角的指示灯,并在印刷机上发出蜂鸣声。

为了进行测试,我可以让PIC定期发送其内部值以用于每个焊盘的压紧力。这是所有五个原始感测值的图表,以及当我用手指连续按下每个打击垫时整体被按下的数字状态:

如您所见,抗扰度非常出色。即使最弱的信号也远超过300,而噪声约为±2。

标记为“已按下”的洋红色迹线显示各个按钮已按下状态的“或”。其级别显示按下和释放阈值。在这种情况下,有很多多余的信号没有使用。对这些特定的阈值进行了调整,以便能够承受按钮上方的几层纸。

当然,即使我自己这么说,也可以对按钮行和处理进行一些巧妙的处理,但是显然,使用相当适中的微控制器就可以实现结果。

我在真正的产品中使用了此功能,其中同一微控制器也正在管理字符显示。这是我计划在将来的几种产品中重用的基本用户界面子系统。它通过串行端口连接到主系统控制器。主控制器发送命令以写入显示器,并在按钮状态改变时接收异步消息。


Y您的绘图中轴的单位是什么?是将焊盘简单地连接到引脚,还是涉及其他组件?
德米特里·格里戈里耶夫

1
@Dmitry:Y轴显示内部的“触摸了多少按钮”度量。它是从原始A / D值得出的,但涉及多个A / D读数,并且对这些读数进行了大量处理。由于这些值是相对的并且是任意输入的阈值,因此没有尝试将它们保留为特定单位。非常粗略地讲,它们之间的读数差约为800 uV。350表示约280 mV,但事实并非如此简单。
奥林·拉斯罗普

因此,您要驱动焊盘的高低电位,并使用ADC测量某种充电/放电速率吗?
德米特里·格里戈里耶夫

1
@Dmitry:我正在驱动其他东西上下移动,然后测量打击垫中的阶跃变化。除了允许足够的建立时间来读取数据之外,其他所有内容都不是基于时间的。
Olin Lathrop
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.