Arduino Nanoと4チャネルリレーでブラインド・ACモータを制御
必要な部品と材料
| 部品 | 数量 | 備考 |
|---|---|---|
| Arduino Nano R3 | 1 | |
| ControlEverything.com 4チャネルI²Cリレーコントローラ | 1 | モータ正逆切替用 |
| ソリッドステート4チャネルリレーボード(トライアック) | 1 | モータ通電ON/OFF用 |
| ブラインドモータ(AC 150W程度) | 最大4 | 1台Arduinoで最大4台制御可能 |
| フィルムコンデンサ 100nF 630V | モータ1台につき1 | RCスナバ回路用 |
| 抵抗 100Ω (0.5W以上) | モータ1台につき1 | RCスナバ回路用。精密抵抗(青色)は不可 |
| バリスタ 275VAC | モータ1台につき1 | サージ吸収用 |
| ダイオード(信号用/整流用いずれも可) | ブラインド1台につき3 | フリーホイールダイオード等 |
| Raspberry Pi 3 Model B | 1 | 任意:リモート制御用 |
| nRF24L01+ モジュール | 2 | 任意:PiとArduino間無線通信用 |
必要な工具
- はんだごて
使用アプリ・サービス
- Arduino IDE
- Domoticz(任意:リモート制御用ホームオートメーションコントローラ。他システムや無しでも可)
プロジェクト概要
導入:見かけは簡単、実は地獄
新居のブラインド自動化から始めたプロジェクトですが、誘導性負荷(150Wモータ)の逆起電力でリレー接点が溶着し、トライアック(SSR)が過電圧(実測1600V超)で破壊される等、予想外のトラブル続きでした。無線通信方式の選定やノイズ対策にも苦労しましたが、最終的に極めて安価な部品で全て解決できたため、同じ苦労をする人の助けになればと公開します。
プログラミングが苦手でも、記事末尾に「知能なし」のディスクリート回路図を掲載していますので、そちらを参考にしてください。
技術的解説:誘導性負荷のスイッチング対策
モータ等の誘導負荷を開放しようとすると、電流が流れ続けようとしてデバイス両端に高電圧が発生します。小型リレーなら接点溶着、トライアックなら過電圧破壊が起きます。一般的な解決策は「大きなリレーを使う」ですが、接点寿命の問題は残りますし、駆動用に小型リレーが別途必要です。
本プロジェクトでは、**トライアック(SSR)を使いつつ、RCスナバ回路(抵抗+コンデンサ)とバリスタで過電圧を吸収**することで、安価なトライアックモジュールでも確実に動作させます。
- バリスタ:トライアック両端の過電圧をクランプ
- RCスナバ(100Ω+100nF/630V):遮断時のエネルギーを吸収、dv/dt制御

補足: 記事執筆後に実機を再確認したところ、RCスナバはトライアック両端ではなく、モータの茶色・灰色リード線間(モータ直近)に接続していました。どちらでも動作しますが、モータ直近の方がスナバが常時商用電源に接続されず、より望ましいです。
制御ロジック:5入力で4モータの正逆制御
各モータに「上」「下」の2入力を割り当てると8入力必要ですが、**方向共通線(上/下切替)を1本共有**し、モータ選択4線+方向1線の計5入力に削減。入力はソフトウェアでデバウンス処理。
動作シーケンス:
- リレーモジュールでモータ方向(正/逆)を切替
- 短い遅延後、トライアック(SSR)をONしモータ通電
- 停止時は逆順:先にトライアックOFF、その後リレー切替 → リレーが通電状態で開閉されることを防止
1〜4モータまでコード変更不要で対応。未使用モータのロジックがあっても無害です。
複数回路・無線化への拡張
自宅は2階建てで2回路(合計8ブラインド)ですが、リモコン信号の一意性確保のため、アップロード時に1行コメントアウトするだけで複数Arduinoを同一コードで運用可能。実際は3回路(4+3+1分割)構成ですが、未接続ポートは単に無視されるだけです。MySensors版コードなら最大256ノード×4ブラインドまで拡張可能。

全て22×15×5.2cmの壁面ボックス内に収納。木箱にホットグルーで固定した簡易実装ですが実用十分です。
リモート制御(オプション)
本記事の主眼は誘導負荷対策ですが、おまけで無線リモート制御も実装しています。nRF24L01+使用で2方式:
- MySensorsプロトコル(推奨):Raspberry PiにMySensors MQTTゲートウェイを構築、Domoticzと連携。設定例:
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
- カスタム整数コマンド:仮想スイッチからコンソールコマンド
./remote -m XY(X:ブラインド番号, Y:0=上/1=下) を実行。Pi側C++コード(RF24ライブラリ使用)をコンパイル済みバイナリ込みで配布:https://goo.gl/ocCwk3
※nRF24L01+には必ず電源ピン直近に10μFコンデンサを実装。PCBアンテナ版は室内で10m届かないことも多いため、外部アンテナ版推奨。
実装結果

壁の3組スイッチで3ブラインド操作。タブレット(Domoticz)でも操作可能。背後にはRaspberry Pi(コントローラ)。Arduinoはブラインド近くに設置し、nRF24L01+で無線接続。

Google Home + IFTTT Webhooks + Domoticzで音声制御("Hey Google, blinds down")も実現。
参考:マイコン不使用のディスクリート回路(おまけ)
Arduinoを知る前、リレーとトライアック、RCスナバのみで同等機能を実現した回路。動作しますが、柔軟性・信頼性でArduino版に劣るため非推奨。興味があれば参考にしてください。

Arduinoスケッチ
コードは本文中で解説したロジックに従います。Web IDE使用時は必要ライブラリを自動検出します。
回路図

製造プロセス
- 品質管理:モーター信頼性の基盤
- 確実な電力と空調レンタルでシームレスな温度管理を実現
- ブルドーザー技術:設計、製造、将来イノベーション
- 電気制御盤:安全性とROIを高める設計の要点
- 産業制御システムにおける許可回路とインターロック回路
- 高度なモータ制御回路:ラッチング、停止、タイムディレイ技術
- 抵抗回路での電力消費計算
- 油圧モータ速度制御:PWM・リモート制御・最新デジタル技術の実践ガイド
- Infineon、TLE985x組み込みパワーシリーズ発表 – 自動車モータ制御向け
- エッジAIと低消費電力ハードウェアが音声制御の台頭を支える
- STMicroelectronicsがST-MC-SUITEを発表:STM32/STM8モーター制御設計のためのワンストップデジタルプラットフォーム