こんにちは。
これまでに正常に動作していたということで配線の問題かあるいはノイズが原因ではないかと思います。
原因の調査、対策として以下が考えられます。
- リミットスイッチを手で押してみて、リミットスイッチの反応状態を確認する。
- リミットスイッチのCOM-NO接続を使用している場合、COM-NC接続に変更してみる
1.リミットスイッチを手で押してみて、リミットスイッチの反応状態を確認する。
M119
コマンドを入力するとコンソールからコマンド入力時のリミットスイッチの状態が確認できます。手でZのリミットスイッチを押してみてコマンドを入力してみてください。
Z: at min stop
と表示されていればZのリミットスイッチが押されたと検知されており、Z: not stopped
の場合、リミットスイッチが押されたことを検知していません。
CBeamControlを使っている場合は設定からリミットスイッチの反応状態を確認できます。(押したときにTriggeredとなっていれば問題なし)
もし手で押してみてリミットスイッチが反応しない場合は、リミットスイッチそのものの破損か配線の問題が考えられます。
2. リミットスイッチのCOM-NO接続からCOM-NC接続に変更してみる
Duet的にはリミットスイッチをNO(スイッチが入ると導通)で接続することを推奨していないようなので、もしNO接続にしている場合はNC(スイッチが入ると回路断)に変更することで改善する可能性があります。
https://duet3d.dozuki.com/Wiki/M574
以下のようにNCとCOMに接続します。
その上でconfig.gのM574
が書いてある部分を探して編集します。
NO接続の場合、M574 Z1 S1 P"!^io2.in"
のようになっているかと思うのでPの!
を削除します。(!は反転のワードです。スイッチが押されるとGNDと入力ピンが接続されるので反転している)
例
M574 Z1 S1 P"^io2.in"
ここまで書いていて気づきましたが、もしかしたらNC接続の状態でM574のPのところに^
が入っていない場合も反応しない原因になるかもしれません。(^はプルアップ抵抗を有効化するワードです。)
一度config.gを確認してみてください。