今から始める電子工作 Step2 ⑥ I/Oポートからリレーを駆動 その5 複数個のリレーを駆動

 Arduino UNO R4 WiFi で複数個のリレーを駆動し、3W LEDを点滅させます。

環境

  • Arduino IDE;2.3.4
  • Windows11;24H2
  • Arduino UNO R4 WiFi 

使用するリレー

 市販品のリレー・ボードを利用します。

  リレーモジュール 5v (アマゾン)

 1回路用と2回路用を利用します。1回路用はトランジスタで駆動していて、2回路用はフォトカプラ+トランジスタのようです。動作を確認します。

  Vcc-GND端子に5Vを印加します。

1回路> GND-IN端子に下記の電圧を印加しました。2.5V以下だとリレーがカチっとなりました。負論理のようです。

IN [V] ON/OFF
0.1 ON
0.5 ON
1.0 ON
2.0 ON
3.0 OFF
4.0 OFF
5.0 OFF

2回路> GND-IN1もしくIN2端子に下記の電圧を印加しました。0.6V以下だとリレーがカチっとなりました。負論理のようです。

IN [V] ON/OFF
0.1 ON
0.5 ON
1.0 OFF
2.0 OFF
3.0 OFF
4.0 OFF
5.0 OFF

 どちらのリレーも負論理で、確実にONするには0.5V以下の電圧で制御するのが良いようです。

 けれど、

  今から始める電子工作 Step2 ① I/Oポートの状態と消費電流

で検証したように、どのI/Oポートも、電源が入った直後デフォルトではLowでした。したがって、これらのリレーをつないで、マイコン・ボードに電源を入れたら、リレーはONになってしまいます。多くの場合、不都合です。

 リレー用電源をマイコンとは別系統にしておき、マイコン側で、I/OをHighにした後、リレーの電源を入れるという手順を踏めば、このまま利用できますが、煩雑です。

マイコン・ボードが動き始めたとき、リレーがONにならないようにする

 マイコンのI/O出力がLowのとき、リレーはONになります。マイコンのI/Oとリレーの間に、論理を反転する回路を入れることを考えます。

トランジスタを1個

 下記の記事で、「LED+電流制限抵抗」の負荷を、抵抗負荷に変更して実験します。

  今から始める電子工作 Step2 ③ I/Oポートからリレーを駆動 その2 2SC1815

 負荷抵抗R3は、470Ω、1k、4.7kの3種類を試します。Vccは4.99Vです。

<R3=470Ω>

ベース電圧[V] ベース電流[uA] コレクタ電流[mA] コレクタ電圧[V]
0.1 5.0 15.3u 4.99
0.50 24.4 15.3u 4.99
1.0 50.3 19.5u 4.99
2.0 131.7 10.25 0.146
3.0 235.6 10.4 0.075
4.0 333.8 10.44 0.056
5.0 429.3 10.46 0.046

<R3=1kΩ>

ベース電圧[V] ベース電流[uA] コレクタ電流[mA] コレクタ電圧[V]
0.1 6.15 15.3u 4.98
0.50 25.4 15.3u 4.98
1.0 50.7 20.0u 4.97
2.0 132.9 4.95 0.08
3.0 231.4 4.99 0.045
4.0 329.5 5.00 0.032
5.0 431.9 5.014 0.025

<R3=4.7kΩ>

ベース電圧[V] ベース電流[uA] コレクタ電流[mA] コレクタ電圧[V]
0.1 0.009 15.1u 4.93
0.50 0.042 21.0u 4.90
1.0 37.1 1.028 0.046
2.0 136.4 1.034 0.016
3.0 237.0 1.035 0.010
4.0 330.7 1.036 0.006
5.0 429.2 1.037 0.006

 反転回路として利用するとき、ベースの電圧が2Vを超えれば、どの負荷抵抗でも確実に動作しています。違いは、コレクタ電流です。できれば、1k~4.7kが良いように思えます。

MOSFETを1個

 負荷抵抗R3は、470Ω、1k、4.7kの3種類を試します。

<R3=470Ω>

ゲート電圧[V] ゲート電流[uA] ドレイン電流[mA] ドレイン電圧[V]
0.1 2.5 15.4u 4.99
0.50 10.7 15.4u 4.99
1.0 20.9 15.4u 4.99
2.0 43.1 10.4 0.079
3.0 63.1 10.5 0.018
4.0 83.7 10.5 0.013
5.0 106.5 10.5 0.012

<R3=1kΩ>

ゲート電圧[V] ゲート電流[uA] ドレイン電流[mA] ドレイン電圧[V]
0.1 2.0 15.3u 4.98
0.50 1.0 15.3u 4.96
1.0 21.6 15.4u 4.98
2.0 42.9 5.00 0.034
3.0 63.6 5.03 0.008
4.0 85.3 5.04 0.006
5.0 107.0 5.04 0.005

<R3=4.7kΩ>

