如何为9位开关接线,以便每个位置比以前打开一个LED?


27

我有一个像这样的人9路开关:

9路

我试图弄清楚如何打开位置1、2和位置2的一个LED,一直到位置9的所有9个。

显然,我可以在每个位置重复LED的所有布线,但这似乎很愚蠢。

我的想法是,使用如下所示的布局,开关将代表带圆圈的红线(在位置3中显示),该红线将在每个连续的位置向右延伸,直到连接所有灯为止。我怎样才能做到这一点?

原理图


4
每个LED需要什么工作电压,每个LED消耗多少电流以及电源电压是多少?
Bruce Abbott

您的逻辑为每个LED定义了“或”输入逻辑,但更容易实现tinyurl.com/y38aomlp
Tony Stewart Sunnyskyguy EE75

@BruceAbbott的想法是使用9V电池,但是如果需要,我可以使用适合9V型开关插孔的DC电源。LED消耗约25-30mA的电流,但即使达到一半亮度也能达到效果,因此那里有一些摆动的空间。
艾萨克·卢博

1
地面上方和下方,您的电路看起来就像是从坟墓之外来的:)
德米特里·格里戈里耶夫

@DmitryGrigoryev奇怪吗?我曾经看到过吉他踏板的原理图,只要它们适合就可以将它们贴在地面上……
Isaac Lubow

Answers:


9

这是一个技术含量较低的解决方案,需要很多零件。仅显示4个位置,9个位置需要45个二极管。

如果您有高电压,Sunyskyguy有一个聪明的解决方案。

在此处输入图片说明


1
如果您把每个二极管都放在前面(在它上面的一个二极管的左边,),您能用更少的二极管来做到这一点吗?
Bob Jacobsen

1
如果可以容忍轻微的亮度变化,则可以卸下水平二极管。在高电池电压(9V)下,它可能不会引起注意。
Mattman944

到目前为止,仅能回答实际回答的问题。
abligh

@ mattman944认为您可能希望在行动中看到此解决方案... instagram.com/p/BxaSo5BgA3U
Isaac Lubow

这里存在一个整洁的优化问题,可以省去二极管,但要牺牲一些亮度变化。有一个显而易见的8二极管解决方案以及Mattman的37二极管解决方案,但是您可以引入一些“跳过二极管”来减少8二极管解决方案的变化。
Andrew Macrae

64

使用稳定的电流源点亮它们,串联连接LED并短路想要变暗的部分。

原理图

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

如果您没有合适的电压,则可以使用降压-升压转换器来产生30V电压。

这是使用LM2596S模块构建一个简单的方法:

  1. 拆下电位计和两个大电容器
  2. 在+ in和+ out(正于+ in)之间连接一个挽回电容器,并在输出电容器所在的位置安装一个1uF陶瓷电容器。
  3. 在-输出与中央电位计端子之间连接一个100欧姆的电阻。

以此方式修改后,如果在+ in和+ out之间加电,它将在-out端子上产生一个负电压,并在中央电位计端子(电源在+ out处)充当12.5mA电流吸收器。

原理图

模拟该电路

或可以修改XL6009升降压模块。这次只需要移去电位计并添加一个100欧姆电阻,将3-30V连接至正常输入端子,并将LED灯串连接至输出和电阻。

原理图

模拟该电路


7
或者,将开关连接在阳极和电流源之间,而不要接地。这样,当没有LED点亮时就不会消耗功率,并且如果希望当开关顺时针旋转时LED灯条顺时针/向右增大,布线会更容易。
TooTea

我可以使用像mouser.com/ProductDetail/ON-Semiconductor/这样的LM317 吗?
艾萨克·卢博

1
@IsaacLubow,是的,这很合适。
杰森

您能指出一个示意图,其中LM317将9VDC转换为该设置所需的恒定电流吗?
艾萨克·卢博

@IsaacLubow不能-它只能降低电压。您至少需要20伏特才能点亮LED,但可能需要更多(因此,甚至不能串联使用两节9V电池)。看一下LM2596S选项,它也适用于9V输入。
管道

15

如果您不喜欢现有的特定开关,请使用“渐进式短路旋转开关”进行更换。就像您的绘图一样工作。


是的,这解决了我的两个较小的问题,事实是,给它们供电是另一个障碍。
艾萨克·卢博

