CNCマシン制作の構想段階当初から、Macで使えるオープンソースのCNC関連のソフトをいろいろ探しています。数年前の流行が一段落したせいか、一見よさそうだけど開発が止まっているもの、便利そうだけどバグがあったりとなかなか見極めが難しそう。Macなので数はかなり限定されるのですが、いままで見て来たソフトのリスト。
Mac利用者からの見ての使いやすさで★〜★★★つけてます。初心者向けという感じで、必ずしも高機能がいいというわけではなく。すぐに使えるかどうかという基準で。それと今後の開発も期待できるかどうか。Linux系はMacでも使えることがあるけど、インストールが面倒だったり、Mac特有のバグがあったりするのであまり触っていません。Raspberry Piにインストールして使えば便利そう。
主には以下の5種類。
・2Dドローイングソフト:
svg、dxfなどのフォーマットで出力できるもの
・Inkscape:★★★
イラストレータの代用(イラストレータのショートカットキーに変換可)。
Extension(Plug-in)との組み合わせで充分使える。
スナップ機能も細かく設定できるのでCADのように製図できる。
Forumも充実しているし、2Dやレーザー加工はこれがメインで大体大丈夫だと思う。
オフカット(Outset/Inset)機能でルーター加工パスもつくれる(使用例)。
・3Dモデリングソフト:
stlなどの3Dフォーマットで出力できるもの
・Fusion360:★★★
3Dモデリング操作しやすい。
無料版が最低1年間は使える。その後また更新?
Gコードも生成可能。
クラウドベースなので共同作業がやりやすい。
・Blender:★★☆
操作方法が独特で慣れるまで大変だけど、基本的に何でも作れる。
Add-on(プラグイン)も豊富にある(シリアル通信なども可能)。
BlendercamでGコード生成可能。
・SketchUp:★★★
操作が直感的で扱いやすい。
プラグイン「Export DXF or STL」をインストールすると便利。
プラグイン「SketchUcam」をインストールすればGコード生成も可能。
・CAM/G Code Generator:
図面データ(2Dデータ:svg、dxfなど、3Dデータ:stlなど)をGコードに変換してくれる
・Fusion360:★★★(使用例)
3DモデリングしながらGコードも生成できる。3Dプリンターにもいいかも。
商用ソフトでもあるので、かなり本格的(設定などが細かい)。
レーザー加工用の機能がないのがちょっと残念。3D加工向きかも。
・Blendercam:★★★(使用例)
Blenderと組み合わせて使えば便利。
様々な3Dデータを読み込むことができるので、Gコード生成用としても使える。
3D切削加工はほぼ可能。
・gcodetools(Inkscape Extension):★★☆(使用例)
やや開発が停滞しているようだけど、基本的なGコードは生成可能。
最初は使い方に違和感を感じるけど慣れれば簡単。
・Laser Tool Plug-in(Inkscape Extension):★★★(使用例)
レーザー加工するならこのInkscapeとこのプラグインで簡単に設定できる。
操作/設定がシンプルで使いやすい。
・Laserweb3/Laserweb4:★★★(使用例)
ブラウザ上のレーザー用アプリ。Laserweb4は単体アプリ化。
Gコード生成とGコード送信もこれ一つで出来るので便利。
・Jscut:★★★(使用例)
Webベースなのでブラウザ上で作業が可能。
シンプルで使いやすい。オフカットなどのパスも生成可能。
他のWebベースのGコードセンダーと組み合わせて使うと遠隔操作可能なので便利。
・PyCAM:★☆☆
インストールが面倒、Macにはバグもあったり、しばらくは改善されなさそう。
・SketchUcam:★★★
SketchUpのプラグイン。
SketchUpと合わせて使うと便利。
・G Code Sender/Controller:
Gコードを読み込んでCNCマシンへ送信したり手動入力制御したりするPC上のアプリ
・Universal-G-Code-Sender:★★☆
シンプルなので最初は使いやすいかも。
grblとの相性がいいのかも。
JavaベースなのでMacも充分使える。
開発中の新バージョンに期待したいけどいつになるのか?
・GrblController:★☆☆
数年前までは使っている人もいたみたい。開発が止まっていそうで、今後あまり期待できない。
基本的なことはできるけど、他に比べるとやはりいまいち。
・bCNC:★★★(bCNCを使ってみたときの記事はこちらへ)
操作も比較的シンプル。
dxf読み込み可能、基本的なCAM機能もある。
Autolevel機能もあるので基板制作にも向いている。
Pendant機能でWeb上からスマホなどで遠隔操作可能。
・LaserWeb/LaserWeb2/LaserWeb3/LaserWeb4:★★★
ブラウザ上の操作はシンプル。svg、dxf対応。Jscutと組み合わせると便利。
Webベースなので遠隔操作可能(最近はWebベースが主流かも)。
ブラウザ上でstlファイルを読み込むことができる。
まだまだ開発が継続されているので今後も期待ができる。
・cheton/cnc:★★☆
これもWebベースでつかいやすそう。
Webカメラでの監視、320x240 LCDディスプレイ対応の操作画面もある。
Raspberry Piを用いて操作などすると便利そう。
今でも頻繁に開発が進んでいそう。
・GRBLWeb:★★☆
こちらもWebベースでRaspberry Piにインストールしてホストとして使うのかも。
・Easel:★★☆
X-CARVEやShapeoko(1or2)用のWebベース、CAD+CAM+GrblControllerソフト。
X-CARVEやShapeoko(1or2)用だけれども使うことはできる。
ただ、Machine選択でX-CARVE/Shapeoko(1or2)/Carveyしかないから戸惑うが、ウィンドウ下のAdvanced>> に進み、Advanced SettingsでMachine Inspectorを使えば大丈夫。
細かい設定はないけれどもオールインワンなのですぐに使うにはいいかも。
ステップバイステップで設定が誘導されるので初心者にはわかりやすい。
・Mach3:☆☆☆
MacなのでMach3とは無縁。
・G Code Interpreter:
CNCマシンのマイコン(Arduinoなど)上のファームウェア
Gコードからモーター制御してくれる
・Grbl v1.1:★★★(Grbl v0.9やv0.8はこちら)
Arduino Uno用。3軸制御まで。
・Grbl-Mega:
Arduino Mega2560用。
以下のフォークされたバージョンでは4軸制御や3Dプリンター制御など可能。
https://github.com/bdurbrow/grbl-Mega
https://github.com/fschill/grbl-Mega
https://github.com/HuubBuis/grbl-L-Mega
https://github.com/fra589/grbl-Mega-5X
・GrblESP(ESP8266用Grbl)
SPI通信により最大8軸。Wifi操作可能。
・Grbl_ESP32(ESP32用Grbl)
基本3軸制御? Wifi/Bluetooth操作可能。
・Android対応ArduinoMega2560専用6軸ファームウェア。
【EU Free VAT】CNC Part 4th Fourth A axis Rotary axis Dividing head K11-65mm 3 Jaw Manual Chuck with TailstockOriginal price: USD 233.37Now: USD 172.70
基本的にはG Code InterpreterはGrblを使用。
2D加工するなら、Inkscape+Extension(gcodetoolやLaser Tool Plug-in)でGコードファイルを生成する。あるいは、InkscapeのsvgファイルをJscutで読み込んでGコードファイルとして出力。
特に2Dのレーザー加工の場合は、Inkscape+Laser Tool Plug-inで充分だと思う。
Gコードファイルを読み込んで実行するソフトは、Universal-G-Code-Senderがシンプルでわかりやすいかも。現在は、bCNCが便利なので(慣れたので)使っていますが。
3Dの場合は、モデリングは何のソフトでも構わないと思う。Sketchupなど使いやすいと思うソフトで。その3DデータをFusion360かBlendercamでGコードを生成する感じになると思う。
この際、Linuxにしてもいいのかもしれないけれど、手間暇かかるのでそこまではしないつもり。Macの環境でもそこそこつくりたい物はつくれそうだし、とりあえずあるものを利用するだけでも充分だと思う。
ただ今後はRaspberry Pi3を使い、wifi経由でWebベースのLaserWeb2、cheton/cnc、Jscutを使うのがよさそう。遠隔操作やカメラ監視なども可能になるし、ワイヤレスでどこででも作業が出来るというのがいい。スマホやタブレットで操作もできるようになるので。
個人的には、LaserWeb2に期待したい感じ。現在はstlを読み込めるけど、スケール変換などがまだできない。今後のロードマップを見ると、3Dにも力入れようとしているし、まだまだ発展しそう。以下のような画面。
追記:
普段は、G Code SenderとしてbCNCをつかっていますが、bCNCにはPendantという機能(ネットワークを使ってWeb上で操作する)があり、先ほどつかってみたらタブレット(ブラウザ上から)でリモートコントロールできました。
関連:
G Code Sender(bCNCなど)
Mac利用者からの見ての使いやすさで★〜★★★つけてます。初心者向けという感じで、必ずしも高機能がいいというわけではなく。すぐに使えるかどうかという基準で。それと今後の開発も期待できるかどうか。Linux系はMacでも使えることがあるけど、インストールが面倒だったり、Mac特有のバグがあったりするのであまり触っていません。Raspberry Piにインストールして使えば便利そう。
主には以下の5種類。
・2Dドローイングソフト:
svg、dxfなどのフォーマットで出力できるもの
・Inkscape:★★★
イラストレータの代用(イラストレータのショートカットキーに変換可)。
Extension(Plug-in)との組み合わせで充分使える。
スナップ機能も細かく設定できるのでCADのように製図できる。
Forumも充実しているし、2Dやレーザー加工はこれがメインで大体大丈夫だと思う。
オフカット(Outset/Inset)機能でルーター加工パスもつくれる(使用例)。
・3Dモデリングソフト:
stlなどの3Dフォーマットで出力できるもの
・Fusion360:★★★
3Dモデリング操作しやすい。
無料版が最低1年間は使える。その後また更新?
Gコードも生成可能。
クラウドベースなので共同作業がやりやすい。
・Blender:★★☆
操作方法が独特で慣れるまで大変だけど、基本的に何でも作れる。
Add-on(プラグイン)も豊富にある(シリアル通信なども可能)。
BlendercamでGコード生成可能。
・SketchUp:★★★
操作が直感的で扱いやすい。
プラグイン「Export DXF or STL」をインストールすると便利。
プラグイン「SketchUcam」をインストールすればGコード生成も可能。
・CAM/G Code Generator:
図面データ(2Dデータ:svg、dxfなど、3Dデータ:stlなど)をGコードに変換してくれる
・Fusion360:★★★(使用例)
3DモデリングしながらGコードも生成できる。3Dプリンターにもいいかも。
商用ソフトでもあるので、かなり本格的(設定などが細かい)。
レーザー加工用の機能がないのがちょっと残念。3D加工向きかも。
・Blendercam:★★★(使用例)
Blenderと組み合わせて使えば便利。
様々な3Dデータを読み込むことができるので、Gコード生成用としても使える。
3D切削加工はほぼ可能。
・gcodetools(Inkscape Extension):★★☆(使用例)
やや開発が停滞しているようだけど、基本的なGコードは生成可能。
最初は使い方に違和感を感じるけど慣れれば簡単。
・Laser Tool Plug-in(Inkscape Extension):★★★(使用例)
レーザー加工するならこのInkscapeとこのプラグインで簡単に設定できる。
操作/設定がシンプルで使いやすい。
・Laserweb3/Laserweb4:★★★(使用例)
ブラウザ上のレーザー用アプリ。Laserweb4は単体アプリ化。
Gコード生成とGコード送信もこれ一つで出来るので便利。
・Jscut:★★★(使用例)
Webベースなのでブラウザ上で作業が可能。
シンプルで使いやすい。オフカットなどのパスも生成可能。
他のWebベースのGコードセンダーと組み合わせて使うと遠隔操作可能なので便利。
・PyCAM:★☆☆
インストールが面倒、Macにはバグもあったり、しばらくは改善されなさそう。
・SketchUcam:★★★
SketchUpのプラグイン。
SketchUpと合わせて使うと便利。
・G Code Sender/Controller:
Gコードを読み込んでCNCマシンへ送信したり手動入力制御したりするPC上のアプリ
・Universal-G-Code-Sender:★★☆
シンプルなので最初は使いやすいかも。
grblとの相性がいいのかも。
JavaベースなのでMacも充分使える。
開発中の新バージョンに期待したいけどいつになるのか?
・GrblController:★☆☆
数年前までは使っている人もいたみたい。開発が止まっていそうで、今後あまり期待できない。
基本的なことはできるけど、他に比べるとやはりいまいち。
・bCNC:★★★(bCNCを使ってみたときの記事はこちらへ)
操作も比較的シンプル。
dxf読み込み可能、基本的なCAM機能もある。
Autolevel機能もあるので基板制作にも向いている。
Pendant機能でWeb上からスマホなどで遠隔操作可能。
・LaserWeb/LaserWeb2/LaserWeb3/LaserWeb4:★★★
ブラウザ上の操作はシンプル。svg、dxf対応。Jscutと組み合わせると便利。
Webベースなので遠隔操作可能(最近はWebベースが主流かも)。
ブラウザ上でstlファイルを読み込むことができる。
まだまだ開発が継続されているので今後も期待ができる。
・cheton/cnc:★★☆
これもWebベースでつかいやすそう。
Webカメラでの監視、320x240 LCDディスプレイ対応の操作画面もある。
Raspberry Piを用いて操作などすると便利そう。
今でも頻繁に開発が進んでいそう。
・GRBLWeb:★★☆
こちらもWebベースでRaspberry Piにインストールしてホストとして使うのかも。
・Easel:★★☆
X-CARVEやShapeoko(1or2)用のWebベース、CAD+CAM+GrblControllerソフト。
X-CARVEやShapeoko(1or2)用だけれども使うことはできる。
ただ、Machine選択でX-CARVE/Shapeoko(1or2)/Carveyしかないから戸惑うが、ウィンドウ下のAdvanced>> に進み、Advanced SettingsでMachine Inspectorを使えば大丈夫。
細かい設定はないけれどもオールインワンなのですぐに使うにはいいかも。
ステップバイステップで設定が誘導されるので初心者にはわかりやすい。
・Mach3:☆☆☆
MacなのでMach3とは無縁。
・G Code Interpreter:
CNCマシンのマイコン(Arduinoなど)上のファームウェア
Gコードからモーター制御してくれる
・Grbl v1.1:★★★(Grbl v0.9やv0.8はこちら)
Arduino Uno用。3軸制御まで。
・Grbl-Mega:
Arduino Mega2560用。
以下のフォークされたバージョンでは4軸制御や3Dプリンター制御など可能。
https://github.com/bdurbrow/grbl-Mega
https://github.com/fschill/grbl-Mega
https://github.com/HuubBuis/grbl-L-Mega
https://github.com/fra589/grbl-Mega-5X
・GrblESP(ESP8266用Grbl)
SPI通信により最大8軸。Wifi操作可能。
・Grbl_ESP32(ESP32用Grbl)
基本3軸制御? Wifi/Bluetooth操作可能。
・Android対応ArduinoMega2560専用6軸ファームウェア。
【EU Free VAT】CNC Part 4th Fourth A axis Rotary axis Dividing head K11-65mm 3 Jaw Manual Chuck with TailstockOriginal price: USD 233.37Now: USD 172.70
・LinuxCNC:★★☆
GrblもLinuxCNCに準じているようなので、すべてLinuxを使えばかなり便利そう。
ただ、Linuxもやり始めると手間暇かかってしまう。
少なくてもRaspberry PIを使ってできるかもしれない。
・TinyG★★☆
Grblより強力そうだけど、それだけ値段も高いのでお手頃ではない。$165ドル。
ファームウェアはAVR Studio(Win用)でアップデート。Mac用AVR Studioもあることはある。
まとめ:GrblもLinuxCNCに準じているようなので、すべてLinuxを使えばかなり便利そう。
ただ、Linuxもやり始めると手間暇かかってしまう。
少なくてもRaspberry PIを使ってできるかもしれない。
・TinyG★★☆
Grblより強力そうだけど、それだけ値段も高いのでお手頃ではない。$165ドル。
ファームウェアはAVR Studio(Win用)でアップデート。Mac用AVR Studioもあることはある。
基本的にはG Code InterpreterはGrblを使用。
2D加工するなら、Inkscape+Extension(gcodetoolやLaser Tool Plug-in)でGコードファイルを生成する。あるいは、InkscapeのsvgファイルをJscutで読み込んでGコードファイルとして出力。
特に2Dのレーザー加工の場合は、Inkscape+Laser Tool Plug-inで充分だと思う。
Gコードファイルを読み込んで実行するソフトは、Universal-G-Code-Senderがシンプルでわかりやすいかも。現在は、bCNCが便利なので(慣れたので)使っていますが。
3Dの場合は、モデリングは何のソフトでも構わないと思う。Sketchupなど使いやすいと思うソフトで。その3DデータをFusion360かBlendercamでGコードを生成する感じになると思う。
この際、Linuxにしてもいいのかもしれないけれど、手間暇かかるのでそこまではしないつもり。Macの環境でもそこそこつくりたい物はつくれそうだし、とりあえずあるものを利用するだけでも充分だと思う。
ただ今後はRaspberry Pi3を使い、wifi経由でWebベースのLaserWeb2、cheton/cnc、Jscutを使うのがよさそう。遠隔操作やカメラ監視なども可能になるし、ワイヤレスでどこででも作業が出来るというのがいい。スマホやタブレットで操作もできるようになるので。
個人的には、LaserWeb2に期待したい感じ。現在はstlを読み込めるけど、スケール変換などがまだできない。今後のロードマップを見ると、3Dにも力入れようとしているし、まだまだ発展しそう。以下のような画面。
追記:
普段は、G Code SenderとしてbCNCをつかっていますが、bCNCにはPendantという機能(ネットワークを使ってWeb上で操作する)があり、先ほどつかってみたらタブレット(ブラウザ上から)でリモートコントロールできました。
これ↑が、Pendant機能をつかったタブレットのブラウザ上の画面です。
いままで通りに、CNCマシン(Arduinoボード)とMacBookをUSB接続し、bCNCを立ち上げてPendant開始ボタンを押すと機能がONになります(以下)。
ホストとなるMacBook上でもブラウザが自動的に立ち上がって操作画面が出てきます。アドレスに「http://localhost:8080」とでているはずなので、ローカルネットワーク内の他のコンピュータやスマホなどからもアクセスできるはずです。
持っているタブレットでは「localhost:8080」ではアクセスできなかったので、数字でプライベートIPアドレス「192.168.3.3:8080」(MacBookのプライベートIPアドレスとポート)を入れてみたら表示できました。
つまり、MacBookはCNCマシン本体脇に、そしてタブレットやスマホを持ちながらZ軸に近寄って調整などが可能というわけです。ポートマッピングも使えば、外出先からも操作可能だと思います。
bCNCは、いろいろな機能があってかなり便利そうです。関連:
G Code Sender(bCNCなど)
初めまして。
返信削除以前このサイトか別の所なのか、bCNCで日本語化させているのを見た気がしてて、馴れないパソコンにどうにかインストールしたのですが、肝心の日本語化なんて見当たらなかったのですが・・・
やっぱり夢でしょうか!?bCNCは日本語にはなりませんか?
bCNCのWikiページに他の言語にもできるようなことが書いてありますね。
削除https://github.com/vlachoudis/bCNC/wiki/Language
bCNCのソフトを立ち上げて、上部Toolsボタンを押すと、右上のほうに言語選択タブがあります。いまのところ英語、ドイツ語、スペイン語、フランス語、イタリア語が選択できるようになっています。
日本語化したものは見たことないですが、ここに書いてあるやり方で可能かもしれません。
https://github.com/vlachoudis/bCNC/wiki/How%20to%20contribute%20a%20translation
ご教授ありがとうございます!
返信削除実際に使ってみたのですが、1日悩んでまだ出来ていません。
他にこのソフトの使い方を説明している所も有り、頑張っています。
先にお礼だけ言いに来ました。今日はありがとうございました。
どのあたりが上手くいってないのでしょうか?
削除分かる範囲ならアドバイスできるかもしれません。
bCNC以外の他のソフトも試してみるといいと思います。他のソフトでも上手くいかないのなら、ソフトの問題というよりも、回路や基板のほうの問題かもしれません。
このブログで制作したCNCマシンも最初は動きませんでした。いろいろチェックしてみると、CNCシールド上のリミットスイッチ端子のノイズのために、ソフトが自動的に運転停止させていたようです。端子にコンデンサーをつけて、ノイズ対策したらようやく動くようになりました。そのときの内容は以下に書いてあります。
http://cnc-selfbuild.blogspot.jp/2016/05/cnc.html
ありがとうございます。翻訳ソフトはやっと理解できました。
削除自分で翻訳するんですね。オートで翻訳されると思っていました。
私はbCNCのほかにGRBLcontlloreを使っています。
小型のCNCなのですが、開始地点の決め方がわかりません。
理想としては、Gコードを送ったときにCNCの原点を見つけて、加工開始地点まで移動して切削してほしいのです。
そのためにリミットスイッチも必要なのじゃないかと思っているのですが無反応のようです。基盤はAuduinoに互換したものにCNCシールドをつけたものです。
とりあえず、リミットスイッチなしでも動かすことはできます。前に書いたようにリミットスイッチのノイズのせいでオートロックかかってしまうこともあるので、まずはリミットスイッチなしで動くかどうか確認したほうがいいかもしれません。
削除CNCマシンと接続し($Xでまずロック解除してから)、ソフト上(bCNCなど)ではそこがマシン原点(MPos)0,0,0になっているかと思います。
もしホーミングサイクル($H)を行えば、設定した右奥上がマシン原点になりますが、ホーミングサイクルを行わなくても、そのままその位置を原点として動かすことはできます。なので、リミットスイッチがない状態でも動かすことは可能です。この場合、以下の3つを一旦解除しておくといいと思います。
$20=0 (ソフト上でのリミット設定)
$21=0 (リミットスイッチによるリミット設定)
$22=0 (ホーミングサイクル設定)
こうすれば、一旦リミットスイッチによるオートロックからは邪魔されなくなるはずです。
もうひとつの座標としてWPos(作業座標)があります。CNCマシンと接続したときに、WPosが0,0,0になっていない場合は、加工する材料の位置に合わせて、以下のようにWPos0,0,0にしておくといいと思います。
bCNCなら、WPosとMPosの座標が表示されている下のほうにX=0、Y=0、Z=0のボタンがあります。それを押せば、現在地が作業原点WPos0,0,0に設定されます。
ためしに、
X10
をコマンド入力してX軸が10mmの位置(WPos座標上のXが10mmの位置)に移動するでしょうか?
位置に関しては、絶対座標(G90)と相対座標(G91)があります。
デフォルトではおそらく絶対座標(G90)になっていると思うので、正確には
G90 X10
と入力することで、X座標10mmの位置に移動するということになります。
G90 X0 Y0
を入力すれば、WPos0,0(作業原点)に戻ることになります。
bCNCでは、ジョグボタン(十字ボタン)の真ん中を押せば、WPos0,0,0(作業原点)に戻るはずです。
逆に、相対座標(G91)を使うと、
G91 X10
と入力すれば、現在地からX軸に10mm移動する(10mm増加させる)ことになります。
了解しました。今日中にテストだけは終わらせます。
削除(絶対、翻訳項目の多さで先にCNCで遊びたいわけではない…)
grblの最初の設定については、以下に書いてあります。
削除http://cnc-selfbuild.blogspot.jp/2016/04/cnc_29.html
ここでは、Universal-G-Code-Senderを使っています。JavaベースなのでWin/Macどちらでも動くはずです。シンプルなので使いやすいと思います。bCNCのようにPythonなどをインストールする必要もないので、すぐに試すことができます。
設定に関しては、$$を入力すればgrbl内の設定が出てきます。たしかデフォルトでも(特に設定しなくても)とりあえずX10など入力して動作確認することができるはずです。
ここで、なんらかのエラーがでるようであれば、再度Arduinoにgrblをアップロードし直すなどして一度デフォルト値でやってみるといいと思います。
GRBLcontrollerは開発もかなり前にストップしているようだし、Universal-G-Code-Senderのほうがシンプルで問題も起きにくいと思います。Universal-G-Code-Senderで動作確認できたあとに、もっと便利なbCNCなどほかのソフトで試してみてはどうでしょうか。
universal-G-Code-Senderのインストールができないでつまずいてしまいました。
削除Windowsでインストールしたいのですが、startやUniversalGcodeSender.が出ません。
もしかしたらインストーラーに問題が有るのでしょうか・・・
https://github.com/winder/Universal-G-Code-Sender
削除このページの緑のボタン(clone or downloads)ではなく、もう少し下のほうにあるDownloadsの欄のStable buildsにある1.0.9、1.0.8、1.0.7、1.0.6のどれかをクリックしてダウンロードしてください。PC内のJavaのバージョンによって、1.0.9〜1.0.6のうちどれかを選ぶようになっています。
Javaのバージョンを知るには、以下に書いてあります。
https://www.java.com/ja/download/help/version_manual.xml
JavaのバージョンにあわせてダウンロードしたUniversalGcodeSenderのzipファイルを解凍すればフォルダが出来上がります。そのフォルダ内にUniversalGcodeSender.jarファイルがあるはずです。それをクリックすれば開くと思います。
Wikiページは英語ですが、きちんと読めば特に問題なく使えると思います。
すみませんできました。JABAが勝手に入ってて、勝手に最新になるものだと思っていました。ありがとうございます。これからは気をつけます。
削除今やっと絶対座標、相対座標の所までできる様になりました。
返信削除難しくてこんなに時間がかかってしまいました。
あまりに時間がかかったので嘘っぽいですね。本当にできる様になれるかな・・・
Gコード(G90 X10など)を手入力して動いたということでしょうか?
削除できました。ただ入力するだけなのですが、それだと中々つながらなかったようです。手入力が苦手です。(ほかで聞いたことですが、GRBLコントローラーの設定も手入力だと知りました。それぞれのソフトに対して平行してなれてきています。)
削除手入力は面倒ですが、設定やGコードをひとつひとつ理解していくにはいい勉強になると思います。たまに、Gコードを部分的に修正する必要がある場合もあるので、やはりGコードや設定内容が読めるようになっておいたほうがいいと思います。動かすまでも大変ですが、動くようになってからもエラー発生や微妙な設定変更などもあるので、対処できるようになっておいたほうがいいと思います。
削除最終的には、InkscapeなどでGコードを作成して、そのファイルを読み込ませれば、自動的に作業原点からヘッドが移動して、加工し終わったらまた原点に自動的に戻ってきます。
http://cnc-selfbuild.blogspot.jp/2016/04/cnc_29.html
あとは、このページに書いてあるような設定をしてみるといいと思います。
XYZ軸の動く向きの設定、step/mmの設定などです。
とりあえず、リミットスイッチ無しで動作確認してみてください。
上記ページに書いてあるように、円などの図形を描かせてみて、ちゃんと寸法通りに描けているかチェックしてみるといいと思います。
特に問題なければ、あとはInkscape+gcodetoolsなどの使い方を覚えて、Gコードのファイルを作成し、それをbCNCやUniversalGcodeSenderなどに読み込ませれば自動で動くはずです。
この時点でも、リミットスイッチなしで大丈夫です。前に書いたように、リミットスイッチのノイズのせいで動かないこともあるので、何が原因で動かないか分からなくならないように、リミットスイッチはとりあえず保留でいいと思います。動くようになってから、リミットスイッチをとりつけたほうがいいと思います。
現在GRBLcontrollerにもどって進めています。
削除mirror nerrorさまのおっしゃる通りリミットスイッチ使用設定で稼働させた所
(error:Alarm lock)の表示が出て動きませんでした。おそらくノイズだと思います。
事前に紹介されていた抵抗をとテスト用にCNCシールド3.0を買い足していたのでこれに半田付けさせて見ようと思います。
NCデータをFusion360で作成し、無事動きは出来たのですが、実際に物を削っていないので正しく出来ているか確かめられないのと機会が小さいので範囲外に出て閉まっています。時々端まで行ってステップモーターから異音が出てしまいました。(ステップモーターって壊れますか?)
リミットスイッチ端子のノイズについては、以下に書いてます。
削除http://cnc-selfbuild.blogspot.jp/2016/05/cnc.html
コンデンサーをつければおそらく解消されると思います。
加工範囲外にでるようでしたら、とりあえずリミットスイッチをつける前に、$20=1にしてソフトリミットをオンにしてみるといいと思います。その場合、$130、$131、$132に作業エリアの範囲を設定しておく必要があります。
作業エリアはどのくらいでしょうか?数センチくらいの余白をとっておいたほうがいいと思います。それ以上進めないのにモーターが駆動していると、過電流が発生してモーターが焼き切れたりすることもあるかもしれません。ドライバのほうで保護回路が働いたり、電流制限していればすぐには壊れないかもしれませんが、当然ドライバにもモーターにもよくないはずです。
ドライバには保護回路はついているでしょうか?あるいは、電流制限の設定は済んでいるでしょうか?A4988やDRV8825の設定なら以下に書いてあります。
http://cnc-selfbuild.blogspot.jp/2016/04/cnccncdrv8825a4988.html
モーター内部は、磁力で駆動させているため歯車などが破損したりすることはないと思いますが、送り機構には歯車や送りネジがあるので、その部分が歪んだり壊れたりすると、バックラッシュなど発生してしまうかもしれません。
実際に材料を削るときにもヘッドの進行速度が思ったよりも速すぎて、エンドミルが折れたり、モーターや構造そのものに負荷をかけたりと、いろいろトラブルはつきものです。運転中に異音や異臭が発生したら、いつでもメインスイッチをオフにできるようにスタンバイしておいたほうがいいと思います。
ノイズの話でもお世話になりますm(_ _)m
削除このブログの記事はほとんど目を通しながら、あまり関係無さそうと思った所をちょいちょい飛ばしていました。電流制限の設定という聞き慣れない新しい壁のような存在に気付きました。
またジックリ読んでみます。僕が組み立て済みを買わなかったのもシステムを理解し、今後に役立てる為と簡単に覚悟したから諦めるわけにはいかないのです。
CNCで一番高いのはステッピングモーターなのは確かなのでもし保護するならドライバーよりモーターを選びたいですね。モーター負荷だけは気をつけます。
メインスイッチの事なのですが、過去に3Dプリンターを作った時は電源コードにスイッチ足して何か有れば切っていました。ですが、早い段階でドライバーがおかしくなり今は動いていません。3Dプリンターのドライバーが高いからです。のちのちarduinoで復活させようと思ってるのですが、緊急停止はどのように止めるのが好ましいのでしょうか。
(可動領域は130x90x30です。加工領域は120x70x30です。)
以下のページに、非常停止ボタンやSparkfunで売っているPowerSwitch Tail Ⅱという非常停止用のブレーカーがあります。
削除http://cnc-selfbuild.blogspot.jp/2016/05/cnc_8.html
このページに書いてあるように、ACブレーカーとデジタルブレーカーという二種類あります。
以下のShapeOko Wikiに非常停止についてのっているので読んでみるといいと思います。
http://www.shapeoko.com/wiki/index.php/Emergency_Stop
ちなみに、CNCについてはShapeOko Wikiを見るとだいたいのことが書いてあります。かなり参考になりました。何か問題等ある場合、ここで情報を探すといいかもしれません。
その後、Bluetoothで無線化したついでに非常停止の回路も改良しました。それについては以下です。
http://cnc-selfbuild.blogspot.jp/2016/05/cncbluetooth_17.html
初めまして、お聞きしたいのですが自作cncプラズマ(アルディーノ+A4988+grbl0.9+BCNC)を作ったのですが、肝心のGコードの作り方がさっぱりわかりません、、inkscapeか出来ればイラレで簡単なものを作りたいのですが、inkscapeの拡張機能も試したのですが、MakerBot Unicorn G-Codeで作ってもbcncのほうで、エラーが出てしまって動きません、、加工データの作り方を教えて頂きたいです><;
返信削除もっちさん、コメントありがとうございます。
削除プラズマですか、すごいですね。おそらくレーザーと同じ要領でできるとは思います。
手順としては、
・Inkscapeで図形を描き、パス化する(svgファイル)
・Laser Tool Plug-inでGコード化する(Gコードファイル)
・bCNCでGコードファイルを読み込み実行
という感じです。
または、Laserweb4アプリをつかうのであれば、
・Inkscapeで図形を描き、パス化する(svgファイル)
・Laserweb4でsvgファイルを読み込み、各種設定し実行
という流れだと思います。
どのへんがうまくいかないのでしょうか?
ちなみにgrbl1.1のほうが高性能なので、0.9からバージョンアップするといいと思います。
返信ありがとうございます!!!
返信削除アドバイスいただいた通りにlaser tool plug-inを使ってみたら
無事Gコード化することができました〜!
今までは、
・inkscapeで作図
・orientation points
・tools library→plazma
・makerbot unicorn G-codeでGコード出力→エラーになってしまう><;
原因がよくわかりませんでした。。。
Gコード化はできたのですが、加工する順番で問題があり、
例えば穴の空いた板を切り出すとして、中の穴の部分から切りたいところなのですが、周囲から
切っていくような動きになってしまいます。加工する順番などは変えることはできるのでしょうか?
Gコード化できてよかったですね。
削除加工するパスの順番はbCNCで編集することができます。
https://cnc-selfbuild.blogspot.jp/2017/01/bcnc.html
このページ後半にある「パスが選べないとき」という項目に似たようなやり方が書いてあります。
あとは、「タブ」をつけて母材から部材が完全に切り離されないようにするという方法もあります。
はじめまして。こんにちは。
返信削除現在、同じような手作業の自動化を目指しており、まったく知識が無いのですがまずはCNCの制作に
トライしようと勉強中です。こちらのHPはものすごく勉強になります。ありがとうございます。
質問させて頂いてよろしいでしょうか。仕様は、bCNC、 grbl 0.9j、arduino、CNCシールド3.0
で、ステッピングモータでXYZを動かすところまではできました。2点ございます。
1)量産のように、同じプログラムで同じ作業を繰り返したいと考えています。マウスやタッチパネル
ではなく、スイッチでbCNCのスタートを押させたいのですが、やり方はあるのでしょうか。
ここのpendant機能とか応用できないか、pythonから起動でいないか、など考えましたが、
いい手がありません。(知識も無いので)
2)スピンドルはどのように制御されていますか?CNCシールドからPWM制御で信号が出せる様
なのですが、よくわからないので、M3S1500で出力して、とりあえずリレーを動かして、
そのリレーより100Vを起こして、インバーターを使って1.5kw程度のスピンドルモータ
を制御できないかなぁ、と考えています。が、なにかスマートではない気がしまして。
トライをはじめてから3年、、、やっとここまで来たので、なんとか動かしたいと頑張っています。
急で不躾な質問で申し訳ありませんが、助けて頂けませんでしょうか。宜しくお願い致します。
はじめまして。
削除1)パソコン上のbCNC画面を見ずに、CNC本体に装着してある押しボタンなどで毎回作業開始させるということでしょうか?
Pythonのライブラリでpyautoguiという画面上の任意の箇所を自動クリックできるものがあるので、それで可能かと思います。
・ボタンスイッチを接続したArduinoボードをもう一台用意しパソコンとUSB接続する。
・パソコン上ではそのArduinoボードとシリアル通信させるPythonスクリプトを用意する(pyserial使用)。
・Pythonスクリプト内では、ボタンを押すとpyautoguiの自動クリックが発動するスクリプトを書いておく。
という感じでしょうか(ほかにも方法はあるかもしれませんが)。
ただこの手間を考えるならば、毎回bCNCの加工開始ボタンをクリックするか、スマホ上のPendant機能で加工開始ボタンをタップしたほうが簡単なような気がします。
2)スピンドルの回転スピードを可変にするには、ON/OFF制御のリレーの代わりにTTL端子付きのドライバ回路が必要となります。
CNCシールドとGND共有したドライバ回路を接続すればbCNC上のボタン/スライダでスピンドルの速度制御が可能になります。
例えば以下のようなドライバ付きスピンドルであれば速度制御可能です。
http://s.click.aliexpress.com/e/qWasuNhm
もし不明な点があればまた質問して下さい。
mirrornさん
削除おはようございます。ありがとうございます!自動クリックですか、そんなものもあるんですね!
なんとなくイメージはわかりました。ほんとにありがとうございます。とりあえずは形にできそう
です!
スピンドルのドライバは、よくわかっていないので、調べてみます!ありがとうございます。
使いたい環境が、ゴム手袋で油だらけの手で作業をしたい場所なので、防水仕様のスイッチで
起動したかったのです。
色々勉強するうちに、自分の趣味の加工をするためのマシーンも作りたくなってきました。
コレがうまくできから、スマホと連動させたり、楽しめたらいいなぁと思います。
ずっと悩んでいたので、ほんとに助かりました。とはいえ、pyautoguiというものも、
Python自体、インストールにしか触った事が無い代物なので、ちょっとトライしてみます。
失礼します。