Jeffrey Cross
Jeffrey Cross

電子リレーを制御する4つの方法

私はいつもリレーに魅了されてきました。それらは絶対的なので、バイナリです。とにかく、私はリレーを使用していくつかのプロジェクトを構築し、他の人が自分のプロジェクトでリレーを使用しやすくするために私が学んだことを共有すると思いました。私は専門家ではなく、ハードウェアで遊ぶのが好きなコーダーにすぎません。

リレーの紹介

リレーは基本的にスイッチで、リレーデバイスに特定の電圧を印加または除去することによって制御(オンまたはオフ)するスイッチです。マイクロコントローラボード(ArduinoでもRaspberry Piのようなフルコンピュータシステムでも)は、I / Oポートから直接外部デバイスに電力を供給できるため、ほとんどのマイクロコントローラベースのプロジェクトではリレーは必要ありません。リレーが必要な場所は、外部回路を開閉するとき、またはシステムが供給できるよりも高い電圧を制御する必要があるときです。

マイクロコントローラ制御のガレージドア開閉装置にリレーを使用したのは、ボードから出力電圧を送信する機能ではなく、スイッチング機能を必要とする物理的なボタン(壁のガレージドアのボタン)を押すことを模倣するプロジェクトが必要だったためです。私のラズベリーパイは直接行うことができないプロジェクトでは家庭用電流(110ボルトAC)のオンとオフを切り替える必要があったので、私は私のライトタイマープロジェクトでリレーを使用しました。

リレーには一般的に2つのタイプがあります。メカニカルリレーとソリッドステートリレーです。メカニカルリレーは電磁コイルと物理スイッチを使用します。電圧を加えると、スイッチが作動します。ソリッドステートリレーでも同じ結果が得られますが、機械部品はありません。代わりに、彼らは同じ仕事をするために電子部品を使います。この記事の後半では、リレーボードまたはモジュールについて説明します。一般に、リレーは上で説明したように機能します。市販のリレーモジュールを使用している場合は、通常、モジュールへの接続方法に応じて2つの異なるモードで動作します。サポートされているモードは、Normally OpenとNormally Closedです。

図1では、ノーマリオープン(NO)モードのリレーの図が見えます。この構成では、制御回路(画像の残りの部分にあるリレー)に電圧が印加されていないと、スイッチ回路が切断され、接続部に電流が流れなくなります。適切な電圧を制御回路に印加すると、リレーの電磁コイルが作動してスイッチを閉じ、スイッチド回路に電流が流れるようにします。

図1 - ノーマリオープンリレー動作

通常閉(NC)モードでは、逆のことが言えます(図2を参照)。リレーが停止しているとき(制御回路に電圧が印加されていないとき)、スイッチ回路は閉じられ、電流はスイッチ回路を通って流れます。制御回路に適切な電圧を印加してリレーを作動させると、リレーの電磁コイルが作動してスイッチを開き、スイッチ回路に流れる電流を停止します。これがリレーの内部でどのように機能するのか正確にはわかりません。

図2 - 常時閉リレー動作

利用可能な異なる構成があるという点で、リレーは他のスイッチと似ています。 2つの属性がスイッチ構成を駆動します。ポールとスローです。 pole属性は、スイッチによって制御される個々の回路の数を表します。単極(SP)スイッチは単一の回路を制御します。二重極(DP)スイッチは2つの別々の回路を制御します。相互に接続された2つのスイッチがあり、それぞれが独自の回路に接続されています。スイッチを切り替えると、両方の回路が同時に影響を受けます。

スイッチのthrow属性は、スイッチによって提供される回線パスの数を表します。シングルスロー(ST)には1つの回線パスしかありません。一方向にスイッチを入れると、回路に電流が流れます。反対方向にスイッチを入れると、回路が壊れて電流が流れなくなります。ダブルスロー(DT)スイッチには2つの回線パスがあります。スイッチが一方向にスローされると、電流は一方の回路経路を通って流れ、他方スイッチがスローされると、電流は他方の回路経路を通って流れる。 DTスイッチは、2つの回路パスオプションの間にセンターオフの位置を設定することもできます。

