2020年2月8日土曜日

小型工作機CNC2418 その78(Candleが進化中)

久々にCNC2418を動かしました!
昨年夏の「その77 アルミでリングネジ製作」の以来であります^^;

で、昨年11月にふとCandleのサイトを見ると
Candleとは、GRBL Controlソフトです。
CNC2418に付属の「grblControl.exe」というソフトの本家本元です。
で、下の方を見ると、
新しいバージョン「candle_1.2.3b.zip」があるじゃないですか!
今使ってるのは、Ver.1.1.8ベースにOverridingがキー操作できるように
この時、YY氏に改造していただいた「zCandle」を使っています。
GitHubのここに掲載されています。
早速、Ver.1.2.3bをダウンロードして起動すると
この様にガジェット式で画面構成が変えられたのです。
早合点してそれだけだと思って放置してたのです(-_-;)
時は過ぎ、2020年2月のとある日、YY氏より連絡が来ました。
Version 1.2.8bになって
ユーザーキーをスクリプトで定義できるようになってるとのこと!
しかも変数が扱えるというのです。
教えていただいたリンクを見に行くと、この表示が!
下の方に行くと
Version 1.2.8.1bが最新のようです。
更に話を聞いてると
既にユーザーキーに登録されているスクリプトが凄いのです。
・円形穴の内側を測定して中心に移動
・円柱の中外側を測って中心に移動
が登録されているということなのです。

これは、しまい込んでるCNC2418を出して試してみたくなりました。
上のサイトから最新版の「Candle_1.2.8.1b.zip」をダウンロードします。
起動すると、おっ!
この前の画面と違うぞ!
ひょっとしてカメラも使えるのか(・o・)
左側の[Divece]ガジェットは一体で動きます。
この様に独立させることもできます。
さて、適当な穴開き円柱の部材がないので
ペットボトルのキャップにアルミ箔貼ってステージに固定します。
プローブは、折れたエンドミルです。
セッティング完了!
右のSWは、この時製作した、Pause、Resume、Abort、Resetです。
特に緊急停止のRESETボタンがすぐ押せるのが重宝しております^^;
プローブの折れたエンドミルは、逆に取り付けてます。
[①ボタン]にカーソルを近づけると、スクリプトが現れます。
まずは、そのまま[①ボタン]をクリック!
最初に右に移動して、接触した後、
左に移動してる時にエラーがでて止まりました。(T_T)
測定対象が大き過ぎたようです(-_-;)
どうやらスクリプトを理解しないといけないようです。
スクリプトは、[Service]-[Settings]に記述されてます。

[①ボタン]のスクリプトです。
内穴を測定して中心を出すので間違いないようです。
「r = 10」が測定対象物の半径でしょう。
「d = 1」は、接触後にちょっともどしてるのかな?
「var」は、変数として代入できるようです。
***Button 1***
G21G91;
{var f = 100; var r = 10; var d = 1}G38.2X{r}F{f};
{var q = vars.PRBx}G0X{-d};
G38.2X{-r};
G0X{(q - vars.PRBx) / 2};
G38.2Y{r};
{var q = vars.PRBy}G0Y{-d};
G38.2Y{-r};
G0Y{(q - vars.PRBy) / 2}
******

テスト用のアルミ被せキャップは、直径30mm程なので
「r = 10」⇒「r = 20」に変えてみます。
***Button 1***
G21G91;
{var f = 100; var r = 20; var d = 1}G38.2X{r}F{f};
・・・
******
Z軸の移動はないので、
プローブは、穴の中に入っている必要があります。
穴の中央よりちょっとズラしておいて、
いつでもRESETできるように指を置いておき[①ボタン]クリック!
右側で接触して、1mm左に戻って、左に移動し始めましたが
X:-10.316でエラーが出て止まりました(T_T)
「r = 10」は半径じゃなくて直径だったようです。
クリップが邪魔になったので、その後、右上部に移動してます。
さっきの行、「r = 40」にしてみます。
最初にスクリプトをじっくり見ればよかったのですが
先を急ぎたく、とりあえず戦法でやっております(-_-;)
***Button 1***
G21G91;
{var f = 100; var r = 40; var d = 1}G38.2X{r}F{f};
・・・
******
上手くいったようです。
左、右、上、下と4回接触して、中央に移動して終了しています。
執筆中に頭を冷やして考えると
一旦接触して反対方向を探索する所(赤文字の行)は、
最大移動量が直径になるので「r」ではなく「2r」の方がいいですね。
***Button 1***
G21G91;
{var f = 100; var r = 10; var d = 1}G38.2X{r}F{f};
{var q = vars.PRBx}G0X{-d};
G38.2X{-r};・・・※
G0X{(q - vars.PRBx) / 2};
G38.2Y{r};
{var q = vars.PRBy}G0Y{-d};
G38.2Y{-r};・・・※
G0Y{(q - vars.PRBy) / 2}
******

