经典DIP开关的替代品


10

我正在寻找使用户能够经常更改配置的部件。现在,我正在使用连接到I2C I / O扩展器的SMD DIP开关。

让我困扰的是这些组件(DIP开关与IO扩展器IC组合在一起)的庞大占用空间以及相当繁琐的用户界面。是否有DIP开关或具有与我可以通过I2C这样的数字总线进行通讯以读取其状态的功能相同的功能?

我也愿意接受完全不同的方法。我需要的是可以永久更改的机械方式,并且至少允许64种不同的状态。重要的是,可以在电路未加电时进行配置,并向用户提供确切配置的视觉反馈。可以给电路加电的唯一方法是自包含配置和视觉反馈,而无需来自微控制器或SoC的控制。

该问题与6年前的问题有关:DIP开关更换

编辑:答案中有一些很好的建议,我想我没有回答这个问题,社区投票应该决定什么是有帮助的,什么不是。如果您遇到的问题与我一样,请仔细阅读所有答案。


如果您想让它看起来不错,请打入蓝牙模块并通过智能手机设置所有开关。
Chupacabras

8
我的第一个想法是,不是实际的占用空间会使DIP开关变大。这是实际的开关。转向串行协议并不一定会使它变小。
管道

3
你可以教你的用户在十六进制计数,使用一个或两个的这些
brhans

好吧,我想摆脱I2C多路复用器/端口扩展器。如果只是DIP开关,那就没问题了。因此,如果有“数字DIP开关”之类的东西会很棒。
PTS

4
您希望它能在不再能机械操作之前制造出比6开关小的封装小多少?
Phil Frost

Answers:


19

您可以使用SIP开关代替DIP。节省的电路板面积将为您提供I2C接口(或更简单的接口,如带有输入锁存器的移位寄存器)的空间:

在此处输入图片说明

图片显示水平,但实际上垂直安装。


它们确实很好,我正在考虑将它们用于我的设计,尽管在多层SMD板上使用其中的一个有点困难,而又不会阻塞较大的布线区域。
PTS

1
可能有SMD版本。SMD SIP封装通常具有交错的底脚。
路人

SMD可能是一个挑战,Apem(在图片中制造的人)不这样做,我不记得在其他任何地方看到过它们。我通常将它们放置在PCB边缘附近,而布线并不总是那么关键。
Finbarr

9

“ DIP”开关

首先,“ DIP”开关不必很大。这是一个带有J形钩针和1.27 mm间距的6位SMD开关:

CHS-06TA在此处输入图片说明

电位器

如果您迫切希望减少占位面积,并且给用户带来一些不便,则可以使用连接到A / D转换器的电位计。由于您需要64个设置,因此,在进行一些电气和软件过滤以及阈值设置的情况下,一个12位转换器应该有足够的分辨率余量来分辨这些步骤。这是2 x 2毫米的解决方案:

PVF2A

但是,我从未见过具有64个物理定位器的模拟电位器。这意味着在配置设备时,不会为用户提供任何可靠的战术反馈。引导时也很难可靠地找到正确的设置,因为它可以在两个设置之间的阈值上保持右移-我会将以前的设置存储在EEPROM中,如果电位计足够接近引导时存储的值,则我会认为他们平等。

另外,我可能不会使用那种2 x 2毫米的修整器,但是有成千上万种不同的修整器。


电位计有趣的想法。尽管准确设置的视觉反馈很重要。
PTS

可以使用微型旋转编码器,外形类似于微调电位器,但具有二进制输出,通常为4位/ 16步,标记为0-F,并带有清晰的棘爪。
John U

@JohnU您需要其中两个,从而导致更大的解决方案。

其中两个(也许是直立而不是平直)可以使包装更容易。
约翰·U

@PTS如果您的设备上已经有某种显示器可用,则您可以滥用该软件来读取并显示该值。假设您已经加载了某种配置菜单,那么这也不需要很多工作。当然,当设备关闭时,您将无法读取显示内容。
桅杆

9

您有备用ADC吗?

如果附近的微控制器上有一个备用的8位ADC,则可以放弃IO扩展器,而使用电阻网络-R-2R梯形图或二进制加权梯形图。这样会将开关位置编码为模拟电平。电阻梯形图的包装非常小,但我不知道您是否会比I2C扩展器小一小。

多少个通用IO线你有吗?

如果您可以用更少的IO线路来解决问题,也许您可​​以放弃IO扩展器并使用现有的扩展器?您可以将交换机多路复用到少于六个IO线。实际上,如果您有3个二极管的空间,并且您的微控制器具有三态引脚,则只需3个引脚即可管理。

您的用户可以管理一些技术问题吗?

如果您的用户可以按照说明进行操作,并且配置几乎没有变化,则可以将端子置于开放位置,以便将其放入电阻器。您可以使用ADC来测量电阻,也可以通过测量电阻对电容器产生的时间常数来进行测量。您需要能够区分64个电阻器值,使用后一种方法可能会比较棘手。当然,您的用户需要手头有正确的电阻值/外壳样式。


