Arduinoでスライドゲートを自動化:DIYリレー制御
必要なパーツと用品
| Arduino UNO | ×1 |
| 5V DCリレー | ×1 |
| 433MHz受信モジュール | ×1 |
| 433MHz送信リモコン | ×1 |
このプロジェクトについて
プロジェクト概要
このプロジェクトでは、Arduinoの力を借りてスライドゲートを駆動する回路を作成します。主な目的は、正常に動作するACモーターを備えた「死んでいる」スライドゲートを、Arduino、リレー、433MHz受信機、433MHz送信機、そして少しの電気工作スキルを使って自動化することです。システムは、必要に応じてゲートのモーターに通電し、ゲートを開くか閉じるかを判断する仕組みを作ります。
Arduinoは送信機からの決まった応答を常時監視します。ここではゲートの開閉に使うリモコンが送信機です。送信機は2チャネルで動作し、各チャネルに固有のIDがあります。このIDを433MHz受信機が受信すると、Arduinoに信号が送られ、リレーを制御してモーターに通電します。
方法論
ステップ1:モーターへの通電
モーターへの通電構成は以下の通りです。メイン巻線を商用電源に接続すると、モーターはゲートを前進(閉)方向に動かします。一方、セカンダリ巻線を商用電源に接続すると、モーターは逆方向(開)に動きます。
どのワイヤーがどの巻線に対応するかを特定する必要があります。通常ワイヤーにはラベルがないため、商用電源を各ワイヤーに試しに供給してみて(試行錯誤で)特定します。
筆者のケースでは220〜240VACのモーターを使用しました。青色のワイヤーは中性線(ニュートラル)を示す標準色なので、ニュートラル線は容易に特定できました。次に、赤いワイヤーに活線(ライブ)を接続したところ、モーターが前進方向に回転しました。これにより、赤いワイヤーがモーターのメイン巻線につながっていることがわかりました。
注意: スターターコンデンサが正しく接続され、機能していることを確認してください。これによりモーターに十分な起動トルクが確保されます。
ステップ2:モーターの停止
商用電源はリミットスイッチを介してモーターに供給されます。ゲートが端まで達するとリミットスイッチが作動し、回路が開いて商用電源からモーターへの供給が停止します。
ステップ3:リレーによるモーター制御
リレーには「常時開放(NO)」と「常時閉鎖(NC)」の2つの接点があります。
常時閉鎖(NC)接点はメイン巻線への通電に使用します。これにより、システムがリセットされたり何らかの不具合が起きたときでも、モーターがゲートを常に閉じた状態に保つようフェイルセーフになります。
常時開放(NO)接点はセカンダリ巻線への通電に使用します。リレー内部のコイルが励磁されるとNO接点が閉じます。これはArduinoから5V信号を送ることで行えます(使用リレーは5V動作)。
2つの経路でモーターに通電することで、メイン巻線とセカンダリ巻線に同時に通電されることを防止します。このリレー(R2)はArduinoのピン8で制御します。
2つ目のリレー(R1)は、ゲート動作中に受信機からコマンドを受信した場合にモーターを停止させるため、回路を遮断する目的で使用します。
Arduinoは受信機がコマンドを受信したかどうかを常時チェックします。コマンドが発行されると、Arduinoはゲートを閉じるか開けるかの方向にモーターへの通電経路を切り替えます。
2つ目のリレーの主目的は、モーターが回転している方向が瞬時に反転するのを防ぎ、システムに通電経路の切り替えのための十分な時間(10秒)を与えることです。これによりリレー接点へのストレスを減らし、寿命を延ばします。このリレーはArduinoのピン9で制御します。
2つ目のリレーの目的
システムがゲートを半分閉じた状態で「開」コマンドを受信した場合、リレーが作動してセカンダリ巻線へ通電経路を切り替えます。これはほぼ瞬時に起こるため、メイン巻線への通電が突然遮断されることでモーターから逆起電力が発生し、リレー接点に継続的なストレスがかかり、接点が永久的に損傷する恐れがあります。
追加のリレーにより、モーターへの電源を一旦切り離し、システムに必要な巻線へ通電経路を切り替えるための10秒の猶予を与えます。これによりリレー接点へのストレスが軽減され、寿命が延びます。
サプレッションコンデンサ
DCモーターが突然停止すると、コイルの誘導性により負の電流ループが生じます。これはフィードバックダイオードを設けて負の電流の経路を与えることで中和できます。
一方、ACモーターがスイッチで突然停止すると、スイッチ接点に高電圧が蓄積します。サプレッションコンデンサは、モーターが逆方向に動作するよう指示されたときにリレー接点への高電圧蓄積を防ぎ、接点を保護します。
ステップ4:受信機の設定
受信機は433MHzで動作します。Arduinoのプログラムは継続的にループして受信機の信号ポートをチェックします。正しい信号を受信すると、Arduinoはリレー1(R1)を作動させ、リレー2(R2)がモーターへ通電経路を切り替えられるようにします。
送信機からデータが送られると、受信機では整数の形で受信します。筆者の場合、Arduinoのシリアルモニタを見て受信機が拾った値を確認できました。
より高い無線周波数を通信に使う主な理由は、動作範囲が広く、障害物があっても信号が受信機に届くからです。これは高周波電波でのみ実現可能です。筆者のプロジェクトでは約30フィート(約9メートル)の動作半径が得られました。
注意: 受信モジュールのアンテナポートに長いワイヤーをハンダ付けすれば、動作半径をさらに数フィート延ばせます。
デモ動画
(動画は元記事を参照)
完成プロジェクトのスナップショット
(写真は元記事を参照)
製造プロセス
- Raspberry Piで構築するホームオートメーションシステム:リモート制御対応
- Raspoulette:太陽光発電自律コープドアシステムのプロトタイプ
- 風力発電:大気の動きをクリーンな電力に変える技術
- パワーハンマー完全ガイド:現代鍛冶における種類・仕組み・選び方・実践
- リニアモーター理解:電気エネルギーから精密直線運動へ
- プレス自動化完全ガイド:技術・安全性・効率向上のポイント
- サーボモーターの仕組みと重要性
- パワーチャックの定義・用途・メリット
- AIを活用した産業自動化の変革
- インダストリー4.0:自動化を活用して製造業を変革する
- Honor Seiki VL-160:75馬力ファナックスピンドル、78.7"径対応の高性能旋盤センター