動作確認

4.各種設定

軸移動方向設定

軸の向きはユーザーが自由に変更することができます。
軸を設定する場合の設定例は以下のようになります。
※同じ設定にする必要はなく、以下は例となります。

加工物のセットをしやすくするために原点側を手前にするなど、都合に合わせて軸構成を変更してください。

CBeam Machine

構成例1

原点復帰時に加工対象物のセットがしやすい構成

Art CNC

右手系準拠の構成

原点復帰が左手前となる構成

設定方法

設定したい軸移動方向と実際に動く方向が逆の場合、以下の方法で設定を変更します

  • ステッピングモーターの配線を入れ替える
  • ソフトウェアで変更する

CNCxPRO

grblのパラメータを変更します。
CNCjsを使っている場合はCNCjsのコンソールから変更します。
WebUIを使っている場合はGRBLタブから変更します。

Duet

ホーミング方向設定(リミットスイッチ有りの場合)

これはリミットスイッチを取り付けている場合のオプションの設定となります。リミットスイッチをつけていない場合は、この設定を飛ばします。

CNCxPRO

まずホーミング機能をパラメータ$22にて有効にします。
CNCjsを使っている場合はCNCjsのコンソールから変更します。
WebUIを使っている場合はGRBLタブから変更します。

CNCxPROではデフォルトの設定ではホーミング(機械原点探しの移動)は+方向に移動しリミットスイッチを探します。
リミットスイッチの位置が軸の+方向端にない場合はリミットスイッチの取り付け位置を変更するか、ソフトウェアのパラメータを変更します。

ホーミング方向反転のパラメータは$23で前述の軸移動方向の設定と同じように0~7の値で設定します

$23の値 意味
0 どの軸も反転しない
1 X軸だけ反転
2 Y軸だけ反転
3 X軸とY軸が反転
4 Z軸だけ反転
5 X軸とZ軸が反転
6 Y軸とZ軸が反転
7 すべての軸を反転

Duet

SDのconfig.g内にてM574のコマンドでリミットスイッチ方向が定義されています。
M574の説明(Duet公式)

またホーミング時の動き方はhomeall.g、homex.g、homey.g、homez.gのファイル内にて定義されています。
Avalontechデフォルトの設定では+方向端にリミットスイッチがあるものとしています。

移動量調整

1mm動かすのに必要なモーターの動作量を計算します。設計上のデフォルト値(200step/mm)でも問題ないですが、多少誤差があるので計測して設定する方がよいです。いくつか方法を示します。

なお1mm以下の精度は気にならないという方は飛ばしても大丈夫です。

また測定時で軸を動かすときは必ず一方向にのみ動かすようにしましょう。
バックラッシュという逆方向に動くときの誤差が発生します。

方法1(ボールペンを固定して線を引き移動距離を測定)

精度は良くないですが一番簡易的な方法です。

テーブルに紙をひいてテープ止めしておき、ボールペンをZ軸に固定します(固定方法は何でもよいです。できるだけペン先が動かないようにしてください)


この状態でZ軸をマイナス方向(下方向)へ動かしペン先が紙に当たるところで止めます。いきなり大きく動かさずに少しずつ動かすようにしてください。

この状態でX方向あるいはY方向に軸を動かします。何mmでも良いですが、100mmや50mmが計算しやすくて良いでしょう。

これはデフォルトの200step/mmで動かして引いた線です。定規で長さを測っており、1mm以下は目測なのでそこまで正確ではありません。(X軸Y軸それぞれ50mm動かしてXが50.5mm、Yが49.7mmくらいでした)

このボールペンを使った方法ではZ軸の移動距離は測れなくはないですが、かなり工夫しないと測れません。
その場合はZ軸の値はデフォルト値を用いるか、XYの値の平均値を採用するなどしてください。

方法2(実際に加工した結果を測定)

方法1のボールペンを工具に変えたバージョンです。
Fusion360等でNCファイルを作成するのも良いです。

ここではワーク、加工対象物、加工物という単語が出ますが、全て同じ意味で使っています。

補足

またMDFでは思った加工精度がでないことが報告されています。
CNCの精度調整 - sheepman の #17

ケミカルウッドやエンジニアリングプラスチックなどを削ってみると良いかと思います。

50mm_testcut.txt (193 バイト)
中身は以下となっています。

