【Arduino入門】ロータリーエンコーダでステッピングモーターを制御する

スポンサーリンク

Arduino Elegoo MEGA2560 R3ボードとロータリーエンコーダを使用してステッピングモーターを制御してみます。

■用意したもの

・Arduinoバージョン1.8.13がインストールされているPC(Windows10)

・Elegoo MEGA2560 R3ボード、1個(https://amzn.to/2J3pzB2

・BREADBOARD(ブレットボード) MB-102、1個(https://amzn.to/33l1nky

・ブレッドボード用電源モジュール(Breadboard Power Supply)、1個(https://amzn.to/33kvhoY

・ステッピングモーター(ステッパーモーター)(Stepper motor)、1個(https://amzn.to/3l8wGVK

・ULN2003 ステッピングモーター(ステッパーモーター)ドライバーモジュール(stepper motor drivermodule)、1個(https://amzn.to/3l8wGVK

・ロータリーエンコーダモジュール(Rotary Encoder Module)、1個(https://amzn.to/366ZuJP

・ACアダプター 9V 1A、1個(https://amzn.to/2JaZHCN

・メスからオスのデュポンワイヤーリボンケーブル(Female to Male DuPont wires)、9つ(https://amzn.to/3l95yFZ

・オス – オス ジャンパー線(ジャンパーワイヤ)(M-M wires (Male to Male jumper wires))、1つ(https://amzn.to/2JhCEq5

それぞれ(ELEGOO Arduino用のMega2560スタータキット最終版)に付属しているものです。

■ロータリーエンコーダモジュールへの理解

ロータリエンコーダは、ノブの角度位置 (回転)、ノブの回転方向を決定する出力信号(電気信号)に変換する位置センサーの一種です。出力信号(電気信号)に変換し、この信号を処理して位置、速度などを検出できます。ロボット、プリンタなどに使用されています。

エンコーダ内部には、ピンがあり、各ピンがアースに接続および切断するタイミングを追跡することで、これらが信号となり、信号の変化を使用して、ノブが回転している方向を決定・判断できます。

■ブレッドボードに、ブレッドボード用電源モジュールを接続する

それでは、 MEGA2560 R3ボードとロータリーエンコーダを使用してステッピングモーターを制御してみますので、まずブレッドボードに、ブレッドボード用電源モジュールを接続します。

接続する際は、ブレッドボードに記載されている「+」と「-」が、ブレッドボード用電源モジュールに記載されている「+」と「-」がそろうように接続します。

■ブレッドボードと、ULN2003 ステッパーモータードライバーモジュールを接続する

接続後、ブレッドボードと、ULN2003 ステッピングモータードライバーモジュールを接続します。

ブレッドボードに記載されている「+」と「-」、モジュールに記載されている「+」、「-」が合わさるように接続します。

■ULN2003 ステッピングモータードライバーモジュールと、ステッパーモーターを接続する

接続後、ULN2003 ステッピングモータードライバーモジュールと、ステッピングモーター(ステッパーモーター)を接続します。

配線を間違えないようにします。

■ULN2003 ステッピングモータードライバーモジュールと、MEGA2560 R3ボードを接続する

接続後、ULN2003 ステッピングモータードライバーモジュールと、MEGA2560 R3ボードを接続します。

配線を間違えないようにします。

■ブレッドボードと、MEGA2560 R3ボードを接続する

接続後、ブレッドボードと、MEGA2560 R3ボードを接続します。

配線を間違えないようにします。

■ロータリーエンコーダモジュールと、MEGA2560 R3ボードを接続する

接続後、ロータリーエンコーダモジュールと、MEGA2560 R3ボードを接続します。

配線を間違えないようにします。

■MEGA2560 R3ボードをPC(パソコン)に接続する

接続後、MEGA2560 R3ボードをUSBケーブルを使って、PC(パソコン)に接続する。

■ブレッドボード用電源モジュールにACアダプターを取り付ける

接続後、ブレッドボード用電源モジュールにACアダプターを取り付けます。

接続すると、モジュール本体の緑色LEDが点灯します。

■コードをアップロードし、マイコンボードに書き込む

接続後、ELEGOO Arduino用のMega2560スタータキット最終版に付属したCD-ROMをパソコンで読み取ります。

CD-ROMから「日本語」をクリックする。

「code」をクリックする。

「Lesson 33 Controlling Stepper Motor With Rotary Encoder」をクリックする。

「With_Encoder」をクリックする。

「With_Encoder.ino」をクリックする。

リックすると、「Arduino」が起動し、ウインドウ内に「With_Encoder」のコードが表示されます。

このコードをMEGA2560 R3ボードに書き込んでみたいと思いますが、このままコードを書き込んでしまうとエラーになってしまうので、ライブラリを追加する必要があります。

ライブラリを追加するには、CD-ROMの「Lesson 33 Controlling Stepper Motor With Rotary Encoder」の中にある「Stepper.zip」というファイルを、コピーし、ライブラリに追加します。

ライブラリの追加に関しては、「リモート(遠隔操作)でステッピングモーターを制御する」に記載してあります。

ライブラリが追加された状態で、「Arduino」の上部にある「マイコンボードに書き込む・書込装置を使って書き込み」ボタンをクリックします。クリックする際は、接続したPC(パソコン)でMEGA2560 R3ボードが認識されているかを確認し、クリックします。

クリックすると、「ボードへの書き込みが完了しました。」と表示され、書き込みが成功しました。

書き込みが成功すると、ロータリーエンコーダモジュールのノブを回すと、ULN2003 ステッピングモーター(ステッパーモーター)ドライバーモジュールのLEDが点灯し、ステッピングモーターを制御できます。

■ロータリーエンコーダモジュールで、ステッピングモーターを制御できるのかの検証

書き込み後、ロータリーエンコーダモジュールで、ステッピングモーターを制御できるのかの検証を行いました。

検証を行いましたが、ロータリーエンコーダモジュールのノブを回転・反回転させると、それにあわせてステッピングモーターを制御できることが確認できました。

コメント

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