CNC 3018-PROVerをFusion360とCNCjsで使う方法

工作

はじめに

普段はフライス盤や旋盤を使って、真鍮などの金属やアクリル、塩ビを加工していますが、同じものをいくつも作る場合は時間がかかります。

自動化するために今までは10年以上前に購入したRoland MODELA MDX-15を使っていましたが、Roland独自のgrblを採用しているので、Fusion360で生成したgrblコードを手直しする必要があったり、ワークエリアが狭い、老朽化が進んだなどを理由で買い換えを検討していました。

そこで、お手軽な価格の製品を探して検討してCNC 3018-PROVerを購入しました。
金属は切削できなくてXYZの3軸ですが、木材、アクリル材、塩ビ材などの簡単な加工なら自動でできるようになったので大変重宝しています。
Fusion360で生成したgrblコードもそのまま使えます。

また、レーザーモジュールも購入したので、アクリル材をくり抜いたりするときにバリが発生せず便利です。
その他にも、初めからZ軸のゼロ点調整用にプローブが付いており、中華製にしてはとてもよくできています。

今回は、Fusion360で設計を行って出力grblコードをCNCjsで読み込み、CNC3018PROVerで切削するまでの手順を以下に記します。

環境

- Windows10 Pro 64bit
- CNC 3018-PROVer
- ナノブルーコートエンドミル CNC 0.8〜3 mm   1/8"シャンク
- ブルーレーザーモジュール・キット
- CNCjs
- Fusion360
- 固定具(両面テープ)NITTO No.5000NS

レーザーモジュールは、ドリル用モータを外して付ける必要があります。

CNC 3018-PROVerの組み立て

CNC3018PROVerは自分で組み立てる必要がありますが、丁寧に作業すれば問題ありません。
ただ、付属の紙マニュアルや動画は細かい部分が分かりにくかったので、YouTubeで組み立てを紹介している動画を探して補完しました。
「CNC3018PROVer 組立」で検索すると見つかります。

CNCjs

CNC3018PROVerを制御するためのソフトウェアです。
CNC3018PROVerにはGrblcontrol(Candle)が付属しますが、GRBL0.9までしか対応していないのでCNCjsを使うことにしました。
Z軸プローブの設定やレーザーモジュールも簡単に使えます。

cncjs | cncjs

Auto-leveling

基板加工で必須なAuto-levelingも有志の方が作った拡張機能があります。
Auto-levelingとは基板面内の高さを自動で計測して補正マップを作成する機能です。
Grblcontrol(Candle)ではHeightmapの項目が該当します。

GitHub - kreso-t/cncjs-kt-ext: Auto-leveling extension for CNCjs
Auto-leveling extension for CNCjs. Contribute to kreso-t/cncjs-kt-ext development by creating an acc...

参考

CNCjsを使う上で役に立つ情報が掲載されています。

CNCjsの使い方、設定、CNCマシンにG-code送る方法
CNCjsとは GrblやSmoothiewareで制御されるCNCマシンのコントローラー、G-codeを送るソフトとして使うことができるオープンソースのソフトウェアです。 Raspberry Piと...

Fusion360で設計する手順

Fusion360は個人利用(商用不可)ならば無料で使えます。
1年毎にライセンス更新が必要がですが、Webで調べればアンインストールせずに更新する手順が見つかります。

Autodesk Fusion | 3D CAD/CAM/CAE/PCB が1つに集約されたソフトウェア | 無料体験版
Autodesk Fusion は、クラウドベースの高機能 3D CAD、CAM、CAE、PCB 統合システムで、モデリング・製造・工業デザイン・電子機器・機械エンジニアリングに最適なソフトウェアです...

はじめにFusion360で設計し、タブを「製造」に切り替えて「設定」→「新しいセットトップ」で新規に「設定」を作成します。

原点の設定

材料左のTopをワーク原点として設定します。
ストックサイズのオフセットはゼロにします。

工具の設定

「管理」→「工具ライブラリ」で購入したナノブルーコートエンドミルを設定します。
SainSmartのホームページにはエンドミルの情報が少ししかないので、残りはノギスなどで計測して入力します。

シャンク径:3.175mm
切刃長さ:12mm
全長:37mm

切削の設定

穴あけと輪郭(母材からパーツを切り離す)の場合です。
今回、円形の穴あけは「2D」→「円形」で行いましたが、その他でもほとんど同じ設定です。

  • パスタブ の「最大粗取り込みピッチ」を0.05mmに設定する。
  • 「切削送り速度」を100mm/minに設定する。
  • アクリル板の場合、100でも溶けるので、更に遅くするか、削りカスを適宜払うことで回避する。
  • 「ストック輪郭」、「取残し加工」、「仕上げ代」は全てゼロ、またはチェックを外して無効にする。
  • 「ボトム高さは、完全に切り離したいので「-0.1」以上とする。

母材の切り離し設定

「2D輪郭」を選択して設定します。
「複数深さ」を設定しないと綺麗に切削できません。
輪郭の下部のラインを選択したときに、赤色の矢印をクリックして、向きを壁面に沿うように変更します。

ポスト処理

該当の設定を右クリックして「ポスト処理」→「Grbl / grbl」を選択して出力します。
私の環境では、赤枠の部分を設定すれば出力データを修正しなくても動作しました。
正しく動作しない場合は、出力したデータをテキストエディタで修正します。
特にG28(機械原点復帰)のコードがあれば全て削除した方が良いかもしれません。

CNCjs

Fusion360で出力したgrblコードをCNCjsで読み込んで切削の準備をします。

  1. CNC3018PROVerの電源をONする。
  2. CNCjsを起動する。
  3. 「開く」を押す。(ボーレート:115200)
  4. コンソールにエラーなどが表示されていないか確認する。
  5. 「ホーミング」をクリックして機械原点を登録する。
  6. CNC3018PROVerに材料を固定する。
  7. XY軸の論理原点(Fusion360で設定した左下 or 真ん中)を合わせ、数値を記録しておく。
  8. Z軸プローブの厚さをノギスで計測し、数値を入力して調整する。
  9. XYZ軸の論理原点をCNCjsでゼロに設定する。
  10. データを読み込んで開始します。

コレットの交換

取り外しは、ナットが傾むく方を下にして、そのまま下に少し強めに押すと外れます。
取り付けは、コレットは偏心したリングは一方が深く、一方が浅くなっているので、深い方を先に入れて、浅い方に向けてコレットを押しこみます。

CNC3018PROVerの感想

約半年、使ってみた感想です。
お役に立てば幸いです。

  • アルミなどの金属は削れないが、主に樹脂が中心なので良い。
  • XYZ軸にリミットスイッチが付いていて便利。
  • Z軸プローブが付いていて便利。
  • MODELA MDX-15と比較して切削音が小さい。
  • ワークエリアが広くて良い。
  • モーターを固定する治具が樹脂なので剛性が低く感じる。
  • 上記から、レーザーモジュールと交換するときにネジの閉め具合に気を遣う。
  • ワークエリアを保護するため、塩ビ(厚さ10mm)を敷いて面出ししている。
  • アクリルの切削は、こまめに切り屑を除かないと溶けてエンドミルに絡みつく。
  • 塩ビの場合は、アクリルよりも切り屑を気にしなくて良い。
  • 上記から、切り屑を吸引するため、掃除機の口を固定する治具を作成する予定。

Comments