一份写给"想知道墙上那个开关到底怎么接"的人的电路笔记:机械双控的内部结构与电流走向、三控怎么扩展、自复位按键的另一条技术路线、触摸面板的指示灯为什么能同步。

核心只有一句:机械双控把状态写在导线的拓扑里,触摸开关把状态写在芯片的内存里再复制出去——前者靠换路,后者靠记忆加通信。


引子:楼下开灯,楼上随手就能关

楼梯下口按一下灯亮了,走到二楼口再按一下就能关;卧室门口开灯,躺到床上伸手又能关掉。两处谁也不用先看看对方那个开关现在朝哪边。

这件事看起来理所当然,但普通开关做不到。两个普通开关无论怎么接,都会出现"必须两个都合上才亮"或者"必须两个都断开才灭"的死结。真正能双控的开关,内部结构和你想的不一样——它压根就没有"断开"这个状态。


一、机械双控:单刀双掷 + 两根联络线

1.1 它不是普通开关

普通开关是单刀单掷(SPST):两个接线柱,只有"通/断"两种状态。

双控开关是单刀双掷(SPDT):三个接线柱——一个公共端(COM,也叫 L 或"刀"),两个触点(L1、L2)。拨动时公共端必定与其中一个触点接通。

关键区别:它不是"断开电路",而是"把电路切换到另一条路上"。它没有"全断"状态。

SPDT 内部结构与电路符号

1.2 接线

  • 火线先进开关 A 的公共端
  • A 的 L1、L2 用两根线连到 B 的 L1、L2 —— 这两根就是联络线(也叫过路线、双控线),是双控比普通布线多出来的那一根
  • B 的公共端出线接灯,灯的另一端接零线

A 的 L1 要接 B 的 L1、L2 接 L2。如果交叉接了,功能上照样能双控,只是两个开关的拨动方向会相反(一个往上按是开,另一个往上按是关),用起来别扭但不影响安全。

1.3 电流到底怎么走

上图下半部分是四种状态的完整电流路径。要点:

状态 开关 A 开关 B 通路 灯
① 搭线 1 搭线 1 联络线 1 亮
② 搭线 1 搭线 2 无 灭
③ 搭线 2 搭线 1 无 灭
④ 搭线 2 搭线 2 联络线 2 亮

记 a、b 为两个开关的位置,则 灯亮 = (a XNOR b)。

这个表达式的性质就是答案:翻转任意一个变量,都会翻转整个结果。所以无论当前处于哪个状态,拨动任何一个开关都必然改变灯的亮灭。

对比一下为什么普通开关做不到:

  • 串联:灯亮 = a AND b。任一开关都能关灯,但必须两个都合上才能开灯。
  • 并联:灯亮 = a OR b。任一开关都能开灯,但必须两个都断开才能关灯。

只有 SPDT + 双联络线这种结构,才让每个开关同时具备"开"和"关"的权力。

1.4 一个容易忽略的安全点

看图里的状态 ② 和 ③:灯灭的时候,有一根联络线仍然带着 220 V,只是走到了头、没有回路而已。

所以检修双控电路时,"把开关关掉"并不等于"线不带电"。必须拉总闸。


二、三控:中间加一个交叉开关

要在三个地方控制同一盏灯,就在两个双控开关中间串入一个双刀双掷(DPDT)开关,俗称"中途开关"或"交叉开关"。它有 4 个接线柱(2 进 2 出),两个位置:

  • 直通:进 1→出 1,进 2→出 2,不改变逻辑
  • 交叉:进 1→出 2,进 2→出 1,把两条联络线互换

中途开关的两种接法与三控电路

"互换两条线"在逻辑上等价于把结果翻转一次。所以每加一个中途开关就多一处控制点,可以无限延伸(四控、五控……)。

上图第二行是最能说明问题的:A 和 B 完全没动,只把中间那个开关从"直通"拨到"交叉",灯就灭了。中途开关和两端的开关拥有完全相同的权力。

接线口诀:中途开关的 2 根进线接 A 的两根联络线,2 根出线接 B 的两根联络线,进出不能混。


三、另一条技术路线:自复位按键 + 锁存继电器

前面两种方案的共同点是:状态就存在开关的物理位置里。刀搭在哪条线上,电路就是什么样。这是纯组合逻辑,没有记忆。

还有一种做法完全不同——按键是自复位的(按一下松手就弹回,永远是断开的),状态由一个锁存继电器(latching relay,也叫脉冲继电器、磁保持继电器)来记。

工作方式:

  1. 锁存继电器装在配电箱或灯位处,它的触点串在灯的火线里
  2. 所有按键都是常开自复位按钮,全部并联成一根信号线,接到继电器的线圈
  3. 按一下任意按键 → 线圈得到一个电流脉冲 → 继电器翻转并机械/磁保持在新状态 → 灯亮或灭
  4. 松手后按键弹回断开,但继电器记住了刚才的翻转

这是时序逻辑:状态存在器件的记忆里,而不是导线的拓扑里。

好处很直接:

  • 控制点数量不受限。加一个按键就是往信号线上并一个按钮,不用像中途开关那样串进强电回路
  • 按键可以走低压。信号线可以是 12 V/24 V 弱电,面板更安全、更薄
  • 布线简单。只需要一根信号线从继电器辐射到各个按键,不需要在开关之间来回穿联络线

