Fusion360歯車スクリプト/クラウンギア の変更点

更新


#author("2025-04-07T00:25:16+00:00;2025-04-06T14:25:58+00:00","default:administrator","administrator")
#author("2025-04-10T00:08:19+00:00","default:administrator","administrator")
[[工作/Fusion360歯車スクリプト]]
&katex();
* クラウンギア(フェースギア)をピニオンギアと組み合わせて動かしてみる [#j1625c08]

フリーソフトとして公開している自作の [[工作/Fusion360歯車スクリプト]] を使ってクラウンギアを作れるようになりました。はすばピニオンにも対応します。

&ref(工作/Fusion360歯車スクリプト/crown.gif,,50%);
&ref(crown19.gif,,38%);

クラウンギアはフェースギアとも呼ばれ、2つの軸が直角に交わる配置で噛み合うギアです。
相手のピニオン歯車には通常のインボリュート歯車が使えます。

クラウンギアは切削で作る場合には簡単な方法がないようですが、3Dプリンタを使って出力する分にはこのスクリプトが出力する形状をそのまま印刷すれば問題なく利用できると思います。

* クラウンギアの生成 [#j85e4943]

Crown タブを開いて OK を押すと、モジュール4で歯数40枚のクラウンギアが生成されます。

COLOR(red){※計算には数分単位の長い時間がかかります}

クラウンギアの歯形は相手のピニオン歯車の歯数等にも影響を受けるため、ここで生成されるクラウンギアは生成時に指定した歯数 12 のピニオン歯車と組み合わせて使う必要があります。

Outer Extent, Inner Extent はそれぞれ、クラウンギアの基準円の外側及び内側に向けた歯の幅をモジュールを単位として指定します。ここではどちらも 2 が指定されていますので、外と内とにそれぞれ 2 x 4 mm = 8 mm で、合計 16 mm の歯幅になります。

&ref(crown4.jpg,,50%);

* ピニオン歯車の生成とかみ合い位置への移動 [#jbdf1b2d]

Cylindrical タブを開き、デフォルトから歯幅 Width のみ 20 mm に変更して OK を押すと、
ピニオン歯車を生成できます。

&ref(crown5.jpg,,50%);

クラウンギアとピニオン歯車はどちらも z 軸を回転軸として生成されるため、そのままでは噛み合いません。

噛み合い位置に移動するには以下の手順を踏みます。

- まず、ピニオン歯車を90度回転させます
- ピニオン歯車を軸に沿ってクラウンギアの基準円半径分だけ移動します
- クラウンギアはちょうどピニオン歯車の半径分だけ下方に生成されているため、
- これでピニオン歯車とクラウンギアの基準円が接するようになります
- ピニオン歯車をピッチの半分 (360 deg / 12 / 2 = 15 deg) だけ回転させます

&ref(crown6.gif,,50%);

これでぴったり噛み合い位置に置けました。

クラウンギアの Inner Extent と Outer Extent が等しくない場合には、
丁度よい位置に来るようにピニオン歯車を回転軸に沿って移動してください。

* モーションリンクの設定 [#c3e8c2e6]

クラウンギアにもピニオンにも回転ジョイントが生成されていますので、
これらの間にモーションリンクを設定することで両者を組み合わせて回せます。

&ref(crown8.jpg,,66%);

ちょうどギア比に合わせて角度を指定する必要があるため、
両者とも 360 deg を歯数で割る形で入力すると間違いがないと思います。


どちらの歯車も、生成されるコンポーネントは2重になっており、
歯車本体は内側のコンポーネントに格納されています。

そしてジョイントは内側と外側のコンポーネント間に生成されていますので、
外側のコンポーネントとルートコンポーネントとの間に剛性グループを作成して
固定してやることで、内側のコンポーネントが回転軸周りの回転のみ許される
状況を実現できます。

&ref(crown9.jpg,,66%);

剛性グループを作成する際には「子コンポーネントを含める」のチェックボックスを解除しておきます。
そうしないとルートコンポーネントを選んだだけですべてのコンポーネントが固定されてしまいます。

このチェックボックスを解除した後、ルートコンポーネント、クラウンギアの外側コンポーネント、
ピニオンギアの外側コンポーネント、の3つのコンポーネントを選んで剛性グループを作成します。

ここまでで歯車は回転のみが可能な形で固定されていますので、
マウスでドラッグすることで歯車の連動する様子を確認できるはずです。

&ref(crown10.gif,,66%);

* クラウンギアの歯形 [#yedc1435]

&ref(crown7.gif);

クラウンギアの歯形は独特な形をしています。
歯形を上から見るとダイアモンド形をしていて、内側は短く、外側に長くなっています。

&ref(crown2.jpg,,40%);
&ref(crown3.jpg,,40%);

この形状はインボリュート曲線などで表せるようなものではなく、実際にドーナツ状の部材からピニオンギア形状との間で干渉する部分を削り取る演算を行うことで求められています。

実はダイアモンド形の最も張り出した部分よりも外側のみがピニオンギアの歯面との間で接触する部分であり、
ここよりも内側はピニオンギアとの干渉を避けるために削られた部分で、ピニオンとは接触することはありませんので、動力の伝達にはまったく寄与しません。

ですので、フェースギアを生成する際にはダイアモンド形の頂点を大きく越えるほどに Inner Extent を大きくしてもメリットはありません。

* 歯当たりを確認する [#o35a97a6]

モジュール 8 の歯数36のクラウンギアと、歯数12のピニオンとを両者ともバックラッシュ -0.03 mm として生成し組み合わせて動作させながら、両者の干渉する部分を可視化しました。

&ref(crown1.gif);

歯の接触領域はダイアモンド形の頂点から直線状に伸びており、歯車の回転とともにダイアモンド形の頂点を中心に接触領域が回転するような接し方をすることが分かります。

ダイアモンド形の頂点より内側にまったく接触が生じないことも分かります。

また小径のピニオンに対してはクラウンギアの歯先がピニオンギアの切り下げ領域と接触してしまうことも分かります。これは歯車の回転を阻害するものではありませんが、インボリュート領域以外の接触は本来期待されるものではありません。

クラウンギアの計算ではピニオンとして最大のフィレットを付けたものを用いていますので、
それよりも小さなフィレットを設定したピニオンと組み合わせることで、
この切り下げ領域での接触を避けることができます。

圧力角20度ではフィレットは 0.38 程度になりますので、接触を避けるにはこれよりも小さいフィレット半径、例えば 0.3 を指定すれば良いことになります。(はすばの場合には正面圧力角が20度ではなくなるため、断面解析等により実際の接触の様子を見ながら値を調整すると良いと思います)

* 計算精度と誤差 [#jac1d437]

クラウンギアのダイアモンド形の頂点付近から下方に向かって歯面に折れ曲がりが生じます。

&ref(crown13.jpg);

このスクリプトでは円周方向に多数の歯溝形状を計算してそれらをロフトで繋ぐことで歯形を得ているのですが、
この折れ曲がり部分を精度よく再現するには1回のロフトでは難しいようでした。

そこでこのスクリプトではこの線より上のインボリュート領域と、
この線より下の切り下げ領域とを別に計算して2回のロフトで明確なエッジが形成されるようにしています。

スプライン曲線を含むロフト演算ではそれぞれの断面形状を構成する制御点の点数や相対位置が動いてしまうとロフト演算が曲線上での制御点の移動を追ってしまいおかしな曲面が形成されてしまうので、断面形状の指定時にこの折れ曲がり点に制御点を持ってきたり、そこで曲線を2つに分割したりというのがうまくできなかったためです。

&ref(crown12.jpg);

いろいろ試してみると断面も断面上の点もかなりの数が必要で、しかも特にはすばの場合に対応するには断面形状の計算自体も重たいものとなって・・・結果的にクラウンギアの生成には非常に長い時間がかかるようになってしまっています。

断面形状の計算、同じ計算を javascript でやる限りは一瞬で終わるのですが、
python だとその数十倍時間がかかるみたいですね。

また、クラウンギアのダイアモンド形の頂点付近から下方に向かって伸びる折れ曲がりは途中で途切れることになり、
そこから下ではインボリュート領域と切り下げ領域とがこの付近でほとんど重なることになります。
すると、小さな演算誤差(恐らく、主にはスプライン曲線・曲面による近似誤差だと思います)により、2つの面が上になったり、下になったりするために、生成結果の歯面には複雑な「継ぎ目」が形成されてしまいます。

&ref(crown14.jpg);

見た目は悪いですが、この継ぎ目はほとんど角度ゼロで交わる2つの曲面の継ぎ目ですので、
この継ぎ目が波打ったりしていても、実際の歯車形状への影響は大きくないはずです。

→ その後、歯元部分の曲面を本来より少しだけ下げてやることで「歯先部分の曲面とほとんど一致してしまい、ブール演算を重くする領域」を減らす対応をしたことで、計算時間を減らし、継ぎ目の波打ちも小さくできました。

* はすばピニオンへの対応 [#hf0ca597]

Helix Angle をゼロ以外(ここでは 30 deg)にすることではすばピニオンと組み合わせて使えるクラウンギアを生成できます。

&ref(crown15.jpg,,50%);

組み合わせるピニオンギアにも同じ Helix Angle を設定します。

&ref(crown16.jpg,,50%);

クラウンギアの基準円ははすば角分だけ大きくなるため、
$x$ 軸方向への移動量は $36 \times 4\,\mathrm{mm} / \cos(30\,\mathrm{deg}) / 2$ を指定します。

&ref(crown17.jpg,,60%);

これで正しくかみ合います。

&ref(crown18.gif,,60%);

* はすばクラウンギアの歯形 [#r023dd98]

はすばピニオンでは上面に現れる四角形の両サイドの頂点位置が内側と外側とでずれるため、四角形はダイアモンド形ではなくなります。曲がった歯筋の外側では頂点位置が大きく内側へ移動します。

&ref(crown18.jpg,,60%);

この場合もやはり四角形の両サイドの頂点位置よりも内側は動力伝達に寄与しませんので、
湾曲する歯筋の内側の歯面で動力伝達する回転方向よりも、
外側の歯面で動力伝達する回転方向の方が良い接触が得られることになりそうです。

以下では負のバックラッシュ -0.02 mm を持たせたクラウンギアとピニオンギアとの干渉を見ることで
この事実を確認しました(モジュール4)。

&ref(crown21.gif,,60%);

湾曲する歯筋の外側の面は歯の接触している範囲が広く、
歯の接触も連続的に増減するのに対して、
内側の面は接触面積の増加も急峻で、
接触している範囲も小さいことが分かります。

[[工作/Fusion360歯車スクリプト/かさ歯車#p1792a79]] で行ったのと同様に、
ピニオンギアの歯溝形状をクラウンギアの上で転がして歯の接触形状を見たのが次の動画です。

&ref(crown22.gif,,40%);
&ref(crown23.gif,,40%);

ピニオンを 120 度の範囲で回転させ、接触領域の移動の様子を見ています。

湾曲する歯筋の外側の歯面ではほぼ120度全域に渡って接触が得られているのに対して、
内側の歯面では接触の得られている範囲は45度程度しかないことが分かりました。

はすばのクラウンギアでは動力を伝える回転の方向を、
湾曲する歯筋の外側の歯面が相手を押す向きに取ることが重要であると思われます。

Counter: 132 (from 2010/06/03), today: 5, yesterday: 3