追記:
2017年現在では、このページの内容はやや古いものとなっています(Grbl0.9以前のもの)。
現行のGrbl1.1ならびにそれに対応したG Code Senderを使用する場合は、こちらのページを参考にして下さい。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ハードのほうは、ネットで調べながらなんとなく検討はついてきました。
ソフトのほうは思っていたより簡単でArduinoがあれば何とかなりそう。
とりあえず、目をつけておいた「CNCシールド」を使おうと思っているので秋葉原で売っていないかチェック。
aitendoで中国製CNCシールドが売っていることが分かった。ネットで買ってもよかったけれども、すぐに試してみたいので店頭で購入することに。aitendoと言えば、昔は自作液晶スクリーン屋だったと思うけど、いつのまにか店も引っ越して、Arduino関係をかなり増やしていた。新店舗もすごい量の商品。全部中国製ぽいけど。まあ、安いから実験するにはいいかも。
追記:
以下のCNCシールドはV3.0(grbl0.8対応)です。最新版はCNCシールドV3.51(grbl0.9)になります。V3.0とV3.51の違い、あるいはV3.0でgrbl0.9/1.1を使う場合についてはこちらへ。
CNCシールド950円、安い。ついでに
ドライバも。
ドライバは、ネットでもっと安いのがあるけど、実験ということで3個購入。
ついでに、Arduino UNOも買っておこうと
秋月へ。Arduinoも中国製のクローンでもいいかもしれないけれど、一応純正品を。ArduinoはDiemilanove以後買っていないし、そのDiemilanoveも壊れてしまったので、交換用ATMEGA328も1個購入。
AliExpress.com Product - Free shipping! New cnc shield v3 engraving machine / 3D Printer / + 4pcs A4988 driver expansion board これ↑なんかは(AliExpressで)、シールドとドライバ(4個)セットで456円しかしない。安い。
アマゾンでも売っていて、送料込みで670円(以下)。
これでコントローラーは一応揃ってしまったので、Arduino Unoに
CNC libraryを入れてみることに。
手順(旧型Grbl v0.8):*v0.8は古いので、v0.9あるいはv1.1の場合はここをスキップ
https://github.com/Protoneer/GRBL-Arduino-Library
にアクセスし、画面下のほうにある「How to install it:」から、
https://github.com/Protoneer/GRBL-Arduino-Library/archive/master.zip
このzipファイルをダウンロード。おそらく自動解凍するので、
「GRBL-Arduino-Library-master」というフォルダが出来上がる。
フォルダ名を「GRBL」に改名し、Arduinoのlibrariesフォルダへ入れる。Macなら、
/Users/username/Documents/Arduino/libraries
の中へ入れるだけ。
あとはArduinoソフトを起動して、
「Arduinoメニューバー>ファイル>スケッチの例>カスタムライブラリのスケッチの例>GRBL>GRBLtoArduino」を読み込む。
以下の画面が出て来て、
あとはArduinoボードをUSB接続しアップロード(ツール>マイコンボードでArduinoボードの種類、ツール>シリアルポートも正しく選択しておくように)。
これでArduino側は終了。Arduinoボードは、ゆくゆくはCNCマシンのステッピングモーターを動かすために、マシン本体へ取り付けられることになる。
Grbl v0.9の場合:(追記:最新版grbl1.1についてはこちら)
上記はGrbl v0.8だったけど、v0.9をインストールすることに。
*Grbl v0.8をインストール済みの場合は、Grbl v0.8を消去してからインストール
つまり、「/Users/username/Documents/Arduino/libraries」内の「GRBL」フォルダを捨てる
このページ(grbl本家wiki)を見ると、Arduino IDEを立ち上げてから、インポートする方法が載っている。
・まず
このサイトの画面右側の「Download ZIP」をクリック。
・そうすると「grbl-master.zip」がダウンロードされる。
・「grbl-master.zip」をダブルクリックして解凍する。
・解凍すると「grbl-master」フォルダができあがる。
・Arduino IDEを立ち上げる。
・「Arduinoメニューバー>スケッチ>ライブラリをインクルード>.ZIP形式のライブラリをインクルード...」を選択。
・そうするとファイル選択のウィンドウが出るので、先ほど解凍したフォルダのほう「grbl-master>grbl」を選択。
・インクルードされたら、「Arduinoメニューバー>ファイル>スケッチの例>カスタムライブラリのスケッチの例>grbl>grblUpload」を選択。
現れた画面↑上で、「検証」、「マイコンへ書き込む」でArduinoボードへアップロード。
以上。
Arduino IDEでArduinoボードにアップロードされたgrbl0.9jを確認する:
CNCシールドを装着したArduinoボードをパソコンとUSB接続し、Arduino IDEを立ち上げて、メニューバーの「ツール>マイコンボード」から使用しているArduinoボードのタイプ(Arduino UnoならArduino/Genuino Uno)を選択。続いて「ツール>シリアルポート」からArduinoボードのシリアルポートを選択。
Arduino IDEの画面右上にあるシリアルモニタボタンをクリックする(以下)。
そうすると、シリアル通信用の画面が出てきます(以下)。
この画面↑右下にあるbaudrateをgrbl0.9以上なら115200 bps(grbl0.8なら9600)にしておきます。
最初に接続すると、上画像にのように「Grbl 0.9j ['$' for help]」と出てきます。ここでArduinoにアップロードされたgrblのバージョンが0.9jであることが確認できます。
続いて、コマンド入力欄に$$(設定内容確認コマンド)を入力し(以下)、
そして、右上の「送信」ボタン↑を押すと、
このような↑、現在のArduinoボード内にアップロードされたgrblの各種設定がでてきます。
それぞれの設定内容(grbl0.9)については、
grblのサイトに書いてあります。
例えば、ここで各種設定の下から3行目にある$130=500.000に対して、
$130=300
を入力するとX軸の移動範囲を300mmに設定し直すことができます。
再度、$$を入力し設定内容を確認すれば、
このように↑設定内容の下から3行目にある$130の項目は、
$130=300.000
に変更されたことが確認できます。
このような設定は後々使うG Code Sender(GRBL Controller、Universal G-Code Sender、bCNCなど)で行えばいいのですが、一応Arduino IDEのシリアルモニタ機能でも可能なので、動作確認のために試してみるといいでしょう。
GRBL Controller:
つぎに、CNCマシン(Arduinoボード)をMac上で操作する「
GRBL Controller3.6.1」ソフトをダウンロード。「
GRBL Controller3.6.1-T4」というのもあるみたい。Win用は
こちらから。
このソフトで何をするかというと、
・CNCマシンの各種パラメータ(移動距離、移動スピードなど)の設定
・左右前後上下ボタン(ジョグボタン)でヘッドを材料の位置へ移動したり(加工原点設定)
・このソフトとは別にあらかじめ用意しておいたGコードファイルを読み込んでCNCマシンへ送信し加工開始
という感じ。Gコードを送信するためのソフト(G Code Sender)であって、このソフトでGコードを生成するわけではない。Gコード生成(G Code Generator)などほかのソフトについては
こちらへ。
追記:
その後、Gコードを送信するソフト(G Code Sender)をいくつか試してみましたが、個人的にはGRBL ControllerではなくbCNCというのが便利で使っています。
あとはステッピングモータードライバ(A4988)をのせたCNCシールドをArduinoボードに装着し、MacとUSB接続、GRBL Controller3.6.1を立ち上げる。
GRBL Controller3.6.1の画面はこんな感じ↑。Grbl v0.8ならBaudRateは9600。v0.9なら115200。
CNCシールド(Arduino)とUSB接続後、Port name、Baudrateを選び、Openボタンで開始。
画面右のほうに3つのタブがあり、Advancedタブを押すと、
こんな画面↑が現れて、GRBL Settingsボタンを押すと各種設定ができそう。
そうすると、こんな設定画面↑が現れて、下から3行目にあるX軸の最大移動範囲(x max travel, mm)に400.000を入力(設定)してみる。数値を入れたらリターンを押してから、下のApplyボタンを押す。しかし、、、
> $28=400.000
error: Invalid statement
というエラーが出てしまう。どうやら、他の項目も同じようにエラーがでるようで、このソフト自体にエラーがありそう。$130=400.000のはずなのに、なぜか$28=400.000と認識しているようで、そのためにエラーがでているみたい。対応する項目がずれているのかもしれません。
なので、画面左にあるCommand欄に手動で、以下のように$130=400を入力しリターン。
そうすると、コンソールには
> $130=400
と出て来て、設定されたはず。ちなみに、先ほどのAdvanced>GRBL Settingsを押してみると、
こんな感じで↑、下から3行目には400.000がきちんと設定されています。どうも、このGrbl Settings画面で入力するとエラーが出るようなので、Commandから手入力したほうがよさそうです。このような理由からも、このソフトは使わなくなりました。
以下は、GRBL Controller3.6.1-T4(こちらはエラーでなさそうです)
GRBL Controller3.6.1-T4の画面はこんな感じ↑。なんか3Dの画面がついてる。
まとめ:
・Arduinoボードへアップロードするプログラム/ライブラリ(Grbl v0.8またはv0.9)
・Mac上で操作するアプリのインストール(Grbl Controller 3.6.1-T4がおすすめ)
の二つが必要。
そして、
・Grbl v0.8の場合はGrbl Controller上のBaudRateを9600
・Grbl v0.9の場合はGrbl Controller上のBaudRateを115200
にする必要がある。
*Grbl Controller 3.6.1のほうは、なぜかエラーがでるので、使うならGrbl Controller 3.6.1-T4のほうがよさげ、機能も豊富だし改善されているようです。
おそらく、Arduino経由でCNCマシンを検索すると(特に日本語で)、CNCシールドやGrbl Controllerに行き着くと思うのですが、Grblで調べると(
Grbl Wikiなどから)、Universal G-Code SenderやbCNCというソフトに辿り着くと思います。個人的には、どちらかというとUniversal G-Code SenderやbCNCのほうが使いやすいと思います。
追記:
2017年以降であれば、最新版Grbl1.1を使ったほうがいいと思います。おそらくGRBL Controller3.6.1は、数年前のGrbl0.8用という感じなので(使えないというわけでもないのですが)、Grbl1.1に対応した新しいソフトのほうがいいかもしれません。Grbl1.1についてはこちらへ。
「Grbl v0.9 + GrblController3.6.1-T4」 の場合
上記のようにGrbl v0.9をアップロードしたArduino UNOをMacにUSB接続し、GrblController3.6.1-T4をMac上で立ち上げてみました。まだステッピングモーターは未接続。
GrblController3.6.1-T4の画面左上の
・「Port name」でArduinoのポートを選択
・「Baud Rate」で115200を選択
・画面左上「Open」ボタンをクリック
そうすると以下のような画面。
Openボタンで開始したら、Grbl Settingsボタンで各種設定ができます(こちらはエラーでません)。なので、こっちのほうがいいかもしれません。
よくみると「Spindle On」だけでなく「Speed spindle」もついています。TTLドライバ付きのレーザーモジュールならレーザー出力調整できそうです。この機能を生かすには「
CNC Shield V3.10」にしたほうがよさそう。先日aitendoで買った中国製の「
CNC Shield V3.0」だとgrbl0.8対応なので端子がON/OFF制御になっている(追記:grbl0.9ではピン配列が少し変わったので、それにあわせて接続を入れ替えればV3.0でも使えるようです)。まあ、そのへんは後々バージョンアップしようと思います。
とりあえず、ソフトのほうはなんとかなりそうです。ということで、またハードの検討に戻ります。
関連:
CNC関連のソフト(まとめ):GrblController以外にも使いやすいソフトはあります。
CNCシールドV3.0とV3.1以上の違いについて:(最新版はV3.51)