2016年4月3日日曜日

CNC4030 10 (軸移動速度の検証)

軸の移動速度

プーリー間のベルトは輪ゴムを使おうかと思っていたが、思い直して100円ショップで売っている棒ゴムという奴を使うことにした。

ロジアナとの接続

装置の関係で移方向はY軸方向のみとし、軸の移動はMach3のMDI Alt2画面からGコードを入力して行った。

正逆方向に20mmの移動を2回実施した場合
g01 x0 y20 f1000(正方向) ➔ g01 x0 y0 f1000(逆方向) ➔ g0 x0 y20 f1000 ➔ g0 x0 y0 f1000 の順に実行

正方向

GtkWaveのMark機能を利用してエッジの数を数えたところ1回目と2回目で同じ値(297)となった。


逆方向


この場合もエッジの数は同じ値(295)となった。が、正方向の場合とは異なる値だった。

正方向と逆方向でパルス数が違うのでその平均値を20mm移動に対するパルス数として1パルス当たりの移動距離を計算すると、20mm÷296≒67.57umとなる。使用しているロータリーエンコーダは1回転で2000個のパルスを出力するので、67.57×2000≒135mm。 プーリーの円周は126mmになるように直径を決めたが、この値に対して9mmも長い。  円周を135mmとして直径を求めると135mm÷π≒42.97mm。 設計値は40.1mmだったので、差は約2.87mm。この差は何から来ている??? ここで、ベルトを輪ゴムから棒ゴムに変えたことを思い出した。ノギスでゴムの直径を測ると約1.2mmだった。これにより見かけ上の直径が大きくなるとすると40.1mm+2×1.2mm=42.5mmとなり、42.97mmとほぼ近い値にはなる。

ということで、1パルス当たり67.57umの分解能で測定できていると考えることにする。
すると正方向と逆方向のパルスの差分2パルスは約0.135mmとなる。  バックラッシュなのかな?
とすると、ちょっと大きい気がするが。。。

制御側、即ちPC➔CNC4030のステッピングモータドライバのパラメータは640パルス/1回転となっており、また、軸のボールねじのリードは5mmなので1パルスで7.8125umの移動距離となる。
0.135mm ÷ 7.8125um ≒ 17 なので、17パルス分の差である。 CNC4030を制御しているソフトウェアのMach3からの出力パルスが正逆方向で17パルスも違っているとは考えにくいので、測定系の問題かメカ系の要因ではないかという気がする。 少なくとも測定系は別の方法を考えたほうが良さそうだ。


0 件のコメント:

コメントを投稿

自作CPUで遊ぶ 25

まだ制御ソフトが完成していないので今まではスピンドルを移動するために一々簡単なプログラムを書いて移動させていたのだが、非常に面倒なのでCNCペンダント的なものを作ることにした。 右側の縦に2つ並んでいるスイッチ...