15

转动旋转开关时,实现渐进式LED点亮的一种方法是在开关的公共端上使用电流吸收器,然后将LED接线到选择器开关端子上,如下所示。所示的恒定电流吸收器是一种为LED提供20mA吸收器的低成本方法,因此随着点亮的LED数量的变化,亮度不会发生变化。该方案确实需要足够高的电源电压,以克服多达9个LED的串联串的正向压降。

在此处输入图片说明


可以使用9VDC完成吗?我不熟悉图中的LM358或晶体管...任何文档将不胜感激!
艾萨克·卢博

@IsaacLobow-否,不能用9V的电压来完成9个LED。如果每个LED都有2V的正向压降,则一串中的九个有一个Totan
Michael Karas

下降18V。底部电流吸收器本身也需要几伏特。9V可能适用于三个红色LED
Michael Karas,

我是否可以获得一个转换器模块,它将以所需的电压将9VDC转换为所需的恒定电流?
艾萨克·卢博

1
恒定电流升压或降压电源可用于保持电路有效运行,而不管打开了多少个LED。
Alex Cannon

14

Oldfart和Mattman944对于复杂的二极管网络给出了非常相似的答案。如果可以接受亮度变化,则简单的二极管阶梯就足够了。红色LED通常具有2V的电压降,而二极管通常具有0.6V的电压降,因此二极管电压降在梯形图中的综合影响会非常明显。

在电池为9V且开关位于位置9的情况下,LED 9的限流电阻将看到9-2 = 7V,LED 1的限流电阻将看到9-2-(0.6 * 8)= 2.2V,这将如果限流电阻的阻值相同,则导致流经LED的电流的差异会超过三倍。 在此处输入图片说明

如果您坚持要求亮度相等,则必须包括Oldfart和Mattman944推荐的所有二极管,但是仅需几个额外的二极管,您就可以将亮度变化降低到希望的水平。通过如上图在左侧增加三个二极管,我们确保将开关置于位置9时,LED 5看到的电压与LED 8相同。限流电阻两端的实际电压如下。请注意,LED 5和2之间的另一个二极管(下表中未考虑)将进一步改善电路。

LED  Voltage across current limiting resistor
9             7
8    7-0.6   =6.4
7    7-0.6*2 =5.8
6    7-0.6*3 =5.2
5    7-0.6   =6.4
4    7-0.6*2 =5.8
3    7-0.6*3 =5.2
2    7-0.6*4 =4.6
1    7-0.6*5 =4

平衡亮度的另一种方法是在某些LED的线路中安装二极管,以故意增加电压降。在上图中,从开关触点1到LED 1的线路中插入了一个附加二极管,因此LED 1看到的电压相同,而与开关处于位置1还是2无关。然后可以将LED 1的限流电阻设为为了使该LED的亮度与其他LED保持平衡,该LED的亮度应小于其他LED的亮度。

这些只是想法-对于此类项目,最好通过实验找到均匀的亮度与复杂性之间的最佳平衡。


太好了,谢谢!我不介意开关位置之间的亮度略有差异,也不介意以一半功率运行LED-它们非常亮。
艾萨克·卢博

1
@IsaacLubow没问题!还有两个技巧:如果可以以合理的价格购买肖特基二极管,它们的压降会更低。并且不要找到最小的二极管。uk.rs-online.com/web/p/rectifier-diodes-schottky-diodes/6527359是一个示例。是的,这是一个1安培的二极管!请注意,它在0.1A时的典型电压降略高于0.3V,但在其1A额定电流下约为0.5V。0.1A时的最大压降为0.55V。具有相同额定电流的非肖特基二极管的压降可能是这些值的两倍。请务必阅读数据表。
Level River St

1
为什么要使用额外的二极管来减轻亮度变化?为什么不在电阻器中这样做呢?
哈珀-恢复莫妮卡

@Harper二极管的价格比电阻器高出几美分,因此,如果使用电阻器代替,则可以节省很少的钱。可能可以使用电阻,但是这将需要在9个可能的开关位置上进行详细的平衡计算,再加上获得不同值的电阻,而不是抢走一堆相同且值合适的电阻。与这样的一次性项目相比,与省下来的零件相比,所花费的时间和精力更多。
Level River St

如果您不是数学的
忠实拥护者

