これまでのあらすじ:
2016年3月、フェルト生地を手で裁断している際にレーザーカッターがあれば複雑なカットが容易にできるなあと思って、安価になってきたレーザーカッターを購入しようと思ったのがきっかけ。調べていくうちに、合板も切れたほうがいいと思うようになって、CNCルーター(CNCミリング)についても考えるようになった。
Arduinoは以前から使っており、CNCシールドがあると気付いて自作も可能と思うようになった。当初はShapeOkoやX-CARVEを参考にMakerSlide、OpenRail、V-Wheel、2GTタイミングベルトなどで5万円くらいで自作しようと思っていた。AliExpressでも部品が安く買えることが分かって、しばらくは部品探し。探せば探すほど安くて本格的な部品も見つかってくるので、そんなにケチらなくてもいいのではないかと徐々にスペックアップ。最終的には剛性や精度のことも考えてボールスクリューやリニアスライドを使うことになり、予想以上に重厚な3軸CNCマシンをつくることに(約7万円)。
構想から約5週間(制作約3週間)でルーターとレーザーともに使えるようになり、現在はgrbl1.1+Arduino CNCシールドV3.5+bCNCを使用中(Macで)。余っていたBluetoothモジュールをつけてワイヤレス化。bCNCのPendant機能でスマホやタブレット上のブラウザからもワイヤレス操作可能。



CNCマシン全般について:
国内レーザー加工機と中国製レーザー加工機の比較
中国製レーザーダイオードについて
CNCミリングマシンとCNCルーターマシンいろいろ
その他:
*CNCマシンの制作記録は2016/04/10〜の投稿に書いてあります。

利用例や付加機能など:
CNCルーター関係:

2016年3月26日土曜日

GRBLソフトウェアを試してみる

追記:
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 - 1 set New cnc shield v3 engraving machine / 3D Printer / + 4pcs A4988 driver expansion board for Arduinoこれ↑なんかは(AliExpressで)、シールドとドライバ(4個)セットで624円しかしない。安い。

これでコントローラーは一応揃ってしまったので、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)

