【XYペンプロッター制作④】Grbl v0.9とCNCjsのインストール

こんなこと、やります。

  • Grbl v0.9をArduinoに書き込む
  • CNCjsをmacOSへインストールする
  • CNCjsでX軸のステッピングモータを動かしてみる

【XYペンプロッター制作】Grbl v0.9とCNCjsのインストール
【XYペンプロッター制作】Grbl v0.9とCNCjsのインストール

つかうもの

本記事で使うものをご紹介します。

ステッピングモータ

他にも色々なステッピングモータがありますが、二層のバイポーラ型ステッピングモータを選んでください。また、ステッピングモータのリード線は4本になります。 Raspberry Piでステッピングモータの制御 の記事で使用した SM-42BYG011 でも動作可能です。

CNCシールド

今回はArduino Unoに取り付けられる、こちらのCNCシールドV3.00を使用しました。

ステッピングモータ用ドライバ

ステッピングモータ用のモータドライバ4988です。CNCシールドとセットで使ってください。

12V電源

ステッピングモータを動かすために、12Vの外部電源が必要になります。複数のステッピングモータを使う場合は、電源のワット数に注意してください。たとえば、12Vで2A消費するステッピングモータを4個使うなら、96W(12Vx2Ax4)以上の電力が必要になります。

Arduino Uno

Arduino Uno Rev3を使用しました。ELEGOOなどのArduino Uno互換品でも動作します。

ただし、今回使用するCNCシールドがArduino Unoのために作られてますので、ほかのArduinoですと配線の工夫が必要になります。ご注意ください。

Arduinoをお持ちでないようでしたら おすすめArduinoどれを選べばいい?Arduinoで電子工作をはじめる方へ をご覧ください。

Grbl v0.9をArduinoに書き込むまで

Grbl v0.8を使う場合は、こちらの記事をご覧ください。

ここではGrbl v0.9をダウンロードし、Arduinoに書き込むまでを解説します。

Grbl v0.9ライブラリのインストール

こちらのページから、Grbl v0.9のzipファイルをダウンロードします。 GitHub - grbl/grbl: An open source, embedded, high performance g-code-parser and CNC milling controller written in optimized C that will run on a straight Arduino

grblのzipファイルダウンロード
grblのzipファイルダウンロード

ダウンロードしたzipファイルを解凍します。解凍された「grbl-master」の中にある「grbl」というフォルダだけを、Arduinoのlibrariesディレクトリへ移動させます。

grblフォルダをlibrariesディレクトリへ移動
grblフォルダをlibrariesディレクトリへ移動

ちなみに、Arduinoのlibrariesディレクトリの場所は、Arduino IDEのメニューの「Arduino」→「Preferences...」→「Sketchbook location:」に記載されているパス下にあります。

Sketchbook location
Sketchbook location

Arduino IDEを再起動し、「Sketch」→「Include Library」→「grbl」が追加されていればOKです。

grblがライブラリに追加された
grblがライブラリに追加された

config.hの変更

今回のプロジェクトはXYプロッターです。よって、Z軸は使いません。 デフォルトでは、ホーミング(機械原点復帰)する際に、Z軸もゼロ点合わせしようとするため困ったことになります。 Z軸を使わない場合は、先ほどのgrblフォルダの中にあるconfig.hをエディタで次の編集します。

config.hの編集
config.hの編集

cpp
#define HOMING_CYCLE_0 ((1<<X_AXIS)|(1<<Y_AXIS))  // ←追記する
// #define HOMING_CYCLE_0 (1<<Z_AXIS)                // ←コメントアウトする
// #define HOMING_CYCLE_1 ((1<<X_AXIS)|(1<<Y_AXIS))  // ←コメントアウトする

もちろんZ軸を使う場合は、この編集作業をおこなう必要はありません。

GrblをArduino Unoへ書き込む

さいごに、GrblライブラリをArduino Unoへ書き込みます。 Arduino IDEのメニューから「File」→「Examples」→「grbl」→「grblUpload」を開きます。