5

您可以像这样为每个LED使用一个缓冲区。

图

在该图中,R1至R3是上拉电阻。关闭任何开关将使直接与其相连的缓冲区变为0,这会将其下面的所有缓冲区设为低电平。4050有6个缓冲区。您需要其中2个用于9个LED。

该解决方案只需要一个电压即可为4050供电(CD4050B为3V至20V)。您可以随意链接多达4050个。


4

如果您可以承受另一个0.5V的压降,则可以使用大量的二极管。这是具有三个LED的示例,该LED需要6个二极管。
(很抱歉,SW,SW2 ..电路实验室没有旋转开关符号)

原理图

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


4

看起来有些过分了,但是与使用微控制器的其他解决方案相比,它的零件更少,成本也可能更低。许多Ardunio板都有9个以上的数字输出引脚-您可以用9个引脚中的每个引脚驱动一个LED。通过让开关选择分压器的不同点并将其馈送到一个模拟引脚,您可以确定开关的位置并点亮您决定点亮的任何东西。


我当时想使用一种电压调节器,就像他们在这里所解释的那样-allaboutcircuits.com/technical-articles/…,然后将灯串联起来,似乎是一个不错的折衷方案。
艾萨克·卢博

1
后续措施:卸除9档开关,然后使用旋转编码器。
所罗门慢

1
开关是激发项目灵感的动力,所以这次不是!
艾萨克·卢博

或在开关上使用LM3918和电阻链
Jasen

一个ATMega吗?还在使用开关吗?过度杀戮是个玩笑。有一个简单的集成电路。
Diego C Nascimento

2

除非您渴望攀登FPGA的学习曲线(包括购买编程盒和使用大量引脚的SMT零件),否则我不建议这样做,但是您可以使用带有内部闪存和振荡器的Lattice LCMXO2系列。电路如下所示(加上一些电源连接,编程连接器和旁路盖):

原理图

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

编程软件(Lattice Diamond)支持VHDL和Verilog。

如果您感到幸运,可以将输出设置为最小电流驱动,并省略电阻。


1

一种替代方法是使用LM3914驱动LED,并使用由基准电压供电的外部10电阻梯形电阻。然后,旋转开关只需从梯子中选择一个电压即可点亮所需数量的LED。

这只是一个大纲;例如,将选择梯形图的最高电阻,以将步进电压设置在LM3914比较器的公差范围内(根据我的经验,该公差非常严格)。

此外,整个设备将以3.3V电源供电


1

与微控制器方法类似,另一种方法是使用运算放大器IC。正输入都连接在一起,它们连接到产生变化电压的电位计而不是开关。负极连接到一系列电阻,以为每个电阻提供不同的电压。旋转旋钮时,指示灯会一一点亮。

这种类型的电路用于具有十段LED灯条的功率逆变器,以告诉您逆变器输出多少安培。我相信他们所有的运算放大器都集成在一个IC中。

我知道这不是问题的确切答案,因为它不使用开关,但是可以完成您想要的操作。

编辑2:仍然可以使用一次仅连接一个触点的普通开关。将所有负运算放大器输入连接至1V等低电压。然后将每个开关输出连接到每个运算放大器的正输入。在开关输入上放置一个大电阻,如100k,并将其连接至正电源。它必须是一个大电阻,以不允许足够的电流通过,以使上述LED明显打开,因为正输入将从另一个运算放大器连接到LED阳极。现在,当您转动开关时,一次将点亮一个LED。为了使旁边的所有LED都点亮,只需将每个运算放大器的输出连接到其下方的正输入。与1V参考电压相比,LED的正向压降将过高,以至于无法从其下方的OP放大器的正输入端获取足够的电压,因此LED不会阻止OP放大器开启,但其他情况下, LED负载可能会。这假设运算放大器是仅电流源类型。不能使用电流源和宿运算放大器,因为这会阻止另一个运算放大器的正输入变高。许多运算放大器仅是电流吸收器,因此在这种情况下,必须将LED的阴极连接到运算放大器的输入端,其余电路切换。不要忘记为连接到开关的运算放大器输入使用上拉或下拉电阻。用于将开关连接到正电源的电阻值应该很好。

编辑3:似乎其他人发布了使用缓冲IC代替运算放​​大器的类似但更简单的解决方案。

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.