使用 raspberry 记录和绘制 24V 恒温器事件(光耦合器 + Raspberry Pi)
有很多 Instructables 展示了如何制作恒温器。但是,如果您已经有一个恒温器,并且想要记录或监控它何时关闭和打开,该怎么办?这个 Instructable 展示了如何使用光耦合器从连接到 24 伏交流加热和冷却系统的普通家用可编程恒温器获取逻辑电平直流电压。它还包括一个温度传感器,以及适合在 Raspberry Pi 上运行的代码,用于记录和绘制恒温器状态、事件和温度。
警告:用电工作可能很危险。在继续之前,请确保您有足够的理解和技能来安全地完成这个项目。虽然我已尽力确保安全,但如果此项目炸毁您的恒温器、Raspberry Pi、HVAC 系统、您的猫/狗或烧毁您的房子,我概不负责。
第 1 步:收集必要的部件和工具
您将需要以下部件:
- HCPL3700 光耦合器
- 2 个 3.3 kOhm 电阻器,额定功率为 1/2 瓦或更高(额定功率很重要)
- 一个 10uF,最小 10V 的电容器(电解的很好)
- 一个 0.1 uF 陶瓷电容器
- 一个 8 kOhm 电阻器(或者更可能是一个 4.7 kOhm 和 3.3 kOhm 电阻器串联)
- 树莓派
- 一段两导体的绝缘电线,理想情况下可以快速断开某种连接
- 基本的电子零碎,例如:
- 面包板
- 跳线
如果您还想构建可选的温度传感器,您还需要:
- 一个 ADT7410 温度传感器
- SOIC 分线板
- 另一个 0.1 uF 陶瓷电容器
- 4 个 10 kOhm 电阻器
如果您想设计和制造自己的电路板,您还需要:
- 一个两端螺丝块
- 可选地,用于接受 SOIC 分线板的母头引脚
- 公头针连接到 Pi,或母头针连接到 Arduino
- 可选地,上面列出的电阻器的 SMD 版本以减小整体尺寸
所需工具:
- 万用表
其他要求:
- 24 VAC 加热/冷却系统
软件要求:
- Python
- Perl(HiPi 需要,hipi-i2c 需要)
- Plotly 帐户(可选,用于绘制数据)
- Eagle(免费版,可选,用于设计 PCB)
第 2 步:弄清楚如何与恒温器连接
许多家庭加热/冷却系统在 24 伏交流电下运行。 (那些不属于本 Instructable 的范围)。可编程恒温器通常要么耗尽电池,要么使用某种“窃电”机制来为自己供电。实际切换通常由恒温器内部的继电器完成。
我们想要监控加热/冷却系统是否正在运行。为了做到这一点,我们想检测继电器是否允许功率流动。第一步是确定要监控的电线。由于恒温器接线惯例各不相同,因此需要进行一些实验。
拿起您的万用表,将其设置为测量交流电压,并找出当您的加热/冷却系统处于活动状态时哪对电线的读数为 24 伏交流电。确保当系统处于非活动状态时,同一对读数为 0 伏交流电。请注意,您可能有多对可以工作,具体取决于您是否有自动运行的风扇或其他变量。
我的恒温器使用五根电线,连接到六个触点(一根电线跨接到两个触点)。这意味着有 10 种可能的两线组合需要测试,我们应该在系统打开和关闭时测试这些组合。在一张纸上写下您要测试的电线对,然后边走边记下电压(或没有电压)可能会有所帮助。
您可以在我的情况下看到,实际电压高于标称 24 伏。当加热打开时,我的万用表在我选择的那对电线上读数接近 29 伏。
第 3 步:让您自己使用这对电线
关闭加热/冷却系统的电源,并使用万用表确认电源已关闭。从底座上取下恒温器,露出接线。添加两条额外的电线,连接到您在上一步中选择的那对电线的端子。
为了使事情变得整洁,最好使用在另一端以某种快速断开方式终止的接线,以便在需要时可以快速安全地将恒温器与项目断开连接。
第 4 步:连接电路以测量电压
这可能是整个过程中最复杂的部分。显然,我们不能将 24 伏交流电直接连接到 Raspberry Pi - 需要一些东西来整流和降低该电压并安全地这样做。
我们可以使用光耦合器来实现这一点。光耦合器将两个独立的电路电隔离。在我们的例子中,我们希望将 24 伏交流加热/冷却系统与我们的 Raspberry Pi 隔离。
我选择使用 HCPL3700 光耦合器,因为它包含一个整流器并且可以处理很宽的电压范围。具体来说,它需要 AC 或 DC 作为输入,从 5V 到 240V,并且可以使用 2V 到 18V 的电源。电流要求足够小,可以直接从 Raspberry Pi 的 3.3V 电源运行设备。
随附的原理图显示了我如何连接 HCPL3700(您现在可以忽略原理图的下半部分,即温度传感器)。 重要提示:连接到交流输入引脚的两个 3300 欧姆电阻的额定功率必须至少为 1/2 瓦。 这两个电阻器设置了光耦合器的触发阈值,即它将开启的输入电压。有关选择这些电阻值的详细信息,请参阅此应用说明。
HCPL3700 中的整流器对交流输入进行整流,但不会平滑整流后的正弦波。因此,如果没有任何进一步的输入滤波,逻辑输出将快速振荡,可能以您的线路电压频率(在美国为 60 Hz)。为了避免这种情况,我们在整流器的 DC 引脚之间放置了一个电容器。应用笔记详细介绍了如何计算该电容器的值;一个10uF,最小10V的电容就足够了。
与许多 IC 一样,HCPL3700 建议在其电源电压引脚上放置一个 0.1 uF 电容器。最后,该芯片采用集电极开路输出,这意味着它只会将其输出驱动为低电平;为了看到逻辑高输出,我们需要一个上拉电阻。为这个电阻计算合适的值有点挑战,因为它取决于芯片和 Pi 输入引脚的特性,但我发现标准的 10k 欧姆上拉电阻可能无法产生足够高的电压被 Pi 读取为逻辑高电平。因此,我使用了一个 8k Ohm 电阻(实际上是一个 3.3k Ohm 和 4.7k Ohm 串联)。但是,此计算基于最坏的情况;实际上,一个 10k 的电阻可能会工作得很好。
有关更多详细信息:记录和图形 24V 恒温器事件(光耦合器 + Raspberry Pi)
制造工艺
- NodeMCU 和 Raspberry Pi 3 B+
- 使用 LabVIEW 的树莓派温度曲线
- 使用 raspberry 记录和绘制 24V 恒温器事件(光耦合器 + Raspberry Pi)
- Python 和 Raspberry Pi 温度传感器
- Raspberry Pi 上的简易温度和湿度
- 使用树莓派远程监测天气
- SensorTag 到 Blynk 使用 Node-RED
- Raspberry Pi Photocell 日志和警报系统
- 使用 Raspberry Pi 的运动传感器
- Raspberry Pi 温度和光传感器
- 使用 Raspberry pi 通过 GPIO 检测按钮按下
- 使用 Raspberry Pi 和 Twilio 的支持语音和 SMS 的光传感器