パソコンとArduinoをUSBで繋ぎ、スケッチをそのままArduinoにアップロードすれば完了です。

grblUploadスケッチを書き込む
grblUploadスケッチを書き込む

これでArduinoをGコードで動くCNCマシンにすることができました。CNCシールドの配線などは 【XYペンプロッター制作①】CNCシールドでステッピングモータを動かすまで をご覧ください。 ArduinoへGコードを送信したりするためには、パソコンにアプリケーションを入れる必要があります。これまでは、GRBLコントローラというソフトを使ってきましたが、少し古くて使いづらいので定評のあるCNCjsをmacOSにインストールします。

CNCシールドV3.00をGrbl v0.9で使う場合の注意

ここでひとつ、CNCシールドV3.00をGrbl v0.9で使う場合の注意点があります。Grbl v0.8では問題なかったのですが、Grbl v0.9では画像のように一部端子の割当が変わってます。

端子の割当が入れ替わっている
端子の割当が入れ替わっている
Grbl v0.9では、スピンドルがPWM制御により可変可能になったので、ArduinoボードD11に割り当てられました。また、リミットスイッチのZ軸がD12ピンに割り当てられてます。CNCシールドV3.00でGrbl v0.9をインストールした場合は、スピンドルやZ軸の端子にご注意ください。

CNCjsのインストール

ここからは、CNCjsをmacOSへインストールします。

▼ こちらのページからmacOS用のdmgファイルをダウンロードします。 Releases · cncjs/cncjs · GitHub

cncjs-app-1.9.23-macos.x64.dmgのダウンロード
cncjs-app-1.9.23-macos.x64.dmgのダウンロード

ダウンロードしたdmgファイルをクリックして、アプリケーションを移動しインストールします。

アプリケーションのインストール
アプリケーションのインストール

とりあえずCNCjsを使ってみよう

それではさっそく、CNCjsを使ってみましょう。

Grblに接続する

CNCjsを起動すると、インターフェースの美しさに感動します。(GRBLコントローラとはエライ違いです!)

CNCjsでボードに接続
CNCjsでボードに接続

ArduinoとパソコンをUSBケーブルで繋ぎ、左上の「Port」でインタフェースを選択します。ここはArduino IDEと同じですね。Grbl v0.9の場合、Baud rateは115200のままでOKですが、Grbl v0.8の場合は9600に設定してください。

つぎに「Open」ボタンを押して、Arduinoと接続します。すると、Consoleウィンドウにバージョン情報や初期設定値が表示されるはずです。

X軸を動かしてみよう

CNCシールドのX軸にステッピングモータを取り付けた状態で、たとえば次のコマンドを実行してみましょう。

G01 X100 F100

Alarm lockの解除
Alarm lockの解除

画像のように「error: Alarm lock」が表示されてコマンド実行できない場合は、$Xを入力してアラームロックを解除してあげます。その後、ふたたび先ほどのコマンドを入力してみてください。X軸のステッピングモータが回転するはずです。

とりあえず今回は簡単な操作のみで終わります。次回は、リミットスイッチを取り付けてホーミング(機械原点復帰)に挑戦です。ぜひ続きをご覧ください。

関連記事

最後までご覧いただきありがとうございます!

▼ 記事に関するご質問やお仕事のご相談は以下よりお願いいたします。
お問い合わせフォーム

いろいろなCNCマシン
いろいろなArduino
Arduinoのオススメ参考書

▼ Arduino初心者向きの内容です。ほかのArduino書籍と比べて図や説明がとてもていねいで読みやすいです。Arduinoでひととおりのセンサーが扱えるようになります。

▼ 外国人が書いた本を翻訳したものです。この手の書籍は、目からうろこな発見をすることが多いです。

▼ Arduinoの入門書をすでに読んでいる方で、次のステップを目指したい人向きの本です。C言語のプログラミングの内容が中心です。ESP32だけでなく、ふつうのArduinoにも役立つ内容でした。

関連記事