CNCフライスへの改造(ソフトウェア編)

前回まではプロクソンフライスのハードウエア改造、そしてステッピングモータをコントロールする
ファームウェアの紹介をしました。
今回はそれをコントロールするソフトウェアの紹介をします。

コントローラーは、2軸CNCなどどこにもないので作りました。
VisualStudio2015 のプロジェクトです。バイナリとソースをアップロードしてあります。

プログラムには、バグがまだあります。
だましだまし使うか、ソースもあるので修正して使ってください。
権利は主張しませんので、ご自由にお使いください。

NCコントローラ実行ファイル
NCコントローラソース

本当のフライスコントローラは、CAD図面からGコードを生成し(CAMの仕事)、そのGコードをコントローラに読ませてフライスを動作させます。

CADデータから、Gコードを生成するソフトもいろいろあります。その操作方法の習得だけでも、結構な時間がかかったりします。
でも、このフライスの本来の目的がケース加工であるので、2次元動作だけでよいし、直感的にわかりやすいように直接フライスを動かしてGコードを生成して、それを再生して(実際には手動で編集して)
動作させることとしました。

また、ほかのGコードを読み込ませてもある程度動くようにすることも目的の1つとしました。
フライスが2次元動作しかできないので、Z軸を動かしたときに手動で上げ下げすることができるようにZ軸の移動命令の時に一時停止するようにします。

記録できる動作は、XY平面内での直線移動、円弧移動(CW、CCW)、Z軸の直線移動のみとしました。

操作方法は、各軸の移動ボタンを押して「直線→終点ボタン」でその位置への移動、「円弧→始点ボタン→中心点ボタン→終点ボタン」で円弧移動コマンドが登録されます。
大きな円を描かせるためには、円周上のどこかの点に移動→始点ボタン→円の中心に移動→中心始点ボタン→最初の始点位置に移動→終点始点ボタン で登録できます。
Z軸の登録は「ZUP」、「ZDOWN」ボタンでZ軸の上下を登録できますが、Z軸は電動化していないので、自動で動くことはありません。Z軸の移動コマンドが入っていると、その時点で再生が停止し手動でZ軸を動かし、再生ボタンをもう一度押すと次に進みます。

位置の指定は移動ボタンのほか、各軸の座標値をクリックすると直接指定することもできます。

この改造したプロクソンフライスではX、Y軸共に0.3mm程度のバックラッシュがあります。
このコントローラには、そのバックラッシュの補正プログラムを組み込んであります。
方法は、各軸の進行方向が変わる時に、バックラッシュ分余計に移動させています。
円弧移動の際も補正していますので、例えば円移動させるときには0、90,180,270度を通過するときに補正分の移動が発生します。

バックラッシュの値の設定はncc.exeと同じフォルダにできるncc.iniにパラメータを設定してください。

[System]
Port=COM4   ←前回使用したCOMポート
XBacklash=0.3 ←X軸バックラッシュmm
YBacklash=0.3 ←Y軸バックラッシュmm

バックラッシュは、理論上は改善されているはずですが、剛性が不足しているのでそれほど精度が上がったという印象がありません。

フライスではワークの原点出しが必要ですが、Grbl 1.1ではその機能が追加されています。
CNCシールドのSCLとGNDをリードで引き出し、工具とワークにそれぞれ接続します。
プローブ検出用のGコードを出して、引き出した2本の線が接触したら止まるというものです。
ですので、検出するワークはテーブルと絶縁されている必要があります。
写真は原点出し用に寸法のわかっている四角柱にリードを接続したものです。

各軸の「PROBE」ボタンを押して、接触点の座標値と工具径を入れて検出させます。
各軸のマイナス方向に10mm動く間に検出すると、検出点で座標値+工具径/2の座標が設定されプラス方向に2mm退避します。

次回は便利なツールの紹介です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です