\ Amazon 冬支度セール 11/4(月)~11/12/(火) /

Arduino 入門 Lesson 27 【リレー編】

arduino-lesson27-00 Arduino入門編
記事に広告(アフィリエイト広告)が含まれています。
スポンサーリンク
子供と一緒に始める マイコンプログラム
Arduino 入門
Lesson 27
【リレー編】

「Arduino」を使ったマイコンプログラミングを子供と一緒に学習するブログ。

少しずつ、子供と一緒に楽しみながら気長にアップしてく予定です。

 

本記事はLesson 27 【リレー編】です。

リレー(relay)とは、単純に言えばスイッチのことです。
※リレーは継電器とも呼ばれます。

ただのスイッチではなく電気的に制御するスイッチです。

ただの機械的なスイッチはLesson 05【プッシュボタンスイッチ編】にて解説しています。

Arduino 入門 Lesson 05 【プッシュボタンスイッチ編】
このLessonでは、機械的にスイッチを使ってLEDをオン、オフさせるわけではありません。スイッチを「押した」「押してない」という行為をデジタル信号としてUNOに認識させるということです。それによって、UNOから電源が供給されLEDのオン、…

 

電気的に制御するために何をしているかというと・・・

電磁石の原理を利用しています。

中学生の頃に「右ねじの法則」という名前で学習しましたよね。

 

本記事では、Lesson 26のDCモーターにリレーを追加することでDCモータのON/OFFを制御します。

Lesson 26ではドライバICでDCモータを直接制御することでON/OFFしています。

Lesson 27ではドライバICでリレーを制御することでDCモーターをON/OFFします。

 

Lesson 26を学習しているとスムーズにLesson27に取り組むことができます。

 

Arduino入門編の解説にて使用しているArduinoは互換品です。

互換品とは言え、Arduinoはオープンソースであり複製して販売するのもライセンス的に問題なし。

そのため互換品の品質も悪くなく、それでいて値段は安いです。

正規品本体の値段程度で豊富な部品が多数ついています。

正規品(Arduino UNO R3)の本体単品がほしい方はこちらとなります。

 

Arduino入門編2では「Arduino UNO R4 Minima」「Arduino UNO R4 WIFI」にて遊ぶため今のところは正規品を使用。(まだ互換品が・・・ほぼない)

 

 

スポンサーリンク

はじめに

冒頭で少し解説しましたが、リレーは電磁石でON/OFFを制御するスイッチです。

使われ方としては、主に2つあります。

  1. 小さな信号で大きな電流を制御する。
  2. 遠く離れた場所まで信号を伝える。

といった使われ方です。

1は制御する回路と大電流を扱う駆動回路を完全に分離したい場合などにを想定。

2は距離によって減衰する信号を増幅して伝えるといったことを想定しています。

2の信号を伝えていくというのがリレーと言われている言葉です。
※リレーは継電器とも呼ばれます。

Wikipedia リレー(継電器)

継電器(けいでんき、英語: relayリレー)は、動作スイッチ・物理量・電力機器等の状態に応じ、制御または電源用の電力の出力をする電力機器である。

 

Lesson 27 目標

本Lessonの目標は以下です。

1.リレー(継電器)の使い方を理解する。
2.リレー(継電器)の制御を理解する。
3.リレー(継電器)を使用してDCモーターをON/OFFする。

今回も遊ぶことを最大の目標に楽しみましょう!

 

準備

ではLessonの準備に取り掛かりましょう。

Lesson 26 【DCモーター編】を実践していればリレーを追加するだけです。

頑張って組み上げていきましょう。

 

必要なもの

 

リレー色々種類があります。
可能であれば、本Lessonと同じものがあれば学習しやすいかと考えます。

 

Jumper wire、抵抗は今後も頻繁に利用します。

Jumper wireはできれば、「オス-メス オス-オス メス –メス」の3種類を揃えておくことをお勧めします。

短めが使いやすい場合も。

 

抵抗も単品で揃えるよりはセットをおすすめします。

 

抵抗、LEDなどを個別でセット品を購入しても、そんなに使わない!

という方は、「電子工作基本部品セット」が使い勝手が良い。

 

使用部品説明

新たに登場した部品について説明していきます。

本Lessonで新しく登場する部品は以下となります。

 

以下の部品に関しては、Lesson 26にて解説していますのでご確認ください。

 

