控制5000个LED


8

我正在做一个需要控制10,000个I / O的项目。

5000个输出-对于5000个LED,一次只能点亮1个LED

5000输入-对于5000传感器,它将感应物体的存在。

基本上,我正在做一个存储系统(类似于鸽子洞),因此将一个小盒子放在这个鸽子洞中。目前,我大约有5000个盒子放在20个机架上。每个机架有250个孔(10列x 25行)。

每个孔都有一个LED和一个传感器。因此,我需要5000个LED和5000个传感器。

所有传感器和LED都将连接到系统。当我需要将盒子放入鸽子洞时,我将扫描盒子的条形码并将其注册到系统中。然后,系统将在任何机架中寻找空插槽并点亮LED。我将盒子放在鸽子洞中,LED熄灭。

如果我需要找回任何盒子,我会输入盒子编号,确切位置的LED会亮起。

不太确定如何开始。想知道什么样的硬件具有这么多的I / O端口。


而不是使用激光指示器,用信鸽孔扫描墙壁,远程读取盒子前面的条形码并照亮所需区域(甚至可能带有一些凉爽的图案),怎么样?
posipiet 2011年

您打算制造多大的盒子?而且,为什么呢?
posipiet

Answers:


13

最好的方法是将您的LED放置在64x80矩阵中。由于任何时候都只需要点亮1个LED,因此您可以对行和列使用解复用器。对于想要低1行的行,对于想要1行高的列。
一种解决方案是对行使用十个74HC138,由7条地址线(2 <80 <2)控制。您将需要一些其他逻辑来从该地址派生每个74HC138的控制输入。对于这些列,您将需要八个74HC238,这与74HC138相似,但其输出为高电平有效。在这里,您只需要6条地址线(64 = 2)。因此,您总共有13条地址线。 676

另一种方法是使用CPLD。输入13条地址线,输出64列+ 80行。那是157个I / O。Altera有一些符合要求的MAX3000器件。

如果您没有像光学面板那样紧凑的LED展示,则可能需要以更高的电流来驱动它们,以获得更好的可视性。在这种情况下,您将在输出端需要额外的晶体管。


或许多555个计时器发出脉冲,以从便宜的LED中获得更好的光线。
Kortuk

2
我会使用72x70来简化运算。甚至64x80,它使用相同数量的8个输出IC。
starblue 2011年

@starblue-没错,64x80更有意义。编辑了我的答案。
stevenvh 2011年

4

噢,男孩……这将不是一个便宜的项目!

我同意拉涅利关于将项目分解为重复的“平铺”的一般概念。

假设您有20个10列x 25行的机架;我怀疑您想要的是每个机架的主控制器(还可以处理配电),每行配有一个“机架单元”,负责驱动10列LED并感应盒子。主控制器还可以驱动机架顶部的主灯,以便可以轻松找到目标机架。

考虑到所涉及的距离,我不认为您应该使用USB作为与机架的互连-USB不喜欢长距离驱动。相反,像以太网这样的隔离接口或光电隔离的ala MIDI可能是更好的选择。但是,几乎可以通过任何方法完成机架内的接口。


感谢toybuilder,我意识到这并不便宜。你们能告诉我此设置的推荐硬件吗?我需要估算涉及的费用。
史蒂文

每盒可能少于20欧元。当然每盒超过1欧元。开发可能需要大约一个工程师月的时间,大约需要1万个硬件。如果必须下注,我会花25k-50k欧元购买原型。
posipiet

4

XMOS器件通常用于控制非常大的LED阵列。LED被分组为“块”,每个块由XMOS芯片和合适的移位寄存器控制。XMOS设备可以通过高速XLink或以太网相互连接,并且可以通过以太网或USB与主机系统进行通信。XMOS设备可以在软件中实现高速USB和以太网,只需要合适的PHY芯片即可。

5,000个输入可以类似的方式进行接口。


3

如果没有更准确地了解整个系统应该做什么或如何布置LED和传感器的信息,很难提出明确的建议,但我会尝试一下。

您不会找到具有10000个数字IO端口的单个组件,即使您为LED和传感器安装了驱动器/缓冲/偏置电路,也将占用电路板上的大量空间。最好的选择是分而治之-创建许多处理特定子任务的“瓦片”,并将它们连接在一起。

例如,如果需要将LED和传感器放置在同一位置,则每个图块可以具有100个LED和100个传感器,(解复用器)和一个简单的微控制器。然后,您将组装50个此类磁贴,使总数达到5000个led和5000个传感器。然后,将这些瓦片中的每一个都连接到一个“母板”,该母板可以对各个板进行寻址,与它们上的微处理器进行对话,并写入/读取LED和传感器值。

主要的设计决策之一将是母系统的“电源”以及互连电路。例如,如果您愿意通过笔记本电脑(或类似设备)控制事物,则可以使用USB作为互连。然后,您可以在磁贴上运行软件USB堆栈,例如VUSB,以降低成本。其他选项可能是CAN,I2C甚至以太网。同样,系统的细节决定了使用什么。

对于特定用途,有大量可用的快捷方式。例如,如果将led用作显示器,则可以使用矩阵设置和简单的帧缓冲区从单个微控制器驱动它们。


谢谢大家,我已经编辑了我的帖子,其中包含我的项目的详细信息。
史蒂文

2

还有其他选择

  • 您可以为每个机架制作单独的模块,并通过LAN互连它们。每个模块将控制250个LED。

和/或

  • 您可以控制3D矩阵中的LED。由于每个LED只有2个端子,因此可以使用晶体管添加第三个端子。仅当集电极,发射极和基极正确供电时,LED才会点亮。3D矩阵仅需要52个I / O(17 * 17 * 18)即可控制5000个LED,而不是142(71 * 71)。

同时,我认为您可以使用Rainbowduino和控制192个LED(3 * 8 * 8)的8 * 8 RGB LED矩阵


2

由于需要将条形码传输到中央计算站,因此必须设置总线。距离取决于箱子的大小,距离在选择公共汽车时起着重要作用。

在LED彼此不相邻的大面积设置中(布线努力,布线电阻不同等),采用LED多路复用的模拟布线不是一个好主意。

假设您要保持便宜。也许尝试I2C,并使其分层。将有一些与主计算机进行通信的路由器节点,并与叶节点之间路由消息,每个叶节点中有一个。

叶子节点可以读取条形码,点亮指示灯,并在需要时执行各种其他功能,以读取消息或将消息发送到其路由器节点。

即使是模块化的,此设置也可能与用于5k LED,5k传感器的中央电缆处于同一财务状况。带有4个GPIO的最便宜的AVR ATtiny4的价格为0.6欧元。

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.