grbl1.1+Arduino CNCシールドV3.5+bCNCを使用中。
BluetoothモジュールおよびbCNCのPendant機能でスマホからもワイヤレス操作可能。
その他、電子工作・プログラミング、機械学習などもやっています。
MacとUbuntuを使用。

CNCマシン全般について:
国内レーザー加工機と中国製レーザー加工機の比較
中国製レーザーダイオードについて
CNCミリングマシンとCNCルーターマシンいろいろ
その他:
利用例や付加機能など:
CNCルーター関係:



*CNCマシンの制作記録は2016/04/10〜の投稿に書いてあります。


2016年5月17日火曜日

CNCマシン:Bluetoothでワイヤレス化

先日、bCNCのPendant機能でタブレットでワイヤレス操作ができることがわかりました(以下がタブレット上の操作画面)。これでも充分便利ですが、昔買ったBluetoothモジュールがあったことを思い出し、それもつけてしまおうかと思い始めました。
そうすればわざわざMacBookをCNCマシンの脇に持って行かなくてもいいので、普段パソコンをしているテーブルの上からも操作可能となります。CNCマシンの近くにパソコンを置いておくと埃などもかぶってしまうし、パソコン作業を中断するのも面倒なので。しかし、こういう工作機械は、ワイヤレスにしないほうが誤作動も起こらなくで本当はいいはずです。それなら、スイッチなどつけて切り替えできるようにしておけばいいかなと。イメージとしては、別のテーブルでパソコン作業をして、タブレットをリモコンとして持ってCNCマシン付近でジョグ操作などするという感じ(そのうちRaspberry Pi 3をホストにしてWifi上で操作するというのも考えてはいるのですが、、、)。

ということで、昔のBluetoothモジュールを取り出してきました。ひとつ3000〜4000円くらいしたと思います(探したら全部で5個くらいありました)。その後ワイヤレスと言えばネットワークが組めるXbeeが登場して来てXbeeを使うようになったのですが、最近はWifiモジュールのESP-WROOM-02とかでしょうか。
これは、かなり前にSparkfunで買ったBlueSMiRFというBluetoothモジュールです。使う端子はVCC(5V)、GND、TX、RXの4つだけです。Class1で100mくらい電波が届きます。いまでも売っているはず。

MacbookのBluetooth設定:
まずシステム環境設定のBluetoothで設定する必要があったので行ってみます。やり方は忘れてしまったのですが、それほど難しかったわけではないので適当に。しかし、ここではペアリングできないようです。
追記:パスキーが0000ではつながらなかったのですが、1234であればペアリングできました。
仕方ないので、システム/ライブラリ/CoreServices内にあるBluetooth設定アシスタントへいくことに。
ここでも接続はできないけれどもポートはつくることができたので、あとはbCNCでそのポートを選択して接続すればいいはずです。


CoolTermで設定(ATコマンド入力):
ただ、Baudrateが9600になっていたかもしれないので、念のためgrbl0.9でつかっている115200に合わせておこうと思います。ATコマンドというのを入力して変更します(ATコマンドについてはこちらに書いてあります/HC-05やHC-06のATコマンドについてはこちら)。そのためにターミナルソフトがあるといいのですが、検索するとCoolTermというのが見つかったので、それでやってみます。
こんな感じのソフトです。たしかこのBluetoothモジュールは電源が入ってから60秒以内にATコマンドを入力して設定モードに入らないといけなかったはずです。つないだり他の設定しているあいだに1分すぎてしまうこともあるので、その制限時間も無制限に設定し直すことにします。ちなみに、このときBluetoothは5VとGNDにつないで電源だけ確保しておけば大丈夫です。通信自体はワイヤレスなので。
これがCoolTermの操作画面ですが、ただ文字(ATコマンド)を打っていくだけです。
いちおうCoolTermの設定画面(以下)で、Local Echoにチェックいれておきます。そうしないと自分で入力した内容が表示されないので。