使用电阻器,您还可以使用2个电阻器,那么您只需要一个4位A / D转换器,并且分配的电阻器数量就更少了,因此可以节省价格
Ferrybig

我改写了我的问题。与我无关的DIP开关的大小并不一定,而是对I / O扩展器形式的额外组件的需求。除了我的I2C总线,我只剩下3个IO。
PTS

三条三态IO线足以寻址六个开关。通常,您可以使用n个IO线和n个二极管寻址n ^ 2-n个开关。我应该添加原理图吗?
杰克B

7

您正在寻找一个或多个编码旋转开关

从理论上讲,当您需要100多个选项时,跳线会提供更多配置,因为用户可以在不同配置中将任意数量的它们短路在一起,添加电阻器,电容器,二极管等,但这对用户和电路板来说都是非常技术性的!


抱歉,我添加我的时候一定错过了您的答案。实际上,它们是DIP开关的绝佳替代品!
PTS

4

来自NXP +智能手机的NFC NTAG。它基本上是一个I2C EEPROM,也可以在没有系统电源的情况下通过NFC进行读写。


2

这里有很多很棒的选择!还有一个比较晦涩的地方:使用IR接收器,然后使用电视遥控器或计算机对设置进行广播。RGB灯就是这样做的。


1
IR确实提供了一些能量,因此它可能仅在设备本身不通电时才起作用,但是您如何在硬件中实现这一点呢?
MSalters

2

在研究这一点时,我对旋转编码开关提出了建议。它们的占位面积可媲美1.27mm间距DIP开关。尽管在我看来,它们确实比DIP / SIP交换机提供了极为优越的用户界面。

无需将十进制或十六进制数字转换为二进制并翻转一吨小开关,您只需转动这些旋转开关中的1或2个即可使用十六进制数字。告诉用户“输入” E6比指示他们以特定模式翻转许多开关要容易得多。

在此处输入图片说明


1

另一种方法是旋转编码器,EEPROM和6个小LED。

状态保存在EEPROM中,并且LED指示当前选择的模式。

旋转编码器将在模式之间切换。

可能也没有节省太多空间-典型的编码器的轴长为6 mm,因此您也需要用于LED的空间。

仅使用单个旋转开关看起来就没有希望。在64个位置上,每个位置最终将不到6°,感觉或贴标签会变得困难。


只需阅读您的评论@Trevors答案,所以这种方法也没有用。


不过,无论如何,您的想法至少不需要引导整个系统。我补充说,这是可以接受的方式。
PTS

不过,带有LED指示灯的小按钮可以循环使用。我敢打赌,这是他们用来对《星际迷航》 TNG中的
三阶

1

三个选择。

  1. 模拟。可调分压器。用户提供自己的标准5%范围电阻器来设置该值。

  2. PWM。设备读取的具有64步的光电隔离PWM或RC样式电路。它们可以单独供电,也可以使用相同的电源供电,但是由于光电隔离,您的设备无法开机。您可以在启动后禁用PWM电路。

  3. 数字。具有按钮控制的数字电位器。同样,电路可以独立于设备供电。


1

指轮编码器?这些范围从0到9,可堆叠,并具有二进制输出:

指轮编码器


2
这真的比SMD DIP开关小吗?
管道

哦不 就像我无法阅读一个简单的问题一样大...请按您认为合适的方式投票。很抱歉浪费您的时间。
彼得

0

您总是可以带出I2C或其他接口(例如USB),并让用户将手机连接到自定义应用程序,从而可以配置一些内部EEPROM地址。

但是,使用电话应用程序可能会遇到很多问题。您需要支持该应用程序并保持最新技术,还需要支持许多电话供应商。

或者,您可以提供一个自定义的“加密狗”,该插件插入后可以执行类似的操作。

但是我怀疑这会为您节省很多空间。

如果您还有其他用户输入,例如两个或三个按钮和某种指示器,则还可以在按钮上输入适当的用户输入(按下时间等)后,将设备置​​于编程模式并进行配置那样。您在恒温器,软水器,电脑等家用电器上看到的也是一样。

您可以使用两个或三个按钮和一个LED进行大量操作。

如果需要在不加电的情况下对其进行配置,则您几乎会陷入开关或跳线的困境。


3
由于电话易变,因此使用电话应用程序可能会遇到很多问题。嵌入式系统可以轻松存活5至10代电话,并且在整个时间段内提供支持都是有问题的。
AndrejaKo

@AndrejaKo好点..一个很好的补充:)
Trevor_G

3
不幸的是,该应用程序要求用户可以在不加电的情况下更改配置,因此为什么我需要对其进行机械配置。一些有趣的想法。
PTS

2
@PTS,那么您几乎陷于开关或跳线中。
Trevor_G
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.