PRX1510のバックラッシュ調整

公開日:  最終更新日:2014/06/05

すいません m(_ _)m、本記事はブログ引越時に書式が崩れました。順次修正中です。

メンテ完了の勢いで、バックラッシュについて真面目に考えてみました。バックラッシュ調整自体は以前やったことがあるのですが、まあ、いろいろ削ってみて調整って感じでやってましたので、今回はちゃんと考察することにしました。というわけで、SISOなりの理解を、つらつらと書いてみることにします。自分の考えをまとめたものなので、独自用語や推論が含まれています。もし、違っていることがあったらご指摘くださいな。


バックラッシュ
サーボなんかでも「バックラッシュが大きい」なんていうことを言いますが、サーボの場合、ギアとギアの隙間から発生するガタツキのことを言います。PRX1510の場合、クロステーブル(材料を載せてXY方向に移動するクロステーブル)やZ軸(スピンドルモータを上下昇降させる軸)を動作させるのに、台形ネジというものを使っています。このネジは、普通に使うねじと違って、山の形が台形になっており、また精度も高いものです。


しかし、いくら精度が高いと言っても、スムーズに動作するためにはいくらかの隙間が必要です。この隙間は機械の動作をスムーズにしますが、動作精度を落とす原因にもなります。
下の絵を見てください。橙色の方がクロステーブルに固定されているナットで、真ん中の部品が台形ネジです。クロステーブルは、この台形ネジが回転することによってスライドするようになっています。そして、ナットとネジの間には少し隙間があります。この図の状態からクロステーブルが右へ動く場合は問題ありませんが、左に動こうとした場合は、この隙間分だけネジが空転する=その分クロステーブルが動かないことになります。これがバックラッシュです。



この隙間を無くすために、スプリングなどを組み合わせた機構や、ナットを樹脂で作ってネジときつくかみ合わせる方法、他にはボールネジを使うなどの方法があります。モデラは、これをキャンセルする仕組みが入っているそうです。


PRX1510の場合は、CNCソフト(うちではMACH2を使っています)の方でこのバックラッシュを補正します。先の図の例でいくと、クロステーブルを右に動かす場合はそのまま指定値どおり動作させ、左に動かすときは、隙間分だけ余分に動かします。もし、そのあとまた左に動かす場合は指定値どおり、右に動かす分は、また隙間分だけ余分に動かします。


実際、クロステーブルってのは動作かなり重く、そうそう勝手に動くものでもありません。そのため、隙間があるからといって勝手にその隙間分だけ動いてしまうことは無いと思います。Z軸の場合、動きの軽いリニアガイドが使われていることと、スピンドルモータ部などの自重で下方向に押し付けられるということで、ほとんど無視してよいかと思います。


バックラッシュがあるとどうなるか?
バックラッシュが無い場合、当然ですが、指定値どおり動作します。バックラッシュありの場合と比較するため、エンドミル(刃物部分)が通る軌跡を書いてみました。この軌跡のことは一般的にツールパスと呼ばれています。この図では、「①→②→③→④→⑤」という順番で動作することを想定しています。



今度はバックラッシュがある場合の軌跡を書いてみました。厳密にはスタートの位置までどういう方向で移動したかによって少し変わるのですが、左下から①の始点へ移動したことを前提にして書いています。動作順序は先と同じ、「①→②→③→④→⑤」です。②の移動開始時は既にナットとネジが接触していますので、誤差は発生しません。③も、①にて下方向からの移動を行っているので問題なく動作します。しかし、④では、バックラッシュ分、空転します。⑤も同様です。そのため、②の始点位置に戻ってこれなくなります。



それでは、①の軌跡を変えてみるとどうなるでしょうか?次の図が、四角形の内側からスタートさせた場合の軌跡です。四角はちゃんとつながりますが、今度は四角が小さくなりました。これは、②移動開始時に、左下へ移動しているため、次の右移動のときにはバックラッシュ分、台形ネジが空転するためです。②移動が完了して③移動に入るときも、最初は空転する分、移動量が小さくなります。



バックラッシュの調整方法
PRX1510の場合、バックラッシュをキャンセルする機構が無いので、MACH2の方にバックラッシュ量を設定することで、動作方向に応じてバックラッシュ分余分に回転させることで補正を行います。で、問題となるのが、この値をいくつにするか?というものです。


