Arduino Elegoo MEGA2560 R3ボードとロータリーエンコーダを使用してステッピングモーターを制御してみます。, ・Arduinoバージョン1.8.13がインストールされているPC(Windows10), ・ブレッドボード用電源モジュール(Breadboard Power Supply)、1個, ・ULN2003 ステッピングモーター(ステッパーモーター)ドライバーモジュール(stepper motor drivermodule)、1個, ・ロータリーエンコーダモジュール(Rotary Encoder Module)、1個, ・メスからオスのデュポンワイヤーリボンケーブル(Female to Male DuPont wires)、9つ, ・オス – オス ジャンパー線(ジャンパーワイヤ)(M-M wires (Male to Male jumper wires))、1つ, それぞれ(ELEGOO Arduino用のMega2560スタータキット最終版)に付属しているものです。, ロータリエンコーダは、ノブの角度位置 (回転)、ノブの回転方向を決定する出力信号(電気信号)に変換する位置センサーの一種です。出力信号(電気信号)に変換し、この信号を処理して位置、速度などを検出できます。ロボット、プリンタなどに使用されています。, エンコーダ内部には、ピンがあり、各ピンがアースに接続および切断するタイミングを追跡することで、これらが信号となり、信号の変化を使用して、ノブが回転している方向を決定・判断できます。, それでは、 MEGA2560 R3ボードとロータリーエンコーダを使用してステッピングモーターを制御してみますので、まずブレッドボードに、ブレッドボード用電源モジュールを接続します。, 接続する際は、ブレッドボードに記載されている「+」と「-」が、ブレッドボード用電源モジュールに記載されている「+」と「-」がそろうように接続します。, 接続後、ブレッドボードと、ULN2003 ステッピングモータードライバーモジュールを接続します。, ブレッドボードに記載されている「+」と「-」、モジュールに記載されている「+」、「-」が合わさるように接続します。, 接続後、ULN2003 ステッピングモータードライバーモジュールと、ステッピングモーター(ステッパーモーター)を接続します。, 接続後、ULN2003 ステッピングモータードライバーモジュールと、MEGA2560 R3ボードを接続します。, 接続後、ロータリーエンコーダモジュールと、MEGA2560 R3ボードを接続します。, 接続後、MEGA2560 R3ボードをUSBケーブルを使って、PC(パソコン)に接続する。, 接続後、ELEGOO Arduino用のMega2560スタータキット最終版に付属したCD-ROMをパソコンで読み取ります。, 「Lesson 33 Controlling Stepper Motor With Rotary Encoder」をクリックする。, リックすると、「Arduino」が起動し、ウインドウ内に「With_Encoder」のコードが表示されます。, このコードをMEGA2560 R3ボードに書き込んでみたいと思いますが、このままコードを書き込んでしまうとエラーになってしまうので、ライブラリを追加する必要があります。, ライブラリを追加するには、CD-ROMの「Lesson 33 Controlling Stepper Motor With Rotary Encoder」の中にある「Stepper.zip」というファイルを、コピーし、ライブラリに追加します。, ライブラリの追加に関しては、「リモート(遠隔操作)でステッピングモーターを制御する」に記載してあります。, ライブラリが追加された状態で、「Arduino」の上部にある「マイコンボードに書き込む・書込装置を使って書き込み」ボタンをクリックします。クリックする際は、接続したPC(パソコン)でMEGA2560 R3ボードが認識されているかを確認し、クリックします。, クリックすると、「ボードへの書き込みが完了しました。」と表示され、書き込みが成功しました。, 書き込みが成功すると、ロータリーエンコーダモジュールのノブを回すと、ULN2003 ステッピングモーター(ステッパーモーター)ドライバーモジュールのLEDが点灯し、ステッピングモーターを制御できます。, 書き込み後、ロータリーエンコーダモジュールで、ステッピングモーターを制御できるのかの検証を行いました。, 検証を行いましたが、ロータリーエンコーダモジュールのノブを回転・反回転させると、それにあわせてステッピングモーターを制御できることが確認できました。, 次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。, 何事も"I'll give it a try.(やってみるよ)"という気持ちで更新してます。, 好奇心は失わず、トライ・アンド・エラー(試行錯誤)で淡々とやっていくのが目標でもあります。, 中小企業のIT化支援、課題解決、リテラシー教育、相談、サポートのお仕事募集中です。中小企業で抱える課題をプログラミングの力で解決。お問い合わせはこちら。, 中小企業のIT相談窓口「Soo_Daaan」 – 論理的思考/課題解決/プログラミング. PLC(Programmable Logic Controller)とは、機械を電気仕掛けで動すために工業製品に組み込まれる重要な部品です。 1980年頃マイコンが登場するのと ほぼ同時に日立、オムロン、三菱電機等が相次いで商品化しました。日立、オムロンではプログラマブルコントローラー 三菱ではシーケンサーと呼んでいます。, それまで電気仕掛けはリレー(電磁石に通電して、接点をON OFFする部品)を使った大きな制御盤でした。タイマー(通電してから接点がONするまでの遅れ時間を設定できる部品)やカウンター(通電の回数を設定して、設定回数に達した時接点をONする部品)などがどうしても必用になり、配線は複雑で大げさになりがちでした。, マイコンを使ったPLCはこのタイマー動作やカウント動作以外にも機械を思い通りに動かせる多くの命令語や計算が自由に設定できるもってこいのシステムです。 登場した頃のPLCはメーカー毎に使い方、プログラム方法も様々でした。しかし使用者の大半が電気計装業者で、従来からリレー制御に慣れた職人だったことからリレーシンボルを使ったプログラムが主流になりました。光洋のステージ式など現在も生き残っている物はあるようですが・・, リレーシンボル式プログラム(はしごの様な図面なのでラダー図と呼ばれます )の利点は並列に多くの入出力を扱えるところ。入力、出力は何千点接続してもきちんと動きます。特に使用しているマイコンは日進月歩 処理能力も容量も速度も格段に向上していますから最近のPLCの信頼性は申し分ありません。, PLCを使う時、あえて内部構造にまで注意する必要はありませんが、ひととおり動作原理は押さえておきましょう。三菱電機のMELSEC-Qを例に進めます。, まず、CPUユニットです。その名の通り、マイコン部分です。主なはたらきはベースユニットに差し込んだ入出力カードを読み書きする部分とメモリー部分、周辺に接続するパソコンなどと通信する部分があります。そのメモリーの一部は入力、出力カードに対応、一部がプログラムエリアです。コンピュータのデータは32ビット(64ビット)ですが、PLCのプログラムでは1ビットデータを主に扱います。つまり入力カードのONOFF信号や出力のONOFFを直接取り扱うのに適しています。, カードスロットの並んだベースユニットに電源ユニット、CPUユニット、入力ユニット出力ユニットを装着して準備完了です。, PLCは雑音、熱、ほこり、振動など、厳しい環境で10年以上休み無く安定して動き続けることが求められます。ベースユニットの差し込みコネクター等は軍用機器のようです。三菱電機がシェアを抑える理由もこのあたりにあるのでしょう。, MELSOFT GX Works2を使ってラダープログラムを作ってみます。ソフトは有料で、新しい商品が発売になる度にバージョンアップが必用になります。インターフェースがUSBやLANになったので最近はずいぶん使いやすくなりました。今回使用しているPLCは残念ながらインターフェースが232Cです。入力と出力を配線して、電源を入れ、パソコンでソフトを立ちあげ、新しいプロジェクトを新規作成。CPU機種を選択して初期設定パラメータを書き込みます。ほとんど工場出荷のままです。, PLCはラダーに書かれた命令を0からENDまで処理し、結果をメモリーに反映させます。出力情報を書き込み、入力情報をリフレッシュして再び ラダーに書かれた命令を0からENDまで処理。これをひたすら繰り返します。, この繰り返しをスキャンといいます。モニター画面に表示されている時間は1回のスキャンに要した時間。このシステムでは2.2msつまり1秒間に450回処理を繰り返しています。, それでは実際にPLCに機器を接続して動かしてみます。入力にトグルスイッチ、出力にエアーソレノイドバルブをつないでみました。, そしてソレノイドバルブにエアーシリンダを接続して動かしてみます。エアーシリンダーに付いているスイッチと光スイッチ(光電管)をX10?X15に割り当てました。, こんな動きが自動的にできたと仮定して、動きに合わせて割り当てたスイッチを検出する毎にメモリーがセットしていくラダーを書きます。, X7(自動運転)のスイッチを入れて玉が置かれるのを待ちます。X10(光スイッチ)が 玉を検出したらメモリーM10 がON します。, 動き始めて、メモリーM16 まで順番にメモリーがセットしていく間、M10は ONのままにしておきたいので X10 と並列に M10 接点を並べてあります。, M10と同時にT0(タイマー)が起動します。(クランプが開く時間)0.5秒後にシリンダーが下降し始め、 下降端X13がON したら M11を自己保持。, 動作終了までメモリーを積み上げて終了のメモリーM16がONすると M10の自己保持が切れます。そのため全部のメモリーの自己保持が切れます。, モニタ画面の接点が青くなるのがONしているメモリーです。動作が一回りしてスタート位置に戻った時 積み重ねた自己保持メモリーが一斉にOFFしています。, このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。. Copyright © 2020 中小企業のIT相談窓口「Soo_Daaan」 - 論理的思考/課題解決/プログラミング All Rights Reserved. 高速カウンタユニット QD62; 高速入力ユニット QX42-S1; 終わりに; 広告. エンコーダとは. ロータリエンコーダと言うのはクルクルと丸いつまみを回す回転式の入力装置で、ボリューム抵抗だと回っても360度で必ずどこかで止まりますが、ロータリーエンコーダは延々と無限に回り続けます。