リレー 実物写真

下の写真が、リレーです。

端子が5つある5極リレーとなります。

■表面

arduino-lesson27-01

 

■裏面

arduino-lesson27-02

 

ちなみに、ELEGOO UNO キットには合わせて梱包されています。

 

Amazonで売られているものを紹介しておきます。

こちらは、本Lessonで使用しているものと同じものです。

Arduinoで使用する場合、5V制御のものがおすすめです。

 

リレー原理

原理図は、本Lessonで使用する5極リレーとなります。

また、本Lessonで使用する「SRD-05VDC-SL-C」をもとに解説します。

 

図に示すように、通常はバネによりb接点(ブレーク接点)に繋がっています。

端子eとfに電流を流すことで、コイルを巻いた鉄心に磁力が発生し磁石となることでa接点側に繋がることになります。

そうすることで、c接点とa接点が接続されc接点とa接点に接続された電子部品が動作します。

arduino-lesson27-03

 

原理図で示したリレーはトランスファー接点と呼ばれます。

リレーには、接点により3種類の分類があります。

  • メーク接点
  • ブレイク接点
  • トランスファー接点

※本Lessonで使用するリレーはトランスファー接点

 

リレーについて詳しく知りたい方は、下記のサイトにわかりやすい解説があります。

リレーとは?:基礎編 基礎知識をわかりやすく解説 | オムロン電子部品サイト - Japan
リレーの定義、種類と分類、構造と原理、特長と動きについてわかりやすく解説。…

 

リレー 仕様

本Lessonで使用してるリレーの型番は「SRD-05VDC-SL-C」。

ELEGOO UNO キットに梱包されているリレーとなります。

データシートは以下となります。

データシートを確認するときは、型番と合わせて確認が必要です。

データシート(PDF)

 

コイル特性

標準電圧[V] 標準電流[mA] コイル抵抗[Ω]
5 71.4 70

※5V / 70Ω = 71.4mAとなります。

接点部仕様

接点に通電できる定格負荷の仕様となります。

抵抗負荷 誘導負荷
cosΦ = 0.4
L/R = 7ms
定格負荷 DC 28V 7A
AC 125V 10A
AC 240V 7A
DC 28V 3A
AC 120V 3A
接点電圧の最大値 AC 250V
DC 110V
36

 

コイル特性から、リレーをON/OFFさせるためには5Vで71.4mA程度必要ということがわかります。

使用するドライバIC(L293D)は4.5V~36Vの電圧範囲において、最大±600mAの出力電流で負荷を駆動できるため問題ありません。

また、使用する「DCモーター」は5V程度で約60mA程度の消費電流です。

こちらも、接点部仕様に対して特に問題とならない負荷であることがわかります。

 

また、Lesson 26ではch1とch2でDCモーターを制御しました。

Lesson 27ではch1、ch2を使ってリレーを制御します。

そうすることで、リレーによってDCモーターをON/OFFさせます。

そのため、Lesson 26のコードを少し改変することで対応できます。

 

保護ダイオードについて

電流を流していたコイルの電流を切ると、逆方向に電流が流れます。
これは逆起電力と呼ばれるもので、インダクタの特性の一つです。
この逆起電力ですが、場合によっては供給した電圧の数十倍の電圧が発生することもあり電子部品を破壊する原因となります。
この逆起電力からトランジスタを守るのが保護ダイオードです。
制御に使用するドライバIC(L293D)は内蔵されており外付けで考慮する必要はありません。

 

実践 回路作成とコード作成

最初に回路図を確認してください。

次に、回路図に合わせて部品を接続します。

最後にコードを書いて、リレーでDCモーターをON/OFFさせてみましょう。

 

Arduinoのピン配置を確認したい方は番外編02を参照してください。

 

回路図

リレーのeをドライバーIC(L293D)のch1、出力ピン(3番)。

リレーのfをドライバーIC(L293D)のch2、出力ピン(6番)に接続します。

Arduinoはデジタルピンの7,5,3番ピンを使用します。

  • 7:L293Dの1番ピン(Enableピン)
  • 5:L293Dの2番ピン(CH1バッファ入力)
  • 3:L293Dの7番ピン(CH2バッファ入力)

回路図がこちら。

arduino-lesson27-04

 

こちらがブレッドボード図。