では、中央から左上にXY5mmずつ、ズラして開始します。
動画で!
Candle Ver.1.2.8.1bの①ボタンにデフォルトで登録されている
約30mmの丸穴の内壁位置を測定して中心に移動するスクリプトです。
終わってから、スクリプトをじっくり見ると
X方向、右側で接触、次に左側で接触したら、X軸方向の中点に移動して
Y軸方向の上側で接触した後、下側で接触して、Y軸方向の中点に移動、
という具合ですね~
なかなかいいです(^O^)

では、外側を測定して中央を出す、[②ボタン]を試すことにします。
[②ボタン]にカーソルを近づけると、スクリプトが現れます。
オリジナルのコードは、これです。
***Button 2***
G21G90;
{var f = 100; var r = 15; var d = 1; var h = 10}G0X{r};
G0Z{-h};
G38.2X0F{f};
G91G0X{d};
{var q = vars.PRBx}G90G0Z0;
G0X{-r};
G0Z{-h};
G38.2X0;
G91G0X-1;
G90G0Z0;
G91G0X{(q - vars.PRBx) / 2 + d};
G90G0Y{r};
G0Z{-h};
G38.2Y0F{f};
G91G0Y{d};
{var q = vars.PRBy}G90G0Z0;
G0Y{-r};
G0Z{-h};
G38.2Y0;
G91G0Y-1;
G90G0Z0;
G91G0Y{(q - vars.PRBy) / 2 + d}
******

「r = 20」に変えます。
***Button 2***
G21G90;
{var f = 100; var r = 20; var d = 1; var h = 10}G0X{r};
・・・
******
右に「r = 20mm」移動して「h = 10mm」下がってプロービング
元に位置に上がって左に 「-r」移動して、下がってプロービング
X軸方向のセンターを計算して移動
Y軸方向を測定...というステップです。
スクリプトを良く見ると、「r」分、左右・上下に移動してから10mm下がります。
プローブは、目測で中心のちょっと上に置いて開始するのがよいようです。

これも動画で!
左上にXY3mmズレた所から開始します。
Candle Ver.1.2.8.1bの②ボタンにデフォルトで登録されている
約30mmの円柱の外壁位置を測定して中心に移動するスクリプトです。
アルミ円柱の中心出しは、CNC2418 その73でやりましたが
マーティーのやり方は、左下、右下、右上の三点測定でした。
この図で円周上の適当な点①に照準を合わせ、X,Xをリセット。
X軸上を移動し円と交わった点②から垂直にY軸上を移動、
円と交わった点の座標③( X , Y ) を出して、手動計算で
 中心:( Cx , Cy ) = ( X/2 , Y/2 )
を求めました。
プローブと加工物の接触にある程度の力が掛かるので
プローブが微妙にたわんで誤差が生じます。
上の動画の4点測定の方が、プローブのたわみが左右・上下で起こり
打ち消されるので、より正確な中央が出せますね~

***追伸 2020.2.9***
今朝、よくよく考えると、
この方式、X軸の中点、Y軸の中点、と移動していくので
丸物だけじゃなくて、正方形、長方形でも中心出せますね~
平行四辺形や台形は無理ですが、
マーティー方式は真円だけだったので、目からウロコです!
***追伸ここまで***

もう一つの目玉は、カメラです。
Settingsには、この項目だけです。
USBのPort No.とか選択しないといけなさそうですが
この時のUSBカメラを繋いでみますが
CandleのCamera画面は真っ黒のまま(T_T)
Candleを再起動してみましたが、ダメですね~
まだ未完成なのかな~と思ってる所に、情報が!
デバイスマネージャーの現れてる名前を入れるといいらしいのです。
上のUSBカメラは、「USB2.0 Camera」と表示されてます。
[Settings]の[Name]欄に
デバイスマネージャーの表示名を入力します。
が、Candleの画面は真っ黒のままです。
Candleを再起動しますがダメ(T_T)
USBカメラに付属のソフトで出すと、ちゃんと表示されます。
名前も合っています。
上のソフトで1枚ショットを撮って、
画像のプロパティ見ると、640 x 480になってるので、
Candleの[Settings]の[Resolution]:640 x 480  にします。
出ました!
設定後、約3秒後に映像が現れます。
Resolutionがピッタリ合ってないとダメなんですね。
720 x 480にしてみると、真っ黒に戻ります。
惜しむらくは、照準がないですね~
ここんとこUPDATEを繰り返しているので、期待していいでしょう!

それと、Test plugin 1に
「test param:」「$$」が入っています。
CandleとCNCがコネクションすると実行され、
ConsoleにGRBL設定一覧が出ます。

いや~今までは、1行のGRBLコードだけだったので
スクリプトに変数が使えるのは、とてもありがたいですね~

[Settings]の[Shortcuts]には68項目あります。
一応、連記しておきます。






今後が楽しみなCandleであります。

0 件のコメント: