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

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



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


ラベル gcodetools の投稿を表示しています。 すべての投稿を表示
ラベル gcodetools の投稿を表示しています。 すべての投稿を表示

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など)

2016年5月5日木曜日

CNCマシン:中国製レーザーモジュールについて(まとめ)

レーザーの実験も終わったところなので、いままでのことをまとめておきます。

今回の自作CNCマシンでは、5.5W、12Vのレーザーモジュール(レーザーダイオード)を使っています。この手のレーザー加工機用のモジュールはEbayでも入手できますが、AliExpressで入手するのがほとんどでしょう。AliExpress内で「5.5w laser」や「5500mw laser」で検索すれば出てきます。
見た目はこんな感じのもので、レーザーモジュール本体、ドライバ基板(中央)、ACアダプターの3点セットになっています。もちろんマニュアルなし。Air Mail便で2週間前後で届きます。

AliExpress.com Product - 5.5w blue laser module high power focusing laser engraving and cutting TTL module 500mw/ 2500mw/5500mw laser tube+ gogglesAliExpress.com Product - 5500MW laser engraving machine 5W high power laser modules focusing head point wavelength 450m12v
ちなみに、これ↑は、5500mwのレーザーモジュール(6,757円)。たまに安いのがあります。

注意事項として:
購入する際も、一応内容のチェックをしたほうがいいです(メールやチャットで)。ドライバ基板はついてくるのか?ACアダプターは何V対応なのか?焦点距離はアジャスタブルかもしれないけど、大体どのくらいなのか?もし壊れていた場合返却できるのか?など。
マニュアルはないので、すぐに接続して試す前に、それぞれをテスターなどでチェックしたほうがいいです。ACアダプターの極性や電圧をチェックしてから、ドライバ基板に接続(このときまだレーザーモジュール本体はつながないほうがいいかも)。当然レーザー用ゴーグルも必要。ドライバ基板の各端子の極性や出力電圧チェック。配線の色が逆になっていることもあるので、それも確認するなど。レーザーを接続する場合も、異臭や異音を感じたら、すぐに電源OFFできるように身構えておく。燃えやすいものが近くにないかどうか。使用前と使用後の異常を確かめるためにも、最初にカメラで撮影しておくといいと思います。

出力と値段:
この種類、メーカーはどこのものなのか分かりませんが、0.3W、0.5W、1W、2W、2.5W、3W、4W、5W、5.5W、8W、10W、12W、15W、17W、20Wのバリエーションがあるようです。5.5Wで1万円前後、20Wで2万円前後という感じでしょうか。ショップによっても値段がかなり違いますが、画像は同じものを転用しています。購入するときはメールやチャットで内容を確認したほうがいいでしょう。


AliExpress.com Product - Blue Laser 15W Laser Engraving Machine Focusable High Power Laser Module 450nm TTL/Analog with Power Supply CNC Engraver Cutterダイオードレーザーではかなり強力な15Wレーザーモジュール。18,509円(送料込み)

17Wで33,576円(送料込み)。

また最近(2019年)では、以下のようなセットもありました。以前に比べるとかなり安くなってきました。

AliExpress.com Product - Powerful 20W 450nm blue laser module DIY laser head for Master Series CNC laser engraving machine Accessory with Wrench20W ダイオードレーザーCNCマシン、21,140円(送料込み)


レーザー加工機としてどのくらいのW数がいいか?:
国内のSmart DIYsの「FABOOL Laser mini」は1.6Wのようで、3Wにも拡張できるようです。おそらく、一度手にするともっと出力数の高いものが欲しくなってくると思います。1.6Wで柔らかい木材2mm切断できるらしいです。5.5Wで4〜5mmくらいでしょうか。アクリル板も切りたいと思うかもしれませんが、この手のダイオードレーザーだと透明アクリルは光を透過してしまって切れないようです(黒いアクリルなら可能)。もし分厚いアクリルも切りたいのであれば、Smart DIYsの「Smart Laser CO2」などの40Wクラスになってしまうでしょう。透明アクリルでも10mmまで切れるようです。ただし248,000円(税抜き)とかなり高額になってしまいます。中国製の40W/CO2レーザーであれば8万円前後で買えますが、電源やソフトなど改良する必要があるかもしれません。