ATコマンド入力:
最初に設定モードに入るには(電源を入れて60秒以内に)、
$$$(リターンキーなし)
そうすると、
CMD
と返してきます。これで設定モードに入ったということです。
現在の設定内容を確認するには、
D(リターンキー)
そうすると、上の画面のように、設定内容が出てきます。
もう設定し終わったあとの画面なので、Baudrt=115kになってます。
Baudrateを変えるには、
SU,115(リターンキー)
で115200になります。9600ならSU,96です。
それから設定モード突入までの制限時間60秒を変えるには、
ST,255(リターンキー)
と入力すると無制限になります。
設定終了するときは、
---(リターンキー)
ハイフン3個です。ENDという返事が出ます。


BluetoothモジュールとCNCシールドの接続:
これでBluetoothの設定はできたので前にAitendoで買ったCNCシールドV3.0につなげてみます。まだ実験段階です。
このようにCNCシールドの右上にはRX、TX、5V、GNDがまとまって付いているので、ここにつなげればいいだけです。ただし、つなげるときは、TX(Bluetooth)→RX(CNCシールド)、RX(Bluetooth)→TX(CNCシールド)という感じでクロスさせてつなぎます。ちなみにSCL端子はProbeに使っています。
メス-メスのジャンパワイヤがないので、こんな感じでつないで実験してみます。


bCNCでの接続確認:
Serial Port:でBluetoothのポートを選んでOpenを押します。
ConnectedになればOKです。あとはいくつかGコードを入力して確認します。

$Xを入力して解除、そして$$を入力すればArduino内に保存されているCNCマシンの設定が出てきます。これで大体確認はとれたと思います。


コントロールボックスへの取り付け:
ということで、あとは実際のCNCマシン(コントロールボックス)への取り付けとなります。
久々に開けたら、配線がたくさんあって何かめんどくさそう。とりあえずBluetoothモジュールをどこにつけるか?配線は基本的に4本。

コントロールボックスの前面にあるパンチングメタルにつけてみました。表側から見ると、BluetoothのLEDが光っているのが見えるので通信中ということが確認できます。

これでMacBookをUSB接続しなくてすみます。しかし、USB接続しないかわりに、Arduinoボードに電源を供給しなければいけません。DC12VのACアダプターは入っているので、そこから線を分岐させればいいのですが、かなり配線がこみ入っていてこれまた面倒。USB接続もすることがあるので、スイッチもつけておいたほうがよさそう。また配線が複雑になってきました。スイッチは一個余っているので、それを使えばいいのですが、一旦ハンダづけして熱収縮チューブもつけたところを外して、またハンダ付けすると考えると面倒に感じてきます。そもそもArduinoボード自体外すのが面倒だし、これからつけるスイッチだけ形が違うので、それを主電源スイッチにしたほうがよさそう。それと非常停止ボタンをCNCシールドのE-STOPにつなげてあるのですが、それだとArduinoボードをリセットするだけなので、この際主電源カットにしたほうがいいのかも。配線計画をやり直しになるかも。そう考えているうちに時間切れ。この作業の続きは次回へ
AliExpress.com Product - Free Shipping hc-06 HC 06 RF Wireless Bluetooth Transceiver Slave Module RS232 / TTL to UART converter and adapter327円(送料込み)、今はBluetoothモジュールもこんなに安い。*HC-05やHC-06のATコマンドについてはこちら

2016年5月16日月曜日

AliExpressのワイヤーストリッパー到着

CNCマシンの配線作業をしているときに、間に合わないとは思っていましたが、ついAliExpressでワイヤーストリッパーを購入してしまいました。それが昨日やっと届きました。送料無料で1000円です。AirMail便でちょうど2週間。また例の外が白くて中が黒いビニール袋に先端だけプチプチに巻かれてそのまま入っていました。郵便局の人に手渡された瞬間何が入っているのかすぐに分かりました。