22 件のコメント:

  1. 新しく買ったUNO3R(keystudio製)+CNCシールドセットのテストをしたのですが、ドライバのインストールからだったので始めてArduinoIDEをインストールしました。
    ここを参考に行ったのですがGRBLコントローラーとbCNCでこのようなメッセージが出てコネクションできていないようなのですが”インストール”を間違っていますでしょうか。
    No data from COM port after connect. Expecting Grbl version string.(Grbl-Controller)
    connection is established with Grbl(bCNC)

    Arduinoでマイコンボードに書き込むを押せばいいのかと思ったのですが、書き込みにエラーが出ます。(以下エラー内容)
    Arduino: 1.7.11 (Windows 7), ボード:"Arduino Uno"

    スケッチが プログラムストレージ領域の 26,002バイト (80%) を使用しています。最大は 32,256バイト です。

    グローバル変数が 1,516バイト (74%) の 動的メモリを使用しており、ローカル変数に 532 バイトが残っています。最高は 2,048バイトです。

    avrdude: ser_open(): can't open device "\\.\COM7": アクセスが拒否されました。




    マイコンボードに書き込もうとしましたが、エラーが発生しました。
    このページを参考にしてください。
    http://www.arduino.cc/en/Guide/Troubleshooting#upload

    This report would have more information with
    "コンパイル中の詳細な出力を表示する"
    ファイル > 設定 で有効にする

    先日の改造(CNCシールド)以後、もともと使っていた中国の互換性のUNOに影響が出ているのか、もともと使用していたCNCシールドに戻しても一部(XYZ軸の操作が反応しない)に問題が起きてしまいました。ステッピングモーターの故障とは思えないので一度丸々変えることにしたのですが、ドライバから担ってしまいました。

    返信削除
    返信
    1. Arduino IDEに入っている他のサンプルコードを書き込むことはできるでしょうか?

      そもそも書き込み自体ができないのか、COMポートの設定が間違っているのか、それともkeystudio製のArduinoにあったドライバ(純正用のドライバではなく)が必要なのか?という感じでしょうか。

      削除
    2. 一度、ドライバーをアンインストールし、再度インストール後コードの入力に成功しました。(ポート設定などのタブ内表記が変わっていたのも気がかりですが)原因は不明です。
      それでもGrbl-controllerの接続ができませんでした。
      そこでひとつ過去にいろいろ失敗したことで3Dプリンターの時baudlateを15200にすると馬鹿の一つ覚えに毎回変えていたのですが、今回デバイスマネージャーの設定とソフトの両方を9600に下げてみました。そしたら接続できました。(先日まで使っていたのは15200で接続できました。なので使用の違いだとわかりました。)
      とりあえず1日のロスですが復帰できました。ご支援ご協力本当に感謝します。

      削除
    3. Arduinoに書き込んだのがgrbl0.9なら、Grbl-controllerと接続するときは、baudrateは152000です。grbl0.8なら9600です。
      それから、Grbl-controllerと接続するときは、Arduino IDEは一度閉じたほうがいいと思います。書き込む際に使用したポートがまだ使用中になっているかもしれないので。

      削除
    4. 0.8だとは気付きませんでした。
      現在0.9にアップグレードしました。
      アップグレードした後からスピンドルが動かなくなった(ステッピングモーターは元から動かなかった)のですがインターフェースなどで障害などが起きている可能性って有りますか。

      削除
    5. grbl0.8と0.9の違いは、以下に書いてあります。
      https://github.com/grbl/grbl/wiki/Connecting-Grbl
      ArduinoボードのD11ピンとD12ピンが入れ替わっています。
      grbl0.8ではスピンドルはon-off制御でしたが、grbl0.9からは可変制御可能です。
      なので、この違いではないでしょうか?
      ピンを入れ替えてつなぎ直せば問題ないと思います。

      削除
    6. ありがとうございます。
      それから、動きませんでした。
      しかしGRBL0.9はCNCシールドV3.0ではスピンドルはSpnEnに対応していた接続をZ+orZ-の左に変更しなければならないのは分かりました。(もちろん改造も駄目・・・)
      ですが、今までのZ+andZ-はどこに繋げれば良いのでしょう。SpnEnに繋げる事が出来るのは+かーのみなのでどちらかは諦めなければならないのでしょうか。それかスピンドルの線を繋げなかったz+かz-に繋げれば問題ないでしょうか。

      削除
    7. ごめんなさい。胸が痛いです。
      自分であれこれ苦悩し、原因がただ電源の+極のケーブルが抜けていました。
      ただのネジ固定なので今までなかったかといわれると結構あったことだったので心の中で今日まで3日くらいいろいろ書いたことを後悔しました。
      責任を感じたので最後まであきらめないでやり遂げます(すみませんでした。)
      なので動かない原因はどれでもなく(UNO、シールド、改造、ステッピングモーター、パソコン、GRBL、ArduinoIED、ノイズ、自前の運)ただ改造したときに電源の配線が緩んだことに気がつかなかっただけでした。
      本当にすみませんでした。
      まさかとは思うけどコメント欄めぐりで結末を追っていた方がいましたらすみません。あまり参考にはならないと思います。
      このたびは管理人のmirror nerrora様に知恵と精神的に助けられました。ありがとうございます。

      あまりのショックでめまいが治まらないのですが、ひとつだけ追加して教えてほしいことがあります。いろんなサイトでスピンドルがノイズで動かなくなる話を聞きます。今回GRBL0.9にアップデートしたときから動かなくなったのも関係がある気がするのですが、各所で見るスピンドルにコンデンサーをつけるのは試したほうがよさそうでしょうか。

      削除
    8. grbl0.9を使う場合、CNCシールドV3.0上のSpnEnに二つのZ軸用のリミットスイッチ(Z+とZ-に相当するスイッチ)をパラレルにつけることになります。前述したArduinoボード上のgrbl0.8と0.9のピン配列の違い(https://github.com/grbl/grbl/wiki/Connecting-Grbl)を見ると分かると思いますが、Arduinoボード上ではXYZ軸用のリミットスイッチ用の端子(Limit X-Axis*、Limit Y-Axis*、Limit Z-Axis*)はひとつずつしかありません。これらの端子がCNCシールド上でそれぞれ+と-の二つに分岐されているだけです(パラレルに接続されている)。Limit Z-Axis*だけピンの入れ替えがあるので、CNCシールドのSpnEnにZ+用のリミットスイッチとZ-用のリミットスイッチをパラレルに接続することになります。
      そして、CNCシールドV3.0上のZ+もしくはZ-のどちらかにスピンドルを接続することになりますが、grbl0.9ではSpnEnがVariable Spindle PWM(スピンドル可変制御)に変更されているので、スピンドルのドライバに可変制御用の端子(TTL端子など)がついているならば、それと接続することになります。
      もし、スピンドルがON-OFF制御しかできないものであれば、従来通りのスピンドルとの接続のままで、GコードでM03 S1000を入力すると最大速で回転するはずです。
      grbl0.9では、GコードのM03がスピンドルをオンにするコマンドで、S1000はスピードの値です。S0で0%、S500で50%、S1000で100%の回転速度になります。grbl0.9にした場合は、このコマンドを入力しないと動かないかもしれません。

      スピンドルにもコンデンサーをつけたほうがノイズ対策にはなると思いますが、いまのところ全く動かないというのは、上記が原因だと思います。

      grbl0.8とgrbl0.9では、けっこう内容が違うので、もし他に参考にされているサイトがある場合は、grbl0.8とgrbl0.9のどちらを使っているかチェックしたほうがいいと思います。

      削除
    9. grbl0.8でCNCシールドV3.0を使う場合(数年前のやり方)、grbl0.9でCNCシールドV3.0を使う場合(最新版grbl0.9と安価な中国製CNCシールドV3.0を使う場合)、grbl0.9でCNCシールドV3.1以上(最新版はV3.51)を使う場合で、それぞれ微妙に配線や設定などが異なるので、この辺りのことはいずれ新たなページにまとめておこうと思います。

      削除
    10. 遅くなりました。
      mirror nerrorさんの説明通り無事スピンドルも動かせました。
      ノイズの問題は・・・私の場合は関係ないようです。(よく分かりません)
      パラレル接続って言うのがいまいち分からないのですが、2つのコードを1本にくっつけて1つに接続するってことで良いのでしょうか?コードを半田付けする感じ。

      最後の話も本当にありがとうございます。いろんなサイトを見たとしても本当にmirrorさんちでほぼ解決できる事が凄いと感じます。
      昨日CNC用の防音設備を設計していたのですが、どのような対策をされていますか?
      今回は安く済むので石膏ボードにしました。

      削除
    11. スピンドル動いてよかったですね。
      ノイズの影響がなかったのは基板の品質が良かったのかもしれませんね。もし動かして微妙な誤作動が生じるようでしたら、コンデンサーをつけたほうが無難です。

      パラレルというのは、並列つなぎ(直列つなぎではない方)のことです。一本の線から2本の線に分岐するつなぎ方です。たぶん、理解されているイメージであっているとは思いますが。
      リミットスイッチの接続の仕方については、以下に書きましたのでご覧ください。
      http://cnc-selfbuild.blogspot.jp/2016/11/cncv30v31v351.html

      防音対策はとくにはしていませんね。確かにうるさいです。なので夜間は作業できませんね。
      マンションやアパートなどの集合住宅だと確かに防音対策は必要だと思います。
      防音もそうですが、防塵のほうも大変です。ルーターと集塵機を同時に動かすので、音は凄まじいですが、防塵のほうは集塵機があることで多少ましです。レーザーなら騒音は問題ないですが、レーザー防護ゴーグルなどは必須です。

      削除
  2. スピンドルが動いて本当に良かったです。
    基盤の品質が良かったのですかね!(2〜3個同じところのシールドを買ってもそれぞれ違うのが怖いですね。)
    このkeystudioはアマゾンで2016年版みたいな事書いてたから最新だと当時の私は良く知らずに買いました。ところがどっこいV3.0なのです。マイコンチップの形がちっさい正方形よりでっかいキットカットみたいなやつの方が高性能そうだったので選んだのですが、関係あったみたいですね。
    パラレルの接続方法も一目で分かる絵がありがたいです。これで安心して配線できます。
    そういえば、CNCシールドって右下?のXでもYでもZでもないドライバ?は何の為に有るのでしょう。
    防塵というか集塵というか、その為の対策を検討中です。
    ①スピンドルの軸にプロペラ付けて吹き飛ばす(とりあえずベッドに溜まらないで済むかもしれない)
    ②小型掃除機を防音壁内に設置し排気と吸気で空気の流れを作りどうにか吸い取る
    という方法を検討中です。
    アクリルを切削する予定なのですが、潤滑油か乳化油など何か使いますか?

    返信削除
    返信
    1. CNCシールドにはXYZ軸用のドライバをつける端子のほか、もうひとつ(4つ目)のA端子があります。A端子は、XYZのどれかのコピーになります。例えば、このブログ上で制作したCNCマシンのY軸にはモーターが2個つけてあります。ひとつはY端子、もうひとつは同じ動きになるので、YのコピーとなるA端子とつないであります。grblでは3軸までしか対応していないので、独立した4軸目として使うことはできませんが、grbl以外を使うのであれば、4軸目としても使えるようです。この内容については、以下に書いてあります。
      http://cnc-selfbuild.blogspot.jp/2016/04/cnccncdrv8825a4988.html
      集塵に関しては、以下に書いてあります。
      http://cnc-selfbuild.blogspot.jp/2016/04/cnc_98.html
      アクリル切削はまだやったことないですが、アクリルなど樹脂の場合は、刃との摩擦でアクリルが溶けてしまうことがあると思います。そうすると刃に溶けたアクリルがついてしまって、結果的に上手く切削できなくなるらしいです。なので、エアー冷却するか専用の切削油(アクリルに悪影響を与えないもの)など必要かもしれません。しかし、切削スピードの調整もある程度慣れてこないと分かりにくいかもしれませんね。遅すぎると摩擦熱ばかり発生してアクリルが溶けてしまうし、速すぎればエンドミルが折れたりするし、このあたりは何回か実験してみて、ちょうどいいスピードを探していく感じでしょうか。一応、材質、刃の回転数、刃の数などから導き出せる計算式はあるようです。
      http://makezine.jp/blog/2014/04/cnc-routing-basics-toolpaths-and-feeds-n-speeds.html

      削除
  3. とても興味深い内容です。高校生には金銭面で難しいと思っていたCNCが安く作れるのではという希望が湧いてきました。

    返信削除
    返信
    1. コメントありがとうございます。
      自作すればかなり安く作れると思います。電気系統も面倒ですが、剛性のある本体と精度あるスライド機構を作るのが難しいと思います。その部分にはお金をかけた方がいいかもしれません。

      削除
  4. CNC(Eleksmill)を組み立てました。
    このブログを指導書として、
    bCNC<-->Grblで動かそうと思っています。
    以下について、もしお判りでしたら、教えてください。

    bCNCのpluginsホルダーのpluginを
    セットする方法(使い方)について

    返信削除
    返信
    1. 例えば、どんなタイプのpluginを使いたいのでしょうか?
      画像など使うpluginは、pythonのpillowモジュールなどを別途インストールする必要があります。
      基本的には、Toolsタブに切り替えると、DrillerやFlattenなどいくつかのボタンがあるので、必要なパラメータをセットする感じです。読み込ませた部品のGコードに対して補助的な加工をする感じになると思います。
      また、Tools画面内のCAMボタンの中にもArtistic、Generatorなどあり、Bowl、Box、Gearなどあります。
      ただ、個人的にはbCNCの方ではpluginを使った加工はあまりしません。Inkscapeなどで図面を描いて、JscutなどでGコード化し、そのGコードをbCNCに読み込ませる感じで使っています。Pluginで使うとしたらTabs(部材を部分的に母材につなぎとめておく)くらいです。

      削除
    2. 早速にお返事いただき、ありがとうございます。

      pluginは、CAM ▼タブの下のGenerator▶タブの下にありました。
      (bCNCはversion:0.9.8)

      別の質問です、
      以下、なぜエラーになってしまうのでしょうか?
      %
      O001
      G00 X0.0 Y0.0 Z0.0
      G00 X10.0 Y0.0 Z0.0
      G00 X10.0 Y10.0 Z0.0
      G00 X-10.0 Y10.0 Z0.0
      G00 X-10.0 Y-8.0 Z0.0
      G00 X5.0 Y-8.0 Z0.0 <-- ここで止まってしまう
      G00 X5.0 Y0.0 Z0.0   Last error:O001
      G00 X0.0 Y0.0 Z0.0   Unsupported or invalid
      M30           g-code command
      %            found in block.

      削除
    3. 多分、値にマイナスが入っているからかもしれません。
      マイナスの場合は、G90(絶対座標)かG91(相対座標:インクリメンタル)も同時に入力すれば動くと思います。
      G00G90X-10.0Y-8.0Z0.0
      G00G90X5.0Y-8.0Z0.0
      と言う感じです。G00は最初に入力してあればモードが継続するなくてもいいと思います。

      削除
    4. この場合は、O001 を削除すると、止まらないようです。
      しかし、頭の部分で止まらないで、途中で止まるというのも、理解しにくいです。
      通信の絡みでしょうか?
      ありがとうございました。

      削除
    5. 単体でO001を入力するとエラーが出ますが、上記のGコードファイルを作ってbCNCで動かしてみたらエラーは出ませんでした。
      O001(Oコード)というのは、プログラム名らしいですが、今まで使ったことありませんね。
      Grblだと全ての種類Gコードに対応してなさそうなので、たまにエラーが出るのだと思います。
      あと、使っているG Code Senderによってもエラーが出たり出なかったりすると思います。

      削除