AliExpress.com Product - 40w co2 3020 laser engraving machine,3020 laser cutting machine,engrave size 30*20cm support CorelDRAW output
中国製CO2レーザー40Wなら、こんな感じ↑(約68000円/送料込み)。これなら透明アクリルも切れるはずです。


ルーター、ミリングマシンという選択:
今回CNCマシンを制作するにあたりそんなことを考えましたが、やはり20万円以上も費やすのは高いかなと。分厚いアクリルなどを切るならルーターやミリングマシンで切った方がいいんじゃないかと。そうすれば、アルミなどの金属加工もできるし、レーザーとミリングの使い分けがいいのではないかと。
レーザー加工機の場合は、基本的にXY軸だけで済むし切断する材料から切削抵抗も受けないので、それほど剛性のある構造にしなくてもいいのですが、ルーター/ミリングマシンの場合は剛性をあげないと切削抵抗に耐えられなくなってしまいます。なので、レーザー加工機をルーターマシンに転用することはできませんが、その逆は可能なので、CNCルーターマシンをつくるという前提のほうがよさそうです。
もし自作しないのであれば、「Shapeoko3」や「X-CARVE」のような$1000くらいのXYZ軸の3軸CNCマシンを購入して、そのヘッドにレーザーモジュールを買い足せば15万円くらいで両方使えるようになると思います。当然自作すれば10万円以下で両方が可能になるはずです。
ミリングマシンであれば、基板制作も可能になるというメリットもあります。
ということから、レーザーの場合は例え5万円前後の10Wダイオードレーザーを装備したとしても、値段の割にはあまり大した物は切れないので、あくまで薄い素材を切るか、切るというよりも表面刻印加工用として考えたほうがいいかもしれません。どうしても分厚いアクリルなどをレーザーできれいに切りたいというのならCO2レーザーになってしまうと思います。

レーザー加工機を自作する場合:
ミリングは必要なく、レーザーだけでいいのであれば、3万円もあれば作業エリア500mm角くらいのものをつくることができると思います。何Wのレーザーにするかでコストが変わるので、レーザーモジュールを除いた部分(XY軸の2軸CNCマシン)だけであれば2万円くらいでつくれると思います。
必要なのは:
モーター:ステッピングモーターNEMA17クラス2個
送り機構:2GTタイミングベルト+タイミングプーリー
直動機構(構造フレームも兼ねる):V-slot Rail+solid V-wheel
制御:Arduino+ステッピングモータードライバ
その他:配線材料、ネジ類、ブラケット、リミットスイッチなど
しかし、AliExpressで2万円くらいで2Wレーザーカッターキットが買えるので、それをベースに改造したほうが早いかもしれません。Arduinoで動くものが多いので、Arduinoが使えるのであれば特に問題ないと思います。付随のソフトに問題があるのであれば、オープンソースのgrblやUniversal G-Code Senderを使えばいいと思います。自作についてはソフトとハードともに、Shapeoko wikiReprap wikiなどから充分情報が手に入ると思います。

AliExpress.com Product - benbox 2000mw laser engraving machine cutting maching laser engraver big working area 65*50cm support laser power adjust2Wレーザー加工機、21,671円(送料込み)

ダイオードレーザーモジュールの構成:
CO2レーザーはあきらめるとして(かわりにミリング加工する)、それでもレーザーでしか切ることができない柔らかい素材や刻印加工もあるので、一概にダイオードレーザが使い物にならないというわけでもありません。レーザーモジュールを買うなら、上画像にあるようにTTL端子のついたドライバが付属しているか確認したほうがいいと思います。

以下はダイオードレーザー用のTTLドライバ単品。

AliExpress.com Product - TTL driver board,laser driver board 2879円(送料込み)