この手のワイヤーストリッパーは昔から欲しいと思っていたのですが、かなり高価なので買わないでいました。たしか4000〜5000円くらいしたと思います。そのかわり3000円くらいのものをある時購入してしまい今まで使っていました(下画像手前のもの)。
ワイヤーストリッパーがないときはカッターで転がして皮膜をむいていましたが、やはりあると便利です。というか作業が早い。しかし、この手前のワイヤーストリッパーだと決められた径のワイヤー以外では上手く切れなかったりして、もう一本違うサイズのが欲しくなってしまいます。
電子工作用なので結構細め。刃の溝がワイヤーの径にぴったり合うようになっており、その分正確に切れるようになっています。これ以外の径だと、多少手加減して切れないわけでもないのですが、ワイヤーの中の銅線まで切れてしまうこともたまにあります。それと切れ目が入った皮膜をひっぱるのが結構面倒。よく切れていないと、ひっぱってもただ皮膜が伸びてしまうこともあります。

そこで、今回購入したワイヤーストリッパーは、その引っ張る部分もやってくれるので(だから昔から欲しかった)、どのくらいつかえるのか?
ちなみに、これをアマゾンで買うと2000円以上します。中国製の同じものです。やはりAliExpressだと安い。


もうひとつ違うタイプのワイヤーストリッパーがあるのですが、以下のようなもの。
昔欲しいと思ってたのはこのタイプでした。これが4000〜5000円くらいしたと思います。たかが皮膜むきにそんなに払えないということであきらめてました。使っている人を見たことがあって、確かに便利そうだなと思っていました。ちなみにこのタイプはAliExpressで600円くらい。Amazonでは当然2倍以上。このタイプでもよかったのですが、よくみると刃に溝がついていて、ワイヤーの径に合わせて切るタイプのようです。なので今回はやめました。


それで、今回購入したタイプは刃には溝がついていないので、特定の太さだけではなく、どんな太さでも切れるのではないかと?
調整ネジが2個ついていて、左側(やや中央より)が太さ、右側がどのくらい長くむくかになっています。
先端部分はこんな↑感じで、握るとまず左のほうから動き始め、すこし遅れて右側が動きます。実はこの時間差の複雑な動きがずっと気になっていました。絶妙。
左側のギザギザでワイヤーを押さえて、右側で皮膜をむきます。刃はケーブルの径に合わせた溝はなく、一直線なので上下の刃ではさむ感じです。当然すべてはさみこんでしまうと中の銅線も切れてしまうので、切るというより噛んで引っ張るという感じです。

どのくらいの太さ(細さ)までいけるのか、Fケーブルで実験。Fケーブルなので外側にかなり分厚いグレーの皮膜がついています。結果的には上の画像のように、引きちぎるような感じで、いちおうFケーブルの外皮膜、そして内部の皮膜(白い皮膜、中が銅単線)もむくことができました。さらには細いワイヤーだとこんなものもむくことができました。白赤黒の3本線ですが1本径1mmです。赤黒2本同時にむくこともできました(これは便利、ほかのワイヤーストリッパーだと1本ずつなので)。かなり幅広い範囲で使えます。

使ってみて分かりましたが、このワイヤーストリッパーは、ゆっくり握るとダメみたいで、いっきにいくときれいにむけます。やはり、切るというより噛んで引っ張るという感じなので、皮膜の切断面は引きちぎれたようになっています。ゆっくりやっていると、噛んでいる部分もズルズルとずれてきてしまいます。一気にガシャンと少し荒々しい感じですが、大体寸法通りにむけているのでそれほど問題はありません。一回むいてみて、噛む力が弱すぎだなと思ったら調整ネジを締めるという使い方かもしれません。
いずれにせよ念願のツールが手に入ったので、今後の配線作業は楽しくなりそうです。1000円は安い。

この間秋葉原に行ったとき工具類も見てみましたが、AliExpressで見かける商品もかなり多く売っていました。パッケージだけそれっぽくして値段は3倍くらいします。そうやって見て行くと、かなり中国製のものが多く出回っているというのが分かります。先ほどの今まで使っていたワイヤーストリッパー(秋葉原で3000円くらいで購入、たぶん千石だったかな?)もAliExpressで1068円で売ってます。

以前購入したレーザー用のゴーグルもそうでしたが、このようにAliExpressの出現のために安く買えるのはいいのですが、価格破壊のような現象が起こっています。Amazonで2倍以上の値段、普通の店頭で約3倍の値段で売られているようなものはそのうち売れなくなるだろうし、逆にAliExpressが値上がってくるのかもしれません。