そのため、リレーを見ているとき、それらがSPST、SPDT、DPST、DPDTなどのように記述されているのがわかります。これは前の段落を読んだ後に意味があるはずです。

リレーを扱う場合、各リレーモデルはいくつかの点で異なります。最も重要な違いは、リレーの電圧定格と電流定格です。 2組の数字には細心の注意を払う必要があります。そうしないと、リレー回路が損傷し、リレーやその他の部品から煙が出る可能性があります。 1つ目は制御回路の電圧定格と電流定格です。これらは通常範囲として与えられます。これらの数字は、リレーを作動させるのに必要な電圧とそれに関連する電流を示しています。 2番目の一連の重要な数字は、リレーのスイッチング部分が処理できる電圧と電流の量を示しています。

例を示しましょう。図3は、DigiKey Webサイトからのランダムリレーの製品特性を示しています。図で強調表示されているコイル値は、リレーがどれだけの電流を消費するか、およびリレーで使用できる最大電圧を表しています。この場合、それは3Vリレーです、それであなたはあなたのプロジェクトがリレーを引き起こすために3ボルトを供給できることを確認する必要があるでしょう、さもなければそれは機能しないでしょう。

図の中で強調表示されている2番目の数字のセットは、リレーの使用方法についてさらに詳しく説明しています。スイッチング電圧は、このリレーで何ボルトを切り替えることができるかを教えてくれます。この場合、スイッチ回路を最大250 Vの交流(AC)または220 Vの直流(DC)を供給する回路に接続できます。最後の2つの値は、2.24 V DCがリレーに印加されたときにリレーがオンになることを指定します。リレーがオンの場合は、印加電圧が0.3ボルトDCを下回るとオフになります。

図3 - リレー属性

この簡単な紹介を邪魔にならないように、プロジェクトでリレーを使用する方法について説明しましょう。

配線用リレー

リレーにはいくつかのフォームファクタがあります。基本的に、リレーは少なくとも4つの電気コネクタが露出した長方形のブロックになります。

コネクタのうちの2つは制御回路用です、そしてそれを待ってください…残りの2つのコネクタは交換回線用です。簡単ですよね。ではない正確に。あなたが電気技師ではない場合(私のように、私はその種のものではありません)、あなたはただあなたの回路にリレーを配線することができると考えるかもしれません、そしてあなたはすべて準備しています。残念ながら、ほとんどの電子部品と同様に、それほど単純なものはありません。

上で説明したようにリレーを回路に配線すると、たとえばRaspberry PiやArduinoデバイス(任意の電圧源を使用できます)から制御回路に電圧を印加すると、リレーがトリガされるはずです。しかし、どうやらそれは確実に機能しない、リレーの動作に影響を与える可能性があるラッチの考慮事項やその他の問題があります。このため、回路を機能させるためには、回路に追加の部品を追加する必要があります。最初のリレーで作業したときにこれを発見し、さまざまな方法でスタックオーバーフローの投稿を見つけた。あります 作る: 回路図付きのそれについての雑誌の記事。

通常、私はこれをすべて理解してあなたのためにここに書きますが、実際にはいくつかの方法であなたのプロジェクトにリレーを追加する方法があります。それについては次のセクションで説明します。次のセクションでも、プロジェクトのコードからリレーをトリガーする方法について説明します。

リレーモジュール

リレーを購入し、それらをトランジスタ、ダイオード、および抵抗器で配線する代わりに、多くの製造業者が、必要なものすべてを含むリレーモジュールボードを製造しています。図4にその例があります。これらのモジュールは1〜8個以上のリレーを取り付けた状態で購入できます。図5は一般的な4リレーモジュールを示しています。

注:私が見たほとんどの中継モジュールにはドキュメントが含まれていないので、自分でモジュールを把握する必要があります。

リレー接続

