Fusion360歯車スクリプト/はすば歯車 の履歴(No.6)
更新概容†
Fusion360歯車スクリプト を使ってはすば車・やまば歯車を作り、組み合わせて動かしてみます。
スクリプトのダウンロード、インストール、基本的な使い方は上のリンクをたどって下さい。
目次†
2つの歯車を生成する†
1つ目:
- Thickness = 20 mm
- Helix Angle = 45 deg
- Backlash = -0.01 mm
2つ目:
- Num. Teeth = 6
- Thickness = 20 mm
- Helix Angle = -45 deg
- Backlash = -0.01 mm
とした。他はデフォルトのまま。
このとき基準円の直径は、
- 1つ目 67.882 mm = 4 mm * 12 / cos(45 deg)
- 2つ目 33.941 mm = 4 mm * 6 / cos(45 deg)
となるので、2つ目を
- 4 * 18 / cos(45 deg) / 2 = 50.9115 mm だけX方向に移動
- 中心軸に対して 30 deg 回転
して噛み合い位置に置く。
移動量は式でも書けるので、50.9115 mm をコピペするのでなく 4 * 18 / cos(45 deg) / 2 をそのまま書いてもOKだ。
はすば歯車のメリット†
はすば歯車は歯車の厚さ方向に、異なる回転方向を持つ平歯車が重なっているとみなせるため、厚さ方向に見て一部の噛み合いが取れていない時点でも他の部分で噛み合いが取れることが多く、また、歯が当たったり、離れたりするタイミングも厚さ方向で分散するため、安定した噛み合いと低騒音を実現できるそうだ。
上ではバックラッシュにマイナスを設定したため、かみ合わせた状態で歯車間の干渉を見ると歯当たり位置を確認できる。
LANG: p5js_live // =============== ここが設定 const gif_url = 'https://dora.bk.tsukuba.ac.jp/~takeuchi/?plugin=attach&refer=%E5%B7%A5%E4%BD%9C%2FFusion360%E6%AD%AF%E8%BB%8A%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%2F%E3%81%AF%E3%81%99%E3%81%B0%E6%AD%AF%E8%BB%8A&openfile=helical3.gif'; const multi = 10; // スライダーは multi 回ループで最大値になる const fps = 5; // 描画頻度 (frame per second) const maxWidth = 600; // 横幅最大値 // ================ ここから下は汎用コード let gif = null; let frameSlider = null; let w, h; p.preload = () => gif = p.loadImage(gif_url); const draw = () => { let index = frameSlider.value(); gif.setFrame(index % gif.numFrames()); // フレームを選択して p.image(gif, 0, 0, w, h); // 描画 } p.setup = () => { p.frameRate(fps); w = Math.min(maxWidth, gif.width); h = gif.height * w / gif.width; p.createCanvas(w, h + 20); frameSlider = p.createSlider(0, gif.numFrames() * multi - 1); frameSlider.value(0); frameSlider.position(0, h); frameSlider.size(w); frameSlider.input(draw); draw(); } p.draw = () => { if(p.mouseIsPressed) return; frameSlider.value((frameSlider.value() + 1) % (gif.numFrames() * multi)); draw(); }
ここでは右側の歯車が小さくて噛み合い率が低いのであるが、それでも歯車の回転に伴い歯当たり位置が歯の厚さ方向に移動しながら、どこかしらが噛み合う状況が続いていることを確認できる。また、歯当たりは一気に増えたり減ったりせず徐々に面積が増えたり減ったりしていて、低騒音になりそうな感じも見て取れる。 (この動画は「干渉」検査の結果を1枚1枚繋ぎ合わせて作ったもので、残念ながら自動的に動画にする機能はないのだと思います???)
同じことを すぐば歯車で試すと、
LANG: p5js_live // =============== ここが設定 const gif_url = 'https://dora.bk.tsukuba.ac.jp/~takeuchi/?plugin=attach&refer=%E5%B7%A5%E4%BD%9C%2FFusion360%E6%AD%AF%E8%BB%8A%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%2F%E3%81%AF%E3%81%99%E3%81%B0%E6%AD%AF%E8%BB%8A&openfile=spur-gear3.gif'; const multi = 10; // スライダーは multi 回ループで最大値になる const fps = 5; // 描画頻度 (frame per second) const maxWidth = 600; // 横幅最大値 // ================ ここから下は汎用コード let gif = null; let frameSlider = null; let w, h; p.preload = () => gif = p.loadImage(gif_url); const draw = () => { let index = frameSlider.value(); gif.setFrame(index % gif.numFrames()); // フレームを選択して p.image(gif, 0, 0, w, h); // 描画 } p.setup = () => { p.frameRate(fps); w = Math.min(maxWidth, gif.width); h = gif.height * w / gif.width; p.createCanvas(w, h + 20); frameSlider = p.createSlider(0, gif.numFrames() * multi - 1); frameSlider.value(0); frameSlider.position(0, h); frameSlider.size(w); frameSlider.input(draw); draw(); } p.draw = () => { if(p.mouseIsPressed) return; frameSlider.value((frameSlider.value() + 1) % (gif.numFrames() * multi)); draw(); }
このように途中で歯当たりの得られない時刻が生じてしまい、また、歯の接触も瞬間的に増えたり減ったりしてしまう。
はすば歯車のデメリット → やまば歯車†
はすば歯車はメリットが多いのですが、回転軸平行方向の荷重(アキシャル荷重・スラスト荷重)を生んでしまうというデメリットがあります。
そこで反対方向にねじれたはすば歯車を2枚重ねることでスラスト荷重をなくしたのがやまば歯車です。 分厚くなるのがデメリットと言えばデメリット???
これははすば歯車を鏡面対称に複製してやれば良いだけなので、 「作成」「ミラー」でオブジェクトとして歯車ボディを選び、対称面として歯車の上面を選び、操作を「結合」にすれば簡単に作れます。
そのままミラーしてしまうと折れ曲がり部分に角ができるのが気になったので 歯車上面を負のテーパー角付きで押し出すことでフィレット的なものを付け、 それから対称複製してみたのがこちらです。
これなら3Dプリンタで一体成型できそうですが・・・
そもそも必要なのか、それともむしろ悪影響なのか、どうなんでしょうね。
はすば歯車の中心間距離を切りのいい数値にしたい†
はすば歯車では基準円の直径がモジュールの整数倍にならないため、 整数モジュールを指定した場合に歯車中心間の距離が微妙な値になってしまいます。
転位を使って切りのいい数字に合わせる†
これを切りのいい値に持ってくるには通常、転位が用いられます。
転位は歯切りの際のラック切削具の位置を本来より寄せたり、下げたりすることを意味していて、 そのように加工することでモジュールや歯数を変えずに噛み合い距離を変更できます。 とはいえこの「切削具の位置を変える量=転位量」と、噛み合い距離の変化量は等しくないので、 目的の長さだけ中心間距離を変化させるために必要な転位量を求めるには結構面倒な計算が必要になります。
工作/歯車について勉強する3#m951ac17 に置いた計算機を使い、
- モジュール 4
- 歯の数 6 & 12
- ねじれ角 45 deg
を入力すると中心間距離 50.9117 mm が得られます。
これを 50 mm ぴったりにしたいと考えたとします。、
そのためには、すぐその下にある 工作/歯車について勉強する3#u6ca7892 を使って、
とすることで、2つの歯車のシフト係数を合わせて -0.219884 にすればよいことが分かります。
実際に6枚歯の方を転位ゼロのまま、12枚歯の方を -0.219884 だけ転位させて試したところ、
計算通り 50 mm の軸間距離でぴったり噛み合いました。
変則的なモジュール値を使って切りのいい数字に合わせる†
3Dプリンターを使って歯車を1個ずつ出力する場合には必ずしも規格通りのモジュールを使う必要はありませんので、変則的なモジュール値を使って中心距離を合わせるのも手軽だと思います。
その目的で 工作/歯車について勉強する3#m951ac17 の計算機の下の方に、 目的とする中心間距離から調整後のモジュール値を算出する機能を付けました。
モジュールを 3.92837 とすればよいようです。
こちらも試してみたところ、
計算通りぴったり噛み合いました。
ねじ歯車†
同じ方向にねじれた2つのはすば歯車を、はすば角の合計分だけねじれた角度を持つ軸に対して配置することでねじ歯車として使えます。
手順†
ここでは45度のはすば歯車、同じものを2つ用意して90度に組み合わせてみます。
まず、はすば角45度のはすば歯車を生成します。 基準円直径は 67.882 mm になりました。
1つ目のコンポーネントは自動的に親に固定されてしまうので、これを解除しておきます。
歯車を複製して噛み合い位置に移動します。 具体的には基準円直径だけ移動、90度回転、半ピッチだけ回転、の組み合わせになりました。
ルートコンポーネントと2つの歯車とを含めた剛性グループを作成することで、歯車の位置を固定します。 このとき、子コンポーネントを含めないようにすることで、回転軸だけが固定されて回転は可能な状態になります。
2つの回転軸を選択してモーションリンクを作成します。
これで正しく回転するようになりました。