こんな感じで↑、ドライバ基板にTTL端子がついています。ここにArduinoなどのマイコンをつなげばレーザーの可変出力を可能にします。何もつながなければ、手動によるON/OFF制御になってしまいます(具体的な配線についてはこちらへ)。

ドライバ基板は全体的にはこんな感じになっています。大きさは幅50mm、奥行き30mm、高さ25mm程度。右上が先ほどのTTL端子+-、その下の赤黒ケーブルがついている端子が電源DC12V端子、左側にLD+-端子(レーザー本体につなぐ)、その下がFAN+-端子(レーザー本体につけるDC12V用クーリングファン)。LD端子+からは約5.5Vが出ていました。

左に見えるのが付属のACアダプター、INPUT:AC100〜240V 50/60Hz DC12V 2A。レーザー本体は、32.5x32.5x65mmくらいの大きさです。先端と反対部分にファンがついており、ケーブルも別です。回路も含めてレーザー本体は、ほとんどが黒塗りのアルミ製ヒートシンクで囲われており、中心に円筒状(径18mm)になって入っています。
この状態で電源をつなげばすぐにレーザーは使えますが、いきなり最大出力がでるので注意しないといけません。
そのために、レーザー防護用ゴーグルが必要になります。

レーザー防護対策:
レーザーの安全基準(オムロン)を見てみると、大抵のレーザ加工機の場合は最も危険なクラス4に入ると思います。なので一度読んでおくといいと思います。
レーザ用ゴーグルなどがないと目に損傷を与えてしまうので、もし複数の人数で作業している場合は全員着用する必要があると思います。できるだけ見ないように注意しても、予期せぬ反射光が目に入って来たり、ゴーグルを着用していても頭をちょっと動かした際にゴーグルと顔との隙間から光が入ってくることもあります。当然、何も防護していない他の人やペット類がいるような場所での作業は控えた方がいいと思います。
個人的な経験ですが、レーザーの焦点実験などしていると、レーザーゴーグルをつけているにもかかわらず、なんとなく目が疲れたような感じになります。顔もなんとなく日焼けしたような感触を得ます。それだけレーザーの反射光を顔に浴びているということだと思います。

国内の防護ゴーグルを購入しようとすると2〜3万円くらいします。

リケン レーザー保護メガネCO2レーザー RSX4CO2
理研オプテック
定価 ¥21,600
Amazonで詳細を見る

安いものであれば、

BOSCH(ボッシュ) レーザーメガネ BL-GLASS
ボッシュ(BOSCH)
売り上げランキング: 105,133

ボッシュ製らしいですが1620円。

安いですが、これもきっと中国製だと思います。なのでAliExpressで同じようなものを探すと、
これ↑なんかは、一個155円(送料無料)
いちおう使っているレーザーの波長をチェックして、それに対応するものを選ぶ必要があります。
レーザーの種類、出力数によっては、品質の高いものを選んだほうがいいと思います。それと、安いものだと完全にレーザーを遮光するというわけでもないので、レーザーゴーグルを装着したからと言って直接レーザー光を見ないようにしたほうがいいと思います。遮光というよりは、あくまで軽減ということなので。

前述のレーザーモジュールの場合450nmなのでその波長をカバーしているかどうか?それと安全性の基準となるOD値(Optical Density:光学濃度)が書いてあるはずなので、それもチェック。書いてないようなものは買わない方がいいと思います。
この表↑を見るとOD値が大きいほど安全という感じです。

それと、ゴーグル以外にもレーザー遮光アクリル/シートなどあるといいかもしれません。ただしこれも結構高いです。
AliExpressで安く売ってるかと思うと、そうでもありません。
これ↑は、Laser Safety Windowという厚さ5mmのアクリル板ですが、50x50mmサイズで2203円(送料込み)もします。

他には、アメリカのJ-Tech Photonicsにある以下のもの。
12インチ角(約300mm角)で$16.99しかしないのですが、送料が$63.61もするので、8000円くらい。このサイトに利用例がありますが、以下のようにするだけでもかなり目に入ってくる量は減ると思います。