ゲート電圧[V] ゲート電流[uA] ドレイン電流[mA] ドレイン電圧[V]
2.1 2.1 15.2u 4.93
0.50 10.3 15.2u 4.93
1.0 21.1 15.2u 4.93
2.0 44.3 1.04 0.005
3.0 66.0 1.04 0.001
4.0 84.6 1.04 0.001
5.0 104.4 1.04 0.001

 反転回路として利用するとき、ベースの電圧が2Vを超えれば、どの負荷抵抗でも確実に動作しています。違いは、ドレイン電流です。できれば、1k~4.7kが良いように思えます。

 R3=4.7kΩのまま、ドレインに市販の1回路のリレーをつなぎ、動作を確認します。

 ゲートに3.5Vを印加すると、リレーからカチッと音が鳴りました。この市販リレー・ボードは、電源をつなぐと赤色LEDが点灯し、Lowの信号がINに入ると緑色LEDが点灯します。

ロジックICの74HC04(TopView)

 74HC04を利用します。このICは反転回路が6個入っています。実験は1-2端子で行いました。

 14番ピンのVccと7番ピンのGND間には5Vの電源を供給しました。

D12電圧[V] リレー-IN電圧[V]
0.1 4.99
0.50 4.99
1.0 4.99
2.0 4.99
3.0 0.016
4.0 0.000
5.0 0.000

 3V前後で、出力が反転するようです。

マイコンとの接続

 1回路用を二つ、2回路用のリレー・ボードを一つ用意して、Arduino UNO R4 WiFi のD12、D11、D10、D9をつなぎます。

3WのLEDを点灯

 1W LEDの時は5V電源を利用しましたが、電流制限用抵抗が5Ωと大変低い値になってしまいました。ここでは12Vもしくは15Vを利用します。

 3W LEDは600mA流れると書かれていました。順方向電圧は3.3Vとして計算します。

  •  電源が12Vのとき; R=(12-3.3)/0.6=14.5Ω
  •  電源が15Vのとき; R=(15-3.3)/0.6=19.5Ω

 電力は(12-3.3)*0.6=5.2Wなので、余裕を見て15Ω 10Wのセメント抵抗を使います。

ドライブ回路

 74HC04を使います。

スケッチ

 四つのLEDを3秒ずつ点灯と消灯を繰り返すスケッチです。

 大きな問題が起こりました。コンパイル&アップロード中にLEDが異常に光るのです。なので、開発中はLED用の12V電源は、動作が始まってから入れるようにします。

void setup() {
  pinMode(12, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(9, OUTPUT);
  digitalWrite(12,LOW);
  digitalWrite(11,LOW);
  digitalWrite(10,LOW);
  digitalWrite(9,LOW);
}

void loop() {
  digitalWrite(12,HIGH);
  delay(3000);
  digitalWrite(12,LOW);
  delay(3000);

  digitalWrite(11,HIGH);
  delay(3000);
  digitalWrite(11,LOW);
  delay(3000);

  digitalWrite(10,HIGH);
  delay(3000);
  digitalWrite(10,LOW);
  delay(3000);

  digitalWrite(9,HIGH);
  delay(3000);
  digitalWrite(9,LOW);
  delay(3000);
}

 スケッチが完成し、一度、USBケーブルを抜きます。12VのLED電源をONにし、USBケーブルを指すと、0.5秒程度、1回路用のリレーがバタバタとON/OFFを繰り返し、すぐに正常なスケッチの動作に移りました。

 どうも、CPUの初期化によってI/Oのレベルが複数回変化しているようです。短時間にすぐにLowに設定されるように思えます。2回路用のリレー・ボードはフォトカプラが入っているので、急激な入力のON/OFFに追随しなかったのかもしれません。

 したがって、LED用12V電源は、マイコンの電源が入ったときはOFFに、その後、ONにするような運用をしなければならないですね。

電源が入った直後のI/Oポートの波形を観測

 D11の波形です。青色がD11ポートの出力、赤色が70HC04を通した後の波形です。このポートは2回路(フォトカプラ)のリレー・ボードの入力につながっています。

 断続的に高速のON/OFFが一定時間観測されました。しかし、リレーを反転させるだけの論理レベルフォトカプラを超えてはいません。もしかしたら、このオシロスコープでは見れないほどの細いパルスが出ているのかもしれません。

 D9波形です。青色がD9ポートの出力、赤色が70HC04を通した後の波形です。このポートは1回路のリレー・ボードの入力につながっています。

 100kΩ-33uFのローパス・フィルタをつなげました。

 立ち上がりの波形はなまっています。立ち上がり時に青色のLEDは光りませんでした。

 D10波形です。青色がD10ポートの出力、赤色が70HC04を通した後の波形です。このポートは1回路のリレー・ボードの入力につながっています。

 100kΩ-33uFのローパス・フィルタをつなげました。

 立ち上がりの波形はなまっています。立ち上がり時に青色のLEDは光りませんでした。

四つのI/Oポートにローパスフィルタを入れる

 波形にほとんど変化はなかったのですが、変なリレーのバタつく状態は抑えられていました。四つのポートにローパス・フィルタを入れて、前記のスケッチを動かしました。

 電源を投入した後、なにも特別な音や光の発生はなく、スケッチ通りにLEDは点滅を繰り返しました。

前へ

今から始める電子工作 Step2 ⑤ I/Oポートからリレーを駆動 その4 1W LED

次へ

今から始める電子工作 Step2 ⑦ I/Oポートから3WのLEDをMOSFETで駆動