さてGrbl1.1のレーザーモードの実験をしてみました。
前回も書きましたが、Grbl1.1では新たにLaser Modeが加わり、その中でもM4コマンドをつかった(従来まではM3)Dynamic Laser Modeという、レーザーヘッドの移動スピードに比例するようにレーザー出力をリアルタイムで調節してくれる新機能があります。今までは、スピードが落ちがちなパス折り返し地点や出だしの部分などで、焦げが目立っていましたが、それが解消(緩和)されるというわけです。どの程度効果あるのか、そしてどんな設定やコマンド操作するといいのか試してみました。
結果的には、従来に比べけっこう使えるんじゃないかという感じです。
使っているG Code SenderはbCNCです。今回は90度の扇形(半径20mm)の図面を描いて実験です(Inkscapeで描画、Laser Tool Plug-inでGコード生成)。直線部分、角の部分、そして円弧がある図形という感じです。特にいままでは、角の部分で焦げが目立っていましたが、どうなるかいくつかのパターンで試してみました。
画面左↑にGコードがあります。ちょうど水色の部分にM03があり、ここをM4に変更したりS値を少し書き換えていくつかのパターンをつくってみました。
結果は以下。
材料は厚さ2.2mmのシナベニヤ板。半径20mmの扇形。5.5Wダイオードレーザー使用。
まずは下の段から、
左端は、従来のM3 S1000 F200でカットしたもの(やや角に焦げが見えます)。
左から2番目、M4 S1000 F200。Dynamic Laser Modeなので、あまり角が焦げていません。なかなか効果あり。
M4でもS値を入力する必要がある:
ここで疑問に思ったことがあり(前回の投稿での疑問でもありましたが)、M4はスピード(フィード)に合わせてレーザー出力するのなら(M4の場合、スピードが0だと出力も自動的に0なる)、S1000はコマンド入力しなくてもいいんじゃないか?ということで試してみると、M4だけで出力値Sを入れないでRunさせると、レーザー自体出力していませんでした。つまり、M4 S1000などと出力したい値(おそらく100%のときの出力値)を入力しないとダメです。
ということで、右から2番目のが、M4 S500 F200。出力を半分に下げてのDynamic Laser Mode。少しわかりにくいかもしれませんが、左から2番目のS1000よりは弱いかなと。
わかりにくいので、右端がS100まで出力を落としたDynamic Laser Mode。ということから、M4の場合、Sの値は上限値という感じです。
レーザーモードのオン・オフ設定:
ただ、注意点としては、M3の場合は最初に$32=0という感じで、レーザーモードをオフにしておき、M4を使うなら$32=1に設定変更が必要です。M4での作業が終わればまた$32=0に戻すという感じ。M4が便利そうなので、$32=1のままでよさそうですが(M3はもはや使わないかも)。
リアルタイムオーバーライド機能:
それから、実験結果画像の上のほうにあるのは何かというと、Grbl1.1からはReal-time Overridesが使えるようになったので、もともとbCNCについているオーバーライド機能を使ってみたという結果です。
前回も書きましたが、Grbl1.1では新たにLaser Modeが加わり、その中でもM4コマンドをつかった(従来まではM3)Dynamic Laser Modeという、レーザーヘッドの移動スピードに比例するようにレーザー出力をリアルタイムで調節してくれる新機能があります。今までは、スピードが落ちがちなパス折り返し地点や出だしの部分などで、焦げが目立っていましたが、それが解消(緩和)されるというわけです。どの程度効果あるのか、そしてどんな設定やコマンド操作するといいのか試してみました。
結果的には、従来に比べけっこう使えるんじゃないかという感じです。
使っているG Code SenderはbCNCです。今回は90度の扇形(半径20mm)の図面を描いて実験です(Inkscapeで描画、Laser Tool Plug-inでGコード生成)。直線部分、角の部分、そして円弧がある図形という感じです。特にいままでは、角の部分で焦げが目立っていましたが、どうなるかいくつかのパターンで試してみました。
画面左↑にGコードがあります。ちょうど水色の部分にM03があり、ここをM4に変更したりS値を少し書き換えていくつかのパターンをつくってみました。
結果は以下。
材料は厚さ2.2mmのシナベニヤ板。半径20mmの扇形。5.5Wダイオードレーザー使用。
まずは下の段から、
左端は、従来のM3 S1000 F200でカットしたもの(やや角に焦げが見えます)。
左から2番目、M4 S1000 F200。Dynamic Laser Modeなので、あまり角が焦げていません。なかなか効果あり。
M4でもS値を入力する必要がある:
ここで疑問に思ったことがあり(前回の投稿での疑問でもありましたが)、M4はスピード(フィード)に合わせてレーザー出力するのなら(M4の場合、スピードが0だと出力も自動的に0なる)、S1000はコマンド入力しなくてもいいんじゃないか?ということで試してみると、M4だけで出力値Sを入れないでRunさせると、レーザー自体出力していませんでした。つまり、M4 S1000などと出力したい値(おそらく100%のときの出力値)を入力しないとダメです。
ということで、右から2番目のが、M4 S500 F200。出力を半分に下げてのDynamic Laser Mode。少しわかりにくいかもしれませんが、左から2番目のS1000よりは弱いかなと。
わかりにくいので、右端がS100まで出力を落としたDynamic Laser Mode。ということから、M4の場合、Sの値は上限値という感じです。
レーザーモードのオン・オフ設定:
ただ、注意点としては、M3の場合は最初に$32=0という感じで、レーザーモードをオフにしておき、M4を使うなら$32=1に設定変更が必要です。M4での作業が終わればまた$32=0に戻すという感じ。M4が便利そうなので、$32=1のままでよさそうですが(M3はもはや使わないかも)。
リアルタイムオーバーライド機能:
それから、実験結果画像の上のほうにあるのは何かというと、Grbl1.1からはReal-time Overridesが使えるようになったので、もともとbCNCについているオーバーライド機能を使ってみたという結果です。
bCNCには、FeedやSpindleをリアルタイムで調節できるスライダーがついています。加工中ではないときでも、Spindleボタンを押せば、レーザーオン・オフや出力調整が可能です(いきなりレーザー光がでるので注意が必要です)。この画像↑の場合、Feedが最大200になっています。
追記:調べてみると、どうやらこの200は200%とということらしいです。100が100%でそれに対し、25%〜200%で可変制御可能ということみたいです。
このようにスライダを右にずらせばフィード50%などに変更できます。これを加工中(レーザー照射中)に変更するとどうなるかというのが、実験結果画像の上段です。上の段真ん中が、M4で加工中にフィードを200%から50%まで下げてみた結果です。Dynamic Laser Modeなので、理論的にはフィードが途中で変わっても、それに合わせて出力変化してくれるので、均一な加工結果になるはずです。ぐりぐり少しいじったので、円弧の部分でややムラがありますが、縦のラインはフィード200%で横のラインがフィード50%ですが、だいたい同じくらいの出力になっている感じなので、効果はでていると思います。
実験結果画像上段の右端は、M3で同じように加工中にリアルタイムでフィードを変化させたものです。Dynamic Laser Modeではないので、当然200%から50%に下げれば、それだけ焦げが多くなるはずです。まあ、そういう結果になっているので、やはりリアルタイムで調節可能ということが分かりました。
まとめ:
Dynamic Laser Modeはけっこう効果あります(焦げが少なくなるために、きれいに切断できる)。
Dynamic Laser ModeでM4を使うときは$32=1(レーザーモードON)にする。
従来のコマンド(M3)の場合は、
M3 S1000(レーザーON、出力100%)
でしたが、
Dynamic Laser Mode(M4)の場合は、
M4 S1000(S値:レーザー出力上限値、S500なら最高50%で出力)。
リアルタイムでフィード(25%〜200%)や出力値(0〜100%)も調整可能。
結果的には、Grbl1.1のほうがGrbl0.9よりずっと優れている。
要するに、どうすればいいかというと、Gコード上ではM4 S1000で出力値MAX、フィードもやや速め(M3のときの設定に比べれば1.5倍〜2倍)に設定しておき、bCNCならスライダで出力値やフィードを調整するという手順になるかと。なので、今回の実験のように、いちいちGコードファイルを開いて編集する必要もないと思います。
Inkscape Laser Tool Plug-inでの設定:
例えば、Inkscape Laser Tool Plug-inを使うならば、
こんな感じで、
Laser ON Command: M04、
Laser Speed: 200(これはやや速め/レーザーのW数による)、
Laser Power S#:1000(ここはGrblのスピンドルMAX出力値の1000)
にしておいてGコードを生成。
あとでbCNCなどのG Code Senderのほうで出力値やフィードは現場調整という感じ。
bCNCの画面折り畳み機能:
これはレーザーモードには関係ないですが、bCNCの場合以下のようにState▲をクリックすると、画面が折り畳めます(しばらく気づかなかった)。
bCNCの全体表示画面が大きすぎるとき(Raspberry Piの小さなモニターのときなど)、折りたたみ機能を使えば大丈夫というわけです。