G0 Z5.0			;工具退避。ワーク座標系Z+5へ移動
G0 X25.0 Y25.0	;1つ目の角。ワーク座標系X+25 Y+25へ移動
G1 Z-2.0 F100	;Z降下2mm切り込む。
G1 Y-25.0 F100	;2つ目の角。ワーク座標系Y-25へ移動
G1 X-25.0		;3つ目の角。ワーク座標系X-25へ移動
G1 Y25.0		;4つ目の角。ワーク座標系Y+25へ移動
G1 X25.0		;1つ目の角。ワーク座標系X+25へ移動
G0 Z5.0			;工具退避。ワーク座標系Z+5へ移動

上記は工具中心が50mmの正方形を通るように動きます。
40mm版も用意しました。
40mm_testcut.txt (192 バイト)

適当な材料を用意します。ここではケミカルウッドを使っています。上記のプログラムを流す場合はワーク(加工物)表面の50mmの四角が取れる中央部分にワーク原点をとる必要があります。

エンドミルをしっかり固定します。加工中にエンドミルが外れたら大事故です。

ワークを両面テープ等でしっかりと固定し、エンドミルが中央付近になるようにXY軸を移動させます。

ちなみにしっかり固定できていないorプログラムの確認をしていないor切り込み量が多いなど加工時の負荷が大きいとワークが吹っ飛びます。大変危険です。ワークが飛ぶ方向が人のいる方向だと事故になります。安全確認をして、安全な場所から実行しましょう。

この後ワーク原点をセットします。
今回はXYのワーク原点は大体でいいです。
XYは狙いの位置に来たらCNCjsではワーク位置表示のところにあるボタンを押すことでXYのワーク原点設定ができます。


次にZは加工対象物の表面にエンドミルの先が当たる位置にセットする必要があります。
Zのワーク原点の出し方は3つあります。

  1. Zプローブを使う
  2. エンドミルと加工対象物の間に紙(厚さ0.1mmくらい)を挟み、Zを少しずつ下ろし紙が手で動かなくなった位置をワーク原点とする
  3. ルーターを動かしながらZを少しずつ下ろし加工対象物の表面にエンドミルがあたり少し切り粉がでる位置をワーク原点とする

最も板表面の位置を決める精度が良いのが1番で、2、3番は紙の厚さや1回の移動量によって誤差があります。0.1mmくらい気にしないというのであれば2、3番が手軽で良いでしょう。

2番でZのワーク原点設定をやってみた(見たい場合はクリック)

紙を加工対象物とエンドミルの間に挟み0.1mmや0.05mmずつZを下げて紙が動かなくなるところを探します。

https://www.youtube.com/watch?v=F5H-2C1ZIhw

その後Zのワーク原点設定ボタンを押します。



実際にルーターを動かし加工をする前にエアカットを行います。
ワーク原点をワークに当たらない位置に設定した上で、NCプログラムを流し動作を確認する方法です。
せっかくワークZを設定したところですが、Zを+5mmほど上げて再度Zのワーク原点ボタンを押せばオッケーです。
逆に元のワーク原点に戻すときはZ0に移動させたあとZ-5mm下げてワーク表面の位置に戻しワーク原点ボタンを押せば良いです。

この工程は省略可能ですが、加工プログラムが正しいのかを確認するためにも実施するのを推奨します。

ワーク原点の設定ができたら、CNCjs等のUIよりNCプログラムを流します。安全な場所から見守り、緊急停止できるようにしましょう。(電源のコードを持つ、緊急停止スイッチに手をかけておくなど)

加工が完了したら測定してみましょう。



今回は40mm用のパスを使い工具は直径6mmのエンドミルでした。
そのため 40mm - 3mm(工具半径) - 3mm(工具半径)= 34mm が期待する寸法となります。

方法3(ダイヤルゲージ等の測定器を使う)

ダイヤルゲージ・ノギス等の測定器を持っている方は移動量を直接計測するのが早いです。

ノギスを使い移動量を測定している例

ダイヤルゲージの固定方法は以下のトピックが参考になります。

移動量調整(step/mm)設定方法

計算方法

前項で動かしたかった量実際に動いた量が分かったかと思います。
以下の式で新しい設定値を計算します。現在の設定値については次で説明します。

(新設定値 step/mm)= (現在の設定値 step/mm) * (想定していた移動量 mm) / (実際の移動量 mm)

CNCxPRO

まず現在の設定値を確認します。
各パラメータ$100$101$102をCNCjsのコンソールに入力するか、WebUIのGRBLのタブにて確認します。

現在の設定量が分かれば上記式に値を当てはめ新しい設定値を計算します。

Duet

SD内のconfig.gのM92にて設定されています。

M92 X◯◯◯ Y◯◯◯ Z◯◯◯ 

M92の説明(Duet公式)