オープン ソース ソフトウェアを使用した CNC フライス加工

私はいつも、3D プリンタで作成する新しいプロジェクトを捜しています。 最近、主に 3D プリント パーツを使用する CNC (Computer numeric code) フライス盤の新しい設計を見たとき、興味をそそられました。

CNC フライス盤は、金型、彫刻、およびモデルの作成に使用される精密な切削ツールです。 他のフライス盤とは異なり、CNC マシンは 3 軸で動くことができます。Z 軸は垂直方向に、X 軸は水平方向に、Y 軸は前後に動きます。

この CNC マシンの部品の多くは 3D プリントされていますが、動作させるにはいくつかの部品を注文しなければなりません。

私は必要なパーツを注文し、待機を開始しました。

必要な部品を注文し、待つことにしました。海外から発送されたため、到着まで1ヶ月ほどかかったものもあります。

この CNC マシンは、オープンソースの GRBL モーション コントロール ソフトウェアを実行する Arduino コントローラーで構築されています。 GRBL コントローラーは、CNC G コード (CNC ミルのテキスト ベースの命令リスト) を受け取り、それをステッピング モーターを駆動することで動作に変換します。 この機械には、Z軸(上下)用のステッパーが1つ、X軸(左右)用のステッパーが1つ、Y軸(前後)用のステッパーが2つ搭載されています。 GRBL の Web サイトには、Arduino ボードに GRBL をロードするためのドキュメントがあります。

CNCハードウェアの組み立てについては、ニコデムが一連のビデオで詳しく説明しているので、ここでは説明しません。 その代わり、CNC マシンの設計を作成し、実行するために使用できるオープン ソース ソフトウェアに焦点を当てます。

このチュートリアルでは、Larry Ewing の Linux Tux のロゴを CNC で加工した木製バージョンを作成する方法について説明します。

ファイルを作成する

木製の Tux を作るための最初のステップは、Wikimedia Commons から PNG 形式のロゴのモノクロ版をダウンロードすることです。png

Tux logo from Wikimedia Commons

このプロジェクトの出発点となる Wikimedia Commons の Tux の PNG 画像は、gg3po によって作成され、GPL v2 でライセンスされています。

Tux のロゴが CNC マシンで動作するように、PNG ファイルを Inkscape ウィンドウにドラッグ アンド ドロップして、Tux の PNG ファイルを Inkscape で SVG ファイルに変換します。 次に Inkscape のビットマップをトレースするオプションを使って画像を SVG パスに変換します。 これは画像の複製を作成します。1つはパスで、もう1つはビットマップです。

cnc_inverse-svg.png

Inkscape で作成した逆 Tux ファイル

Inverse Tux を Inkscape で作成しています。

次に、SVG ファイルを CNC G コードに変換します。これは、CNC マシンに希望のデザインを作成する方法を伝える命令のリストです。 私は、Web ベースのコンピューター支援製造 (CAM) プログラムである、オープン ソースの jscut ソフトウェアを使用しました。 ソフトウェアをダウンロードしてローカル マシンで実行することも、jscut.org の Web ベース バージョンを使用することもできます。

「SVG を開く」ドロップダウン メニューを使用して、jscut.org で SVG ファイルを開きます。 次に、SVG 画像の 1 つまたは複数の部分をクリックし、[操作の作成] をクリックします。 操作の種類 (彫刻、外側、ポケットなど) と切断の深さを選択し、[生成] をクリックします。 異なる種類の操作によって、カットが行われる場所が定義されます。異なる操作の効果は、カットがどのように見えるかのプレビューを表示する「シミュレートGCODE」タブで確認することができます。

cnc-jscut.png

Generating the Tux CNC G-code with jscut

Generating the Tux CNC G-code with jscut.p>

Generation the Tux GNCs’ -G-code for Design of the Tux (タックスの場合は、さまざまな部分のデザインを作成するためのいくつかの操作を作成しました)。

[ツール] セクションで切削ビットのプロパティを設定します。 jscut の制限事項の 1 つは、異なる操作に対して異なるビット サイズを指定できないことです。 目や鼻、口などの細部を彫るための小さなビットと、タックスの輪郭を木板全体に彫り込むための大きなビットです。 1 つは小さいビットで彫刻を作成するため、もう 1 つは大きいビットで Tux の輪郭を切り取るためです。

2つの G コード ファイルを作成したら、次のタスクは CNC コントローラー ソフトウェアを入手することです。 私はオープンソースの CNCjs を使用しました。 CNCjs は Web ベースで使いやすく、GRBL コントローラーとのインターフェイスをサポートしています。 インストール後、WebブラウザでCNCjsにアクセスし、Arduino GRBLコントローラに接続します。

「G-Codeをアップロード」をクリックし、jscutで作成したファイルを指定します。 まず、Tux の上に刻印を作る G コード ファイルをロードしました。

カットする準備をする

カットを開始する準備はほぼできています! 木材をずっと切断することになるので、「無駄板」、つまり CNC マシンの上に置く、切断しても構わない板を使用するのが賢明です。 これは、機械がタックスを切り取るときに、その下の板まで貫通してしまうからです。

cnc-wasteboard.jpg

Waste board

Waste board に以前のカットを表示しています。

Waste ボードを CNC マシンに固定して動かないようにし、次に Tux に使用する木片を付けます。

切断する前の最後のステップは、スピンドル上のビットを切断する木片に合わせることです。 CNCjsの軸ボタンを使って、ビットのX、Y、Z座標が木材の左上角と一直線になるように、スピンドルを物理的に動かしてください。 木材とビットの間に紙片をスライドさせることができますが、スライドするときにビットが紙を引きずるのを感じるはずです。

すべてが整列したら、X、Y、および Z 軸の作業位置オフセットをゼロに設定し、それぞれの [設定] ボタンをクリックします。png

軸のワーク位置をゼロにする

X、Y、および Z 軸のワーク位置をゼロに設定すること。

CNCjsのZ+ボタンを押してビットを少し上げ、スピンドルがオンになったときに木に印をつけないようにします。

切削を始めるには、保護メガネ、聴覚保護、防塵マスクをつけます。

切削中にマシンを注意深く監視し、必要に応じて CNC マシンとスピンドルの電源をすばやく切断する計画を立てます。

最初の G コード ファイルが Tux の彫刻を完了したら、スピンドルをオフにし、CNCjs で X0Y0 ボタンを押して、スピンドルを X および Y 軸の作業原位置に戻します。 次に、より大きなビットに変更し、Tuxのアウトラインを切り取るGコードファイルをアップロードし、同じ手順に従って実行します。