AliExpress.com Product - HS-D1 AWG24-10 (0.2-6.0mm2 ) design Multi functional Cable wire Stripping, Cutting and Crimping tools High Quality TOOL
これは↑安い。648円。

2016年5月15日日曜日

CNC関連のソフト(まとめ)

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

  ・LinuxCNC★★☆
    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など)

CNCマシン:Fusion360も試してみました

前回、Blendercamが使えるということがある程度分かったので、今回はいよいよFusion360を試してみます。ほかにもPyCAMやLinuxCNCも見てみましたが、Mac利用者にとってはいまいち開発があまり進んでいないようで、まだまだバグとかもありそうなので見送ることに。
というか、大体の人がFusion360に流れて行っているのではないでしょうか?


Fusion360のダウンロード:
ということで、ある程度Fusion360の動画で使い勝手を見てみて、早速ダウンロードしてみました。
画面右上のほうには、とりあえずトライアル30日間無料というのがあるのですが、そこをクリックすると、
こんな↑画面が出て来て、本格的に購入するか、教育バージョンで3年間無料か、非営利か年間$100K以下のビジネスのホビーユーザーで1年間無料かというのが、次に選べるようになっています。まだ30日無料トライアルにしたままですが、いずれにせよ最低でも1年間は無料になるという感じです。

モデリングは使いやすい:
モデリングについては動画でも見てみましたが、けっこう使いやすい直感的なインターフェイスという感じです。Blenderのような癖のある感じではないのですぐに覚えられそうです。
とりあえず、チュートリアルを見ながらやってみましたが、モデリングは何とかなりそうなので、すぐにGコード生成の仕方をいろいろいじってみました。
かなり細かい設定やいろんな加工の仕方があるので、情報過多で難しそうですが、普段使うものは限られてくると思うので、ひとつずつ設定していけばなんとかなりそうです。


レーザー加工はどうやる?:
以下の動画も見てみましたが、かなり手慣れた方法でモデリングしていました。

部材の厚みや間隔などを一旦変数化して、あとから数値入力によって簡単に編集し直す方法を使っています。たしかにこれは製品などつくる上では便利そうです(個人的にはあまり使わないと思うけど)。実はこの動画を見たのは、レーザー加工の手順を知る理由でしたが、最終的には部品のサーフェイスをdxfで出力保存して、あとは何かでやってくれというものでした。他の動画でもレーザー加工に関しては同じような感じでした。
2次元のレーザー加工の場合は、Fusion360を使う必要がないという感じ。おそらく手順としては、
Fusion360で3Dモデリング→一部をdxfで出力→Inkscape+Laser Tool Plug-inでGコード生成→bCNC
という手順になりそう。bCNCでdxfファイルを直接読み込むことはできるけど、レーザー用にスピンドルONや出力値(M3 S=1000など)のGコードを編集しなければいけないので、結局上記のような経路となってしまいます。
Fusion360なら全部ひとつのソフトでできるのかと思ったら案外そうでもないです。3Dプリンター用のボタンはあるので、3Dミリングか3Dプリンター用という感じでしょうか。


3Dミリング加工:
仕方ないのでミリング加工についてもいじってみました。チュートリアルもやってみましたが、手順通りに進めるとすぐに終わってしまうので、前回Blendercamでも使った3Dモデルでやってみました。
このデータはstlフォーマットです。直接ソフトでは読み込むという機能がないかわりに、一旦クラウドへアップロードしてから新規に開くという手順。基本的にクラウドで共有しながら共同でプロジェクトを開発していくみたいな感じになっているようです。
またこの凹凸がある表面を3次元的に削るというデータをつくってみます。
ネットにチュートリアルのサイトや動画もあるので、ここでは手順は省きますが、とりあえずBlendercamもそうでしたが、各項目の設定を入力していくだけです。加工の仕方や設定の種類はさすがに商用ソフトでもあるのでFusion360はすごいです。その分設定が細かすぎてすぐには全部を把握できない感じ。何回かエラーがでてきて、パスが表示されないこともありましたが、エラー内容を見ながら、ここかな?という感じで訂正していき、なんとかパス生成しました。


