これまでのあらすじ:
2016年3月、フェルト生地を手で裁断している際にレーザーカッターがあれば複雑なカットが容易にできるなあと思って、安価になってきたレーザーカッターを購入しようと思ったのがきっかけ。調べていくうちに、合板も切れたほうがいいと思うようになって、CNCルーター(CNCミリング)についても考えるようになった。
Arduinoは以前から使っており、CNCシールドがあると気付いて自作も可能と思うようになった。当初はShapeOkoやX-CARVEを参考にMakerSlide、OpenRail、V-Wheel、2GTタイミングベルトなどで5万円くらいで自作しようと思っていた。AliExpressでも部品が安く買えることが分かって、しばらくは部品探し。探せば探すほど安くて本格的な部品も見つかってくるので、そんなにケチらなくてもいいのではないかと徐々にスペックアップ。最終的には剛性や精度のことも考えてボールスクリューやリニアスライドを使うことになり、予想以上に重厚な3軸CNCマシンをつくることに(約7万円)。
構想から約5週間(制作約3週間)でルーターとレーザーともに使えるようになり、現在はgrbl1.1+Arduino CNCシールドV3.5+bCNCを使用中(Macで)。余っていたBluetoothモジュールをつけてワイヤレス化。bCNCのPendant機能でスマホやタブレット上のブラウザからもワイヤレス操作可能。


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

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

Inkscape+Jscut+bCNC:加工開始点をずらす

作業の手順としては:
・Inkscapeで2D加工用の部品の図面を描きパス化する(座標は気にしない)
・Jscutで図形を読み込み、位置をずらしてGコード生成する
・bCNCなどのG Code Senderで生成されたGコードを確認する
前提として、厚さ5mm、100x50mm程度の大きさの材料をCNCマシン作業エリア中央に固定し、その中央の位置から右奥に(90,90)ずれたところを作業開始点/終了点とします。

Inkscapeの作業の単位をmmにする:
Inkscapeを開いたら、最初にFile>Document Properties...をクリック(以下)。

そうすると、設定ウィンドウが現れます(以下)。
Page SizeはとりあえずA4。その下のCustom sizeでUnits:mmを選択。
あとはこのウィンドウを閉じる。

図形を描く:
つぎに部品の図形を描きます。今回はとりあえず楕円形を描きます。
厚みについてはあとでJscutで設定するので、真上から見た図面だけを描きます。
左側のツールバーにある円ツールをクリック。

A4サイズのキャンバスの上にドラッグしながら描きます。描く位置はA4サイズの範囲内ならどこでもOK。あとでサイズを微調整するので、適当な大きさで構いません。

描いたら再度左側のツールバーにある矢印ツールをクリック。
描いた楕円の位置やサイズなど調整できます。

数値で楕円を変形調整する:
マウス操作では図形のサイズを調整しにくいので、数値入力で調整します。

上の方にあるメニューバー付近の単位タブをmmにしておきます。

そして、この数値が書かれた場所にW:60、H:30を入力すれば、横幅60mm、高さ30mmの楕円に変形できます。数値をつかって変形する場合はここを使います。今回の場合は、わかりやすように60mm、30mmという感じできりのいい数値にしておきます。

描いた図形をパス化する:
Gコード用の図形はパスに変換する必要があります。特に円や楕円はそのままではパス化されていないので、以下の手順でパスに変換します。
まずあらかじめ矢印ツールで変換したい図形を選択しておきます。
そして上部メニューバーのPath>Object to Pathをクリックで瞬時に変換されます。
見た目は特に変化はありませんが、選択した図形はパスに変換されています。
たまに、図形を選択せずにObject to Pathをクリックしてしまうことがあるので、事前に忘れずに図形を選択しておくようにしてください。

パス化された図形を保存:
作業は以上なので、あとはこの図面をInkscapeのsvgフォーマットで保存します。 
適当なファイル名をつけて、デスクトップなどに保存。このとき拡張子が.svgになっているか確認して下さい(以下)。

Inkscapeの作業は以上です。次にこのsvgファイルをJscutで読み込みます。

Jscutを開く:
Jscutはブラウザ上(FirefoxChromeを使用、SafariやInternet Explorerは対応外)でGコード生成できるアプリです。
まず、jscut.orgにアクセスします。

このページにJscutの情報がのっています。青いLaunch!をクリックすれば、すぐに作業画面がでてきます(以下)。
こんな感じです。

