亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Arduino OpenTherm 智能供暖控制:实现中央供暖系统的监控与自动化

项目背景

想知道锅炉何时运行、如何加热?想用 Arduino 实现供暖自动化?OpenTherm 协议是欧洲主流燃气壁挂炉与温控器的通讯标准。本项目开发的 Arduino OpenTherm Shield 让你能轻松监控、控制、拦截甚至网关化 OpenTherm 总线,实现 DIY 智能温控、壁炉联动、远程监控等高级功能。

硬件架构

OpenTherm 协议可获取的数据与命令

数据项说明
室温 / 设定温度核心控制参数
供/回水温度监控锅炉工况
生活热水温度/压力/流量*需锅炉配套传感器
室外温度*需室外传感器
锅炉状态运行/待机/故障
调节比 (0-100%)燃烧功率指示
排烟温度*需锅炉支持
运行统计累计燃烧时长等

* 标星项需锅炉配备相应传感器

四大典型应用模式

1. 自制智能温控器

仅需 5V 供电,Shield 直连锅炉 OpenTherm 端子。Arduino 运行 PID/模糊/学习算法,完全接管供暖逻辑,接入 Home Assistant/Apple HomeKit 等。

2. 总线监听器

Shield 并联在锅炉-温控器总线上(不打断通讯),Arduino 被动解码所有帧,上传 MQTT/InfluxDB 做数据分析、故障预警。

3. 中间网关

Shield 串联在总线中(打断原有连接),Arduino 运行网关固件:转发温控器→锅炉指令,转发锅炉→温控器应答,中间可注入/修改/屏蔽任意帧。作者即用此模式实现壁炉联动:有柴火余热时屏蔽锅炉点火指令,改用壁炉换热器供暖。

4. 模拟锅炉/温控器

配合另一设备做协议栈测试、产品开发验证。

Shield 硬件设计

软件库与示例

Arduino OpenTherm IO Library:GitHub
封装了帧收发、超时重试、数据结构解析 (f88浮点、u16/s16整型),极大简化应用开发。

示例 1:温控器模式读取从机配置

void loop() {
  if (OPENTHERM::isIdle()) {
    message.type = OT_MSGTYPE_READ_DATA;
    message.id = OT_MSGID_SLAVE_CONFIG;
    OPENTHERM::send(BOILER_OUT, message);
  } else if (OPENTHERM::isSent()) {
    OPENTHERM::listen(BOILER_IN, 800);
  } else if (OPENTHERM::getMessage(message)) {
    // 解析 message.f88() 等字段
    OPENTHERM::stop();
    delay(100);
  } else if (OPENTHERM::isError()) {
    OPENTHERM::stop();
  }
}

示例 2:网关模式双向转发

enum { MODE_LISTEN_MASTER, MODE_LISTEN_SLAVE } mode;

void loop() {
  if (mode == MODE_LISTEN_MASTER) {
    if (OPENTHERM::isSent() || OPENTHERM::isIdle() || OPENTHERM::isError()) {
      OPENTHERM::listen(THERMOSTAT_IN);
    } else if (OPENTHERM::getMessage(message)) {
      OPENTHERM::send(BOILER_OUT, message); // 转发给锅炉
      mode = MODE_LISTEN_SLAVE;
    }
  } else { // MODE_LISTEN_SLAVE
    if (OPENTHERM::isSent()) {
      OPENTHERM::listen(BOILER_IN, 800);
    } else if (OPENTHERM::getMessage(message)) {
      OPENTHERM::send(THERMOSTAT_OUT, message); // 回复温控器
      mode = MODE_LISTEN_MASTER;
    } else if (OPENTHERM::isError()) {
      mode = MODE_LISTEN_MASTER;
    }
  }
}

进阶应用:OpenTherm Regulator

作者下一篇将详细介绍如何在网关模式下注入算法:读取室外温度、壁炉水温、室温设定,动态决定“锅炉点火”还是“壁炉循环泵启动”,实现多热源智能切换,大幅降低燃气费。

原理图与 PCB

原理图含光耦隔离电路、比较器、DC-DC 降压、Arduino 引脚映射。Gerber 文件可直接下单打板。

制造工艺

  1. 树莓派监测中央供暖锅炉:硬件、软件与部署指南
  2. 打造低成本家庭无线传感器网络:Arduino + 树莓派 + Xively 物联网平台
  3. 树莓派接入 TGS2600 气体传感器检测有毒气体:电阻阶梯模拟数字转换
  4. Arduino与树莓派构建互联网控制视频流机器人完整指南
  5. 用 Alexa 控制吊扇:分步指南
  6. DIY 蓝牙控制 Arduino 间谍小车
  7. FlickMote:基于手势的智能家居红外遥控器
  8. 使用 Arduino Nano 和 NeoPixel 打造动态跑马灯 LED 照明
  9. Arduino Cloud 集成:随时随地监控家中温度
  10. 通过 Arduino IoT Cloud 用 Alexa 控制电视:分步指南
  11. 连接GrabCAD Print与Stratasys 3D打印机——分步指南
  12. 燃油供暖降本增效三策略:双层玻璃、优级燃油、远程监控