在工业电子产品中,随处可见开关和触点:接近开关、限位开关、继电器触点、激活开关,有时甚至键盘开关。曾经有过多的集成电路是针对开关矩阵的,但它们似乎都已经衰落,被IBM在PC键盘中使用的8042版本所取代。今天,如果你有兴趣制作自己的矩阵编码器,你可能会使用自己设计的微控制器。我记得英特尔8279具有用于离散开关的特殊模式。


然而,工业领域的开关有其自身的特点。首先,它们通常在高电压下工作——24VDC是常见的。其次,它们并不真正适用于矩阵配置。(对于你们这些年轻人来说,开关矩阵是一种多路复用输入触点的方法,可以减少检测开关状态所需的I/O引脚。我写了两篇关于这个主题的博客文章。)键盘和显示器多路复用-传统方法“和”键盘和显示器多路复用–Charlieplexing”.) 因此,需要将电压调节为微控制器的输入电压并减少微控制器I/O引脚的数量的技术。此外,在有机械触点的地方,会有开关弹跳和接触电阻。


我很想写一篇关于switch bounce的博客,但Jack Ganssle用一系列关于这个主题的权威文章(列在底部)击败了我,把自己与大师进行比较是愚蠢的。你必须阅读那些文章。


接触电阻也可能是一个麻烦,因为有时电阻太高,无法检测为“接通”。一些开关可能需要最小电流来克服接触电阻(“润湿”电流)。


有一种方法可以使用优先级编码器对许多输入进行编码,其中一些可以在传统逻辑族中找到。它们在其输出端提供一个代码,该代码对应于具有最高优先级的活动输入端。看看像这样的设备74公顷148或者CD4532型你也可以看看数字数据多路复用器,同样是在标准逻辑家族中,比如74小时151分(根据您需要的配置,还有其他配置)。当然,您仍然需要调节输入电压。模拟开关多路复用器(例如。CD4067型)可以增加一定程度的灵活性,因为它们可以在升高的电压下工作,但这只是推迟了电压转换问题。


当然,如果在写这篇文章的时候,可能还有其他几种更全面的解决方案。其中大多数都有串行通信端口,因此可以简化输入的隔离,因为每个输入都不必单独隔离。


Freescale/NXP(或现在拥有它们的任何人)提供33975/A以及33972吨/年。两者都是针对汽车市场的,但没有理由不能在工业舞台上使用。它们有多达15个输入(在升高的电压下),具有润湿电流和SPI输出。


TI有一个单一的产品,针对工业sn65hvs880磅/平方英寸,它只有8个具有升压能力的数字输入,但它还有一些其他功能。它具有防跳滤波器、输入电流限制、串行输出,可级联,并具有与输入相对应的外部LED驱动器。


Maxim确实提供了与TI非常相似的产品。他们是最大31911,最大31912,最大31913,最大31914和最大31915。如果您只需要为一个联系人设置条件,您可能需要考虑最大14838/9工业传感器输出驱动器。变体包括并行输出和SPI接口。


最后,Silicon Labs生产硅838x家庭除了TI和Maxim的产品之外,该设备还具有二极管桥输入(因此没有布线极性问题,尽管似乎没有平滑电容器,因此交流输入似乎不太可能),最重要的是包括2.5KV隔离。


我想这个博客补充了“所有(MCU)输出都去哪儿了?”我不久前写的。这些博客涵盖了工业系统中的数字输入和输出,我希望它们能为该领域的设计提供一些方向。


Jack Ganssle关于退婚的文章:


  1. 解决开关弹跳问题

  2. 我最喜欢的软件debobuncers

  3. 取消通告指南,或如何在两个简单页面中取消通告联系人-第1部分

  4. 取消通告指南-第2部分,或如何在两个简单页面中取消通告联系人