各種設定:
まずはInkscapeのときと同じように作業の単位をmmにしておきます。
画面右側のMaterial内の青文字Make all mmをクリック(以下)。
ついでに、材料の厚みThicknessも入力しておきましょう。今回はとりあえず5を入力して5mm厚ということで。Z OriginはZ軸の加工原点設定です。Topは材料の上面を加工原点にするということです。Clearanceは、加工前、終了後のエンドミルの位置(高さ)です。ある程度材料から刃先を離しておかないと危険なので、今回は10mmを入れておくことにします。材料を固定している金具などある場合は、もっと高く上げておいてもいいかもしれません。

画面左側の設定:
画面左側にもいくつか設定するものがあります。
Operationのpx per inchは96(これはIncscapeのデフォルトdpi)。

Tabs切り出される部材と母材をつなぎ止めておく箇所を作る機能です。今回は使わないのでスキップしますが使い方は以下のような感じです。

・Inkscapeで部品となる図形の周囲に少し重なるようにタブ(単なる矩形など)を描いておく
・部品+タブのsvgファイルをJscutで読み込む
・Jscut上でメインの部品だけ選択しGコード化する(Gコード化については以後の説明)
・Tabにする図形を選択し、Tabs画面のCreate Tabsを押す
・材料の厚みが10mmであれば、Max Cut Depthで6を入力すれば厚み4mmのTabになる
・expand/shrinkでTabの大きさを調整できる
・DeleteをクリックすればそのTabを消すこともできる
*Jscut上で、後からTabを付け足したり、Tabの位置を変えることはできないと思います。その場合は、一度Inkscapeに戻ってTabの位置や形などを描き直す必要があります。
Simulate GCODEで見れば、このようにTabがついているのが確認できます。不要であれば、消したり再度調整も可能です。

Toolのほうは、Unitsはmm、Diameterはエンドミル直径。今回は3mmを入れておきます。実際使うエンドミルの直径を入力して下さい。
Angleは、刃先の角度です。スクエアの刃なら刃先が平らなので180度になります。V字刃など使う場合は角度を設定できます。
Pass Depthは1mm。1パスで1mm切削するということです。1パスで0.5mmなら0.5を入力。
Rapidは加工していないときの移動速度です。
Plungeは、切り込み速度なので、急激に加工の負荷がかからないようにゆっくりめにしておきます。とりあえず100で。
Cutは加工スピードです。材料や刃の種類、スピンドル回転数などによって数値はいろいろですが、今回は400で。
だいたい、こんな感じで設定します。

svgファイル読み込み:
Inkscapeで描いた図面をJscutに読み込みます。
画面上部のOpen SVG>Localでデスクトップなどに保存してあるファイルを選択します。
そうすると、先ほど描いた楕円が以下のようにでてきます。

図形(特に円や楕円)がパス化されていないと、読み込みはできますが、これ以上の作業ができなくなってしまうので、Inkscapeのほうでは必ずパス化しておくように。
図形を選択すれば、以下のように青くなります。再度クリックすると選択解除です。


加工方法を決定する:
つぎにこの図形をどのように加工するかを決めます。図形を選択しておき(青の状態)、画面左上のOperationsでCreate Operationをクリックします。そうすると以下のような選択項目がでてきます。

今回は図形の外側を3mmのスクエアエンドミルで削るという作業をするのでOutsideを選択、そして最終的な加工の深さDeepは材料の厚みを5mmにしたので、5 Deepにしておきます。
入力したら、青いGenerateをクリックでGコード生成です。


図形のほうは、こんな感じになります。黒線がエンドミルによる3mm幅の溝、黄色い線がその加工パスです。
上部のタブをSimulate GCODEに切り替えれば以下のような画面になります。
ここで下のスライダーを動かせば、加工の流れを見ることができます。設定した通りに、5mm厚の材料を1mmずつ5パスで切削しているか確認できます。


図形の原点を決める:
画面右下の設定ウィンドウで(以下)、
この図形の原点をどこにするか決めます。青文字でZero lower leftなら左下が原点、Zero centerなら中央が原点になります。一度Zero centerをクリックし、その下のReturn to 0,0 at end(加工終了後原点復帰)にもチェックを入れます。

そうすると、このようにエンドミルが図形の中央に移動します。下にあるスライダーで加工の流れを見ることもできます。通常なら、この状態(材料中心を加工原点にする)でGコードを生成し、切削作業に移りますが、加工原点をこの位置からずらしたい場合は、引き続き以下のような手順になります。
このように一度原点を中央にしておき、この座標を覚えておいて、次にこの座標から移動したい分だけ数値入力でずらします。

