オープンソースのCAMソフトGrblでステッピングモーターを回してみるArduinoで学ぶ基礎からのモーター制御(11)(2/3 ページ)

» 2016年10月24日 15時00分 公開
[今岡通博MONOist]

Grblに対応する回路に変更

 前回のA4988の記事で紹介した回路がほぼ使えるのですが、Grbl用にピンアサインを多少変更する必要があります。次の図(図4)はGrblのピンアサインを示した図です。図はArduino Unoの例ですが、割り当てられているピンやシンボルはArduino Nanoでも全く同じです。

図4:Arduino UnoでのGrblのピンアサインを示した図

 GrblはCNCを制御するためのものです。ですから1台のArduinoでX軸、Y軸、Z軸に対応する3基のステッピングモーターを制御できるようになっています。それぞれの軸には限界位置を検知するためのリミッタースイッチが3つ接続できるようになっています。またCNCのエンドミルを回すモーターの制御もできるようになっています。

 今回はこれらの内のX軸のステッピングモーターとして1基のみ接続して実験してみることにします。X軸のステッピングモーターを制御する信号線はD2のStep Pulse X-AxisとD5のDirection X-Axisです。これをもとに前回のA4988の記事で紹介した回路を修正します。

 次の図(図5)がGrbl用に修正を行った回路図です。

図5:Grbl用に変更したA4988の記事で紹介した回路図

 Arduinoの信号線の信号線はD2のStep Pulse X-AxisとD5のDirection X-Axisを対応するA4988に接続します。あとは前回の回路と全く同じです。

 次の図(図6)が上記回路をブレッドボードに実装した図です。

図6:Grbl用に変更した回路をブレッドボードに実装

Grblの動作確認

 それではGrblが正しく動くか確認してみます。最初はモーター側の電源はオフの状態で行います。ここではGrblの確認にはターミナルエミュレーターを使います。筆者はWindowsの環境なのでTera Termを使いましたが、それぞれの環境で使い慣れたターミナルエミュレーターをお使いください。

図7:Arduinoを仮想シリアルポートとしてターミナルエミュレーターを接続

 まずPCにUSBでArduinoを接続します。するとPCがArduinoを仮想シリアルポートとして認識します。次にターミナルエミュレーターを起動します。通信ポートはArduinoがつながっているシリアルポートを選択してください。通信速度は9600bpsを選択します。これは筆者がダウンロードしたGrblのバージョン(v8c)が9600bps対応のものだからです。もしv8c以外のファームウェアをダウンロードした場合はそれに合わせて通信速度を設定してください。またローカルエコーを行うように設定しておけば自分が打ったコマンドが確認できるので便利でしょう。

 ターミナルエミュレーターが起動し以下のような表示が出てくればArduino上のGrblは正常に動作しています。

図8:Arduino上のGrblが正常動作した時のターミナルエミュレーター表示例

 皆さんのターミナルエミュレーターに以下のように表示されているでしょうか。

Grbl 0.8c [‘$’ for help]

 Grblのバージョンが表示されてArduino上でファームエア(Grbl)が起動したことを示しています。その後に’$’を押せばヘルプが表示されると書いています。もしこの表示が出てこない場合はArduinoの基板上にあるリセットスイッチを押してみてください。それでもこのメッセージが表示されない場合は通信設定を確認してみてください。

Copyright © ITmedia, Inc. All Rights Reserved.