1. 项目目标

利用 ESP8266 (3.3V) 无线控制 12V 汽车继电器 (JD1914) 的通断,进而控制 逆变器 的电源开启与关闭。

2. 硬件清单 (BOM)

元件名称 规格/型号 数量 作用
主控板 ESP8266 (NodeMCU / D1 Mini) 1 发出控制信号
继电器 JD1914 (5脚 12V 40A) 1 物理开关,隔离强弱电
MOS管 IRL8721 (N沟道 逻辑电平) 1 信号放大,驱动继电器线圈
二极管 SS34 (肖特基) 1 续流保护,防止反向电压烧毁电路
电阻 10kΩ (1/4W) 1 下拉电阻,防止上电误动作
电源 12V 直流电源 1 专门给继电器供电
被控设备 逆变器 1 负载

3. 元件引脚速查图

在接线前,请务必确认元件方向:

  • MOS管 (IRL8721)

    • 字面朝自己,引脚朝下
    • 1脚 (左)G (Gate/栅极) -> 信号输入。
    • 2脚 (中)D (Drain/漏极) -> 接继电器。
    • 3脚 (右)S (Source/源极) -> 接 GND。
  • 二极管 (SS34)

    • 有横杠端:负极 (-)。
    • 无横杠端:正极 (+)。
  • 继电器 (JD1914)

    • 85 & 86:控制线圈 (12V 输入)。
    • 30:公共端 (开关入口)。
    • 87a:常闭端 (NO, 默认闭合,防止断电时候也可以闭合,继电器目前用220v 充电器dc供电)。

4. 详细接线步骤

第一阶段:控制回路 (让继电器听话)

这一步接错会导致 ESP8266 烧毁或继电器不动作。

  1. 共地处理 (核心步骤)

    • 12V 电源的负极 (-)ESP8266 的 GND 必须连在一起。
    • 同时连接到 MOS管的 3脚 (右)
  2. MOS管与电阻

    • 10k 电阻 直接焊接在 MOS管的 1脚 (左)3脚 (右) 之间。
    • MOS 1脚 (左):连接 ESP8266 的 D1 (GPIO 5)。
    • MOS 2脚 (中):连接继电器的 85脚
  3. 继电器与保护二极管

    • SS34 二极管 焊在继电器的 85脚86脚 之间。
    • 重要方向:SS34 的 横杠端 (负极) 对着 86脚;无横杠端对着 85脚。
    • 继电器 86脚:连接 12V 电源的正极 (+)

第二阶段:负载回路 (控制逆变器)

这一步决定了逆变器如何开关。

  • 场景 A:直接切断逆变器正极线 (仅限功率 < 400W)

    1. 剪断逆变器的红色正极输入线。
    2. 电源侧线头 -> 接继电器 30脚
    3. 逆变器侧线头 -> 接继电器 87a脚
    • (注:负极线直连,不经过继电器)
  • 场景 B:控制逆变器自带的开关 (推荐,适用于大功率)

    1. 引出逆变器“船型开关”背后的两根线。
    2. 一根线接继电器 30脚,另一根接 87a脚
    3. 将逆变器原开关打到“开”的位置。

5. 软件代码 (Arduino IDE)

此代码逻辑为:默认断开,ESP 输出高电平时吸合(逆变器启动)。

/*
 * 项目:ESP8266 控制 JD1914 继电器 (逆变器开关)
 * 硬件:NodeMCU/D1 Mini, IRL8721, SS34, JD1914
 * 
 * 接线定义:
 * ESP D1 (GPIO 5) -> MOS管 Gate
 */

const int relayPin = 5; // D1 对应 GPIO 5

void setup() {
  Serial.begin(115200);
  
  // 1. 初始化前先强制拉低,确保上电瞬间逆变器是关闭的 (安全第一)
  digitalWrite(relayPin, LOW);
  
  // 2. 设置引脚模式
  pinMode(relayPin, OUTPUT);
  
  Serial.println("--- 系统就绪 ---");
  Serial.println("状态:逆变器已关闭 (Relay OFF)");
}

void loop() {
  // 这里演示自动循环开关。
  // 实际使用时,你可以接入 Blynk, MQTT 或 Home Assistant 来控制
  
  // --- 开启逆变器 ---
  Serial.println("操作:启动逆变器...");
  digitalWrite(relayPin, HIGH); // MOS导通 -> 继电器吸合 -> 30接通87a
  delay(5000); // 运行5秒

  // --- 关闭逆变器 ---
  Serial.println("操作:关闭逆变器...");
  digitalWrite(relayPin, LOW);  // MOS截止 -> 继电器断开 -> 逆变器断电
  delay(5000); // 停止5秒
}

6. 工作原理解析 (面试/吹牛专用)

  1. 信号输出:ESP8266 的 D1 脚输出 3.3V 高电平
  2. 信号放大IRL8721 MOS管 感受到 3.3V 电压,内部通道完全打开 (导通),将继电器的 85脚 直接连通到 GND。
  3. 电磁吸合:12V 电流流过继电器线圈 (86 -> 85 -> GND),产生磁场,吸动衔铁,“咔哒”一声。
  4. 负载通电:继电器的 30脚87a脚 物理接触,逆变器电路接通,开始工作。
  5. 关断保护:当 ESP 输出低电平,MOS 管关闭。继电器线圈断电瞬间产生反向高压,SS34 二极管 瞬间导通吸收这个高压,保护 MOS 管不被击穿。

7. 安全注意事项 (必读)

  1. 关于功率:JD1914 虽然标称电流大,但插脚接触电阻限制了其能力。如果你控制逆变器主线,建议功率不要超过 400W。超过此功率请使用“控制开关线”的方法。
  2. 关于发热:继电器吸合时线圈会发热,这是正常的。
  3. 关于默认状态:本教程使用 87a脚 (87脚常开, 87a脚常闭)。这意味着如果 ESP8266 死机、断电或线断了,逆变器会自动关机。这是最安全的配置,防止电瓶过放。

祝你的 DIY 项目运行稳定!这份文档可以保存下来,下次做类似项目时直接参考。