いろいろ考えたので、まずはアイデアだけ並べてみます。



  1. ダイアルゲージなどの計測機器を使って測定
    PRX1510の外側にダイアルゲージを固定し、クロステーブルを往復させることで測定できそうです。X軸を例に説明すると、まずX軸を左に少し動かしてバックラッシュ分を詰めます。そしてPRX1510とは別に固定したダイアルゲージをクロステーブル右側(X軸プラス方向)に押し当てて値を読みます。そして、さらにX軸を左に10mm動かした後、右に10mm動かして元の位置に戻します。この時の値と最初に読んだ値の差がバックラッシュ分になると思います。でも、百分の数ミリがしっかり計測できるように固定するのも難しそうですし、防音ボックスから取り出して設置して計測ってのもちょっとめんどくさそう…(ダイアルゲージも無いですし)。

  2. 材料切削して測定
    バックラッシュというのは機械的に安定した誤差なので、切削方向を変えることで意図的にバックラッシュを切削結果に反映することができます。もしエンドミルの切削誤差が無い(1mm径のエンドミルで切削したときに、必ず1mm削れる)前提であれば、四角形を切り出して寸法を計測すれば、バックラッシュの量がわかることになります。しかし、実際にエンドミル精度というのは誤差もありますし、また、スピンドルモータの精度やチャック取り付け精度も影響すると思いますので、これを吸収できる方法を考えてみました。なんとなく、四角形を切削方向を変えて2つ削って比較すればいいかな?と思ったので、そこから考えてみました。
    まず、バックラッシュが無いケースで四角形を2つ切削した場合を考えてみます。この場合、バックラッシュが無いので、材料は指示値どおり削れます。例えば、下図で外側の四角形が35x20mmだとすると、エンドミル径が1mmならば34x19mmのものができることになります。

    それではバックラッシュがあるとどうなるでしょうか?それを描いてみたのが次の図です。切削順序にポイントがあり、①、②と空中移動、その後、③を切削します。③を切削したら今度は②のところに戻り、バックラッシュの状態を最初の状態と同じにします(単純に③の始点に戻しただけではバックラッシュの方向が逆になってしまうので②の空中移動でバックラッシュの方向をそろえます)。で、同じようにして②→④、②→⑤、②→⑥と切削します。これですべてのバックラッシュの方向が同じ状態で切削されるので、目標位置からバックラッシュ分ずれていますが、指示値どおりの大きさで切削することができます。同様に逆方向である⑦から内側の四角形を切削していきます。⑦への移動は、②の始点から行うことで、バックラッシュの向きが外側四角形の切削とは逆向きになります。結果として、バックラッシュ分、反対側(XYプラス方向)にずれた四角形として切削されることになります。

    で、できあがったものは下図のようなものになります。この時の幅Aと幅Bの差分を1/4したものがバックラッシュ量になると思います。差分で取るので、エンドミル径の誤差からは開放されることになりますので、1mm径のエンドミルが1.1mm切削したとしても問題ないはずです。

    で、問題は、このGコードを作るのがめんどくさそうということ。これを作ろうと思うと、プログラムを作って生成するとか、表計算ソフトなどで作った方がよさそうです。

  3. 原点スイッチを使って測定
    さてっと、最後のアイデアです。原点スイッチのオン/オフタイミングにどれくらいの精度があるのか?という疑問はありますが、一番手軽そうなので本命です。PRX1510には原点センサがつけてあります。これは、クロステーブルやZ軸があるところまで移動すると、スイッチをカチっとオンして、原点に到達したことをQUATTRO-1に伝える機構です。クロステーブルとかでスイッチを押すような仕組みと思っていただければOKです。

    まず原点スイッチに向かってぐいっと動かしおいてから、ちょっとずつ(0.01mmずつとか)クロステーブルを移動させて原点スイッチを押します。そうすると、バックラッシュ分は詰められた状態で原点スイッチを押すことになります。MACH2には、原点スイッチの入力状態をモニタする画面がありますので、この画面とにらめっこして、原点スイッチが入力された瞬間のところでクロステーブルを停止させます。
    今度は、ちょっとずつクロステーブルを移動し、原点スイッチがオフするところまで動かします。この時、バックラッシュ分があるので、バックラッシュ分が詰められるまでクロステーブルは動かないことになります。よって、このときの移動量がバックラッシュ量ということになります。

原点スイッチでのバックラッシュ測定
これは手軽そうなので、さっそくやってみました。結果としては、X軸0.29mm、Y軸0.14mmで、ためしに材料を切削してみたところ、いい感じです。まあ、この調整の前の値も、0.24mmと0.16mmだったので、もう一声よくなったって感じです。


これをやってて思い出したのですが、X軸のバックラッシュが大きいのが不思議ですね…。Y軸の方は、以前、緩んだことに気づかずに使っていてバックラッシュが増えてきたことはありましたけど、なんでこんなに大きいんだろう?ひょとして緩んでいるのかなー。出張から戻ったらちょっとチェックしてみます。たぶん、X軸の台形ネジが抜けるところまでまわして手で触ってみればわかるかな。でも、このナットを固定しているネジって、クロステーブルをはずさないと締めれなかったような気がします。


以前、どっかで情報交換したときは、PROXXONにもばらつきがあるようなことを聞いたことがあります。0.15mmあたりが少ない方のようです。ということは、やや、はずれな方かな?でも、東急ハンズで触ったことがあるPROXXON#16000(ノーマル)はもっとバックラッシュがあったような気がします。みなさんのPROXXON#16000はどうですか?まあ、補正ではできるにしても、少ない方が気持ちいいですよね。


追記その1
原点スイッチでやる方法ですが、これでもビシっといくわけではない感じで、実際には得られた値から、±0.02~0.03mm程度の範囲で調整してやるともっといい感じでした。きっと、ON、OFF時のタイミングがわずかに異なるんではないかと。もう少し簡単な方法をさらに考えてみたいと思います。しっかしですね、0.1mmあたりの誤差調整って、ほんと、気を使います。実際に切削して確認するとなると、エンドミルの誤差も入ってきますから…。


追記その2
通行人さんから、けがきを使用した測定方法を教えていただきました。BBSの書き込みはここです。


 

  • このエントリーをはてなブックマークに追加
  • Pocket

関連前後記事

Comment

  1. 織田 より:

    ご無沙汰しています。
     TeamKNOx の EZ-CNC ではバックラッシュ対策は2次元のマップにしようかと目論んでいます。
     フォーラムに RoboShell の方向性についての議論を始めましたので、ご意見いただけると幸甚です。
    以上、よろしくお願いいたします。

  2. SiSO より:

    お久しぶりです。
    バックラッシュ対策が2次元マップということは、シャフト側(ネジ側)の位置による精度も考慮するということでしょうか?それができれば、自作NCフライスで、安いステンレス長ネジとかを使っても補正できるようになって良さそうですね!
    フォーラムの方、帰国したらのぞきに行きます(例によって海外出張中…)。

Your Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

PAGE TOP ↑