使っているレーザーの焦点距離が素材まで50mm程度なので、できればレーザーモジュール下の部分を箱状に囲ってしまうともっといいはず。そうすれば、いちいち怖がらずにどんどん作業できそうです。

追記:
最終的には以下のように、安価なレーザー用ゴーグルを材料にシールドを自作しました(そのときの内容はこちら)。


レーザー用ソフトなど:
Inkscapeで描画しGコードを生成するには、
Laserweb3(Grbl1.1対応のブラウザベースGコード生成+送信アプリ)
があります。
特にLaser Tool Plug-inは、Inkscapeのプラグインであり、レーザー加工機用につくられているのでInkscapeで描画しつつ、それをすぐにGコード変換できるので使いやすいと思います。あるいは、Laserweb3ならInkscapeで描いた図面等を取り込んだ後、Gコード生成とGコード送信が一つのアプリで可能なので便利です。
レーザードライバのTTL端子への出力値や刻印加工の設定も簡単にできそうです。
Arduino+grbl0.9(あるいは1.1)を使っている場合は出力値0〜1000の値を入力します。1000で100%、500で50%、0で0%。

レーザーの焦点距離:
きちんとした製品であれば、マニュアルなどに焦点距離について書いてあるはずですが、上記の中国製レーザーモジュールの場合、当然マニュアルなんかはついてきません。なので自力で探し出すことになります。もしくは買ったショップに問い合わせてみてもいいかもしれませんが、商品を売ってはいるものの、その商品の細かな内容についてまで知っているとは限りません。
設定が悪いとせっかく高出力のレーザーであっても半分の能力しか発揮できないということもあり得ます。まあ仕方ないですが、それも経験や学習から向上させていくしかありません。

焦点を合わせるには2カ所調整する必要がありそうです。
まず、先端部分にレンズが内蔵されたアルミチューブがあります。これを回すと前後に位置を調整できます。

こんな感じで飛び出してきます。中のレーザーダイオードからレンズまでの距離を合わせる必要がありそうです。
まず、レンズチューブ先端と素材を50mmくらい離して照射してみて、一番光点が小さくなるように調整します。もちろんゴーグルは必須です。できれば、出力を下げてやったほうがいいのですが。
ただ問題は、このレンズチューブを緩めると(飛び出させると)、ネジ山のあそびが多すぎるせいか、すこしぐらぐらしてしまいます。締め付けるために薄型ナットを取り付ける方法もあるのですが、M9ピッチ0.5mmという特殊なナットが必要になります。そのようなもので管用ナットというのがあるのですが、国内だとM9ピッチ0.75mmが主流のようでなかなか見つけるのが大変です。それならそのナット(締め付ける部品)すら自作したほうがいいかというと、


いちおうAmazonでもM9ピッチ0.5mm(1300円+送料880円)のタップは購入できます。しかし、たかがナット一個のために2180円も費やすのももったいないというのであれば、

こんな感じで、プラスチックの板などに径8.5mmくらいの穴をあけてから、アルミのレンズチューブ根元についているネジ山を利用して、タッピングしてしまうという手があります。そうすればプラスチックの板がレンズチューブを締め付けるナットになってくれるというわけです。これでレンズチューブを飛び出させてもぐらぐらしなくなります。
こんな方法で、内部のレーザーダイオードとレンズの距離を合わせたら、つぎは素材との距離を計測します。およそ50mmくらいだと思うのですが、レーザーの種類やレンズの種類によっても異なるかもしれないので、いちおう距離10mmから100mmくらいまでを5mm間隔くらいで照射実験します。

これが実験結果ですが、下のほうに手書きしてある数字が距離(mm)です。つまり左側10mmから徐々に5mmずつ離していって照射してみたということです。これを見ると分かるように、距離50mmが一番線がシャープになっています。50mmから離れるほど、線が太くなり、さらには線が薄くなっていくのが分かるかと思います。これは5mm間隔でやっていますが、さらに今度は45mmから55mmの間を0.5mm間隔などで実験すれば、さらにもっと正確な焦点距離がわかるはずです。という感じで焦点距離を探すように調べてみるといいと思います。

