本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

开源浴缸水温控制器

发布时间:2022-06-13
分享到:

开源浴缸水温控制器

发布时间:2022-06-13
分享到:

背景

你的浴缸热水器用起来是否会显得有一点迟钝?没门!让我们使用 Raspberry Pi 3 和一些接线使热水浴缸变得智能和远程操作。

我在网上找到了一个用过的热水浴缸,已经有几年的历史了,我决定可以用它做一个很酷的项目。内置控件已经很烦人并且很耗时,所以这给了我进一步修改它的理由。为了节约能源,我在不使用的时候降低了池温,但如果我想使用热水浴缸,我必须提前 4 小时将温度调高。以我所说的烦人为例:为了节省能源,我不得不在不使用时降低池温,但如果我想使用热水浴缸,我必须提前 4 小时将温度调高。发生的另一件事是,不知何故,循环泵决定在夜间随机打开。

安全警告
如果您还打算修补热水浴缸,则应该注意风险。虽然高压系统在实验上很有趣,但它们可能很危险,如果不小心、尊重和智慧地对待,它们可能会导致致命的伤害。网上有很多关于如何在高压下安全工作的指南。如果您不确定自己在做什么,请立即停止并进行自我教育。

补给品
在这个项目中,我使用的是 UniPi 1.1,但它不是必须的一个器件,您也可以使用带有继电器板的 Raspberry GPIO,UniPi 也可以方便地进行 1-Wire 连接。我使用的端子、安装导轨和电缆槽不是必需的,但可以使机柜看起来干净,可以通过直接接线来简化。UniPi 需要一个 5V 电源,我使用 DIN 导轨安装一个,输出电流为 3A。内置灯通常使用 15V 供电,我使用的是 12V 电源。作为旧控制面板的替代品,我使用了带有 6 个防水按钮的金属板。

整理

我没有重复使用任何内置控制器电子设备,因此我将它们全部移除。

我的热水浴缸有以下电线:

  • 循环泵
  • 喷射泵
  • 鼓风机
  • 加热器
  • 臭氧发生器
  • 温度感应器
  • 流量传感器
  • 2x 显示电缆

PCB 上的夹子有标签。标记电缆是个好主意,这样您以后就可以知道每根电缆的用途。

为了使接线更容易,我把整个柜子都拿出来了。然后我删除了所有组件,清理了旧东西并开始安装。

安装和接线
我没有重复使用原来的控制面板。它可能以某种方式集成,但由于它只显示温度,因此不值得努力。我也想过安装一个触摸屏,但如果你的手指都湿了,它们就不起作用了。所以我用一块带有 6 个防水按钮的金属板替换了控制面板。

内置温度传感器是一个温度相关的电阻器(PT100)。虽然 UniPi 有一个模拟输入,我可以用它来测量电阻,但我认为使用 1-Wire 温度传感器可以让我的生活更轻松。

出于安全原因,在加热器内部安装了第二个温度传感器 - 以监控加热器的温度并防止其过热。这个也被 1-Wire 温度传感器所取代。

现在到实际接线。首先,我在机柜的顶部和中间安装了电缆管道,左侧、右侧。

接下来我安装了两条 DIN 导轨,一条在电缆管道的中间,一条在中间电缆管道下方 75 毫米处。我使用自攻螺钉安装所有组件。

在较低的 DIN 导轨上,我安装了端子、继电器和 5V 电源。作为夹具,我使用带有拉簧的导轨安装端子。左侧是电源线的端子 - 3x 灰色用于 3 相 - 1x 蓝色用于中性线 - 1x 黄色/绿色用于接地。然后对于其他每根电缆,我添加了一个灰色、一个蓝色和一个黄色/绿色夹子。热水浴缸中的一些电缆有些粗。我在欧洲,那里的电缆厚度标准与美国不同。端子必须能够容纳所有连接的 6mm^2。

夹子的右侧是继电器。UniPi 内部继电器只能切换 5A,因此不能直接用于切换负载。我使用了具有 230V AC 控制电压的功率继电器,现在该装置能够处理高达 4kVA 的功率。

在上 DIN 导轨的左端,我安装了 2 个电位分配器,一个用于 GND,一个用于 12V+。12V+ 由 UniPi 提供。在它旁边,我放置了 UniPi 1.1,带有一个用于 DIN 导轨的安装板。

我很幸运柜子的大小,一切都恰到好处。

现在有趣的开始 - 让我们进行接线。电线颜色不标准。我通过以下方式使用颜色:

  • 黑色:230V电源
  • 红色:230V 已切换
  • 蓝色:中性导体
  • 深蓝色:5V 或 12V+
  • 深蓝/白:5/12V GND
  • 绿色/黄色:地球/地面

我在每个线端都使用套圈,这种夹子不需要它们,但它看起来很漂亮。

我有 3 相可用,主保险丝是 16A Typ C。加热器有 10A,每个泵大约有 6A。所以我将负载分配到所有 3 个阶段。我使用第一个为控制单元、臭氧和鼓风机供电,第二个为加热器供电,第三个为两个泵供电。

磁性和流量传感器是数字的,所以我将一端连接到 12V,另一端连接到数字输入之一。新控制面板上的按钮也是如此,将一个焊尾连接到 12V,另一个连接到数字输入。我总共使用了 UniPi 的 14 个数字输入中的 8 个。

在原始设置中,灯连接到隔离灯控制器。我没有重复使用灯光控制器,而是将带状电缆直接连接到 12V 电源。灯有 RGB LED,我连接了红色和蓝色的 LED 以产生紫色光。缺点:我不再有任何花哨的灯光效果,只有紫光。

