インボリュート歯車の歯元隅肉曲線計算式(1)

経緯

インボリュート曲線計算式はすでに紹介しました。そしてそれを使ったFusion360付属の「SpurGear」にそっくりな歯車モデルも作ってみました。ここまでは比較的簡単なので、一般向けの「歯車の作り方」のような動画やWeb、スクリプトは、このレベルのものがほとんどです。

そこで次のステップです。歯元隅肉曲線を計算で求めようというのが、今回の記事です。この手の話題は専門家向けでしかも高難度なので、実際のプログラムに落とし込むのは難しいところがあります。

今回の記事は、平易な説明で、Excel表計算だけで歯元隅肉計算を行います。次の図がその完成版です。

図1.Excelでのインボリュート+歯元隅肉曲線計算

2つの課題

さて、歯元隅肉曲線を計算するためには、いくつか課題があります。

  1. オフセット曲線としての歯元隅肉曲線の計算方法
  2. アンダーカット時の、インボリュート曲線と歯元隅肉曲線の交点計算方法

1番目は後述することにして、2番目は、アンダーカットの時にインボリュート曲線と歯元隅肉曲線の交点を一発で求める計算式が存在しないため、収束計算が必要で面倒です。それで今回は交点計算せずにクロスさせたままにしておきます。ちなみに、自作のWindowsアプリ「involuteGearDesign」はニュートンラフソン法を使って交点を求めています。「igears」の方は、交点計算せずにCADの機能でプロファイルを取り出しています。

オフセット計算の方法

正確なインボリュートと歯元隅肉曲線の歯車作図方法」で書いたように、歯元隅肉曲線はラック丸みの中心点軌跡のオフセット曲線でした。CADを使えば、その機能の中にオフセットがあるので特に難しくはありません。ところが計算でオフセットを求めようとすると途端に難しくなります。

WikiPediaの「オフセット曲線」では2つの定義が紹介されています。
❶曲線上に中心を持つ円群の包絡線:エンドミル加工と同じく、パスに沿って動く無数の工具径の輪郭線(包絡線)がオフセット曲線になります
❷曲線から一定の法線距離にある曲線:パスの各点で法線方向に等距離の曲線がオフセット曲線です

図2.オフセット曲線の定義

滑らかさという点では❶が有利なので、本格的な歯車ソフトは❶として求めます(当方自作のinvoluteGearDesign, igearsはこちら)。
この場合の解き方は

包絡線の求め方
曲線群 f(x,y,t)=0 の包絡線の方程式は f(x,y,t)=0\dfrac{\partial }{\partial  t}f(x,y,t)=0 から t を消去することで得られる。
しかし直感的に理屈が分かりにくいのと偏微分計算をするため、理解が付いていかない恐れがあります。

そこで本記事では❷に基づいた計算を行います。
❷では、曲線上の1点で接線ベクトルを求め、90°回転させて法線ベクトルとし、単位ベクトル化してから、オフセット距離dを乗じると、指定した1点から直角方向に距離dの点が得られます。
曲線の全長にわたって、十分に短いサンプリング区間でオフセットした点を取得してスプラインでつなげば、オフセット曲線が計算できるというのが、❷の解法で、下式で表されます。とくにベース曲線が急峻な変化をする場合、形状が崩れやすいので注意が必要です。

x_d(t)=x(t)+\dfrac{d\cdot y'(t)}{\sqrt{x'(t)^2+y'(t)^2}}\\y_d(t)=y(t)-\dfrac{d\cdot x'(t)}{\sqrt{x'(t)^2+y'(t)^2}}

この式は次のようにして導かれます。
媒介変数tで表された曲線\left(x(t),y(t)\right)について

1. {\bf{V}}=\left(x(t),y(t)\right)の接線ベクトルを求める

 {\bf{V}_{t}}=\left(x'(t),y'(t)\right)

2. \left(x'(t),y'(t)\right)の法線ベクトルを求める

⇒90°回転ベクトル {\bf{A}}= \begin{pmatrix} \cos(90)&-\sin(90)\\ \sin(90)&\cos(90) \end{pmatrix} = \begin{pmatrix} 0&-1\\ 1&0 \end{pmatrix} を接線ベクトルに乗じる⇒

 {\bf{V}_{n}}= {\bf{A}} {\bf{V}_t}=(y'(t),-x'(t))

3. 単位ベクトル化する

⇒ベクトル長|V_n|=\sqrt{x'(t)^2+y'(t)^2} で除算するので

{\bf{V}_{i}}=\dfrac{\bf{V}_{n}}{\bf{|V_n|}}=\left(\dfrac{y'(t)}{\sqrt{x'(t)^2+y'(t)^2}},-\dfrac{x'(t)}{\sqrt{x'(t)^2+y'(t)^2}}\right)

4. ベクトル長をd倍して、\left(x(t),y(t)\right)に加算するとオフセットした点\left(x_d(t),y_d(t)\right)が得られる

 {\bf{V}_{d}}={\bf{V}}+d{\bf{V}_{i}}=       \\       (x_d(t),y_d(t))= \left(x(t)+\dfrac{d\cdot y'(t)}{\sqrt{x'(t)^2+y'(t)^2}},y(t)-\dfrac{d\cdot x'(t)}{\sqrt{x'(t)^2+y'(t)^2}}\right)

これでオフセット曲線を求める式は分かったので、次はオフセットするベースの曲線の式を準備します。

ラック歯先の丸み中心軌跡