追記:
その後、0.1mm単位で焦点距離を調べてみると46.5〜48.5mmくらいでした。肉眼で見る限りでは約2mm前後のずれがあってもシャープさが鈍る感じではありませんでした。2mmの焦点深度があるような感じです。

いちおう以下に、10mmから100mmまで(5mm間隔、合計20本)の実験につかったGコードを書いておきます。
Arduino UNO+CNC ShieldV3.5+grbl0.9jで、PWM機能を使ってレーザードライバのTTL端子へつないで出力調整できるようにしてあります。尚、実験レポートは前回の投稿に書いてあります。

M05 S0
G90
G21

G1 F600
G1  X10 Y60 Z10
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X10 Y10 Z10
G4 P0 
M05 S0

G1 F600
G1  X15 Y60 Z15
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X15 Y10 Z15
G4 P0 
M05 S0

G1 F600
G1  X20 Y60 Z20
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X20 Y10 Z20
G4 P0 
M05 S0

G1 F600
G1  X25 Y60 Z25
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X25 Y10 Z25
G4 P0 
M05 S0

G1 F600
G1  X30 Y60 Z30
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X30 Y10 Z30
G4 P0 
M05 S0

G1 F600
G1  X35 Y60 Z35
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X35 Y10 Z35
G4 P0 
M05 S0

G1 F600
G1  X40 Y60 Z40
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X40 Y10 Z40
G4 P0 
M05 S0

G1 F600
G1  X45 Y60 Z45
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X45 Y10 Z45
G4 P0 
M05 S0

G1 F600
G1  X50 Y60 Z50
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X50 Y10 Z50
G4 P0 
M05 S0

G1 F600
G1  X55 Y60 Z55
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X55 Y10 Z55
G4 P0 
M05 S0

G1 F600
G1  X60 Y60 Z60
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X60 Y10 Z60
G4 P0 
M05 S0

G1 F600
G1  X65 Y60 Z65
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X65 Y10 Z65
G4 P0 
M05 S0

G1 F600
G1  X70 Y60 Z70
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X70 Y10 Z70
G4 P0 
M05 S0

G1 F600
G1  X75 Y60 Z75
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X75 Y10 Z75
G4 P0 
M05 S0

G1 F600
G1  X80 Y60 Z80
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X80 Y10 Z80
G4 P0 
M05 S0

G1 F600
G1  X85 Y60 Z85
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X85 Y10 Z85
G4 P0 
M05 S0

G1 F600
G1  X90 Y60 Z90
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X90 Y10 Z90
G4 P0 
M05 S0

G1 F600
G1  X95 Y60 Z95
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X95 Y10 Z95
G4 P0 
M05 S0

G1 F600
G1  X100 Y60 Z100
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X100 Y10 Z100
G4 P0 
M05 S0

G1 F600
G1  X105 Y60 Z105
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X105 Y10 Z105
G4 P0 
M05 S0

G1 F600
G1 X0 Y0
M30

2016年5月2日月曜日

CNCマシン:スピンドル(トリマ)ケーブル+オフセットカット

前回ホーミングも出来るようになったので、そろそろ試し切りをしてみたいと思ってます。レーザーはまだ後回しになっていますが、ルーター(トリマ)はすぐにでも使えそうです。マウントもつけてあるし、外付けスピードコントローラーもあります。ただそのままトリマを付けるとケーブルが垂れてしまうので少し工夫を加えてみました。

Φ1mmくらいのピアノ線が余っていたので、それをトリマ本体の電源コードの根元から50cmほど結束バンドで固定してみました。ある程度電源コードが自立するような感じで、引っ張られればしなやかに曲がる感じです。

ピアノ線の下端はC字型に折り曲げてケーブルにはめ込む感じです。あとは必要に応じて結束バンドで締めるだけ。トリマのノイズも拾うようなので、他のケーブルといっしょに沿わせないほうがいいらしく、CNCマシン本体とは別に(電源も別のところから)することにしました。どうせ取り外したりするし、GコードのほうではON/OFFや速度調節もしないので。