智能开关的"无线双控"就是这个思路的电子化版本:副面板根本不接强电,按键只发一个无线信号给主控面板。


四、触摸开关:三个"灯"为什么能同步

触摸面板上有指示灯,两个面板的指示灯和真正的灯,三个一起亮一起灭。这看起来最玄,其实拆开看没有任何神秘的地方。

4.1 先解决一个前置问题:开关自己怎么有电

普通机械开关不需要供电——它只是一块金属。但触摸面板里有芯片、有指示灯、有无线模块,它自己得吃饭。

如果底盒里只有火线没有零线(国内绝大多数老房子都是这样),就得用单火线取电:

单火线取电的两个状态

  • 灯灭时:继电器断开,取电模块跨接在 L 和 L-out 之间,而 L-out 通过灯连着 N。于是有一个微小电流(约 1–3 mA)沿 L → 取电模块 → 灯 → N 流动。这个电流点不亮灯,但足够让 MCU 待机。
  • 灯亮时:继电器闭合,把取电模块两端短接到同一电位,压差为 0,模块停止取电。此时靠储能电容(几百 µF)撑住 MCU 和继电器线圈。

副作用:LED 灯对微小电流很敏感,可能会微亮或周期性闪烁。解法是在灯两端并联一个防闪烁电容(X2 安规电容,0.1–0.47 µF),把漏电流旁路掉。

这也是"单火线"开关比"零火线"开关贵的原因——多了一套取电和储能电路。

4.2 指示灯和灯,是两条完全独立的支路

这是理解同步的关键:指示灯不是从灯的电流里"感应"出来的。

看图下半部分的框图。MCU 有三个输出:

  1. 驱动继电器 → 接通/切断灯的强电
  2. 点亮/熄灭自己面板上的指示灯
  3. 通过无线模块把状态广播出去

指示灯和灯在电气上毫无关系,它们只是同一个软件变量的两个执行结果。

4.3 同步的本质:状态复制

按下任意一个面板时,发生的是:

触摸 → MCU 翻转内部 state 变量
         ├─→ 驱动继电器(如果是主控面板)
         ├─→ 更新自己的指示灯
         └─→ 广播 state
                 ↓
             对端面板收到 → 更新自己的 state → 更新自己的指示灯

所以"三个灯同步"的真相是:只有一个状态,被复制到了三个地方。灯和两个指示灯都是这个状态的显示设备。

这在计算机里有个更熟悉的名字——分布式状态复制。两个面板就是两个节点,无线链路就是节点间通信,state 就是被复制的那份数据。

同步的物理载体有几种:

方式 载体 特点
无线(Zigbee / RF / 蓝牙 Mesh) 2.4G 或 433M 射频 最常见,副面板可以完全不接强电、电池供电
Wi-Fi / 局域网 家庭网络,可能过云 能接入 App 和语音助手,但依赖网络
RS485 / KNX 总线 一根低压双绞线 高端全屋智能,可靠但需要预埋
电力线载波 复用现有电线传数据 不用重新布线,但易受干扰

4.4 一个反直觉的结论:指示灯会说谎

因为指示灯反映的是 MCU 里的 state 变量,不是灯的真实状态,所以:

  • 灯泡烧了 → 指示灯照样显示"开"
  • 继电器触点粘连(烧死了断不开)→ 灯实际亮着,但 state 已经是"关",指示灯显示"关"
  • 无线丢包 → 两个面板的 state 短暂不一致,你在这边按了,那边的指示灯延迟几百毫秒才变,或者干脆没变

高端一点的产品会加负载电流检测(在火线上串一个采样电阻或霍尔元件),真正去测量有没有电流流过灯,这样指示灯反映的才是物理现实。绝大多数便宜货没有这个。

所以严格说,触摸开关的指示灯是 "我认为灯是什么状态",不是 "灯是什么状态"。


五、四种方案对比

机械双控(SPDT) 三控(+中途开关) 自复位按键 + 锁存继电器 触摸/智能面板
状态存在哪 刀的物理位置 刀的物理位置 继电器的磁/机械锁扣 MCU 的内存变量
逻辑类型 组合逻辑(无记忆) 组合逻辑(无记忆) 时序逻辑(有记忆) 时序逻辑(有记忆)
布线 两根联络线 两根联络线 ×2 段 一根信号线并联 可以完全无线
扩展控制点 不行 每个点串一个中途开关 并一个按键即可 配对即可,几乎无上限
指示灯同步 无指示灯 无指示灯 需额外接线 天然同步(状态复制)
需要自身供电 不需要 不需要 继电器需强电 需要(单火线取电或接零线)
故障可见性 直接、可用万用表查 直接 中等 指示灯可能与实际不符

结语:状态存在哪,决定了它能传多远

机械双控靠"换路"实现异或逻辑,状态写在导线的拓扑里,所以它必须拉两根联络线、也根本不需要指示灯;触摸开关靠"记忆 + 通信",状态写在芯片的内存里再复制到每个面板,所以指示灯能同步——代价是它显示的是"我认为",而不是"事实"。