Arduino Elegoo MEGA2560 R3ボードとリレーモジュールを使用して小型DCモーターを制御してみます。
■用意したもの
・Arduinoバージョン1.8.13がインストールされているPC(Windows10)
・Elegoo MEGA2560 R3ボード、1個
・BREADBOARD(ブレットボード) MB-102、1個
・ブレッドボード用電源モジュール(Breadboard Power Supply)、1個
・5V リレーモジュール、1個
・モータードライバー IC(L293D)、1個
「74hc595 IC(シフトレジスタ)」と混同しないように注意してください。
・DCモーター、ファン・ブレード。各1個。
・ACアダプター 9V 1A、1個
・オス – オス ジャンパー線(ジャンパーワイヤ)(M-M wires (Male to Male jumper wires))、8つ
それぞれ(ELEGOO Arduino用のMega2560スタータキット最終版)に付属しているものです。
■リレーモジュールへの理解
リレーモジュールは、より大きな電流を制御できる比較的小さな電流で作動する電気的に操作されるスイッチ。 多くのリレーは電磁石を使用してスイッチを動作しますが、他の動作原理も可動接点部分がないリレー(無接点リレー)のように使用されます。
リレーモジュールは、低電力信号によって回路を制御する必要がある場合、または複数の回路を 1 つの信号で制御する必要がある場合に使用されます。
なお、電気モーター、または他の負荷を直接制御するのに必要な高出力に対応できるタイプのリレーは「コンタクタ」と呼ばれています。
■ブレッドボードに、ブレッドボード用電源モジュールを接続する
それでは、MEGA2560 R3ボードとリレーモジュールを使用して小型DCモーターを制御してみますので、まずブレッドボードに、ブレッドボード用電源モジュールを接続します。
接続する際は、ブレッドボードに記載されている「+」と「-」が、ブレッドボード用電源モジュールに記載されている「+」と「-」がそろうように接続します。
■DCモーター、L293D IC、リレーモジュール、ジャンパー線をブレッドボードに接続する
接続後、DCモーター、L293D IC、リレーモジュール、ジャンパー線をブレッドボードに接続します。
リレーモジュールのピンは、ブレッドボードに差し込みにくいので、ペンチで軽くピンを曲げると差し込みやすくなります。
DCモーターの線、ジャンパー線の配線を間違えないようにします。
■ブレッドボードとMEGA2560 R3ボードをジャンパー線で接続する
接続後、ブレッドボードとMEGA2560 R3ボードをジャンパー線で接続します。
配線を間違えないようにします。
■MEGA2560 R3ボードをPC(パソコン)に接続する
接続後、MEGA2560 R3ボードをUSBケーブルを使って、PC(パソコン)に接続する。
■ブレッドボード用電源モジュールにACアダプターを取り付ける
接続後、ブレッドボード用電源モジュールにACアダプターを取り付けます。
接続すると、モジュール本体の緑色LEDが点灯します。
■コードをアップロードし、マイコンボードに書き込む
接続後、ELEGOO Arduino用のMega2560スタータキット最終版に付属したCD-ROMをパソコンで読み取ります。
CD-ROMから「日本語」をクリックする。
「code」をクリックする。
「Lesson 30 Relay」をクリックする。
「Relay」をクリックする。
「Relay.ino」をクリックする。
クリックすると、「Arduino」が起動し、ウインドウ内に「Relay」のコードが表示されます。
このコードをMEGA2560 R3ボードに書き込みます。
書き込む際は、「Arduino」の上部にある「マイコンボードに書き込む・書込装置を使って書き込み」ボタンをクリックします。クリックする際は、接続したPC(パソコン)でMEGA2560 R3ボードが認識されているかを確認し、クリックします。
クリックすると、「ボードへの書き込みが完了しました。」と表示され、書き込みが成功しました。
書き込みは成功したが、小型DCモーターが動かない
書き込み後は成功しましたが、小型DCモーターが動きませんでした。配線を変更したりしてみましたが、動きません。
解決方法を探るため、海外のArduino討論場「Arduino Forum(https://forum.arduino.cc/)」に、英語は堪能ではないですが、翻訳ツールを駆使して、この問題を投稿してみました。
投稿後、Arduino Forumに登録しているユーザーから返答がありました。
翻訳があっているかどうかわかりませんが、そもそもDCモーターを「ON/OFFできるリレー・モジュール」と、さらにDCモーターを「ON/OFFできるL293D IC」の2つを今回使っているわけで、なぜ「2つのON/OFFできるもの」を使っているのかと質問される。確かにそうだなと思いました。
なので、このLessonは行う意味があるのかと、個人的には思いました。海外のArduino討論場には、ELEGOO ArduinoスターターキットのLesson30「relay」でモーターがうまく実行されないといったトラブルを投稿しているユーザーもいました(https://forum.arduino.cc/index.php?topic=568301.0)。
また、リレー・モジュールは、Arduino出力で動かないので、リレー用のドライバーが必要になるとのこと。(MOSFET、バイポーラトランジスタ・リレードライバー)
今回、海外のArduino討論場に投稿してわかったことがあるので、今後リレーモジュールでDCモーターを操作してみたいと思います。現状は勉強不足なので、リレーモジュールでDCモーターを操作した記事は、いずれ公開したいと思います。
コメント