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

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



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


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

2016年5月21日土曜日

InkscapeのMac版ショートカットキー設定/パスに沿った図形の複数配置

Inkscapeのデフォルトだと、Macのショートカットキーとは違うのでそのままだとちょっとやりづらいです。MacでコピーはCommand+cですが、control+cになっています。InkscapeのEdit>Preferences>Interface>Keyboard ShortcutsでAdobe Illustratorに変えられるのですが、それでもcontrol+cになってしまいます。

検索すると、ここに載っていました(Mac OS X固有の問題)。忘れないように書いておこうと思います。

Commandキーを使う場合:
Teminalを開いて、
cd ~
を入力して、/Users/usernameのディレクトリに移動したら、
touch.Xmodmap
を入力すると.Xmodmapという不過視ファイルが出来上がって、
open.Xmodmap
を入力して、それを開く。開いた新しい画面に、
keycode 66=Alt_L
を入力すると、左optionキーがX11でAltキーになるようです。
そして、controlキーとcommandキーを入れ替えるために、
! Switch meta and control
keycode 67 = Meta_L
keycode 63 = Control_L
keycode 71 = Control_R
clear mod2
clear control
add mod2 = Meta_L
add control = Control_L Control_R
これらもまとめてコピペするといいようです。
X11を一旦閉じて、Inkscapeを起動すると、ちゃんとcmmandキーが機能しています。

もうひとつ使いたいのは、option押しながらドラッグするとduplicateしてくれる方法。でもこれはできないみたいです。duplicateはcommand+dを使うしかない。
これで少し使いやすくはなりました。


パスに沿って複数図形を配置する場合:
それから個人的に、これをやりたかったのですが、
まずこんな感じで、大きい円(円をObject to Pathでパスにしたもの)の上に、小さい赤丸をたくさん並べたいというやり方についてです。
きっと方法があるだろうと調べてみると、ひとつは図形(赤丸)をパターンに変換してから配置するというのがあったのだけれども、そうするとパスには戻せなくなるようなので(Gコード化できなくなる)、パス図形をパスに沿って複数配置するという方法でやってみました。
最初に二つの図形を選んでおいて(このとき、配置される図形:赤丸はパスとなる図形:大きい丸よりも上下関係で言えば上にないといけない)、
このGenerate from Path>Scatter...を選ぶと、

多少重なって欲しいので、Space between copies:に-6.0を入れておきます。
Orignal pattern will be:Copiedになっていますが、この他にMovedでも構いません。オリジナル(小さい赤丸)を残しておくか、いっしょに移動させてしまうかの違いです。しかし、もうひとつClonedという選択肢もありますが、これをつかうと生成される図形がパスではなくなってしまうようなので、ダメみたいです。CloneとかPatternはPathにできないようなので、レーザーカットではあまり用いないほうがいいかもしれません。
Copiedを選べば、このようにオリジナルは元の位置に残るようです。
複数配置されたほうはグループ化されて一つになってしまっているので、一旦Ungroupしてバラバラにし、もう一度複数を選んで、Path>Unionをすると、
こんな感じにつながってくれます。これはパスなので、このままレーザー用にGコードを生成できます(Laser Tool Plug-inを使って)。保存先のディレクトリを入力しないとエラーがでます。

こんな感じでレーザー加工パスができあがりました。パスもひとつながりになっています。あとはbCNCで読みこんでレーザー加工。

bCNC上での画面。

2016年5月18日水曜日

Inkscape Laser Tool Plug-inのエラー

InkscapeのExtensionである「Laser Tool Plug-in」は、レーザー加工するときには便利なのですが毎回最後のGコードでエラーがでます。工程の最後にエラーがでるようなので、作業自体には問題ないのですが、作業終了後毎回ロックがかかってしまいます。
「Laser Tool Plug-in」で簡単なGコード(画像上:20mmの円を描くGコード)を生成すると、以下のような感じ。

M05 S0

G90
G21
G1 F600
G1  X27.6603 Y17.0556
G4 P0 
M03 S500
G4 P0
G1 F400.000000
G2 X24.7314 Y9.9845 I-10. J0.
G2 X17.6603 Y7.0556 I-7.0711 J7.0711
G2 X10.5892 Y9.9845 I-0. J10.
G2 X7.6603 Y17.0556 I7.0711 J7.0711
G2 X10.5892 Y24.1266 I10. J-0.
G2 X17.6603 Y27.0556 I7.0711 J-7.0711
G2 X24.7314 Y24.1266 I-0. J-10.
G2 X27.6603 Y17.0556 I-7.0711 J-7.0711
G1  X27.6603 Y17.0556
G4 P0 
M05 S0
G1 F600
G1 X0 Y0
M18