単一のリレーモジュールは通常6つの電気接続を露出します。制御回路用の3つのコネクタとスイッチング回路用の3つのコネクタ。ここに示したようないくつかのジャンパーブロックも含まれます。最も単純なリレー回路では、通常5つの接続しか使用しませんが、その理由はすぐに説明します。

図の左側には制御入力があります。図からわかるように、それらには次のようにラベルが付けられています。•VCC•IN1•GND

回路では、リレーが要求する入力電圧(ArduinoまたはRaspberry Piプロジェクトの場合、通常はマイクロコントローラに応じて3または5ボルト)をVCC入力に接続します。あなたのマイクロコントローラではなく、この電圧がどうあるべきかを決めるのはリレーです。最新のArduinoデバイスのほとんどは3Vを供給し、Raspberry Piは3Vまたは5Vを供給できます。これらの電圧で動作するリレーモジュールを必ず選択してください。このようなほとんどのリレーモジュールはArduinoやPiと一緒に動作するように設計されているので、大丈夫です。また、GND入力をマイクロコントローラのグラウンド接続に接続します。

最後に、IN1ピンをマイクロコントローラのいずれかの出力ピンに接続します。このピンの出力電圧がリレーをトリガします。アナログ出力を使用することをお勧めしますが、Raspberry Piはアナログ出力を提供しないため、デジタル出力も使用できます。

モジュールの交換回線側には、次の図に示されている3つの交換接続ポイントがあります(ラベルNO、Common、およびNCは私のものです)。

図6 - リレー接続の凡例

この図は、休止中のリレーの交換接続構成を示しています。このモジュールでは、第1のコネクタと第2のコネクタ、または第2のコネクタと第3のコネクタとの間で交換接続が行われる。 (制御回路に適切な電圧をかけて)リレーを作動させると、コモン接続が反対側に切り替わります。回路をNO(ノーマルオープン)およびコモンコネクタに接続すると、制御回路のIN1コネクタに適切な電圧が印加されるまで回路はオープンのままです。 IN1に電圧が印加されると、NO / Common接続が閉じます。回路をNC(通常閉)およびコモンコネクタに接続するときは、適切な電圧が制御回路のIN1コネクタに印加されるまで閉じたままにします。 IN1に電圧が印加されると、NC /コモン接続が開きます。

ほとんどの回路では、1セットのワイヤを切り替えるだけでよいので、NC接続またはNO接続のどちらかを切り替えます。構成によっては、回路に2つの状態が必要です。この場合は、回路にNOとNCの両方の接続を使用します。デフォルトでは、1つの接続が常に接続され、IN1に電圧を印加するとそれらが切り替わります。

図7は、動作のために配線されたリレーモジュールを示しています。図の右側にある3つの制御接続と、NO /コモンコネクタのスイッチング接続に注意してください。図の左下の黄色い線は交換接続用です。

図7 - 使用中のリレーモジュール

マルチリレーモジュールの場合、ハードウェアはほとんど同じで、ボード上のすべてのリレーに対して1回だけ繰り返されます。それでも電圧とグランドの接続を接続する必要がありますが、単一のIn1制御入力の代わりに、各リレーに1つずつ接続する必要があります。したがって、図5を見ると、図の右下隅にVCCピンとGNDピンがありますが、この4つのリレーボードには複数の入力IN1、IN2、IN3、およびIN4もあります。各IN#をArduinoまたはRaspberry Piデバイスの別々の出力ピンに接続します。モジュールのスイッチ側には、単一のリレーモジュールで見たのと同じNO / Common / NCコネクタがあります。ここでは、各リレーに1つずつ、合計4セットしかありません。

リレーをトリガーする

私が先に述べたジャンパーを覚えていますか?あなたのリレーモジュールには、それに数個のジャンパーが付いている可能性があります。もしそうであれば、ジャンパの1つは、リレーが高電圧または低電圧のどちらを使用してトリガされるかを制御する可能性が高い。このジャンパーの位置によって、プロジェクトのコードでどのようにリレーをトリガーするかが決まります。いくつか例を挙げましょう。

