跳转到内容

继电器模块接线

继电器模块接线

本节介绍自动投料系统中继电器模块、水泵和电源的接线方案。学习完成后,您将能够:

  • 理解继电器控制水泵的原理和电路设计
  • 掌握 12V/5V 混合电源系统的接线方法
  • 为客户设计安全可靠的投料执行电路
┌──────────────────────────────────┐
│ 电源系统 │
│ │
│ AC 220V ──→ 12V 电源适配器 │
│ │ │
│ ├──→ 水泵 (+12V)│
│ │ │
│ ┌─────────┴─────────┐ │
│ │ DC-DC 降压模块 │ │
│ │ (12V → 5V) │ │
│ └─────────┬─────────┘ │
│ │ │
│ ├──→ ESP32 │
│ ├──→ 继电器模块│
│ ├──→ 超声波传感器│
│ └──→ (5V 总线) │
└──────────────────────────────────┘
ESP32 引脚连接目标说明
GPIO 20继电器 IN高电平触发 (3.3V)
GPIO 2超声波 Trig发送超声波脉冲
GPIO 3超声波 Echo接收回波信号 (需分压)
12V 电源系统
┌──────────────────────────────────────────────────┐
│ │
│ ┌──────┐ 12V ┌──────┐ │
│ │12V ├────────────────┤ 水泵 │ │
│ │电源 │ │ (12V DC) │ │
│ │适配器│ 12V GND │ │ │
│ │ ├──────┬─────────┤ GND │ │
│ └──────┘ │ └──────┘ │ │
│ │ │ │
│ ┌───┴────┐ │ │
│ │ DC-DC │ │ │
│ │降压模块│ │ │
│ │12V→5V │ │ │
│ └───┬────┘ │ │
│ │ │ │
│ 5V │ │ │
│ ┌─────┼─────┐ │ │
│ │ │ │ │ │
│ ┌──┴──┐┌─┴──┐ ┌┴────┐ │ │
│ │ESP32││继 │ │超 │ │ │
│ │ ││电器│ │声波 │ │ │
│ │ 5V ││VCC │ │VCC │ │ │
│ │ GND ││GND │ │GND │ │ │
│ │GPIO20├┤IN │ │Trig─┼─GPIO2│ │
│ │ ││ │ │Echo─┼─GPIO3│ │
│ └─────┘└────┘ └─────┘ │ │
│ │ │
│ 继电器内部接线: │ │
│ ┌──────┐ │ │
│ │ COM ├─── 12V 电源 (+) │ │
│ │ NO ├─── 水泵 (+) │ │
│ │ NC │ 悬空 (不使用) │ │
│ │ IN ├─── ESP32 GPIO 20 │ │
│ │ VCC ├─── 5V │ │
│ │ GND ├─── GND │ │
│ └──────┘ │ │
└──────────────────────────────────────────────────┘
12V 电源回路:
┌── 12V 适配器 (+) ──→ 继电器 COM ──→ (NO 闭合) ──→ 水泵 (+) ──→ 水泵 (-) ──→ GND
5V 控制回路:
┌── DC-DC 输出 (+) ──→ ESP32 VCC ──→ 继电器 VCC ──→ 传感器 VCC

⚠️ 重要: 12V 水泵回路和 5V 控制回路共用 GND,但电源路径分开。继电器起到隔离高低压的作用。

继电器模块接线:
VCC ─── 5V (来自 DC-DC 降压模块)
GND ─── GND (与ESP32/电源共地)
IN ─── GPIO 20 (ESP32 控制信号, 高电平触发)
负载端:
COM ─── 12V 电源正极
NO ─── 水泵正极 (常开: 默认断开)
NC ─── 悬空 (常闭: 不使用)

工作原理:

  • ESP32 GPIO 输出 HIGH (3.3V) → 继电器线圈通电 → 内部开关吸合 → COM 与 NO 连接 → 水泵启动
  • ESP32 GPIO 输出 LOW → 继电器释放 → COM 与 NO 断开 → 水泵停止

ESP32 的 GPIO 是 3.3V 逻辑电平,但 HC-SR04 的 Echo 引脚输出 5V,需要分压:

