CNCマシンはXYZ軸の終端センサーとしてこのようなマイクロスイッチを用いるのが王道です。
僕も手持ちのマイクロスイッチを付ける場所を探ってみましたが、取付角度とか位置とかを考えるのと面倒な作業になりそうです。
何かもっと簡単な方法ないのかなー?と見回したところ、丁度電気工事士の試験用に買い置きしていたVVFケーブルが目につきました。
この芯線がなかなか造作するのに扱いやすい太さ(直径1.6mm)の銅線なのです。
<電気工事士実技の練習動画>
まずは先端を削って尖らせました。
酸化防止としてハンダを盛りました。
これをリミットセンサーとして使ってしまおうという魂胆です。
早速金具に空いている穴にグニャグニャ曲げて固定してみました。もともと建築用金具なのでいろいろな所に穴が空いています。
本体がフルメタルなので、本体のどこでも接触した瞬間0Ω。車と同じボディーアース仕様ですね。
銅線1本なので簡単に位置の調整ができますし、故障することも無いでしょう。そしてなにより安価(笑)
ということで、早速ホーミングを行ったわけですが、XY軸の方向がどうもおかしい?
Y軸は問題ないのですが、X軸が想定と逆の方向へ行ってしまいます。
僕の手持ちの3DプリンターはX軸のホームポジションは左側なので、てっきり左に動くものだと思っていました。
しかし、いろいろなマシンのホーミングを調べてみたところ、ホーミングのポジションはマシンによって多種多様。
<いろいろなマシンのホーミング挙動↓>
本当にマシンによって全然違いますね。
FluidNC含むGRBL系のものは基本的にX軸は右側がホームポジションのようです。なんだそれ
ということで、ホーミング動作が成功した動画です。
(YouTubeのことよくわからないけど、組み込み動画にしたいのに短いからショート動画になってしまうのツライ・・・)
動画ではさくっと成功しているように見えますが、実はコネクタで接触不良が発生して挙動が安定せず、加えてX軸の挙動が予想と逆だったので原因の切り分けが結構大変でした。
また、本家ArduinoバージョンのGRBLのリミットスイッチはノイズで誤作動しやすいとの報告もあるので、念の為にコンデンサをスイッチ線に入れました。(緊急停止と再開とプローブ用のスイッチ端子にも)
<参考サイト>
あと、謎だった現時点の座標を原点とする方法
G92X0Y0Z0
というコードも参考サイトに載っていました。実にありがたいです。