为了改善 WiFi 连接,我不再使用原来的金属盖,而是用亚克力盖代替它。

热水浴缸的盖子上有固定夹子,所以风不会意外打开它。当然,我忘记关闭这些夹子,所以我安装了一个磁性开关,当盖子打开时会通知我。

到目前为止一切顺利,是时候准备行动的大脑了。

操作系统
我使用 nymea 来控制 UniPi 和 BerryLan 进行 WiFi 设置。

在此处获取最新的 nymea 风味 Raspberry Pi Buster 图像:https ://downloads.nymea.io/images/raspberrypi/latest

下载后,我使用https://www.balena.io/etcher/ 刷新了 SD 卡,将 SD 卡插入 UniPi 并打开热水浴缸。由于最新的映像版本无需更改操作系统本身的任何内容,因此预装了 BerryLan 和 nymea。

BerryLan 的默认模式是“离线”,表示 BT 服务器在 Raspberry Pi 未连接到任何网络时启动。

顺便说一句:使用 BerryLan 有人可以将 Raspberry 也设置为接入点模式,因此客户端可以直接连接到热水浴缸而无需路由器。

好的,现在操作系统很好,我们可以继续最后的步骤。

设置
我正在使用 nymea:app 的桌面应用程序。您也可以将它安装到 Android 和 iOS 设备上,并以同样的方式控制您的 UniPi。

UniPi 的 nymea 插件没有预装,所以我使用 nymea:app 安装了插件:

菜单 -> 系统设置 -> 系统更新 -> 安装或删除软件 -> nymea-plugin-unipi2 -> 安装

添加设备

为了告诉 nymea 使用了哪种 UniPi,我需要添加一个 UniPi 类型:添加设备 -> UniPi -> UniPi 1 在我的情况下 - nymea UniPi 插件支持所有 Neuron、Neuron 扩展和 UniPi 设备模型。

之后我能够添加继电器输出,nymea 知道有多少 IO 可用:添加设备 -> UniPi -> 数字输出 -> 选择 DO1 并将其命名为“加热器”

我对所有继电器重复了这些步骤,并按如下方式设置了控件:

  • 继电器 2:喷射泵
  • 继电器 3:循环泵
  • 继电器 4:鼓风机
  • 继电器 5:臭氧发生器
  • 继电器 6:光

然后我添加了输入:添加设备 -> UniPi -> 数字输入 -> 选择“DI 1”并将其命名为“流量传感器”。我对我拥有的所有输入重复了这些步骤:

  • 输入 1:流量传感器
  • 输入 2:盖板传感器
  • 输入 3:按钮 1
  • 输入 4:按钮 2

1-Wire温度传感器:添加设备->单线接口->名称到“单线接口”

单线接口设备内部有一个切换按钮“自动添加单线设备”,我启用了此选项,因此将自动添加单线温度传感器。

最后但同样重要的是,我添加了 2 个切换按钮。它们不是真正的设备,而是更接近“状态”。这有助于我稍后在“收藏夹”列表中使用它们,以便我可以快速打开或关闭所有内容。

添加设备 -> nymea -> 拨动开关 -> 名称:夏季模式“夏季模式”是在夏季月份完全停用加热器。添加设备 -> nymea -> 拨动开关 -> 名称:就绪模式“就绪模式”是在 37°C(就绪)和 29°C(未就绪)之间切换目标温度。

添加一些“魔法”

“魔术”基本上是一个规则集,它命令 nymea 自动做事。

  • 如果“就绪模式”打开而“夏季模式”关闭且温度低于 37°C,则加热器和循环泵将启动,否则将停用。
  • 如果“就绪模式”关闭且“夏季模式”关闭且温度低于 29°C,加热器和循环泵将启动,否则将停用。
  • 如果循环泵已打开而流量传感器未打开,则发送警报。
  • 如果水温低于 3°C,则发送警报。
  • 如果水温达到 37°C,发送通知“热水浴缸准备就绪”
  • 如果磁传感器关闭,则发送通知“热水浴缸盖打开”。
  • 在 10:00 到 10:15 之间打开喷射泵。
  • 如果按下按钮 1 打开/关闭鼓风机
  • 如果按下按钮 2,打开/关闭喷射泵
  • 如果按下按钮 3 打开/关闭灯
  • 如果按下按钮 4 播放/暂停 Denon Heos(外部设备)
  • 如果按下按钮 5 打开/关闭飞利浦 Hue(外部设备)
  • 如果按下按钮 6 关闭所有灯(外部设备)

设置远程连接

我不是每天都使用热水浴缸,所以我没有设置“加热”规则。有时候,下班回家,就是想尽快跳进去,所以我用远程连接提前打开了取暖器。我的热水浴缸以每小时约 2 度的速度升温。我通常在空闲模式下将温度保持在 29°,所以我必须提前 4 小时打开加热器。PS.:有些人认为加热浴缸需要更多的能量,而不是随时保持温度,但我已经检查过,这不是我这边的情况。

远程连接设置也启用了推送通知,因此您可以获得如下很酷的通知:

现在我可以打开/关闭每个泵,将热水浴缸模式设置为“就绪”或“夏季”,检查温度并切换鼓风机。

就是这样,热水浴缸​​已经准备好了——我喜欢在舒适的沙发上或者下班回来的路上打开游泳池。对于那些慵懒的周日早晨,我设置了特定的计时器,这样我就可以在早餐前畅游一番。

如果您对此项目有任何想法、意见或问题,请在下方留言。

以上内容翻译自网络,原作者:Bernie Trinnes,如涉及侵权,可联系删除。

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论