【发布时间】:2019-07-18 02:44:36
【问题描述】:
我的应用程序需要测量 30 个传感器的温度,然后通过 Arduino 读取数据。即使我使用 Arduino UNO 或 Arduino Mega,工作电压也是 5V(UNO),7~12V(Mega)。但是热电偶输出电压很小,所以我必须使用放大器 IC(MAX31855)作为 Arduino 模拟输入。
一开始我想用16路模拟输入的Arduino Mega,然后用1路多路复用器16通道(可能是74HC4067 IC)就可以满足30路传感器输入的需求。但是现在,我无法将热电偶直接连接到 74HC4067。 据我了解,我必须按照以下顺序连接:热电偶→放大器→多路复用器→Arduino。
但问题是:IC MAX31855 有 3 个输出(DO、CS、CLK)。所以我不知道如何将16个热电偶连接到MAX31855并将数据发送到多路复用器74HC4067。因为 16 个热电偶对应 16 个 IC MAX31855(48 个输出)到多路复用器。所以16通道多路复用器是不够的。
此外,我查看了 MAX31855 数据表,我们需要将 DO、CS、CLK 引脚连接到 Arduino 上的 SPI 引脚。但是 Arduino 只有 1 个 SPI 通道,我需要使用 30 个传感器。如何将 30 个热电偶连接到 Arduino(UNO 或 Mega)?请给我建议。
【问题讨论】:
-
这应该继续Electrical Engineering。话虽如此,您是否考虑过使用不同的放大器 IC 或可以将多个传感器切换到一个放大器的合适模拟多路复用器的可能性?
-
我会尝试使用 30 MAX31855。连接所有时钟和数据线。一次只给一个 MAX31855 其 ChipSelect,然后一个接一个地选择一个 MAX,然后一个接一个地读出传感器。您可能需要使用两个 4 位解码器(如 74HC154)来构建片选信号。
-
@user5329483 : 如何确定我们需要的解码器数量?是不是意味着2^4=16,所以每个4位解码器可以处理15个通道?你能给我一个参考如何用 4 位解码器和 Arduino 进行编码吗?
标签: arduino microcontroller sensors