Arduinoデバイスでは、リレーのIN1コネクタがA1アナログ出力に配線されているので、1行のコードでリレーをトリガできます。リレーモジュールが高電圧を使用してリレーをトリガーするように設定されている場合は、次のコードを使用してリレーをオンにします。

analogWrite(A1、255);

これにより、ピンA1のアナログ出力が最高電圧(Arduinoでは3V)に設定されます。オフにするには、次のコードを使って出力電圧をオフにするだけです。

analogWrite(A1、0);

これはA1の出力をゼロに設定します。

リレーモジュールが低電圧を使用してリレーをトリガーするように設定されている場合は、次のコードを使用してリレーをオンにするだけで、例を反転することができます。

analogWrite(A1、0);

次のコードでリレーをオフにします。

analogWrite(A1、255);

ラズベリーパイはアナログ出力を公開していないので、少しトリックする必要があります。 Piは基本的にそれ自体を繰り返し繰り返すPWM(パルス幅変調)を使用したデジタル出力をサポートしています。その結果、接続されているデバイスに対して一貫した出力電圧のように見えます。パイ上のPythonを使用して、毎秒リレーを切り替えるコードは次のようになります。

gpiozeroのインポートLEDからtime import sleepの##リレーはRaspberry PiのGPIOピン18に接続されています#以下の18をあなたのハードウェアに適したピンに置き換えてください#relay = LED(18)#以下は無限ループです。 Pythonの場合、Trueの間に#アプリケーションを終了するまで実行されます。#relay.on()のリレーをオンにします。#2番目のスリープを待ちます(1)#リレーのオフになりますrelay.off()#さらに2番目のスリープを待ちます(1)

この例では、PiのGPIOポートに接続されているほとんどすべてのものを簡単に制御できる、Pi用の非常に優れたライブラリであるGPIO Zeroを使用しています。ここでは、モジュールのLEDライブラリを使用して、アプリケーションに必要な電圧出力を模倣しています。この場合、リレーはPiのGPIO 18ピンに接続されています。 GPIO Zeroには、これに使用できる他の出力タイプも含まれています。

あなたはそれを持っています、あなたのIoTプロジェクトにリレーを接続するための速くて簡単な方法。しかし、ちょっと待ってください、あなたがあなたのプロジェクトのために使うより簡単なオプションがあるので、次のセクションでそれらをチェックしてください。

マイクロコントローラアドオンボード(シールド、HATなど)

マイクロコントローラプロジェクトにリレーを追加することをさらに容易にするために、いくつかの製造業者は人気のあるマイクロコントローラプラットフォーム用のアドオンボードを製造しています。これらのボードは、GPIOポート(Raspberry Pi)または他のほとんどのボードがサポートしているヘッダーピンを使用してマイクロコントローラに直接積み重ねられています。あなたが考えることができるあらゆる種類のマイクロコントローラまたはシングルボードコンピュータ(SBC)用のリレーモジュールがあるようです。

アダフルーツの羽

私のプロジェクトの1つでは、Adafruit Featherマイクロコントローラを使用しました。羽はArduino互換のマイクロコントローラボードのスイートで、すべてが一貫したフォームファクタと入力/出力ピンレイアウトを共有しています。このプロジェクトでは、Adafruit Feather M0 WiFi、Arduino互換のWi-Fi対応マイクロコントローラ、Adalogger FeatherWing、Feather用リアルタイムクロックアドオンボード、Adafruit Power Relay FeatherWingを使用しました。 Relay FeatherWingは私のプロジェクトに使いやすいリレーモジュールを提供しました。私はマイクロコントローラに飛び乗って仕事に取り掛かることができました。次の図では、3つのボードのヘッダーピンとソケットがはんだ付けされています。

図8 - Adafruit Featherボードとアクセサリー

それらを使用するには、次の図に示すようにボードを積み重ねます。スイッチド回路を図の右側の青い端子に接続します。他のリレーと同様に、NCまたはNO接続に2つを使用するか、前のセクションで説明したように2つの方法でリレーを切り替えたい場合は3つすべてを使用します。