加工パス生成:
しかし、できあがった加工パス超高密度。エラーはでなかったけれども、これでは何時間かかるのかわかりません。
そして、出来上がったGコードをbCNCへ持っていくと、
こちらも真っ黒。おそらく加工に10時間以上かかるパス。
まあ、いちおう手順としては分かったので、なんとななりそうです。


Fusion360の印象:
チームで何かプロジェクトをやるときには便利そうです。プロのプロダクトデザイン用のソフトって感じです。ミリング機能に関しては本格的で金属など削るにはいいと思います。3Dモデリングも使いやすそうです。
個人的には、Fusion360だけですべて出来るのかと思っていたら(Gコードセンダーにもなるのかと思っていた)そういうわけはなかったです。いわゆるCAD、CAMソフトという感じでした。3D切削加工するときは使うかもしれませんが、シンプルな2D加工ならわざわざ使う必要もないかも。特にレーザー加工なら、Inkscape+Laser Tool Plug-inで充分かもしれません。


Fusion360操作ガイド CAM・切削加工編 1 2019年版―次世代クラウドベース3DCAD/CAM
三谷 大暁
カットシステム
売り上げランキング: 27,799

2016年5月14日土曜日

CNCマシン:Blendercamを試してみる

今のところ2D加工は以下のような感じ。
・2Dレーザーカット:Inkscape(Laser Tool Plug-in)→Gコード→bCNC
・2Dルーターカット:Inkscape→svgファイル→Jscut(Outside)→Gコード→bCNC

そのうち3Dカットもする必要がありそうなのでいろいろ探していましたが、Macで使えそうなのはPyCAM、Fusion360、Blendercamあたり。Fusion360はかなり本格的なのでそのうち試して見ようと思います。
それでPyCAMを試そうとインストールしていたら、MacだとApple-Pythonが入っているため、インストールが思うようにいかなくて、Apple-Pythonをやめて新たにPythonを入れ直そうを思ったのですが、インストールが成功しない限りbCNCも使えなくなってしまうので、まだ保留という感じです。
Blenderは以前から使っていたというか、独特の操作方法でなかなか慣れずに3Dデータ変換用として利用していたくらいです。何度か勉強してみたのですがすぐに忘れてしまい、なかなか覚えられない。
今回も「Blenderか、どうしようかな」と思っていたけど、以下のBlendercamのチュートリアル動画を見る限りでは、3Dデータを読み込ませて、いくつか設定を入力したらGコードが生成されると感じなので、それほどBlenderの操作は必要なさそう。単なるGコード生成ソフトとして使えそう。
この動画、声が聴こえにくいのですが、フルスクリーンにして各設定の手順を注意深くみると、それほど難しそうではありません。5回くらい見直しましたが。

Blendercamのダウンロード:
ということで、Blendercamをダウンロードしてみました。
プラグインみたいなものだけをインストールするのかと思ったら、Blender2.76ごとダウンロードでした。いちおうaddon onlyとしてBlender本体にインストールできるものあるようですが、持っていたBlenderが多少古かったので、BlenderとセットのものをGoogle Driveからダウンロードしました。

Macなので真ん中の「blender-2.76b-OSX_...」というやつです。
Blender本体も含まれているので135MBくらいあったかもしれません。
ダウンロード+解凍したらアプリケーションフォルダにいれるのですが、もうひとつBlenderを持っているなら同じところには置かない方がいいと書いてありました。今回のほうが新しいので古いのは捨てて、アプリケーションフォルダに移動させました。
あとはBlender.appを開くだけ。サイトの説明にも、開いたら右側にBlendercamのタブが並んでいればOKと。

Blender.appを立ち上げる:
立ち上げるとこんな画面。右にBlendercamのタブあるかというとない。
ない場合は、「preferences-addonで、、、」と書いてあるけど、ちょっと違う。

User preferenceの設定・内容確認:
まず、左上のアイコン(タブ)で、User Preferencesを選ぶ(以下)。

そうすると上のメニューバーのようなものが変化して、以下のような感じ。


