【CNCxPRO】リミットスイッチ、エンドストップの配線

エンドストップキットを購入したので配線とか設定の覚書をば
CNC本体(制御ボード CNCxPro)が完成している前提で、エンドストップキットと2Pケーブルを購入





リミットスイッチは足の近くにNC、NO、Cの表記があります。
NC:普段閉じているけどスイッチを押されるとオープンになる
NO:普段オープン状態でスイッチを押されると閉じる
C:常につないでおくところ
Cは必ず使いますが、NOとNCのどちらを使うかはgrblの設定で変更することができます。

CNCxPRO V4はCとNO、V5ではCとNCを使うのがデフォルトになっているようです。
V5はロットによって設定が異なるようなので各自確認してください。
$5のパラメータがリミットのピン反転なので思っていたのと逆の動きをする場合はここを変更すると反転できます。









CNCxPRO V4の場合、リミットスイッチのケーブルのLimitSwitchと書かれているところに延長ケーブルを配線します。

CNCxPRO V5の場合は先端にコネクタを取り付け、基板ボックスのモーターの下に接続します。
コネクタは電線を差し込む箇所が3箇所ありますが、真ん中は使わずに左右の2つの穴を使用します。


反対側はスイッチの足にハマるように処理されていたのでCとNO、もしはNCに差し込みます。
開いている回路がスイッチを押されたら閉じるだけのものなので、プラス・マイナスは気にしなくても良さそうです。





スイッチ本体の穴が小さく、M5のネジが入らないので付属のネジとプレートを間に挟んでV-slotとかに固定します。
ホーミング動作のデフォルト設定ではXYZのプラス方向に移動しますので、スイッチも基本的にはプラス側に付けます。
XとYはレールの端っこに固定すればいいだけなので簡単でしたが、Zの固定場所は悩ましかったです。最終的にZ軸の一番下のエンドマウントの裏にネジ穴があるのでそこに固定しました。もっといい方法があれば教えてください。

GRBLの設定で関係のあるところは
|$5=0|
|$20=0|Soft limits, boolean|
|$21=0|Hard limits, boolean|
|$22=1|Homing cycle, boolean|
|$23=0|Homing dir invert, mask|
|$24=25.000|Homing feed, mm/min|
|$25=500.000|Homing seek, mm/min|
|$26=250|Homing debounce, milliseconds|
|$27=1.000|Homing pull-off, mm|

ここの設定でリミットスイッチを使ったあれこれの挙動が変わります。

  • $5=0
    $5=1にすることでリミットスイッチのトリガーをハイにするかローにするかを逆転させます。
    NCを使うかNOを使うかで切り替えてください。

  • $22=1に設定することで$H コマンドでホーミング機能が使えるようになります。(恐らくデフォルトだとオフになっています。)

  • |$20=0|Soft limits, boolean|
    有効($20=1)にすると$130らへんの最大移動距離より離れた距離では止まるようになります。

  • |$21=0|Hard limits, boolean|
    有効にするとスイッチが押されると停止するようになります。

  • $23=0|Homing dir invert, mask|
    プラス・マイナス方向を逆転させます。設定方法はXYZのモーター反転と同じなので割愛します。

  • |$24=25.000|Homing feed, mm/min|
    スイッチにそっと近づいて原点の位置を確定するときの移動速度

  • |$25=500.000|Homing seek, mm/min|
    スイッチの場所までとりあえずガーっと移動する速度。この速度でスイッチの場所を検知してから$24の速度でもう一度原点の場所を確認します。

  • |$26=250|Homing debounce, milliseconds|
    無視するチャタリング時間の設定、と認識しています。難しいので多分ですが。
    スイッチを押される瞬間は振動とか電気ノイズでONとOFFが短時間で入れ替わります。これをそのまま制御に使うと動作がおかしくなるので、ノイズが発生している時間の信号は無視します。この無視する時間の長さをここで設定しています。デフォルトのままでOKです。

  • |$27=1.000|Homing pull-off, mm|
    原点位置で止まるとスイッチが押されたままになるので、原点位置がわかったらこの数値ぶんだけ移動したところで待機します。

