3

我正在使用 Arduino UNO 板。我有 24 个模拟通道,可以提供 0~5v 模拟输出。现在我的问题是我只有 5 个模拟通道。我想每 2 分钟从每个通道读取一次值,然后切换到其他通道。谁能在硬件中建议我如何获得模拟值?

我打算使用 8:1 多路复用器或 16:1 多路复用器。这是否是正确的做法。您能建议在硬件中使用其他方法吗?

74HC4051,74HCT4051,ADG708,MD14051B,IC 我打算用.dep[end on so,s1,s2只是切换频道

4

3 回答 3

1

使用光子像素耦合方法,它是一种新的科学方法,可以并行采样无限数量的传感器

基本上,每个传感器输出都是一个 LED。如果您有 10000 个传感器,则所有传感器的输出都插入到 LED 阵列中,如作者所说的 LED 矩阵。之后,LED阵列由摄像机拍摄,图像由计算机实时处理。软件从 LED 阵列中的每个 LED 读取一个像素并将其转换为数值。因此,您的 LED 阵列将转换为一个矩阵(包含 10000 个元素),其中填充了可以在您的软件中随意处理的数字。我不知道我是否明确,但你可以在这里阅读他们的文章:https ://www.sciencedirect.com/science/article/pii/S2215016119300901

请注意,经典多路复用是串行的,这种方法是并行的。

原始文章中的光子像素耦合示意图

光子像素耦合方法非常巧妙,因为它解决了工程中的两个主要问题:无限数量的传感器及其在视频速率频率下的并行采样。想象一下,我们可以读取任意数量的传感器。我想知道我们是否可以将光子像素耦合适应 Arduino。我是微控制器领域的新手,但我知道 Arduino 可以支持凸轮,所以应该可以。

如果您是博士生,那么:PA Gagniuc、C. Ionescu-Tirgoviste、RG Serban、E. Gagniuc。光子像素耦合:一种在科学研究中并行采集电信号的方法。方法 X,6:968-979,2019。

于 2019-05-17T16:26:42.287 回答
1

首先,您可能需要知道即使 Arduino Uno 也有内部 MUX。根据我阅读多个模拟频道的经验,这是我采用的方法。但是,通过采用这种方法,我建议您重新检查模拟值,以便添加 MUX 不会产生任何错误或偏差。

这可以通过比较带有MUX 的测量输出和不带MUX 的测量输出来完成。我使用了 74HC4051,它工作得很好,只要确保不要让任何引脚悬空。这种方法的唯一缺点是您需要使用一些 I/O 来控制 MUX,但如果这对您来说不是问题,那就继续吧。

任何其他方法都可能更复杂。这将要求您的模拟通道相互关联,并且您需要找到一种将多个模拟通道组合成单个通道的方法。

例如:如果您的目的是比较两个模拟值,而不是测量值并在软件中比较值,您可以使用运放比较电路为您比较值并获取比较结果。

于 2018-08-02T07:14:04.077 回答
0

要读取比输入更多的模拟通道,模拟多路复用器是一个不错的选择。你建议的所有方法都可以,但就个人而言,我喜欢用于模拟电路的 Analog Devices IC,所以我会选择 ADG708,但这只是个人喜好。

于 2014-09-12T08:06:29.843 回答