ケーブル先端のほうはダブルクリップでX軸に固定しているだけです。この先にスピードコントローラがついて、それから AC100Vにつながります。現在トリマには径6mmハイス4枚刃スクエアエンドのエンドミルがついています。このままアルミもいけるかもしれませんが、とりあえずこのエンドミルでどのくらいきれいに合板が切れるか試してみたいと思ってます。

オフセットカットのパスの作成方法がわからない
追記:結果的にオフセットパスを作成するには、Jscutというソフトで行うか、Inkscapeのオフカット(このページ下のほう)で新たにパスを作成するほうがよさそうです。

トリマのほうは準備できたのですが、同時に刃のオフセット(径6mmの刃なので半径3mm分外側を動くパス)を含んだ切断用パスをどうするのか?というのを調べていました。
以前InkscapeのExtensionであるgcodetoolsをちょっといじってみたのですが、オフセットの設定がよく分からない。すぐに出来るとのかと思っていたら、gcodetoolsのForumには以下の用に書いてありました(かなり古い投稿だけど)、

29/ноя(nov)/2011
Tool's diameter was used not for offseting, but for filling the area to make pocketing. Offset itself is a really hard procedure, and it does not work properly on every path. 

There are 3 options now how can you do the offset:
  1. Use inkspape's offsets:
    1. configure the steps in Properties dialog (Ctrl+Shift+P) and use Ctrl+( or Ctrl+), could be buggish, more or less depending on the Inkscape's version.
    2. use dynamic offset and set exact value in XML editor (select object, Ctrl+Shift+X, change offset diameter to needed value in px), could have buggs, not to handy.
    3. assign stroke width equal to 2 x needed offset radius, then Ctrl+Alt+C to Convert Stroke to path, Ctrl+Shift+K to break path appart, and finally delete inside path, not to handy again.
  2. Use one of G41 or G42 Gcodes to compensate tool's radius, it's a good solution, giving very clean path, but some times it can give an error if the tool can not reach every path piece. For smaller radiuses this error can appear rarely.
  3. Use Gcodetools offset function - it has more bugs that Inkscape's offset so not reccomended

PS in the dev version there's a function for plasma cutters that can add entering/exiting paths and special corner processing to make cut cleaner, but I do not know if it is actually needed in laser cutting. I'm only building my first laser cutting machine.

これによると、
・Inkscapeのオフセット描画を使う(バージョンによるけどバグがあるしやり方が不便)
・G-codeのG41かG42のツール半径補正機能を使う(かなりいいけど、小径の部分でエラーでる)
・gcodetoolsのオフセット機能を使う(Inkscapeのオフセットよりバグ多い)
とある。

というか、gcodetoolsの最新バージョンは1.7となっているけど(この英語フォーラムの一番上の投稿にある)、

これ↑は古いのかな?Shapeoko wikiのInkscapeチュートリアルもたぶんこれを使っているのだろうけど、このバージョンにはオフセット機能がついていないような?
調べてみると、devバージョン(開発中)もあるみたい。WindowsとLinux版しかないけど、MacはLinux版で大丈夫なはず。


gcodetool-dev版のインストール(dev版よりstable版のほうがいいかも)
まず「Download ZIP」から「gcodetools-master.zip」をダウンロード。
解凍すると、「gcodetools-master」フォルダが出来て、

中にはこんな感じ↑のたくさんのファイルが入ってる。
READMEを見ると、これ全部をInkscapeのextensionsに入れてInkscapeリスタート。
それと「python create_inx.py」を実行しろと。
Macなら、まずアプリケーション内の「Inkscape.app」を右クリックして「パッケージの内容を表示」で、
Incscape.app/Resources/share/inkscape/extensions内に、「gcodetools-master」フォルダの中身全部を入れる。
そのあとターミナルを開いて、
cd /Applications/Inkscape.app/Contents/Resources/share/inkscape/extensions
をいれてリターン。
そして、
python create_inx.py
を入力してリターン。
そうすると、