Zの固定場所、私はM5x85mmのネジを使ってリミットを叩くようにしてみました。

ちょうどV-slotにネジが出るので差し込みTナットをひっくり返してV-slotに当たらないように取り付けてみました。

質問ですが、
リミットスイッチをつかって「$H」コマンドで機械原点をセットして、
Absolute Coordinates after adjustにチェックを入れたあと、
どうやって材料の近くまで刃物を送るんでしょうか?
Stepサイズと画面上の矢印を何回か押して送るしかないですか?

Zリミットスイッチの固定方法のアイデアありがとうございます!自分のやり方だとZのストロークに影響があるので、YoshiYoshiChanChanさんの方法をこちらでも試してみようと思います。

ホーミング動作後の加工原点までの移動はボタンポチポチでの操作で行っています。
GRBLControllerではボタンをポチポチしたときの送り速度が260mm/minになっているため、かなり遅いです。
Tools>オプションのZ-jog rateのところを1500などにすると1500mm/minで動くようになるのでキビキビ動くようになります。変更してから再接続しないと有効になりません(Z-jogという名前の割にはXYもこの速度になります)

GRBLコントローラーではこのZ-jogの速度になりますが、CNCjsという他のソフトの場合は上限速度(2500mm/min)なのでかなり早いです。不慣れなうちはゆっくりの方がいいと思いますが、慣れてくるとCNCjsのほうが多機能なのでおすすめです。

ありがとうございます。むっちゃ助かります!!
「Z-Jog Rate」恐る恐る数値を上げて試してみます。
CNCjsの存在を知りませんでした。調べてみます!

CNCxPRO V5へのアップグレードに伴い、一部写真などを追加致しました。

staffさま

CNCxPRO V5アップグレード写真追加ありがとうございます。参考にさせていただきました。
その他のオプション機能、リレー制御/E-STOP/Z-Probeなどのアップロードもおねがいします。

Z軸のリミットスイッチの付け位置を悩みました。
Z軸最下端につけると、配線が材にあたり、いつの間にか端子から抜けてる現象が多発。

リミットスイッチの付け位置をこのトピを参考に、3Dプリンターで部材を作り
取り付けました。この場所いいですね。ありがとうございました。

CNCjsでZ軸のみホーミングがされないのですが対処方法をお教えください。
ホーミングを行うとX軸Y軸は問題なく毎回ホーミングが行われます。
ですがZ軸は何も動きません。
手動でZ軸のリミットスイッチを押してみると基盤のリミットスイッチランプは点灯し、CNCjsのコンソールでもHard Limitと表示されます。
CNCjsを一度再インストールしても変わりませんでした。

使用している制御基板 CNC xPRO V4
CNCjs 1.9.22

CNC xPRO V5のスレッド情報にある
$ 22 = 1
$ Homing / Cycle2 = Y
$ Homing / Cycle1 = X
$ Homing / Cycle0 = Z
というコマンドをコンソールに書き込んでも「Invalid statement」と表示され受け付けません。

Hi Yuking,

