Arduino Nano + 4路继电器控制窗帘与交流电机
组件与供应
| Arduino Nano R3 | ×1 |
| ControlEverything.com 4通道 I²C 继电器控制器 | ×1 |
| 固态 4通道继电器板 | ×1 |
| 窗帘电机 (每 Arduino 最多控制 4 个) | ×1 |
| 电容 100nF 630V (每电机一个) | ×1 |
| 电阻 100Ω 0.5W 最小 (每电机一个,勿用精密电阻) | ×1 |
| 压敏电阻 275VAC (每电机一个) | ×1 |
| 二极管 (任意信号/功率二极管,每窗帘 3 个) | ×3 |
| 树莓派 3 Model B (可选,远程控制用) | ×1 |
| nRF24L01+ 模块 (可选,远程控制用) | ×2 |
必要工具
- 电烙铁
应用与在线服务
- Arduino IDE
- Domoticz (可选,仅用于远程控制触发控制台命令,任何自动化控制器均可)
项目简介
引言
新房想全屋自动化,先从窗帘入手。看似简单实则坑多:150W 电感负载烧毁继电器和三端双向可控硅,无线通信选型困难,线路干扰导致半夜窗帘乱动……最终用极廉价元件解决所有问题,希望帮大家避坑。
不爱编程只爱焊接?也请读完,文末附带无单片机的纯离散电路方案。
原理说明
控制电机的关键问题是感性负载断路时电流维持原方向产生高压尖峰。小继电器触点会粘连,三端双向可控硅会被过压击穿 (实测尖峰超 1600V)。网上常见方案是用大功率继电器,仍需小继电器驱动大继电器,触点终究会损坏。作为工程师我追求最高效方案:在原理图中仅加一电阻、一电容、一压敏电阻即可解决。
- 压敏电阻钳位过压保护三端双向可控硅。
- RC 缓冲网络 (电阻+电容) 吸收断路换相能量。
注:实际焊接时我将 RC 网络接在电机棕/灰两线之间 (原理图颜色),而非三端双向可控硅两端。两种方式均有效,但后者优势是缓冲网络不长期接市电。
SebDominguez 绘制了实物接线图:

控制逻辑:上/下方向共用一条公共线,每窗帘仅需 5 个输入而非 8 个,软件消抖。Arduino 先切换继电器选定方向,延迟确保触点稳定,再触发三端双向可控硅通电;断电时先关三端双向可控硅再断继电器,避免继电器带负载分闸。
支持 1-4 个电机,无需改代码。家里两层楼两个回路,远程指令需唯一,代码通过注释一行适配任一回路。实际上有三个回路共 8 个窗帘,其中一个回路占满 4 电机,其余 4 个拆分两个 Arduino (一个用前 3 输入,另一个用第 4 输入),重复回路对无连接输出无影响。若用 MySensors 版本,单网络支持 256 节点每节点 4 窗帘,住宫殿也够用。

实装塞进 22×15×5.2cm 开关盒,用木盒+热熔胶固定,虽紧凑但实用。Web IDE 自动解决库依赖。
远程控制 (可选)
代码内置两种 nRF24L01+ 远控方式:MySensors (推荐) 或发送整数 (窗帘编号 + 动作 0/1)。均以树莓派为主控直连 nRF24L01+,运行 Domoticz。
- MySensors 方案:安装 MySensors MQTT 网关 (教程),配置为本地以太网模式。参数参考:
sudo ./configure --my-gateway=mqtt --my-controller-ip-address=127.0.0.1 --my-mqtt-publish-topic-prefix=domoticz/in/MyMQTT --my-mqtt-subscribe-topic-prefix=domoticz/out/MyMQTT --my-mqtt-client-id=mygateway1 --my-transport=rf24 --my-port=1883 --my-rf24-irq-pin=15。Domoticz 添加硬件即可自动发现节点。 - 自定义应用方案:虚拟开关执行控制台命令
./remote -m XY(X=窗帘号, Y=动作)。参考 教程 仅取 "The Lamp Switch Application" 部分,需修改无线参数匹配 Arduino,并改为单次发送而非重试 5 次,否则丢包会导致窗帘动停动停。树莓派端最终代码见正文 (含编译好的 RPi3 二进制下载链接:goo.gl/ocCwk3)。
提示:无线模块电源脚必接 10μF 电容;室内 PCB 天线不足 10m,建议买外置天线版,尤其模块嵌墙内时。
最终效果
墙面三组双控开关控制三个窗帘,平板运行 Domoticz 显示虚拟开关,背后藏树莓派主控,Arduino 靠近窗帘电机,无线连接。Google Home 通过 IFTTT Webhooks + Domoticz 实现语音控制 ("Hey Google, blinds down")。


附简短演示视频。希望教程对你有帮助!
附赠:纯离散电路方案 (无单片机)

已实测可行,但 Arduino 方案更灵活可靠,不再展开。如有用自取,但非本教程重点,不推荐用于新项目。
代码
Arduino 草图
(代码较长,请参考原项目下载)
原理图

制造工艺