電源モジュールにはDCプラグから9Vの電池でつなぎます。
ブレッドボードへの電源供給は、電源モジュールの左上、左下にある+、-端子をブレッドボードの上下のVCCとGNDに挿入することで供給されます。
電源モジュールの出力は5Vとする。
追記情報
下図ではつないでいませんが(誤記です。修正予定です。)
L293DのVCC1(16番ピン)は5Vにつないでください。

arduino-lesson27-05

 

回路図は「fritzing」を利用しています。

「fritzing」の使い方は下記を参照してください。

 

接続

下図に示すように、用意した部品を使用して接続しましょう。

部品は電源モジュールドライバーIC(L293D)DCモーターリレー(relay)なります。

 

使用するポートは、デジタルピンの「3,5,7」です。

穴に挿入しづらいときは、ラジオペンチなどを使用してください。

追記情報
下図ではつないでいませんが(誤記です。修正予定です。)
L293DのVCC1(16番ピン)は5Vにつないでください。

arduino-lesson27-06

 

コードの書き込み

接続が終わったら、USBケーブルを使用してUNOにプログラムを書き込んで行きましょう。

コードを書き終えたら、いつでも利用できるように「ファイル」⇒「名前を付けて保存」で保存しておきましょう。

 

コマンド説明

特に新しくでてきたコマンドはありません。

本Lessonのスケッチ(コード)はLesson 26のスケッチ(コード)を少し変更しだだけです。

 

サンプルコード

サンプルコードを下記に示します。

シリアルモニタからテンキーの数字を押すことによってリレーを制御しています。

Lesson 26から不要部分を削除して、少し改変したのみです。

 

ドライバIC(L293D)の出力をリレーに接続し制御しています。

 

//Lesson 27 リレー編
//https://omoroya.com/

// 電子部品は電源モジュールとドライバIC(L293D)を使用

// 変数の設定
const int ENABLE = 7;
const int CH1 = 5;
const int CH2 = 3;
 
void setup() {
  //Pinの方向を定義
  pinMode(ENABLE,OUTPUT); // 7番ピンをOUTPUT指定
  pinMode(CH1,OUTPUT);    // 5番ピンをOUTPUT指定
  pinMode(CH2,OUTPUT);    // 3版ピンをOUTPUT指定
  Serial.begin(9600);

  //シリアルモニタに説明を表示
  Serial.println("1:SW ON");
  Serial.println("2:SW OFF");
  Serial.println("0:Forced STOP");

  // 初期化 DCモータが突然動きださないように
  digitalWrite(ENABLE,LOW); // disable
  delay(500);
}

void loop() {
  if (Serial.available() > 0 )     // 受信したデータが存在した場合以下を実行
  {
    char val = Serial.read();      // char文字として受信データの読み込み
    

    // 1の場合 SW ON CH1:High CH2:Low
    if (val == '1')
    {
      Serial.println("1:SW ON");
      digitalWrite(ENABLE,HIGH); // enable on
      digitalWrite(CH1,HIGH);    
      digitalWrite(CH2,LOW);
    }
    
    // 2の場合 SW OFF CH1:Low CH2:Low
    else if (val == '2')
    {
      Serial.println("2:SW OFF");
      digitalWrite(ENABLE,HIGH); // enable on
      digitalWrite(CH1,LOW);
      digitalWrite(CH2,LOW);
    }

    // 0の場合 強制停止
    else if (val == '0')
    {
      Serial.println("0:Forced STOP");
      digitalWrite(ENABLE,LOW); // disable
    }
  }
}

 

動作確認

では、さっそく動作を確認していきます。

シリアルモニタを開いてテンキーの数字を押してみてください。

1:SW ON
2:SW OFF
0:強制停止

となるはずです。

2のSW OFFと0の強制停止の違いは、ドライバの出力をLOWにすることで止めるのか、Enable信号をLowにして止めるかだけの違いです。

 

リレー(relay)が動くとカチッと音がするはずです。

その音とともにDCモーターが回りだせば成功です。

 

動いているところを、リレーの音とともに掲載したいのですが。

音声も載せようとすると、やはりyoutubeに動画をアップでしょうか?

いつかは挑戦したいですね・・・。

 

まとめ

今回は以下の内容について理解してもらいました。

