以前に記事にしたCNCのエンドストップについて最新情報です。
中華CNCボードには、実はエンドストップ機能があります。
それはA0という端子を使います。
オムロンのマイクロスイッチを6個使い、各軸のエンドの1個ずつ使います。
X軸の左に1個、X軸の右に1個という具合にY,Z軸にもつけます。
マイクロスイッチ自体は、どれかのスイッチが押された時点で停止をすればいいのでOR回路を実現します。そのためマイクロスイッチを並列につなぐだけでおkです。
A0端子はGND端子とショートした時点でステップモーターを止めます。
ちなみにソフトウェア側にはHoldと表示されてロック解除ボタンボタンを押さない限り再度動き出すことはありません。
ちなみにこの機能は弱点があります。
説明しにくいのですが、順を追って説明をします。
1.軸のエンドに加工軸がふれる
2.エンド付近につけたマイクロスイッチがA0端子に接続されており、ショートする。
3.A0端子のショート検出により、加工軸が止まりソフトウェア側にHOLDと表示される。
4.HOLDモード解除のため、ソフトウェア上のHOLD解除ボタンを押す。
5.手動操作で、エンドスイッチに接触しない位置まで移動させる。
以上が手順なのですが、問題点は5です。
5では手動でエンドスイッチに接触しない位置まで移動させなければいけません。
そのため、間違えて逆方向に進めてしますと結果としてエンドにぶつけてしまいます。
↑説明が下手くそですいません。
要するに、標準装備のエンドストップ機構は完全でないということです。
私が所有する3Dプリンターのエンドストップ機構は以下の通りで
1.軸のエンドに加工軸がふれる
2.エンド付近につけたマイクロスイッチが上限位置を検出する。
3.上限位置検出をすると、ステッピングモーターが逆方向に進む。
4.マイクロスイッチが押されない位置まで進むと自動的に止まる。
↑これが完璧なエンドストップ機構です。
もしもこれを中華CNCに搭載するとなると
エンドが加工軸に触れた時点で、モータードライバにステッピングモーターを逆回転させるように命令し、マイクロスイッチが押されないと判断した時点でストップ信号を出さなければいけないので、別途マイコンが必要またはCNCに搭載されているarduinoのgrblプログラムにいくらか修正を施さなければいけません。
↑ちょっと面倒ですね。
タイトルの話題に戻りますが、マイクロスイッチの並列接続用の基盤をCNCのテストついでに削ろうとしたのですが、写真のようにマイクロスイッチ接続用の穴が大きかったんですね、そこで新たに基盤データを作って、ヘイトマップを作成しようとしたら、alarmという警告がでるんですよ。。。
なんぞやと思い、ネットで調べてみると同じ症状の人がいらっしゃいました。
martyworkshopdiary.blogspot.jp
要するにA5が逝きました。
原因はこの方も書いているように静電気による死亡の可能性が高いようです。
この問題は何とかしないとですね・・・
ちなみに、基盤と表面実装の328pは購入済みです。