エンドミルのたとえでいうと、歯先の丸み輪郭がエンドミル外径で、丸み中心がエンドミル中心のことでした。エンドミルがトロコイド曲線をツールパスとしたとき、トロコイド曲線の±オフセットの加工跡が得られます。これを一定法線距離の曲線として求めます

ツールパスとなる丸み中心の軌跡\left(x(t),y(t)\right)は「正確なインボリュートと歯元隅肉曲線の歯車作図方法」では幾何学的に求めましたが、これを座標変換で求めます。手順はこうです。

図3.丸み中心の運動軌跡

ラック歯先の丸み中心の初期座標は、図1を参考に

y_1 = (-h_f+ro_f)m
x_1 = y_1\tan\alpha-ro_f m/\cos\alpha
h_f:歯元のたけ、ro_f:ラック歯先の丸み係数、\alpha:圧力角

とすれば、丸み中心の回転角θによる座標は次式で得られます。

丸み中心の回転角θによる座標計算式・・・A1
X = (r_p+y_1)\sin\theta-(r_p\theta-x_1)\cos\theta\\Y=(r_p+y_1)\cos\theta+(r_p \theta-x_1)\sin\theta
r_p:基準円半径

上式でx1=0,y1=0とすると、次式になります。

ラックのインボリュート運動の式・・・A2
X = r_p\sin\theta-r_p\theta\cos\theta\\Y=r_p\cos\theta+r_p \theta\sin\theta
r_p:基準円半径

一方で「インボリュート曲線計算式」は下式の通りで、A2式の基準円半径rpが基礎円半径rbになっています。

インボリュート曲線計算式・・・A3
x=r_b(\sin\theta - \theta\cos\theta)\\y=r_b(\cos\theta + \theta\sin\theta)
r_b:基礎円半径

式の形でいうと、A2式とA3式はどちらもインボリュート曲線です。違いはA3は基礎円をベースにするインボリュート、A2は基準円をベースとするインボリュートということです。何に使うかというと、ラックのデータム線は点Pより内側には入れずY軸対称で折り返します。よってラックは基準円ベースのインボリュート運動をします。

それで問題はA1式ですが、これはピッチ点pからx1,y1の距離にある丸み中心の座標の軌跡です。図1で分かるように、ラックがp点で下降から上昇に転じる際に、急激に向きを変えるのですが、そのためにオフセットした丸み中心は大きく揺動します。この動きは、トロコイド運動でループを生じた場合と同じで、「創成図から歯車の成り立ちを知る」に書かれている内容です。

オフセット曲線を求める

1次導関数の算出

オフセット曲線のベースとなる曲線の式が分かったので、前述の式に当てはめていきます。そのために媒介変数表示の導関数が必要なので、ここは「数式処理」プログラムに働いてもらいます。数式処理はいろいろありますが、ここでは環境構築不要な「geogbra」を使いました。ネット環境あればブラウザで処理できるのが魅力です。

次のベース曲線に対して

x = (r_p+y_1)\sin\theta-(r_p\theta-x_1)\cos\theta\\y=(r_p+y_1)\cos\theta+(r_p \theta-x_1)\sin\theta
geogbraにより次の導関数を得ました。
dx=y_1 \cos\theta-x_1\sin\theta+r_p\theta\sin\theta
dy=-y_1\sin\theta-x_1\cos\theta+r_p\theta\cos\theta

距離dのオフセット曲線の式は以下です。オフセット曲線がベース曲線の反対側に表示される場合は、dの符号を変えてください。

tx=x-\dfrac{d\cdot dy}{\sqrt{dx^2+dy^2}}
ty=y+\dfrac{d\cdot dx}{\sqrt{dx^2+dy^2}}

これらの式を表計算に入力したのが下図です。縦方向に回転角度が50ステップあり、各ステップごとに右側へ計算を進めます。いったんオフセット曲線のx、y座標を計算するのですが、回転移動させてから最終出力としています。それは図1のラック位置と、インボリュート計算部のラック位置が異なっているので、そのずれを補正するためです。

図5.表計算

なお、「歯元隅肉曲線計算」左端の回転角のうち最上段のR34セルは、歯数によって開始角度を変えています。

計算結果

Excel内グラフ表示

前回のインボリュート計算部を上段26行目までに、今回の隅肉曲線計算部を下段29~84行目に配置して、双方の結果を1枚のグラフに書かせています。

歯数6,20,50の計算結果を以下に示します。アンダーカットの生じている歯数6は、インボリュート曲線と歯元隅肉曲線がクロスしていますが、アンダーカットではない歯数20,50は滑らかに接続しており、矛盾のない結果です。歯数50は基礎円が最も内径となっています。

図4.計算結果

Fusion360歯車アドインと比較

歯数6の歯形データを歯車アドイン「igears2.1」の歯形出力と比較したのが下図です。ほとんど一致しています。正しく計算が行われたと判断します。

図5.アドインと比較

まとめ

インボリュート曲線、歯元隅肉曲線の計算がExcelで可能になりました。どのCADでも本計算結果をCSVで読み込んで、それぞれの曲線をスプライン化すれば、正確なインボリュート歯車がモデル化可能です。
歯元隅肉曲線計算時の計算角度きざみは、現在50分割に取っています。サンプリング間隔に対してループ部の曲げRが小さいとオフセット曲線がひずむ可能性があるので気を付けてください。
完成した計算シートは希望者に差し上げます。問い合わせフォームで申し込みください。