HC-SR04 Echo (5V)
┌┴┐
│R1│ 1kΩ
└┬┘
├──── ESP32 GPIO(3.3V)
┌┴┐
│R2│ 2kΩ
└┬┘
GND
分压后电压: 5V × 2k/(1k+2k) = 3.33V ✅
电源轨电压电流需求供电来源
水泵电源12V1-2A (峰值)12V 适配器直供
ESP325V~200mADC-DC 降压 (12V→5V)
继电器5V~100mADC-DC 降压
超声波传感器5V~15mADC-DC 降压

推荐电源配置:

方案适配器规格适用场景
12V 3A 适配器 + DC-DC 降压AC/DC 12V 3A标准配置,支持 2 路投料
12V 5A 适配器 + DC-DC 降压AC/DC 12V 5A多路投料 (3-4 路)
24V 工业电源 + DC-DC 双路AC/DC 24V 5A工业环境,长距离供电

当需要控制多路投料时,只需增加继电器和对应 GPIO:

ESP32 GPIO 20 ───→ 继电器 1 ───→ 水泵 1 (原料 A)
ESP32 GPIO 21 ───→ 继电器 2 ───→ 水泵 2 (原料 B)
ESP32 GPIO 22 ───→ 继电器 3 ───→ 水泵 3 (原料 C)
...
// 定义多路投料引脚
#define RELAY_PUMP_A 20
#define RELAY_PUMP_B 21
#define RELAY_PUMP_C 22
Terminal window
# 1. 检查电源
# 用万用表测量:
# - DC-DC 输出: 5V ±0.25V
# - 12V 适配器输出: 12V ±0.5V
# 2. 测试继电器控制
# 在 ESP32 串口监视器中运行:
digitalWrite(RELAY_PIN, HIGH); // 应听到继电器"咔嗒"
delay(3000);
digitalWrite(RELAY_PIN, LOW); // 应听到继电器释放声
# 3. 测试水泵
# 确认水泵在继电器闭合时启动
# 确认水泵在继电器断开时停止
# 检查管道连接是否漏水

Q1: 能否直接用 ESP32 GPIO 驱动水泵?

Section titled “Q1: 能否直接用 ESP32 GPIO 驱动水泵?”

不可以。ESP32 GPIO 最大输出电流仅 40mA,无法驱动 12V 水泵。继电器模块起到功率放大和电压隔离的关键作用。

Q2: 水泵启动时 ESP32 重启怎么办?

Section titled “Q2: 水泵启动时 ESP32 重启怎么办?”

通常是电源瞬间压降导致。解决方法:

  1. 水泵和 ESP32 使用独立的电源路径
  2. 在 5V 电源端增加 470μF 电解电容
  3. 确认 DC-DC 降压模块的输出电流足够 (>500mA)

ESP32 有足够的 GPIO,理论上可控制 20+ 路继电器。但实际限制因素是 12V 电源的总功率和管道布局。建议单系统不超过 8 路。

推荐做法:

  • 水泵电源和控制电路使用共地但独立的电源路径
  • 5V 电源端增加 470μF 电解电容稳压
  • 超声波传感器 Echo 使用分压电路 (1kΩ + 2kΩ)
  • 继电器 IN 引脚串联 1kΩ 限流电阻
  • 接线端子使用弹簧压接端子,确保连接可靠

避免做法:

  • ESP32 和 12V 水泵共用同一根电源线
  • 不接分压电阻直接将 5V Echo 接入 3.3V GPIO
  • 继电器负载端超过额定电流 (通常 10A)
  • 水泵运行时频繁开关(建议间隔 >10 秒)
  1. 12V/5V 双电源系统: 12V 驱动水泵,5V 供电控制电路
  2. 继电器隔离: GPIO → 继电器线圈 → 水泵电源回路
  3. 5V-3.3V 电平转换: 超声波 Echo 需分压后接入 ESP32
  4. 扩展能力: 单 ESP32 可控制 8+ 路投料
  5. 电源稳定性: 水泵启动瞬间电流冲击需考虑