こんな感じの「Done」がずらずらでてくればOKなはず。そうすると先ほどのApplications/Inkscape.app/Contents/Resources/share/inkscape/extensions内には、


こんな感じの「.inx」ファイルが出来ているはず。
あとはInkscapeを立ち上げると、


メニューバーのExtensionsには「Gcodetools-dev」というのが出来ているはず(なぜか2個あるけど下の方)。
Extensions>Gcodetools-dev>Path preparations-devを選択すると(確か最新stable版1.7にはこの項目はなかったはず)、

この画面が出て来て、「Prepare path for plasma or laser cutter」タブでオフセット設定できそうなんだけど、使い方がまだよくわからない。


Inkscapeのオフセット描画方法
仕方ないので、Inkscapeのオフセット描画を試してみることに。

まず、Edit>Preferences...>Behavior>Stepsを選ぶとこんな↑画面がでます。このなかのInset/Outset by:に3.0000mmを入力(径6mm、半径3mmの刃なので)。設定したら閉じる。
つぎに、


適当に描いた図形(パス)を選択して、Path>Outsetを選ぶと、

こんな↑感じで、一回り大きい(設定した3mm分)図形ができあがります(ちなみにわかりやすくするために、同じ図形を2個重ねて、Outsetした図形のほうは緑色の線にしてあります)。
角も丸くなっているし、これ(緑色の線のほうだけ)をgcodetoolでG Codeに変換すれば充分かも。

gcodetoolsでG Codeファイルの出力方法(stable版も同じ手順)

まず(上画像)、File>Document Propertyで単位がmmになっているかチェック。
そして、

Extensions>gcodetools-dev>Orientation points-dev(上画像)に行き、
・2-point modeを選択
・Z surface:0(材料表面の位置を0に)
・Z depth:-12mm(カットする材料の厚み、下へ行くのでマイナス)
そしてApply。


つぎに、Extensions>gcodetools-dev>Tools librariy-dev(上画像)で、
・cylinderを選ぶ(刃の形状)
そして、Applyを押す。すると、以下の緑の四角がキャンバス上にでてくる。

ここで↑、テキスト編集アイコンを使って、
・diameter 6(ツールの直径6mm)
・depth step 3(何mmずつ削るか:今回は12mm厚を3mmずつなので4回で切断)

つぎに、Extensions>gcodetools-dev>Path to Gcode-dev(以下)に行き、

・出力するファイル名と出力先ディレクトリを入れる。
・Unit:mm
・Post-processor:Round all values to 4 digits
そして、ここでApplyを押さずに、Path to Gcodeタブに移動してからApplyを押す。
これで、いちおうG-Code化されたファイルが出力されるはず。

bCNCで読み込んでカット作業
あとはbCNCなどのG-Code-Senderを起動して、出力された.ngcファイルを読み込む。

いちおう3mm分外側にオフセットしたパスがでてきて、Control画面でStartを押すと作業開始。
先ほどInkscape内のgcodetoolsで設定したDepth stepの3mmずつ計4周かけて切削するはずです。

切削中の画面。小さい赤丸がトリマ部分。よくみると線が少しガタガタしているようにも見えます。
今回は実際に合板を削っていないので、どんな仕上がりになるのかわかりません。明日にでも、実際に切ってみたいと思います。とりあえず今回はオフセットカットの手順確認ということで。

G CodeのG41とG42のCutter Compensationも気になる。grblでは、G40にCutter Radius Compensationがあります。この辺も調べてみます。
CNCマシンは大体出来たとはいえ、まだまだ実際に使えるようになるまではノウハウも含めまだまだ覚えることがありそう。

追記:
オフカットのパスを生成するならInkscapeでもいいのですが、JscutというブラウザベースのGコード生成ソフトがあるので、そのほうが楽かもしれません。Jscutについてはこちらへ。

人気の投稿