PCB“触摸”按钮
出于可靠性原因,我不会采用开放式设计并依赖 50Hz 噪声。它可能会起作用,但是您使用交错手指的想法应该会很好用。
干性皮肤的电阻在 1k 和 100k 之间,因此您可以考虑一个 NMOS 晶体管(找到一个具有 ESD 保护功能的晶体管)和一个大的下拉电阻,例如 1M ohm。然后你可以用手指作为上拉电阻来打开mosfet。
您也可以使用双极(或达林顿)晶体管,它们不易受到 ESD 缺陷的影响,但如果需要,它们无法在输出端提供大电流,因此您需要缓冲输出。
电容传感器将是一种替代解决方案,但需要更复杂的电路。
可以使用您展示的电阻连接垫,但电容垫通常更好。电阻焊盘直接连接到对外开放的电路。因此,它们容易受到静电放电和噪音的损坏。
电容垫是一种更好的方法,尽管它们需要更多的固件才能感应,至少如果你想做得好的话。请注意,为了获得基本的抗噪能力,电阻焊盘也需要固件。只是将两个焊盘连接到敏感的东西,比如 FET 的栅极,是个坏主意。您将无法取消共模和其他环境噪音。
这是我最近为研究电容式按钮而做的一块小板的布局:
帽焊盘是直径为 150 密耳(3.8 毫米)的小圆盘,并且在顶层被地面环绕。微控制器是 PIC 16LF1786。它和所有其他不直接与用户交互的部件都安装在这块两层板的底部。
PIC 不断扫描焊盘。当它检测到打击垫的按下/释放感发生变化时,它会通过串行端口发送一条消息,更新右上角的灯,并在按下时发出哔哔声。
为了测试,我可以让 PIC 定期发送其内部值,以了解每个焊盘的压力。这是所有五个原始感觉值的图,以及当我用手指连续按下每个垫子时的整体按下某物的数字状态:
如您所见,抗噪能力非常出色。即使是最弱的信号也远远超过 300,而噪声为 ±2 左右。
标记为“已按下”的洋红色迹线显示单个按钮按下状态的 OR。它的级别显示了按下和发布的阈值。在这种情况下,有很多额外的信号没有使用。这些特定的阈值经过调整,可以承受按钮上方的几层纸。
当然,即使我自己这么说,按钮线和处理也有一些巧妙的处理,但显然使用相当适中的微控制器可以实现结果。
我在一个真实的产品中使用它,同一个微也管理一个字符显示。这是一个基本的用户界面子系统,我计划在未来的几个产品中重复使用。它通过串行端口连接到主系统控制器。主控制器向显示器发送写入命令,并在按钮状态发生变化时接收异步消息。