図9 - 上部にリレーモジュールを含むFeatherWingモジュールスタック

リレーモジュールはフェザーボード上の複数の出力ポートに配線されていますが、それを使用するには、使用したい出力ピンのためにボードの裏側にある金属パッドをカットします(他のピンによって使用されています)。フェザーアドオンボード)

図10 - Adafruit Featherパワーリレーポート選択オプション

Featherアプリケーションでリレーをトリガーするには、次のようにします。

//リレーが接続されているアナログピンconst int outputPin = SELECTED_FEATHER_PIN; //たとえば、リレーがアナログ出力A1に接続されている場合は、//次のようにします。// const int outputPin = A1; void setRelay(bool status){//リレーを特定のステータスに設定します(on = true / off = false)Serial.print( "Relay:"); if(status){Serial.println( "ON"); analogWrite(outputPin、MAXOUTPUT); } else {Serial.println( "OFF"); analogWrite(outputPin、MINOUTPUT); //設定したステータスを保存して、toggleRelayが//後でリレーを正確に切り替えることができるようにします。relayStatus = status; }

この例では、定数定義(リレーがどのアナログ出力ピンに接続されているかを表す)と、 setRelay それはリレーを引き起こします。

定数 outputPin 特定のハードウェア構成に合わせてコードを構成する簡単な方法を提供するだけです。リレーをトリガするコードのすべての部分を探し回るのではなく、リレー出力ピンをこの定数に設定し、それを使用したいアプリケーションのどの部分も単に定数を参照できます。この方法では、後でリレーピンを変更した場合でも、一箇所で変更するだけで済みます。変更が行われると、定数を参照するコードのさまざまな部分がすべて自動的に更新されます。

setRelay 機能はアプリケーションにリレーをオンまたはオフにするための迅速で簡単な方法を与えます。それをオンにするための別の関数とそれをオフにするための別の関数を作る代わりに、私は単純に一つの関数を使い、関数に渡されるブール変数としてリレーをオンにするかオフにするかを渡します。披露させて。

リレーをオンにするには、アプリケーションのどの部分でも次のコードを実行するだけです。

setRelay(true);

この例では、 本当の 関数に渡されるパラメータは、Onを示すブール値Trueです。

リレーをオフにするには、次のコードを実行します。

setRelay(false);

この関数は、という変数を使用します。 relayStatus リレーがオンであるかオフであるかを追跡し、別の機能を有効にします。 toggleRelay リレーの状態を切り替えます(リレーをオンにした場合はオフにします。オンになっている場合はオフにします)。そのコードは特に単純です。 setRelay リレーの現在のステータスの逆を使用します。