It sounds like you have a “laser” version of GRBL installed that will not home the Z axis. I would recommend reinstalling the firmware, directions here: (https://www.spark-concepts.com/blog/how-to-reflash-grbl-to-the-cnc-xpro/). Before you update formware, send command ‘$$’ and note your current settings, these will be lost.

FYI - the commands for the V4 and V5 are not interchangeable.

Let me know if you have any questions,
Mike

Hi Mike,

I don’t know yuking changed or not changed v4 to “laser” firmware.
But Do you know the case that “laser” grbl have been installed in CNC xPRO v4 initially?

And Do you mean “laser” version is laser mode in grbl1.1? ($32 = 1)


最初からレーザー用ファームウェアがインストールされていることはあるのでしょうか?
またレーザーバーションのgrblはgrbl1.1のレーザーモードのことですか?

こんにちは、nyaruさん

CNC xPRO V4(ArtCNC1015セット)は購入してからそのまま使用していて、レーザー用のファームウェアを導入したことはありません。
現在のコンソールの設定は$32=0 (Laser-mode enable, boolean)になっています。

Hi Mike,

手順を教えていただきありがとうございます。
ですが今、手順1「Arduino IDEをインストール」のサーバーがつながらない状態で、まだ試すことができません。
また後日やってみようと思います。

こんにちは
ArduinoIDEは公式サイトから無事ダウンロードできました。
そして先程GRBLの最新バージョンv1.1hにファームウェアを更新したところZ軸のホーミングが行われるようになりました。
更新前のGRBLバージョンはコンソールで確認したところGrbl 1.1fとなっていました。

ファームウェアの更新手順が英語で少し解りにくかったのですが、



これらの日本語サイトも参考にして更新を終えることができました。

また解決策を教えてくれたMikeさん、nyaruさんありがとうございました。

「いいね!」 1

【ホーミングができません】

リミットスイッチの配線をしました。スイッチを指で押すと
コンソールにHard limitと表示されるので、配線には問題なさそうです。
使用している制御基板 CNC xPRO V4

CNC xPRO V5のスレッドをみて、
$ 22 = 1
をしました。

次に、
$ Homing / Cycle2 = Y
$ Homing / Cycle1 = X
$ Homing / Cycle0 = Z
を入力しようとしたのですが、

$ Homing / Cycle2 = Y
を入力しても
error:5 (Setting disabled)
と表示され、入力が受け付けられず
ホーミングができません。

上記の投稿にあるように
GRBLのファームウェアを更新するべきなのでしょうか?
何か解決策がありましたら、教えていただければと思います。
よろしくお願いいたします。

こんにちは。

$ Homing / Cycle2 = Y
$ Homing / Cycle1 = X
$ Homing / Cycle0 = Zの入力が必要なのはV5からなので、CNCxPROV4の少なくともgrbl1.1fと1.1hでは$22=1でホーミングが有効になるはずです。
V4はリミットスイッチが押されると基板自体の対応するLEDランプが点灯するのでそちらでもボタンの反応を見ることができます。

こちらでは$22=1でZ軸のホーミングが行われ、その後XYを同時にホーミング と動くのですが、ホーミングボタンを押してもZのホーミングがはじまらないでしょうか?

こんにちは!お返事ありがとうございます。

リミットスイッチを押すと基板自体の対応するLEDランプも点灯します。

$22=1にはしていますが、
ホーミングボタンを押しても、Z軸のホーミングが始まりません。

関係があるかどうか分かりませんが、OSはmac os high sierraです。

恥ずかしながら、改めてコンソールを確認したところ$22=1になっていませんでした。

$22=1

にしたらきちんと動作しました。大変失礼しました。

たびたびすみません。

ホーミングは正常に機能するようになりました。
最初にホーミングボタンを押したときにX軸だけがリミットスイッチと
逆方向に進んでいたので
$23=1
でホーミングのX軸の移動方向を反転させました。

そうすると、下に添付した画像のように、
ホーミング完了時のX軸の「機械位置」が
-744($130で入力したX軸の最大移動距離755mm-1mm)
となってしまいます。
これを正常な値(1mm)にするには
どこを変更すればよいでしょうか?

こんにちは

デフォルトではホーミングはプラス方向にスイッチがあるものとして動きます.
$23でホーミング方向を逆転させるとマイナス方向にスイッチがあるものとして動くので,マイナスの上限値にあたっていると認識されているのだと思います.

Xの方向がautomatamakerさんの期待している方向とは逆であるために発生していると思うので,
$23をもとに戻し,$3でXの進行方向を反転させれば期待どおりに動くのではないかと思います.

「いいね!」 1

おかげさまで仕組みが分かって解決しました。
いつもありがとうございます!