Fusion360歯車スクリプト/ラック の履歴(No.7)
更新概容†
フリーソフトとして公開している自作の Fusion360歯車スクリプト を使ってラックを作り、ピニオンと組み合わせて動かしてみます。
スクリプトのダウンロード、インストール、基本的な使い方は上のリンクをたどって下さい。
目次†
ラックの生成†
Rack/Worm タブを開いて OK を押すと、ラックが生成されます。
ピニオンと合わせる†
デフォルトの12枚歯の平歯車を作ってピニオンとして使います。
生成直後はかみ合っていませんが、ラックの基準面は yz 平面に一致するのでピニオンを基準半径だけ x 方向に動かすとかみ合い位置に持ってこられます。 (歯数が奇数の時は回す必要もあるかもしれません)
ラックには並進軸も生成されています。
モーションリンクでピニオンの歯1枚分の回転 (360 deg / 歯数) あたりピッチ分( モジュール x PI / cos(ねじれ角) )だけ動くように設定すると連動するようになります。
はすばラック†
Helix Angle に値を入れるとはすばラックが作れます。
ピニオンにも符号を反転せずに同じ値を入れるとかみ合います。
- ピニオンの x 方向移動量は (モジュール) * (歯数) / cos(ねじれ角)
- ピニオン回転は 360 deg / 歯数
- ラック並進量は (モジュール) * PI / cos(ねじれ角)
とします。
噛み合いの確認†
上の 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 方向にずれているようでした?
初期位置の計算を間違えているということがあるのかどうか・・・
バックラッシュ†
バックラッシュを 0.0 mm にしたもの
バックラッシュを 0.2 mm にしたもの、の2つを作って断面解析をしました。
ラックの移動方向に差分を測ると歯の片側あたり 0.1 mm であり、両側あわせて 0.2 mm が実現していました。
右はねじれ角30度のはすばラックでも同じことをしてみたものです。こちらも問題ないようです。
ピニオン軸までの距離†
ラックとピニオンの場合、ピニオンが転位されれば丁度転位した分だけ軸までの距離が変化します。
したがってラック&ピニオンの場合には転位したピニオンであっても軸までの距離を求めるのに難しい計算は必要になりません。
つる巻きたが歯車†
https://karakurist.jp/?p=2149 こちらで紹介されていた機構。
ほぼほぼ、で構わなければ、ラックの歯形をらせんに沿ってスイープすることで作成できます。
本当は平歯車側も歯溝をらせんに沿ってスイープする形で押し出すべきですが、薄い歯車を使うかぎりはバックラッシュを少し大きめに取っておくだけでそのまま使えそう。
この形でウォーム&ウォームホイールと同じくらいの非常に高いギア比が得られるけれど、サイズが大きくなってしまうのが難点?
サイズを小さくすると普通の平歯車では角が当たってしまうため、単なる平歯車を使おうとすると少々トリミングしてやる必要が生じるみたいだった。(下図はトリミングしたもの)
ん? 「らせん」は半径に対して直交しないので、その分だけ「はすば」にしてやればトリミングしなくても行けるのかもしれない???
らせんを実測してはすば角度 5.5deg を求めてやってみたところ、トリミング範囲はずいぶん小さくなったので、はすばで使うべきなのは間違ってないことは分かった。ただそれでも「あご」の部分に小さなトリミングが必要だった。
あーそうか、ラック側もはすばにしないとダメなのか。
「はすばにする」というのはそれほど単純な話じゃないわけだ。
というのも、はすば歯車のモジュールを歯垂直で計算してしまうと正面モジュールがずれてしまうのだ。 細かいことを言えば圧力角もずれてくる。(上では平歯車の歯形をねじって押し出してはすばっぽくして試したものだった)
ちゃんとやるなら、
- らせんを描いてみておおよそのはすば角度を決める
- そのはすば角度でラックとピニオンを作成
- 正面モジュールを元にしてちょうどそのはすば角度が現れる場所を基準にらせんを描きなおす
- はすばラックの歯形をらせんに沿って押し出す
が必要になる?
つる巻き側の半径を大きくしておけばあまり気にしなくてよいのだけれどね。