1.リレー(継電器)の使い方を理解する。
2.リレー(継電器)の制御を理解する。
3.リレー(継電器)を使用してDCモーターをON/OFFする。
4.楽しんで遊ぶ。

 

いかがだったでしょうか。

リレーが動く、「カチッ」という音聞くことができたでしょうか?

本Lessonでは、DCモーターを使いましたがLEDなどを使用してもかまいません。

色んな電子部品をリレーでON/OFF制御してみてくだださい。

 

Lesson 27 【リレー編】 はここまで。

リレーの制御がわかれば色んな事ができそうですね。

 

疑問点、質問などありましたら気軽にコメントください。

 

次回、Arduino 入門 Lesson 28 【ステッピングモーター編】です。

Arduino 入門 Lesson 28 【ステッピングモーター編】
本記事はLesson 28 【ステッピングモーター編】です。ステッピングモーターは名前の通りモーターです。パルス電力に同期して動作するモーターのためパルスモーターとも呼ばれます。このパルスと呼ばれる電力信号がステッピングモーターの肝となりま…

これで、Arduinoで制御できる代表的なモーターを網羅することになります。

 

最後に

疑問点、質問などありましたら気軽にコメントください。

この電子部品の解説をしてほしい!などなどなんでもOKです。

リンク切れ、間違いなどあればコメントいただけると助かります。

 

Arduino入門編、番外編、お役立ち情報などなどサイトマップで記事一覧をぜひご確認ください。

 

Arduino入門編Arduino入門編2で使用しているUNOはAmazonにて購入可能です。

Arduino入門編では互換品を使用。

Arduinoはオープンソース。

複製して販売するのもライセンス的に問題なし。

 

そのため互換品の品質も悪くなく、それでいて値段は安いです。

正規品本体の値段程度で豊富な部品が多数ついています。

 

学習用、遊び用、お試し用には安価な互換品がおすすめです。

 

上記のものでも十分に多数の部品が入っていますが、最初からもっと多数の部品が入っているこちらもお勧めです。

 

Arduino入門編2では「Arduino UNO R4 Minima」「Arduino UNO R4 WIFI」にて遊ぶため今のところは正規品を使用。(まだ互換品が・・・ほぼない)

 

Amazonでお得に買う方法

Amazonでお得に購入するならAmazon MastercardAmazonギフト券がおすすめです。

時期により異なりますが、様々なキャンペーンを実施しています。

\Amazonギフト券/
Amazonギフトカード キャンペーン

Amazon Mastercard お申込み
Amazon Mastercard 申し込み 

 

いずれの場合もプライム会員である方がお得!!

\Amazon Prime 30日間の無料会員を試す/
無料会員登録 

 

 

コメント

  1. ちわ より:

    楽しく読ませていただきました。
    1点質問ですが、今回使用したリレーでは正転逆転や回転数の制御はできるのでしょうか。

    CH1がLow・CH2がHighの場合、メーク接点に引っ張るのとは逆方向の力が働き、モーターは回らない気がしています。

    また、リレーの構造上、ON/OFFの制御のみではないかと考えています。

    • ちわ より:

      質問させていただいた者です。

      上記質問の補足なのですが、
      ELEGOOチュートリアルのスケッチでは正転逆転を入れ替える内容になっており、チュートリアルがミスなのではないかと思い質問させていただいた次第です。

    • omoroya omoroya より:

      コメントありがとうございます。
      本Lessonで使用したリレーは正転逆転の動作とは関係ありません。
      そのため、「リレーで正転逆転や回転数の制御はできるか?」というのに対しては、
      リレーはただのスイッチですという回答になります。
      モーターの正転逆転や回転数の制御は、あくまでもモーターにかける電圧しだいです。
      また、Lesson27の回路は正転逆転できる回路構成になっていません。

  2. 1/2沢直樹 より:

    1週間ほど前から始めた超初心者です。
    バカな質問をするかもしれませんがよろしくお願いします。

    モーターのオンオフをコントロールするだけなら、L293Dのバッファを1つだけ使うのではダメなのでしょうか?
    つまり、 In2(6番ピン)とOut2(7番ピン)を使わず、リレーのOut2とつながっていた線を電源のマイナスにつなげるのはどうでしょうか?

    そうすればArdiunoのD3を使わずにすむので、コードの数も減らせるのではないかと思いました。

    よろしくお願いします。

タイトルとURLをコピーしました