简介

本篇文章介绍如何使用3D打印件、ESP32、温度传感器和执行器搭建微型堆肥反应器 CP500。系统通过水浴维持反应温度,并控制循环泵和曝气泵。本文重点记录结构、接线和调试流程,具体控制参数需要根据实际容积、加热功率和散热条件调整。

硬件清单

部件 数量 用途
ESP32 开发板 1 采集温度并执行控制逻辑
DS18B20 防水温度探头 5 水浴 3 个、物料 1 个、水箱 1 个
两路继电器模块 1 控制加热棒和循环水泵
MOSFET 驱动模块 1 控制低压曝气泵
加热棒、循环水泵、曝气泵 各 1 加热、循环和供氧
12V/5V/3V 电源模块 按负载选择 为执行器和控制板供电

继电器、MOSFET 和电源的额定电压、电流必须覆盖实际负载,并保留余量。加热、水泵等大功率负载不能由 ESP32 引脚直接供电。

准备3D模型

3D模型包括:
水浴结构、物料内筒、筛网、物料盖、水箱、水箱盖,底部主板、底部支撑柱4个、主板盖
模型地址通过网盘分享的文件:3D打印模型
链接: 提取码: 8888

3D打印

采用拓竹3D打印机打印3D部件,其中水箱和水箱盖采用ASA材料打印(也可以采用耐热性能更高的其他耗材),其他部件采用ABS打印

具体打印方法如下:
下载拓竹Bambu Studio软件,连接打印机,打开下载好的3D模型,设置均已提前设置好,直接切盘打印即可

打印前建议根据设备用途再检查以下项目:

  • 水箱和水浴部件的壁厚、层间结合与耐温性能;
  • 过线孔、传感器孔和水管接口是否需要预留密封余量;
  • 与水接触的打印件先单独做 24 小时静置漏水测试;
  • 打印完成后清理支撑和毛刺,避免水管被锐边割伤。

装配顺序

  1. 先安装底部主板、支撑柱和电源模块,低压控制线与负载电源线分开走线;
  2. 安装水箱、循环水泵和水管,在不通电的情况下完成漏水测试;
  3. 放入水浴筒和物料内筒,确保内筒可以正常取出;
  4. 固定 DS18B20 探头,避免探头紧贴加热棒或容器壁造成局部温度偏差;
  5. 最后连接继电器、MOSFET 和 ESP32,并为接头做好绝缘与应力释放。

接线

所有3D模型打印完毕后,需要结合准备的设备(esp32单片机、电源板、水泵、曝气泵、加热棒、温度传感器、2路继电器、场效应管)进行接线,接线方法如下:
Esp32接2路继电器(分别控制加热和水箱)、接MOS(场效应管,控制曝气)
Esp32接温度传感器Ds18b20(分别为3个监测水浴温度,1个物料温度、1个水箱温度,物料和水箱温度共线)
电源板接esp32(5V)接加热棒、水泵(12V),接曝气泵(3V)

详细连线

esp32 pin4接物料和水箱温度传感器信号线,pin5接接水浴温度传感器信号线,温度传感器采用esp32 3V3和GND供电
pin25接继电器加热棒控制信号线,pin26接继电器水泵控制信号线,pin27接气泵MOS控制信号线,2路继电器和MOS采用esp32 5V和GND供电

整理后的引脚表如下:

GPIO 连接对象 功能
4 物料、水箱 DS18B20 数据线 读取物料和水箱温度
5 3 个水浴 DS18B20 数据线 读取水浴温度
25 继电器通道 1 控制加热棒
26 继电器通道 2 控制循环水泵
27 MOSFET 模块 控制曝气泵

DS18B20 数据线通常需要接上拉电阻,常用值为 4.7 kΩ,连接在数据线和 3V3 之间。多个探头共用一条 OneWire 总线时,应尽量缩短总线长度并保证接头可靠。

上电前务必确认继电器模块是高电平触发还是低电平触发。程序中的开关逻辑与模块触发方式相反时,设备可能在 ESP32 启动阶段意外开启。

程序

代码地址:esp32-cp500。程序通过 initSensors(4, 5, 25, 26, 27) 初始化上述引脚,主要完成以下工作:

  • 读取物料、水浴和水箱温度,并过滤明显异常值;
  • 根据温差或设定值控制加热棒和循环水泵;
  • 保证加热和循环泵按照控制逻辑互斥,避免错误组合;
  • 定时或远程控制曝气;
  • 通过 MQTT 上报测量结果和设备状态。

首次烧录前需要根据仓库说明填写 Wi-Fi、MQTT、温度上限、测量周期和曝气周期等配置。建议先断开加热棒与水泵,只观察串口输出和 GPIO 状态,确认逻辑无误后再逐个接入负载。

上电检查

  1. 只给 ESP32 供电:检查所有 DS18B20 是否都能返回合理温度;
  2. 测试执行器空载输出:观察继电器和 MOSFET 指示灯,确认 GPIO 与实际通道对应;
  3. 单独测试水泵:水路中加水并排尽空气,确认方向和流量正常;
  4. 低温测试加热:设置较低目标温度,验证加热能在达到阈值后停止;
  5. 测试异常保护:拔掉一个温度探头或模拟超温,确认程序不会继续加热;
  6. 连续运行测试:正式加入物料前至少运行一个完整控制周期,检查漏水、接头温升和网络重连。

安全说明

  • 水、电和加热部件必须可靠隔离,所有接头做好防水和绝缘;
  • 加热棒必须在允许的液位和散热条件下工作,避免干烧;
  • ESP32 与继电器只负责控制,负载电流应走独立电源回路;
  • 感性负载应使用合适的驱动和续流保护;
  • 软件温控不能代替独立的温度保险、过流保护和漏电保护。

参考资料