grbl1.1からはLaser Modeが新たに追加された点が個人的には嬉しいことです。
特に、Dynamic Laser Power Scaling with Speedという機能がいままでにはない優れた機能だと思います。レーザーカット作業において、今までは特にパスの折り返し地点付近で焦げめが目立っていたのが、この機能で緩和され、より自然な切断が可能となりそうです。
grbl0.9までのレーザーカット作業の手順:
・Inkscapeで図面(図形)を描画
・Inkscape ExtensionのLaser Tool Plug-inで出力設定してGコード生成(gcodeファイルで保存)
・bCNCでgcodeファイルを読み込み加工作業
という流れでした。
Gコード的には(Laser Tool Plug-inで自動的に書き込まれる)、
M3(レーザー出力オン)
S1000(出力100%)
M5(レーザー出力オフ)
S0(出力0%)
M30(プログラム終了)
という感じでした。
主にM3を出力オンとして使っていましたが、grbl1.1ではM3だけでなくM4もあるようです。覚え書きのためにも以下に書いておこうと思います。
Grbl1.1のLaser Mode:
Grbl1.1 Laser Modeのページを見てみると、
まず、レーザーモードにするには、
$32=1
を入力するようです。当然レーザーを使わないときは$32=0に戻しておかなければいけません。
M3 Constant Laser Power Mode:
これは、いままで通りのモードと考えていいようです。スピンドルならM3は時計回りの回転ですが、レーザーには時計回りなど関係ないので、とりあえずM3で出力オンにしていたというわけです。ちなみにM4はスピンドル反時計回り、M5がスピンドル停止。
M4 Dynamic Laser Mode:
これが今回改良されたDynamic Laser Power Scaling with Speedのことだと思います。M4はスピンドルでは反時計回りですが、ここではそのMコードをかわりにつかっているようです。
このレーザーモードにおけるM4は、レーザーヘッドのスピードに合わせて出力を調整してくれる機能で、動き出した瞬間や折り返し地点などでスピードが落ちてしまったときに、それに合わせて出力も落としてくれる(焦げにくい)という感じです。まだ実験していないので、どのくらい効果あるのか分かりませんが。
この特性のためかM4の場合、レーザーヘッドが動いていないときは出力が0になるようです。仮に消し忘れたとしても、ヘッドが止まっている限りはレーザー出力0になるのでいちいちオフにする必要がないらしいです。
つまり、
$32=1
M4
を最初に入力すればいいということでしょうか?(追記:M4 S1000などと入力する)
しかし、基準となる出力(素材に合わせた出力値)はどこで設定するのかまでは書いていません。もしかしたら、設定済みの加工最速フィードを100%出力に設定してあるのかもしれません。それとも、M4 S500とでも入力すれば、最速でS500(50%出力)ということになるのでしょうか?
この機能がすべての素材に適合するかどうかは分からないので、事前に要テストして欲しいと書いてあります。
やはり、試してみないとまだわからないという感じです。いずれにしても、以前の使い方(M3)にも切り替えられるし、結局は使い分けという感じになるでしょうか。
いちいち手入力でGコードを修正するのも面倒なので、以前Laser Tool Plug-inのエラーを解消したときのように、Laser Tool Plug-in自体はpythonで書かれているためソースコード自体を改造すればいいかもしれません。
PWM周波数:
ちなみに、スピンドル用PWM周波数は、デフォルトで1kHに設定されているようです。
それが記述されているcpu_map.hファイルを見てみると、
おそらく145行目のこれ↑のことかと思います。Laser Tool Plug-inのJ-tech laser仕様に合わせているようです。厳密には0.98kHz。これを142〜143行目のどれかに変えれば、PWM周波数を高く設定できるようです。これを見る限り16bitではなく8bitみたいですね。
$32=1でレーザーモードがオンですが、grbl1.1の質問スレを見ると、$32=2や$32=3のようなオプションもあるようなことが書いてあります。実際どうなるか試してないので分からないですが。
ということで、M3とM4のカットの違いをそのうち試してみて、近々結果を報告したいと思います。
追記:実験結果はこちら。
特に、Dynamic Laser Power Scaling with Speedという機能がいままでにはない優れた機能だと思います。レーザーカット作業において、今までは特にパスの折り返し地点付近で焦げめが目立っていたのが、この機能で緩和され、より自然な切断が可能となりそうです。
grbl0.9までのレーザーカット作業の手順:
・Inkscapeで図面(図形)を描画
・Inkscape ExtensionのLaser Tool Plug-inで出力設定してGコード生成(gcodeファイルで保存)
・bCNCでgcodeファイルを読み込み加工作業
という流れでした。
Gコード的には(Laser Tool Plug-inで自動的に書き込まれる)、
M3(レーザー出力オン)
S1000(出力100%)
M5(レーザー出力オフ)
S0(出力0%)
M30(プログラム終了)
という感じでした。
主にM3を出力オンとして使っていましたが、grbl1.1ではM3だけでなくM4もあるようです。覚え書きのためにも以下に書いておこうと思います。
Grbl1.1のLaser Mode:
Grbl1.1 Laser Modeのページを見てみると、
まず、レーザーモードにするには、
$32=1
を入力するようです。当然レーザーを使わないときは$32=0に戻しておかなければいけません。
M3 Constant Laser Power Mode:
これは、いままで通りのモードと考えていいようです。スピンドルならM3は時計回りの回転ですが、レーザーには時計回りなど関係ないので、とりあえずM3で出力オンにしていたというわけです。ちなみにM4はスピンドル反時計回り、M5がスピンドル停止。
M4 Dynamic Laser Mode:
これが今回改良されたDynamic Laser Power Scaling with Speedのことだと思います。M4はスピンドルでは反時計回りですが、ここではそのMコードをかわりにつかっているようです。
このレーザーモードにおけるM4は、レーザーヘッドのスピードに合わせて出力を調整してくれる機能で、動き出した瞬間や折り返し地点などでスピードが落ちてしまったときに、それに合わせて出力も落としてくれる(焦げにくい)という感じです。まだ実験していないので、どのくらい効果あるのか分かりませんが。
この特性のためかM4の場合、レーザーヘッドが動いていないときは出力が0になるようです。仮に消し忘れたとしても、ヘッドが止まっている限りはレーザー出力0になるのでいちいちオフにする必要がないらしいです。
つまり、
$32=1
M4
を最初に入力すればいいということでしょうか?(追記:M4 S1000などと入力する)
しかし、基準となる出力(素材に合わせた出力値)はどこで設定するのかまでは書いていません。もしかしたら、設定済みの加工最速フィードを100%出力に設定してあるのかもしれません。それとも、M4 S500とでも入力すれば、最速でS500(50%出力)ということになるのでしょうか?
この機能がすべての素材に適合するかどうかは分からないので、事前に要テストして欲しいと書いてあります。
やはり、試してみないとまだわからないという感じです。いずれにしても、以前の使い方(M3)にも切り替えられるし、結局は使い分けという感じになるでしょうか。
いちいち手入力でGコードを修正するのも面倒なので、以前Laser Tool Plug-inのエラーを解消したときのように、Laser Tool Plug-in自体はpythonで書かれているためソースコード自体を改造すればいいかもしれません。
PWM周波数:
ちなみに、スピンドル用PWM周波数は、デフォルトで1kHに設定されているようです。
それが記述されているcpu_map.hファイルを見てみると、
おそらく145行目のこれ↑のことかと思います。Laser Tool Plug-inのJ-tech laser仕様に合わせているようです。厳密には0.98kHz。これを142〜143行目のどれかに変えれば、PWM周波数を高く設定できるようです。これを見る限り16bitではなく8bitみたいですね。
$32=1でレーザーモードがオンですが、grbl1.1の質問スレを見ると、$32=2や$32=3のようなオプションもあるようなことが書いてあります。実際どうなるか試してないので分からないですが。
ということで、M3とM4のカットの違いをそのうち試してみて、近々結果を報告したいと思います。
追記:実験結果はこちら。