この最後のM18がたぶんエラーの原因になっているのだと思います。
M18を調べてみると、RepRapのGコードでは、「全てのモーター停止」となっているので、このことなのかもしれません。しかしgrblでは、M18は対応してないようなのでエラーがでるのだと思います。
「プログラム終了」というMコードであれば、M30が一般的のようです。grblでもM0、M2、M30がポーズと終了になっています(このページのNice featuresの欄に書いてあります)。しかしRepRapだとM30は「SDカード上のファイルを削除する」のようです。
おそらくLaser Tool Plug-inはRepRapよりの設定なのかもしれません。

ということで、M18をM30に書き換えてから実行してみたらエラーはでませんでした。
生成されたGコードファイルをTextEditで開いて訂正してもいいし、bCNCなら以下のようにEditorで編集してもいいと思います。

それなら、Laser Tool Plug-inのファイルを開いてプログラムを書き換えればいいのかもしれないと思ってApplication/Inkscape.app/Contents/Resources/share/inkscape/extensions/laser.pyをTextEdit(行数が表示されないのでSublime Text)で開いてみました(Inkscape.appを右クリックでパッケージの内容を表示、もしくはcontrol+クリックでパッケージの内容を表示でContentsフォルダ内を見ることができます)。
そうすると、
laser.pyの91行目にM18がありますね。どうやらfooterとして挿入しているようです。おそらくこのM18をM30に書き換えればgrblでもエラーがでなくなるのではないでしょうか。

さっそくM18を上画像のようにM30に書き換えました。これでlaser.pyを保存し直して、Inkscapeで試してみます。Inkscapeを開いてLaser Tool Plug-inで簡単なGコードを生成してみます。以下。

M05 S0

G90
G21
G1 F600
G1  X58.0571 Y43.5429
G4 P0 
M03 S500
G4 P0
G1 F400.000000
G2 X52.6251 Y30.4288 I-18.546 J0.
G2 X39.5111 Y24.9968 I-13.114 J13.114
G2 X26.3971 Y30.4288 I-0. J18.546
G2 X20.9651 Y43.5429 I13.114 J13.114
G2 X22.3768 Y50.6401 I18.546 J0.
G2 X26.3971 Y56.6569 I17.1343 J-7.0973
G2 X32.4139 Y60.6772 I13.114 J-13.114
G2 X39.5111 Y62.0889 I7.0973 J-17.1343
G2 X46.6084 Y60.6772 I0. J-18.546
G2 X52.6251 Y56.6569 I-7.0973 J-17.1343
G2 X56.6454 Y50.6401 I-13.114 J-13.114
G2 X58.0571 Y43.5429 I-17.1343 J-7.0973
G1  X58.0571 Y43.5429
G4 P0 
M05 S0
G1 F600
G1 X0 Y0
M30

最後がM30になってますね。これでgrblを使っている場合はエラーがでないはずです。これでひとつ問題解決しました。よかった。


それから前にも書きましたが、Laser Tool Plug-inの上から5個目のLaser Power S#は0-256 or 0-10000となっていますが、grblだとデフォルトが0-1000なので、ここも違います。数値入力するので、ここはプログラム自体を書き換える必要はないかと思いますが。

grbl0.9のconfig.hの254行目を見ると、

#define SPINDLE_MAX_RPM 1000.0 // Max spindle RPM. This value is equal to 100% duty cycle on the PWM.
#define SPINDLE_MIN_RPM 0.0    // Min spindle RPM. This value is equal to (1/256) duty cycle on the PWM.

となっているので、スピンドル最高1000(100%)、最低0がデフォルトのようです。

grblの今後の開発予定(Development Path and Future Needs)では、リアルタイムに調整可能なフィードレート、クーラントやスピンドルのオーバーライドなどが挙げられているので、bCNC上にあるオーバーライド機能はまだ使えないということなのかもしれません。
追記:Grbl1.1からはオーバーライド機能に対応しました(こちらのページ中程)。
これはbCNCのControl画面ですが、画像の下のほうにFeed OverrideとSpindleのスライダーがあり、ここでリアルタイムに調整可能にはなっていますが、grblではまだということだと思います。
フィードやスピンドル(PWM)の値は、あらかじめ何回か素材に合わせてテストしてから実行しているので、それほど使うわけでもないのですが、たしかにあったほうが可変的に実験もできるので便利です。
まあオープンソースなので、この辺りは各自でやっていくしかないでしょう。

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月11日水曜日

CNCマシン:JscutでオフセットカットやポケットカットのG Code生成

grbl wikiのUsing GrblページにのっているGRBLwebというG Code Senderを見てみると、ブラウザ上で作業できるようなのですが、ネットワークに接続されたRaspberry PIをホストとしてCNCマシンの遠隔操作も可能なので便利そうです。CNCマシン用の小型コンピュータを設置するような感じでしょうか。そうすればわざわざMacBookをUSB接続せずに使えるので、5000円前後で可能ならいいかもしれません。でも、それならArduinoじゃなくてRaspberry PIで直接動かした方がよさそう。

