Duet3 を使った自作CNCのセンサーレスホーミング

参考

最近の3Dプリンターでよく見るようになってきたセンサーレスホーミングを自作CNCでもやってみました
失速検知機能(Stall detection )を使い稼働範囲の限界でわざと衝突を起こし、それを検知することでリミットスイッチなしでホーミング、機械原点の設定をします。

懸念点として、
3Dプリンターはタイミングベルト駆動なので低負荷ですが、私の自作CNCは台形ネジで減速させてパワーを上げているので気軽に衝突させて大丈夫かという点がありました。
実際に調べてみるとホーミング時のみ電流値を下げ、検知の閾値を細かく調整できたので、センサーレスホーミングの衝突はガシャン!ではなく軽くトンと当てるだけで検知できるようになりました。

精度についても、半ステップか2ステップ単位で検知するのでリミットスイッチよりも劣るとされていましたが
C-BeamMachine剛の構成では半ステップ=0.0025mm、2ステップ=0.01mm
マイクロスイッチの繰り返し精度は範囲0.016mm程度(参考:https://www.metrol.co.jp/solution/58504/
なのでほぼ同等かより高い精度が出せるようでした。
これは3Dプリンターのタイミングベルトは速度を重視するため1ステップあたりの移動量が大きいのに対し、CNCフライスでは速度を落としてパワーを上げているので1ステップ当たりの移動量が小さく、ステップ単位で検知するセンサーレスホーミングでは利があるためです。

configの記述

モータードライバの定義

モータードライバについてあまり詳しくはないのですが
静音化のために様々なモードあり、回転数によってそのモードが切り替わるようになっているようです。
stealthChopモードで失速検知が行われるようにする必要があります
Vパラメーターで切り替わる回転数を定義できますが、色々試してもうまくいかなかったのでDパラメーターでモードを固定したところ動作するようになりました。

記述例
M569 P0.0 S0 D3 V40

エンドストップの定義

通常S1でスイッチタイプで定義、後ろにPでピン番号を記述していましたが失速検知を使用するS3、複数軸で失速検知を使う場合はS4で定義します。

記述例
M574 X2 S3

失速検知の有効化

M915で失速検知と検知の閾値を設定します。
S、F、Hの値で閾値(感度)を調整します。R1にしておくと検知時にコンソールに情報が出るので感度を調整している間はR1、調整が終わったらR0にして通知をオフにするのがよさそうです。

記述例
M915 XY S5 R0 F0 H240     

ホーミングファイルの記述

M913 で電流値をconfig.gの定義からパーセンテージで調整ができるので軸が動く範囲内で電流を下げます。
最後に100%に戻す記述をすることでホーミングが終わったら電流値は戻るようにしておきます。
そのほかの記述方法はセンサー式と同様です

記述例
M400 ; Wait for current moves to finish
M913 X70  ; drop motor current to 70%
M400
G91               ; relative positioning
G1 H1 X1500 F1800 ; move quickly to X axis endstop and stop there (first pass)
G1 H2 X-10 F360    ; go back a few mm
G1 H1 X1500 F1800  ; move slowly to X axis endstop once more (second pass)
G1 H2 X-10 F360    ; go back a few mm
G92 X-5           ; set Maschine position X-5
G90               ; absolute positioning
M400
M913 X100  ; return current to 100%
M400

パラメーターの調整

上記例は実際に動作した値の一例ですがZ軸は自重の分負荷がかかっているのでXY軸と同じ感度ではダメでS5→S10にして感度を下げる
センサー式でホーミングするときはF180でゆっくりセンサーに当てていましたが、センサーレスではゆっくりすぎると検知できなかったのでF360にする
など細かい調整が必要でした。
実際はナットブロックのテンション、ステッピングモーターの仕様、温度などで条件が変わるので
センサー式のようにオンにすれば良いというわけではないので少々手間をかける必要があります。

目次