void toggleRelay(){//リレーをオンからオフ、またはオフからオンに切り替えます。setRelay(!relayStatus); }

!relayStatus コード内ではNOTに変換されます。 relayStatusなので、 relayStatus です 本当のそれから に渡される setRelay。もし relayStatus です それから 本当の に渡される setRelay.

テッセル2

Tessel 2には、図11に示すリレーモジュールがあります。コントローラでホストされている単純なWebアプリケーションを使用して単純なガレージドアコントローラを作成するために使用しました。 Githubで完全なプロジェクトを見つけることができます。

図11 - Tessel 2ボードとリレーモジュール

TesselボードはJavaScriptを実行するので、ボード上で実行されるJavaScriptベースのサーバータスクを作成し、デスクトップまたはモバイルWebブラウザを使用してボードと対話するのは簡単です。このプロジェクトでは、Webサーバーはガレージドアを開くためのボタンを含む簡単なWebページをホストします。ボード上では、ガレージドアを作動させるコードは toggleRelay 以下にリストされた機能

function toggleRelay(RELAY_PORT){//指定されたリレーをオンにしたままRELAY_DELAYミリ秒の間オンにします//最初にアクティビティLEDを点灯しますtessel.led [ACTIVITY_LED] .on(); //次に、relay.turnOn(RELAY_PORT、relayResult)のリレー。 // 500ミリ秒(0.5秒)sleep(500).then(()=> {//その後リレーをオフにします。relay.turnOff(RELAY_PORT、relayResult); // //アクティビティLEDを消灯しますtessel.led [ACTIVITY_LED] .off();}); }

図11からわかるように、リレーモジュールは2つのリレーを備えています。 toggleRelay、あなたはそれを渡すことによってどのリレーがガレージのドアのボタンに配線されているかをそれを伝えなければなりません 1 または 2 を通じて機能へ RELAY_PORT 変数。この機能は、表示灯を点灯させ、リレーを作動させ、0.5秒待ってからリレーを点灯させLEDインジケータを消灯させます。

粒子フォトン

さまざまなマイクロコントローラまたはSBC用のリレーモジュールを製造している会社の1つがNational Control Devicesです。私が実際に使用するガレージドアコントローラは、Particle PhotonとPhoton用の単一のリレーボードを使用して構築されました。 Githubでプロジェクト全体について読むことができます。

このボードでは、図12に示すように、Photonはボードの右側にあるソケットにマウントされています(図に示すとおり)。リレーボードに電力を供給すると、マイクロコントローラにも電力が供給されます。

図12 - 粒子フォトン用ControlEverything 1チャンネルリレーコントローラー

Photonの「プラットフォーム」は、無料のクラウドサービスを介してボード上のコードをリモートで実行できるという点で優れています。このボードはほとんどArduinoマイクロコントローラと互換性があるので、Cを使ってアプリケーションをコーディングします。

リレーをトリガするコードは、すでに示したものと似ているはずです。以下に示すPhotonのサンプルコードでは、リレーがどのピンに接続され、どのピンがインジケータライトに接続されているかをアプリケーションに通知する定数を定義します。そのPhotonに組み込まれています。アプリケーションは ボタンを押す リレーを作動させる機能。この機能は、表示灯を点灯させ、リレーを作動させ、0.5秒待ってからリレーを点灯させ、LEDインジケータを消灯させます。

//リレーをデジタル0に接続しますint int relayPin = D0; //アクティビティLEDをデジタル1に接続しますint int activityLED = D1; // =================================================== ================この関数はガレージドアのボタンを押します(もちろんリレーを通して)// ============ =================================================== === int pushButton(String param){Serial.println( "pushButton関数が呼び出されました。"); //アクティビティLEDを点灯させて、正常に動作していることを確認できます(activityLED、HIGH)。 // digitalWrite(relayPin、HIGH)のリレーをオンにする。 // 0.5秒待ちます(または、必要に応じて判断します)遅延(500)。 // digitalWrite(relayPin、LOW)をオフにします。 //アクティビティLEDを消灯digitalWrite(activityLED、LOW); //何かを返さなければならないので、ゼロを返す(-1は失敗を意味する)0を返す}

ラズベリーパイ

Raspberry Pi用の中継モジュールもいくつか見つかりました。私が最初に作業したのは、Seeed Studio Raspberry Pi Relay Board v1.0です。プロジェクトでボードを使用する方法についても、これらのヒントを試してください。図13に示すように、ボードは4つのリレーを中継し、ラズベリーパイの上に直接取り付けられています。

図13 - シードスタジオラズベリーパイリレーボードv1.0

あなたのプロジェクトでボードを使うのは簡単です。 Seeed Studioのスタッフは、ボードと対話する(ターミナルウィンドウにコマンドを入力してリレーをオフにする)ことを可能にするサンプルPythonアプリケーションを作成しました。コードに機能を追加し、それをPythonモジュールとしてhttpsで公開しました。 //github.com/johnwargo/Seeed-Studio-Relay-Boardこのモジュールを使用するには、ライブラリをプロジェクトフォルダにコピーしてから、Pythonアプリケーションの先頭に次の行を追加します。

relay_lib_seeedからのインポート*

これを設定したら、次のコードを使用してリレーをオンにできます。

relay_on(int_value)

int_valueはリレー番号(1〜4)を表します。したがって、リレー#2をオンにするには、次のようにします。

relay_on(2)

リレーをオフにするには、次のようにします。

relay_off(int_value)

次のようにしてリレーを切り替えることもできます。

relay_toggle_port(int_value)

とても単純ですね。あなたがボードで遊んで使うことができる簡単なアプリが欲しいなら、Githubの私のプロジェクトをチェックしてください。

別の中継ボードの選択肢は、ModMyPi PiOT中継ボードです。 Githubにドキュメントがあります。 Seeed Studioボードと同様に、PiOTボードはRaspberry Piの上にマウントされますが、このモジュールを使用すると、プロジェクトに8、12、またはそれ以上のリレーを提供するために複数のボードを積み重ねることができます。図14に示すボードの例を見ることができます。

図14 - ModMyPi PiOTボード

PiOTボードの優れた機能は、ボードにマウントされたプッシュボタンを使ってリレーを切り替えることができることです。これにより、コードを書く前にボードの動作を確認したり、プロジェクトのハードウェアをテストしたりすることができます。これらのボタンを使って、ボードで使われるRaspberry Pi GPIOピンを設定することもできます。私は正直なところ、代わりにジャンパーやDIPスイッチを使ってやりたいと思います。

ボードはフルサイズのラズベリーパイモデルとパイゼロの両方のために設計されています。残念ながら、ボードの取り付け穴はPi Zeroへの取り付けにしか適していません。 Pi Zero取り付けの場合、ボードには4つの取り付け穴があります。正しいスタンドオフとネジを使用すると、PiOTボードをPi Zeroの上にしっかりと取り付けることができます。より大きなPiモデルでは、何らかの奇妙な理由でModMyPiの人々はPiに合う2つの取り付け穴しか公開していないので、あなたはそれを取り付けることができますが、私の実装では不安定でボードが動くたびにリレー接続を短絡しました。しっかりと取り付けられていないので簡単にできます。

あなたのプロジェクトであなたがこのボードを使うのを手助けするために、私はhttps://github.com/johnwargo/pi-relay-controller-modmypi/blob/master/relay_lib_modmypi.pyでPythonライブラリを作成しました。ライブラリを使用するには、ライブラリをプロジェクトフォルダにコピーしてから、次のコード行をPythonプロジェクトに追加します。

relay_lib_modmypiからのインポート*

次に、ボード設定に合わせてアプリケーションを設定する必要があります。アプリケーションの初期化コードに次の行を追加します。

#リレーボードに割り当てられたポート番号で以下のリスト/タプルを更新します。PORTS =(7、8、10、11)NUM_RELAY_PORTS = 4#init_relay(PORTS)の場合、#システムのポート設定でリレーライブラリを初期化します。私たちはきれいな状態から始めています。 relay_all_off()else:print( "ポート設定エラー")#アプリケーションを終了するsys.exit(0)

の中に PORTS ただし、ボードのボタンを使用して設定したリレーポート番号をリストに追加する必要があります。をセットする NUM_RELAY_PORTS 積み重ねたボードの数に応じて、4、8、12などに変わります。これを設定したら、次のコードを使用してリレーをオンにできます。

relay_on(int_value)

どこで int_value リレー番号(1〜4)を表します。したがって、リレー#2をオンにするには、次のようにします。

relay_on(2)

リレーをオフにするには、次のようにします。

relay_off(int_value)

次のようにしてリレーを切り替えることもできます。

relay_toggle_port(int_value)

とても単純ですね。あなたがボードで遊んで使うことができる簡単なアプリが欲しいなら、私のプロジェクトをチェックしてください。

パワースイッチテール

私のガレージドア開閉装置のプロジェクトでは、私は単にボタンを「押す」ためにリレーを使っていたので、リレーは単に低電圧回路を切り替えました。いくつかのプロジェクトでは、110V(北アメリカ)や220V(ほとんどどこでも)の家の照明や他の商用電化製品のように、より高い電圧を切り替えるためにマイクロコントローラを使いたいと思うでしょう。多くのリレーが広範囲の電圧の切り替えをサポートしている限り、私が示した解決策でこれらの電圧レベルを切り替えることができます(例えば、図5および6に示されているリレーは最大250V ACまたは30V DCに切り替わります)。より高い電圧に対処することは致命的であり、プロジェクトで使用する配線ソリューションを劇的に変える可能性があります。

高電圧スイッチングのシナリオでは、高電圧に伴う多くの安全上の問題からユーザーを隔離するための簡単な解決策があります。このソリューションはPowerSwitch Tailと呼ばれ、私が作成したプロジェクトの例を図15に示します。PowerSwitchTail(PT)は電源コードが通る黒い箱です。

図15 - PowerSwitch Tailプロジェクト

PTは基本的にAC電源プラグの導体の1本に配線されたスイッチ接続のリレーを含む箱です。 PTの入力接続に特定の電圧(通常3V〜5V)を印加すると(図では2本の赤い線が接続されています)、リレーが作動し、AC電流が電源コードを通過します。 PTは通常NO操作用に配線されていますが、通常NC操作用にも設定できます。

このプロジェクトでは、リアルタイムリレー(RTC)モジュール付きのAdafruit Featherを使用してPTリレーを駆動し、Featherアプリケーションでコーディングされたロジックを使用して照明器具に制御を切り替えることができました。プロジェクトの完全なソースコードはここにあります。

コーディングの観点からは、リレーを制御するために必要なコードはすでに見たことがあります。これは、このドキュメントの前半に示したAdafruit Featherのセクションにあります。

リレー動作の検証

私がこれらのリレーベースのプロジェクトの多くで働いていたとき、私は自分のプロジェクトコードが正しく機能しているかどうかをすばやくそして簡単に見ることができるように簡単なLED回路を定期的に配線しました。ほとんどのリレーはトリガーされるとカチッと音をたてて鳴り、ほとんどのリレーモジュールは各リレー回路にLEDが配線されているので、リレーがオンかオフか一目でわかります。ただし、クリック音やインジケータライトがはっきり見えるのは必ずしも簡単ではありません。また、4リレーモジュールでは、モジュールのインジケーターLEDがグループ化されていることがあるので、どのLEDがどのリレーに対応しているのかわかりにくいです。

私は自分の店でたくさんの木工をしています、そして経験を積むにつれて、成功したメーカーがジグを使ってタスクを一貫して繰り返したり、単数ではあるが複雑なタスクを正確に実行できるようになりました。私のリレー作業のために、作業しながら各プロジェクトに接続できるテストジグを作成し、自分のプロジェクトのリレーの状態をより簡単に判断できるようにしました。ジグは基本的に電源に接続された一連のLED(2つの単三電池によって供給される3V DC)で、各LEDは2つのオープンリードを通して露出されています。リレー回路をテストする必要があるときは、1つのリレーのNC接続にLEDのリード線を配線し(使用しているリレーの数に応じて必要に応じて繰り返します)、バッテリーホルダーに電池をいくつか入れてテストを開始します。私のコードリレーが作動すると、リレーの状態に応じてLEDが点灯または消灯します。

次の図は、治具の配線図を示しています。

図16 - リレーテストジグ回路

これを実装するために、Adafruit Perma-Protoハーフサイズブレッドボードを適切なサイズで使用し、回路を簡単に組み立てられるようにしました。ジグの右下隅に接続されて示されている黒と赤のワイヤーのコイルは、プロジェクトの他の側面のためにその3V電源(2つの単三電池)を使用する必要がある場合にあります。

結論

うまくいけば私はあなたがそれらをあなたのプロジェクトにうまく追加することができるようにあなたがリレーとそれらの実用的な応用(リレーモジュール、アドオンボード、そしてもちろんコードを使う)の概要を十分に与えたことを願っています。リレーを使用するときは、リレーがプロジェクトで使用されている電圧と電流の両方に適合していることを確認してください。不注意からリレーから煙を出させたくないでしょう。不注意と言えば、AC回路や高電圧DC回路を扱うときは、間違いが致命的になるか、少なくとも痛みを伴うことがあるので、特に注意してください。

シェア

コメントを残します