オープンソースのCAMソフトGrblでステッピングモーターを回してみる:Arduinoで学ぶ基礎からのモーター制御(11)(2/3 ページ)
今回は、3DプリンタやCNCで定番の制御ファームウエアとなっているオープンソース「Grbl」を使って、ステッピングモーターを制御します。
Grblに対応する回路に変更
前回のA4988の記事で紹介した回路がほぼ使えるのですが、Grbl用にピンアサインを多少変更する必要があります。次の図(図4)はGrblのピンアサインを示した図です。図はArduino Unoの例ですが、割り当てられているピンやシンボルはArduino Nanoでも全く同じです。
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用に修正を行った回路図です。
Arduinoの信号線の信号線はD2のStep Pulse X-AxisとD5のDirection X-Axisを対応するA4988に接続します。あとは前回の回路と全く同じです。
次の図(図6)が上記回路をブレッドボードに実装した図です。
Grblの動作確認
それではGrblが正しく動くか確認してみます。最初はモーター側の電源はオフの状態で行います。ここではGrblの確認にはターミナルエミュレーターを使います。筆者はWindowsの環境なのでTera Termを使いましたが、それぞれの環境で使い慣れたターミナルエミュレーターをお使いください。
まずPCにUSBでArduinoを接続します。するとPCがArduinoを仮想シリアルポートとして認識します。次にターミナルエミュレーターを起動します。通信ポートはArduinoがつながっているシリアルポートを選択してください。通信速度は9600bpsを選択します。これは筆者がダウンロードしたGrblのバージョン(v8c)が9600bps対応のものだからです。もしv8c以外のファームウェアをダウンロードした場合はそれに合わせて通信速度を設定してください。またローカルエコーを行うように設定しておけば自分が打ったコマンドが確認できるので便利でしょう。
ターミナルエミュレーターが起動し以下のような表示が出てくればArduino上のGrblは正常に動作しています。
皆さんのターミナルエミュレーターに以下のように表示されているでしょうか。
Grbl 0.8c [‘$’ for help]
Grblのバージョンが表示されてArduino上でファームエア(Grbl)が起動したことを示しています。その後に’$’を押せばヘルプが表示されると書いています。もしこの表示が出てこない場合はArduinoの基板上にあるリセットスイッチを押してみてください。それでもこのメッセージが表示されない場合は通信設定を確認してみてください。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- マイコン1つで複数モーターを操る、制御モジュール「A4988」を学ぶ
ステッピングモーターに制御用ドライバモジュールを組み合わせると、用途の幅がグッと広がります。今回は3Dプリンタなどで、バイポーラ型ステッピングモーターの制御モジュールとしてよく利用されている「A4988」の扱いを学びます。 - 定番IC「TA7291A」でバイポーラ型ステッピングモーターを駆動する
ステッピングモーターを制御する時、トランジスタで回路を組んでもよいのですが、制御用ICなどを用いる方が便利です。今回は定番IC「TA7291A」でバイポーラ型ステッピングモーターを制御します。 - バイポーラ型ステッピングモーターの制御
精密制御に欠かせないステッピングモーター。今回はバイポーラ型ステッピングモーターについて、その制御をマイコン(Arduino)から行います。 - ステッピングモーターの制御
前回までは“マブチモーター”に代表される「直流ブラシ付きモーター」を、マイコン(Arduino)で制御する方法を紹介してきました。今回からは「ステッピングモーター」の制御に取り組みます。 - PWMを使ったサーボモーターの制御
ラジコンカーのステアリングやロボットの関節などに用いられ、角度を指定して動かす機能を持つのが「サーボモーター」です。今回はArduinoからこのサーボモーターの制御をPWMを用いて行う手法を紹介します。 - PWMでマブチモーターを制御する
「マブチモーター」でもおなじみ「直流ブラシ付きモーター」は安価で入手性もよいモーターですが、マイコンからの制御を考えると一工夫必要になります。今回は「PWM」を使った回転制御を紹介します。