Fusion360歯車スクリプト/ラック の変更点

更新


#author("2025-04-07T13:55:25+00:00","default:administrator","administrator")
#author("2025-04-07T13:56:23+00:00","default:administrator","administrator")
[[工作/Fusion360歯車スクリプト]]

* 概容 [#v3f8d46c]
&katex();
フリーソフトとして公開している自作の [[Fusion360歯車スクリプト>工作/Fusion360歯車スクリプト]] を使ってラックを作り、ピニオンと組み合わせて動かしてみます。

スクリプトのダウンロード、インストール、基本的な使い方は上のリンクをたどって下さい。

** 目次 [#sa42b5d3]

#contents

* ラックの生成 [#seed9bbf]

Rack/Worm タブを開いて OK を押すと、ラックが生成されます。

&ref(rack1.png,,66%);
&ref(rack2.jpg,,50%);

* ピニオンと合わせる [#f6fe8f17]

デフォルトの12枚歯の平歯車を作ってピニオンとして使います。

生成直後はかみ合っていませんが、ラックの基準面は yz 平面に一致するのでピニオンを基準半径だけ x 方向に動かすとかみ合い位置に持ってこられます。
(歯数が奇数の時は回す必要もあるかもしれません)

&ref(rack3.jpg,,33%);
&ref(rack4.jpg,,33%);

ラックには並進軸も生成されています。

モーションリンクでピニオンの歯1枚分の回転 (360 deg / 歯数) あたりピッチ分( モジュール x PI / cos(ねじれ角) )だけ動くように設定すると連動するようになります。

&ref(rack5.jpg,,33%);
&ref(rack6.gif,,33%);

* はすばラック [#gc1a1b5b]

&ref(rack7.png,,66%);
&ref(rack8.gif,,50%);

Helix Angle に値を入れるとはすばラックが作れます。

ピニオンにも符号を反転せずに同じ値を入れるとかみ合います。

- ピニオンの x 方向移動量は (モジュール) * (歯数) / cos(ねじれ角)
- ピニオン回転は 360 deg / 歯数
- ラック並進量は (モジュール) * PI / cos(ねじれ角)

とします。

** 噛み合いの確認 [#b31ce9eb]

上の 30deg はすばラック+6歯ピニオンに対してバックラッシュを負にして干渉部分を確認しました。

噛み合い位置が滑らかに移動していく様子が分かります。

 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/%E3%83%A9%E3%83%83%E3%82%AF&openfile=rack11.gif';
 const multi = 3;     // スライダーは multi 回ループで最大値になる
 const fps = 3;       // 描画頻度 (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();
 }

このように細かく見ると初期噛み合い位置がわずかに y 方向にずれているようでした?~
初期位置の計算を間違えているということがあるのかどうか・・・

→ はすば歯車をひねりスイープで押し出すと誤差が生じるので、ロフトで生成するようにしたところ問題なくなったと思います。

* バックラッシュ [#ped2404c]

バックラッシュを 0.0 mm にしたもの~
バックラッシュを 0.2 mm にしたもの、の2つを作って断面解析をしました。

ラックの移動方向に差分を測ると歯の片側あたり 0.1 mm であり、両側あわせて 0.2 mm が実現していました。

右はねじれ角30度のはすばラックでも同じことをしてみたものです。こちらも問題ないようです。
(はすばの場合のバックラッシュは正面値と解釈されます)

&ref(rack9.png,,33%);
&ref(rack10.png,,33%);

* ピニオン軸までの距離 [#c661f164]

ラックとピニオンの場合、ピニオンが転位されれば丁度転位した分だけ軸までの距離が変化します。

したがってラック&ピニオンの場合には転位したピニオンであっても軸までの距離を求めるのに難しい計算は必要になりません。

* つる巻きたが歯車 [#da57b549]

ラック形状を利用してつる巻きたが歯車を作成できます。

&ref(工作/Fusion360歯車スクリプト/つるまきたが歯車/archimedean36.gif,,50%);

このページで考察していた内容はいろいろ不十分だったため、
内容を拡充して [[工作/Fusion360歯車スクリプト/つるまきたが歯車]] に移しました。

Counter: 371 (from 2010/06/03), today: 6, yesterday: 6