図形の位置を移動する:
エンドミルの加工開始点(現在は中央)に対して、図形を左手前に90mmずつ移動します。先ほど設定した画面右下のGcode ConversionのX OffsetとY Offsetの数値を変更します。X OffsetとY Offsetをそれぞれ-90mmずらすので、数値変更後は以下のようになります。
変更前:
X Offset -100.7(この値を-90する)
Y Offset 142.30(この値を-90する)

変更後:
X Offset -190.7
Y Offset 52.30

図形が元の位置から(-90,-90)だけずれるので、上記のような値になります。今回は(-90,-90)ずらしましたが、必要な分だけ値を変えてずらして下さい。
その結果、エンドミルの位置は図形に対して右奥となります(以下)。
先ほどまでは図形中心にエンドミルがありましたが、このように右奥へずれます。エンドミルを右奥にずらしたのではなく、図形を左手前にずらしたということです。-90mmというのは図形が-90ずれたという意味です。
あとはこのGコードを保存するだけです。

Gコードファイルを保存する:
画面上部にあるSave GCODEをクリックすると、以下のようなウィンドウがでてきます。
適当なファイル名をつけて、拡張子は.gcodeで保存します。パソコン内に保存するなら、青いLocal Fileをクリックでダウンロードフォルダなどに保存されます。
このファイルはつぎにbCNCなどのG Code Senderで読み込みます。


bCNCでGコードファイルを読み込む:(bCNC以外のG Code Senderでも可)
bCNCを立ち上げて、上部にあるFileタブをクリック。
黄色いフォルダボタンをクリックして、先ほどJscutで保存したGコードファイルを開きます。

表示画面の左上にある視点タブをISO1に変更すれば、このような角度から見ることができます。
図形に対して、XYとも90mmずつずれた右奥に作業開始点があり、図形は5回のパスで1mmずつ切削されます。
楕円のサイズはInkscapeで数値入力した幅60mm、高さ30mmですが、直径3mmのエンドミルで外側を切削するので、この加工パス自体は幅63mm、高さ(奥行き)33mmになっています。加工パスは実際の部品よりも1.5mmずつ左右前後に膨らんでいるというわけです。bCNCのグリッドは10mm角です。
加工原点をずらすだけなら、bCNCだけでも可能です。その方法はこちら(ヘージ後半)
あるいは、bCNCならこの状態からタブ(部材と母材を部分的につなげる)を追加することも可能です(方法をこちら)。

実際の材料に合わせて加工原点を設定する:
この段階では、Z軸においては実際の材料に対して位置決めがなされていないため、一度実際に材料上面にエンドミル先端をあててZ軸の加工原点を設定する必要があります。
そのためには、エンドミル先端が材料上面よりも充分高い位置にあるか確かめて(低ければZ軸を上げておく)、Z軸(エンドミル)を材料中央位置まで手動で移動し、材料上面とエンドミルが接する高さまで(間に紙一枚などはさんで)Z軸を少しずつ下げて、そこをZ軸の原点に設定します(G92 Z0など入力)。
スイッチを入れるたびに原点がリセットされてしまうため、あるいはスイッチを入れた瞬間、ステッピングモーターが少しだけかくっと動いたりするので、その誤差も含めて、毎回作業の始めには原点出しをしなければいけないという感じです。


Grbl Controller3.6.1の場合:
以下はGrbl Controller3.6.1のVisualizerで見たときのパスです。


Z軸の高さ調整:
GrblController3.6.1なら、以下のように画面左下のタブでジョグボタンの1回分の移動量を0.01〜100mmまで選択できます。
・エンドミル先端(Z軸)を徐々に下げていく(1mm単位で)。
・残り1mmくらいになったら、エンドミルと材料の間に普通紙1枚はさんでおく。
・0.1mm単位に切り替えて、軽く紙と接するようになるまで下げる(紙をきつく押しすぎない程度まで)。
・さらに0.01mmに切り替えて微調整する。
・紙を引っ張っても動かないところまで下げたら、そこを原点として設定する(G92 Z0入力)。

bCNCの場合なら0.001〜500mmまで移動量が選択できます。数値の右隣▼の部分をクリックで選択できます。

0 件のコメント:

コメントを投稿

人気の投稿