ソリッドステートリレーでAC電球や負荷を制御するためのArduinoコードと動画

ソリッドステートリレーでAC電球や負荷を制御するためのArduinoコードと動画

このチュートリアルでは、ソリッドステートリレー(SSR)を使って、電球などの交流または直流負荷を制御する方法を解説します。ソリッドステートリレーは、Arduinoからの低電圧信号を用いて、電気負荷を安全かつ効率的にスイッチングすることを可能にします。チュートリアルの最後には、指定した間隔で電球をオン・オフできる実際に動作するセットアップが完成します。

single channel solid state relay

このプロジェクトを実装するには、SSR(ソリッドステートリレー)、具体的にはG3MB-202Pモデルを使用します。これは最大2Aまでの負荷に対応できます。リレーはArduinoボードのデジタルピンで制御され、負荷をオンまたはオフにする信号を送ることができます。このプロジェクトは実用的であるだけでなく、リレーとArduinoの扱い方を学ぶための良い入門にもなります。

詳しい視覚的な説明については、付属の動画(動画の:00)をぜひご覧ください。

ハードウェアの解説

このプロジェクトでの主要コンポーネントはG3MB-202Pソリッドステートリレーです。このリレーにより低電圧信号で高電圧の負荷を制御できます。オプトアイソレータを用いて負荷回路をスイッチングし、制御側と負荷側の間に電気的絶縁を提供します。リレーはDC+、DC-、およびArduinoに接続する入力端子の3つを備えています。

入力信号が低(0V)のとき、リレーが動作して負荷に電流が流れるようになります。逆に、入力信号が高(5V)のときはリレーがオフになり、負荷への電流が遮断されます。このロー(低電位)トリガ機構は、直接の電気接触なしに高電圧機器を安全に制御するために不可欠です。

データシートの詳細

製造業者オムロン
部品番号G3MB-202P
ロジック/入出力電圧5 V
供給電圧5~24V
出力電流(チャンネルあたり)2 A
ピーク電流(チャンネルごと)4 A
PWM周波数に関する指針1 kHzまで
入力論理閾値低:0〜1.5 V、高:3〜30 V
電圧降下 / RDS(オン)/ 彩度最大 1.5 V
熱限界-30〜100℃
パッケージスルーホール
注記/バリエーション各種入力電圧定格で利用可能

  • リレーが制御する負荷に適した定格であることを確認してください。
  • 定格電流に近い状態で使用する場合は、適切な放熱対策を行ってください。
  • 極性が逆になる問題を避けるため、配線を再確認してください。
  • 電源ラインにデカップリングコンデンサを使用してください。
  • フローティング入力に注意し、制御信号が正しく接地されていることを確認してください。
  • スイッチング用途において、PWMの周波数がリレーの仕様範囲内であることを確認してください。

配線手順

Arduino wiring for single channel solid state relay
Arduino wiring for single channel solid state relay

ソリッドステートリレーの配線は簡単です。リレーの正極端子(DC+)をArduinoの5Vピンに接続します。負極端子(DC-)はArduinoのGND(グラウンド)に接続します。リレーを制御する入力ピンはArduinoのデジタルピン8に接続します。このピンはリレーを作動または停止させるためにLOWまたはHIGHの信号を送ります。

負荷側では、交流電球の一方の線をリレーの出力端子に、もう一方の線を交流電源に接続してください。適切なコネクタを使用し、すべての接続が確実に固定されていることを確認して、感電などの電気的危険を防いでください。

コード例とウォークスルー

以下はソリッドステートリレーを制御するArduinoコードの簡単な概要です:

int relayPin = 8; // set pin 8 for relay output

void setup() {
    Serial.begin(9600); // initialize serial communication
    pinMode(relayPin, OUTPUT); // set relay pin as output
}

この抜粋では、定義しますrelayPinリレーに接続されたデジタルピンに対応する8として。そのsetup()関数はシリアル通信を初期化し、リレーピンを出力として設定します。

void loop() {
    digitalWrite(relayPin, LOW); // turn relay ON
    Serial.println("Relay ON"); // output to serial monitor
    delay(2000); // wait for 2 seconds
}

その中でloop()関数では、設定することでリレーをオンにしますrelayPinLOWにするとリレーが作動し、負荷へ電流が流れるようになります。確認のためにシリアルモニタにメッセージが出力されます。

    digitalWrite(relayPin, HIGH); // turn relay OFF
    Serial.println("Relay OFF"); // output to serial monitor
    delay(2000); // wait for 2 seconds
}

次に、設定することでリレーをオフにしますrelayPinHIGHに設定すると負荷への電流の流れが止まります。再び、リレーの状態を示すメッセージをシリアルモニタに出力します。この処理は無限に繰り返され、リレーは2秒ごとにオンとオフを繰り返します。

完全なArduinoコードについては、記事の下に掲載されている全文のコードをご覧ください。

デモンストレーション/当日の内容

コードをArduinoにアップロードすると、リレーがオン/オフを繰り返してカチッと音がし、接続された電球が2秒ごとに点灯・消灯するのが確認できるはずです。リレーが期待どおりに動作しない場合は配線を確認し、リレーが正しい制御信号を受け取っていることを確かめてください。よくある問題には、負荷側の極性が逆になっていることやArduino側の接続が誤っていることが含まれます。

リレーの動作をさらに視覚的に確認するには、動画(06:00の箇所)を参照してください。そこでリレーが作動すると電球が点灯・消灯する様子が示されています。

動画のタイムスタンプ

  • 00:00- プロジェクトの紹介
  • 午前01:30- ハードウェアのセットアップ
  • 午前3:15- コードの説明
  • 05:45- ライブデモンストレーション
  • 午前07:00- 結論

画像

single channel solid state relay
single channel solid state relay
single channel solid state relay
single channel solid state relay
Arduino wiring for single channel solid state relay
Arduino wiring for single channel solid state relay
59-This is the Arduino code for a 5V solid-state relay.
言語: C++
コピーしました!

リソースと参考文献

まだリソースはありません。

ファイル📁

フリッツィングファイル