Raspberry Pi などUSBの5Vで動作する複数のデバイスへの給電を、スマートコンセントのようにネットワーク越しに制御するべく、今回は WeMos D1 mini と組み合わせて使う 4ch リレーモジュール を2種類入手して試してみます。
4chリレーモジュール
制御したいのは多口のDC5V給電程度なのですが、家庭用交流電力程度を(おそらくこちらが製品の主目的)Raspberry PiやESP8266などのマイコンのGPIOで制御可能な、2種類の4chリレーモジュールを淘寶にて購入しました。
青基板モジュールについて
まず1つ目のこの青い基板の価格はRMB5.48、モジュールは大まかにリレーの他、そのトリガ駆動用のトランジスタと、更に非制御系と信号系を分けるフォトカプラにより構成されます(データシートはこちらでダウンロード可)。
リレーコイルのあるトリガー端子にはフリーホイールダイオードが配され、基板裏のパターンも制御する側とされる側を意識したデザインになっています。
構成部品レベルでは、リレーに以前、単体で使ったことのあるSRDシリーズの5V仕様、フォトカプラも定番のPC817が使われていました。
データシートには、次のような各チャンネルの基本回路図を見ることができます。
ここで気になる JD-VCC ジャンパの仕様について、こちらの英文記事を読んでその意図をようやく理解することができました(Great Tnx!!)。
いわく、 JD-VCC ジャンパは次のように定義されています。
- Short : Vccがリレーやフォトカプラ駆動と共通。
- Open : Vccとは別にJD-Vcc端子へ別途、リレーとフォトカプラを駆動させるだけの電圧を供給。
なので基本的にクローズさせたままで良さそうです。
ESP Easyでの制御
前回ESP Easyを導入した、WeMos D1 mini(互換品)に繋いで、GPIOから制御のロジックを確認してみます。
WeMos D1 miniが制御に使うGPIOは次の4つ。
- GPIO16 (D0)
- GPIO14 (D5)
- GPIO12 (D6)
- GPIO13 (D7)
それらをデバイス一覧に登録して、状態を見られるようにしておきます。
ESP EasyのWebUIの Tools タブにある Command のテキストボックスに、次の要領でコマンドを入力、送信してリレーを制御します。
1 2 |
ON --> OFF : gpio,16,0 OFF --> ON : gpio,16,1 |
このときの基板上のLEDとリレーのNC、NO各端子の状態は、次のようなロジックになっていました。
1 2 3 |
#GPIO #LED #NC #NO 0 灯 断 通 1 消 通 断 |
ESP Easyでは、クエリ文字列にGPIO制御のコマンドを記述することでも操作が可能なので、以前取り組んだようなカスタムページによるダッシュボードを設計することもできるので、フルスクラッチでコーディングする手間を省けます。
赤基板モジュールについて
もう1つのこの赤いモジュールは、少し高くてRMB8.00でした。基板サイズは長辺は青モジュールと同じで、短辺が数ミリ長くなっています。搭載されている部品を比べてみると、リレーは同じ物がつかわれていますが、フォトカプラはルネサス PS2705が使われていました。
この基板の特徴である4つのジャンパピンは、トリガーのLo / Hiどちらでリレー動作させるかを各チャンネル毎に設定できるというもの。
これも同様にWeMos D1 miniに繋いで動作ロジックを確認してみると、ジャンパによって次のように入れ替わることと、ジャンパ開放では動作しないという仕様が分かりました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[Jumper: Hi] #GPIO #LED #NC #NO 0 消 通 断 1 灯 断 通 [Jumper: Lo] #GPIO #LED #NC #NO 0 灯 断 通 1 消 通 断 [Jumper: Opened] #GPIO #LED #NC #NO 0 消 通 断 1 消 通 断 |
青基板と同じロジックで動作するようにするには、ジャンパをLo側へセットしておけば良いということになります。
Raspberry Piなどの複数のマイコンボードへのUSB給電制御に使おうと考えているので、基板が少しだけスリムで単純な青基板モジュールを今回は採用して、プロジェクトを進めています。