Jscut:
同時にGRBLweb用に、JscutというsvgファイルをG Codeに変換してくれるweb上のソフトもあるようです。こちらは、http://jscut.org/jscut.htmlにアクセスすればすぐに使えるので試してみました。

こんな画面(ブラウザ上)です。真ん中上のほうにある「Open SVG」で以前合板でつくったパーツのデータ(Inkscapeで描画したsvgファイル)を開いてみました。右上の水色の部分に手順がでてくるので、図形を選択しながら左右のパラメータ(エンドミルの直径、フィード、材料の厚みなど)を設定します。
設定が終われば、左上の「Operations」内にどんな加工をしたいかを選ぶところがあります。Pocket、Inside、Outside、Engrave、VPocketの5種類あるので、大体の加工ができそうです。
今回の図形では、オフセットで3mm外側のラインで加工したいので、「Outside」を選択。最終的に合計深さ3mm削るなら「3 Deep」を入力。
その右となりにある「Generate」をクリックするとG Codeが生成されます。

図形画面上の「Simulate GCODE」を選択すれば、どんな感じに削るか見ることが出来ます。「Save GCODE」をクリックし、保存名や保存先を指定して.gcodeファイルとして保存できます。そしてbCNCなどで.gcodeファイルを読みこませて加工という手順。

追記:
尚、「Tabs」(タブ:部品が母材から完全に切り離れないようにつなぎ目をつける機能)に関しては、こちらの作業例にかいてあります。

今回生成されたG Codeだと問題なさそうです。これを使えば以前困っていたオフセットカットもすぐにできそうです。

Raspberry Piがあれば、GRBLwebとJscutの両方をブラウザ上でできるし、カメラも設置しておけば切削状況も確認しながら遠隔操作可能となるので、かなり便利そうです。
レーザーカットするときなどは、カメラ越しに見ればいいので安全対策にもいいかもしれません。

あと、WebベースのCNCソフトなら、cheton/cncも気になる。調べれば調べるほど、いろいろでてくる。開発が終わっていそうなものもあれば、いまでも頻繁に更新されているものとか。基本的な操作をするならどれでもよさそう。別に遠隔操作などしなくてもいいけど、オフセットカットパスを自動生成してくれたり、2.5Dだけでなく3D切削/Engravingにも対応しているようなG Code Generatorで便利そうなのが欲しい感じです。


bCNCにおける加工原点の移動方法:
Gコードは生成したけれども、切削作業前に、やっぱり加工原点を変更したいというときがあります(材料が思ったより小さかったり、微妙に形状に合ってなかったなど)。以下は、G Code SenderであるbCNCで加工原点を編集する方法です。

 bCNCのメニューバーのFileタブを選択し、フォルダアイコンをクリックすれば、ファイル選択画面が出て、PC内に保存されているJscutなどで生成したGコードのファイルを読み込むことができます。
今回の図面は部品の下中央を加工原点として、Inkscapeで描きました。左右対称ということもあったので。この原点をbCNC上でずらそうと思います。

 メニューバーのEditorタブに切り替えます。そうすると上の画面のようになります。ここで、Originボタンを押して、加工原点にしたい位置(今回の場合、部品の左上→右上の間違い)をクリックします。

そうすると瞬時に加工原点は部品の右上に移動します。以上です。

Moveボタンで図形移動:
また、他のやり方として、Originボタンの左にあるMoveボタンで部品の図形ごと移動してしまうという方法。
 まずMoveボタンを押します。移動したい図形全体をマウスで囲んで選びます(クリックなら部分的なパスを選ぶことも出来ます)。あとはドラッグして移動します(今回の場合、やや左下へドラッグ)。失敗したらUndo。

 先ほどは部品の右角に加工原点がありましたが、ドラッグしてここまでずれました。

あとは、視点を切り替えてみて(赤丸で囲んだタブで選択:ISO1など)、大丈夫か確認します。
真上や真横から見た視点にも変えられるので、X-Y平面上での移動ならX-Yタブ、上下方向で移動したいならX-Zなどを選んでパスを移動させます。この加工パスの場合、3回で切断するパスなのでそれぞれ同じパスが3層になっています。一つの層だけのパスを選びたい場合は、X-Y平面の視点だと選びにくいので、このようなISO1や横から見たX-Zなどの視点にするとやりやすくなります。
このほか、ある程度のパスの編集もこのEditorタブの画面内で可能です。すべては試してないので分かりませんが、いろいろいじってみるといいと思います。


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

人気の投稿