しかし、このままでは何もできないので、この横並びのメニューバーの下端を下方向へ引っ張る(ドラッグする)と、実は隠れている画面が出てくる(この隠れ画面に気づかなくて「そんな画面でてこないんだけど・・・」って以前なったことがある)。以下のような感じ。

隠れ画面の左に「Add Curve」ボタンを押し、右の「Add Curve:Simplify Curves」のチェックが入っている状態にする。
つぎは、左の「Scene」ボタンで「Scene: CAM - gcode generation tools」もチェックが入っている状態にする。この二つでOK。あとは引き下ろした画面を元にもどして、左上のアイコンタブを「Info」にでもしておけば大丈夫。


ようやく開始画面:
という感じで問題ないのですが、右側にCAMのタブが出なかったのは、単にウィンドウサイズが画面より大きくてフィットさせたら以下のように出てきました。
右側に縦に3列ある真ん中のがCAMタブですね。ここでほとんどの設定をするようです。なので、両側のタブは隠してしまっても大丈夫そうです(タブ画面の境目を横にドラッグして横幅をずらす)。


3Dモデルインポート:
あとは3DモデルをFile>Importでインポートする(以下)。
けっこういろんなデータ形式が読み込めます↑。


こんな凹凸があるデータをインポートしてみました。
多少位置がずれていれば、青赤緑の矢印を移動したい軸方向にドラッグすれば動かせます。斜めに一気に動かすというより、X軸はこのくらい、Y軸はこのくらいという感じでひとつの軸ずつ。

各種設定して行く前に、左上のアイコンタブが「Info」になっていて、そのままメニューバーの右のほうへいくと「Blender CAM」タブを選んでいるかチェック。以下のような感じ。


CAMタブで各項目を設定:
あとは設定していくだけです。右側のCAMタブをとりあえず一度全部閉じた方が分かりやすいかもしれません。全部閉じると以下のような感じ。
ここで上から順に設定していけばいいと思いますが、動画ではまず下から6番目の「CAM Machine」から設定しているので、それからやってみます。14項目もありますが、実際は8項目くらいでOKだと思います(2、4、11、12、13、14番目以外)。

CAM Machine(下から6番目のタブ):
こんな↑感じでセットしておきます。
上から「Presets」そのまま、「Post proces...」は「grbl」(これを使っているので)。ほかにもMach3とかLinuxCNCのEMCとかもありますね。「Split files」はGコードファイルが大きくなったら下の800000以上でファイル分割するということだと思います。単位は「Metric」。「Use position defenitions」でマシン原点など細かく入力できますが、とりあえずなしで。「Work Area」を材料の大きさに合わせて入力(ひとまわり大きいくらいで)。フィードやスピンドル回転数は適当に。ただ単位がcmになったりするので注意してください。ここは、だいたいこんな感じ。
それでは一番上の「CAM operations」タブに戻って、上から順にいきたいと思います。

CAM operations:
まず右上の「+」ボタンを押すと「Operation_1」という今回の加工タイトルの決定。そしていろいろ設定をしてセーブすれば今後もこの設定を選べば使い回しができるはず。少し下がって「Operation presets」タブから、既存の設定を選んでもいいけど、とりあえず最初は自分用に全部設定してみるという感じ。
「Calculate path」や「Simulate this operation」は設定が終わったら最後に押すボタンなので、いまはスキップ。あとはこんな感じで。
最後の「Object:」は、その3Dモデルのことです(3Dモデル名ではなくなっているかもしれません)。ほかに「CAM_machine」と「CAM_material」もありますが、それらは選ばないように。

CAM info & warnings:
ここはスキップ。エラーあるとここにでるようです。

CAM operation setup:
ここでどんな加工をするかが選べます。今回は凹凸を削りとるので「Parallel」を選んでみます。

ちょっと寄り道しますが、一番上のProfile(Cutout)は切り抜きだと思います。「Cut:Outside」でオフセットカットもできそうです。「Autogererate bridges」で完全切り離しにならないようにつなぎ目をつくってくれそうです。「Skin」は薄皮残しのようです。かなり便利そう。

元に戻りますが、「Parallel」を選ぶと、以下のようなタブ画面。

