搭建CP500
简介
本篇文章介绍如何使用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 小时静置漏水测试;
- 打印完成后清理支撑和毛刺,避免水管被锐边割伤。
装配顺序
- 先安装底部主板、支撑柱和电源模块,低压控制线与负载电源线分开走线;
- 安装水箱、循环水泵和水管,在不通电的情况下完成漏水测试;
- 放入水浴筒和物料内筒,确保内筒可以正常取出;
- 固定 DS18B20 探头,避免探头紧贴加热棒或容器壁造成局部温度偏差;
- 最后连接继电器、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 状态,确认逻辑无误后再逐个接入负载。
上电检查
- 只给 ESP32 供电:检查所有 DS18B20 是否都能返回合理温度;
- 测试执行器空载输出:观察继电器和 MOSFET 指示灯,确认 GPIO 与实际通道对应;
- 单独测试水泵:水路中加水并排尽空气,确认方向和流量正常;
- 低温测试加热:设置较低目标温度,验证加热能在达到阈值后停止;
- 测试异常保护:拔掉一个温度探头或模拟超温,确认程序不会继续加热;
- 连续运行测试:正式加入物料前至少运行一个完整控制周期,检查漏水、接头温升和网络重连。
安全说明
- 水、电和加热部件必须可靠隔离,所有接头做好防水和绝缘;
- 加热棒必须在允许的液位和散热条件下工作,避免干烧;
- ESP32 与继电器只负责控制,负载电流应走独立电源回路;
- 感性负载应使用合适的驱动和续流保护;
- 软件温控不能代替独立的温度保险、过流保护和漏电保护。