「3 axis」はそのまま。何ミリ間隔で削るかという設定です。とりあえず荒削りなら刃と同じ太さで。ということで6mmに設定。オーバーラップするように削るなら値を下げればいいと思います。「Angle of paths:」は、0度だと縦(Y軸方向)に平行に削るようです。今回は横(X軸方向)に削るので90度設定。「Use array」同じ部品を何個も並べて複数同時に削るときの設定のようです。

CAM optimisation:
ここは精度の設定だと思いますが、このままで(実際削ってみてからじゃないとわからないので)。

CAM operation area:
ここはZ軸方向でしょうか。レイヤー状に削るかとか、何ミリずつ下げるかとか。今回は木材という前提で、「Step down:」は、3mmで。アルミなら1mmとかでしょうか。加工の開始高さは材料の高さからでいいので、「Operation depth start:」は0で。たぶん以下のような感じでいいかと。

CAM movement:
ここは往復で削るとか片道だけで削るとかの設定だと思います。動画でも説明していました。
往復で削るということで「Climb/Down milling」。あとはこんな感じ。

CAM feedrate:
ここは加工時のフィード設定(加工時のXY移動速度)。
「Plunge speed:」で下へ掘り下げるスピード設定。おそらくこの設定で、XY軸の50%ということになるかと。遅くするに越したことはないと思います。「Plunge angle」は下がるときの角度。垂直に降ろすよりは斜めに降ろしたほうが抵抗が少ないので、角度があったほうがよさそうです。ということでこんな感じ。

CAM Cutter:
ここはエンドミルのタイプや太さなどの設定ですね。

End(フラット)、Ball(丸)、Vなど。今回は先が丸いBallで。Cutter diameter:で刃の直径6mmを入力。Cutter flutesは何枚刃かなので、2枚刃ということで。

CAM Machine:
ここは最初に設定したので先ほどの内容で。

CAM Material size and position:
「Estimate from model」をチェックすると自動で大きさを計測して画面上に材料を包み込むように半透明ボックスが配置されます。
「Position object」を押すと自動的に左下を原点に移動してくれます。
ただ、今回の場合、縦方向になぜか余分に大きくなっている。
あとで加工パスを表示すると、ズレや加工範囲が広すぎたりするので、無駄な動きをなくすためにもまたここに戻って来て手動で調整してみるといいかもしれません。「radius around model:」で加工範囲を1cm多めに設定してみました。そうするとちょうどよさそうだったので。

こんな感じで、この段階で一番上のタブの「CAM operations」に戻り、「Calculate path」ボタンを押してみるといいです。だいたい加工範囲がカバーされているか?無駄に外側に大きく加工範囲がはみ出ていないかなどチェックできると思います。だめそうならUndoで戻って、ちょっと設定を変えてみるといいと思います。
これで大体OKだと思います。残りのタブはあまりいじらなくてもよさそうです。
あとは、「CAM operations」の「Simulation this operation」で加工後の状態をチェックして、だめならUndoして再度調整し、OKなら「Calculate path」ボタンを押してGコードファイルを生成。デスクトップ上に「CAM operations」内の「File name:」で.ngcファイルが出来上がっているはずです。

bCNCで確認:
その.ngcファイルをbCNCで見てみると、以下のような感じです。
きれいに削れるかどうかは分かりませんが、一応データ上は問題なさそうです。これもエンドミルの形状や太さ、フィードやオーバーラップをどのくらいにするかなど、経験から覚えていく感じでしょうか。

まとめ:
まだ実際に加工はしていないのでわかりませんが、3Dだけでなく2DでもBlendercamは便利そうです。とくにBlender特有の操作が必要というわけでもないので(3Dモデリングをするわけではないので)、Gコード生成のツールとしては充分使えそうです。この際、Blenderの3Dモデリングもまた覚え直してこのソフトひとつでやったほうがいいのかもしれません。
Blenderは、影付きの3Dゲームエンジンや物理シミュレーションが作れるというので、以前から使いたいと思っていましたが、途中でUnityも出て来て、あまりにもBlenderが扱いにくいのでUnityに移行したほうがいいかもと思いつつ、3D熱も冷めてしまって結局どっちもほったらかしになっていたという感じです。

人気の投稿