最終更新日:2023年04月16日

TOPページ

フライス加工用の
切削計算アプリ
「ミリングマニアック」の「丸棒片持ち梁の固有振動数と剛性」計算機能説明

目的:1次から3次の固有振動数と,静剛性,刃先変位が計算できます.
内容:一端固定,他端自由の条件で,片持ち梁として丸棒を固定して考えると,ちょうど主軸から回転工具が突き出ているような状態になります.
このとき,先端に集中荷重(切削抵抗)をかけたときの先端変位は,どの材料力学の本にも記載されているように,以下の関係式で計算できます.

\(\displaystyle d = \cfrac{FL^3}{3 E I} \)

\(\displaystyle I = \cfrac{\pi D^4}{64} \)

\( d \):片持ち梁先端での変位
\( f \):片持ち梁先端での荷重
\( L \):片持ち梁の長さ
\( E \):ヤング率(縦弾性率)
\( I \):断面二次モーメント
\( D \):丸棒断面の直径

上2式を組み合わせると,

\(\displaystyle d = \cfrac{64 L^3}{3 \pi ED^4} F \)

となり,片持ち梁の先端変位が得られます.
次に,同式の左辺に切削抵抗が来るようにすると,

\(\displaystyle F = \cfrac{3 \pi E D^4}{64 L^3}d \)

と書き直すことができ,先端変位\( d \)の直前の項が静剛性を示します.

次に,片持ち梁の根元に生じる最大引張応力を計算します.
この数値は根元部分で折れるかどうかの参考にすることができます.

\(\displaystyle \sigma_{max} = \cfrac{F L}{Z} \)

\(\displaystyle Z = \cfrac{I}{\cfrac{D}{2}} = \cfrac{2I}{D} = \cfrac{\pi D^3}{32} \)

\( \sigma_{max} \):片持ち梁の根元部での最大引張り応力
\( Z \):断面係数

上2式を組み合わせると,

\(\displaystyle \sigma_{max} = \cfrac{32 F L}{\pi D^3} \)

と書き直すことができる.

最後に,一端固定,他端自由の同じ条件での片持ち梁の固有振動数を計算します.
これは振動工学の本に記載されていて,以下の関係式で計算できます.

\(\displaystyle f_n = \cfrac{1}{2 \pi} \cfrac{\lambda^2}{L^2} \sqrt{ \cfrac{E I}{\rho A}} \)

\(\displaystyle A = \cfrac{\pi D^2}{4} \)

\( f_n \):片持ち梁の固有振動数
\( \rho \):密度
\( A \):丸棒の断面積

上式2つと円柱の断面二次モーメント\( I \)を組み合わせると,以下の式が得られます.

\(\displaystyle f_n = \cfrac{\lambda^2}{8 \pi} \cfrac{D}{L^2} \sqrt{ \cfrac{E}{\rho}} \)

上式において,
\( \lambda \)に1.8751を代入すると1次の固有振動数,
\( \lambda \)に4.6941を代入すると2次の固有振動数,
\( \lambda \)に7.8547を代入すると3次の固有振動数が得られます.


続いて,2段段付き丸棒で同様の問題を解きます.
先端集中荷重に対する変位と静剛性に関しては,材料力学の教科書に記載されている方法の延長で導出できます.

\(\displaystyle d = ( \cfrac{l_2^3}{3E_1 I_1} - \cfrac{L^3}{3E_1 I_1} - \cfrac{l_2^3}{3 E_2 I_2})F \)

\( d \):2段段付き片持ち梁先端の変位
\( F \):2段段付き片持ち梁先端の荷重
\( E_1 \):根元側の棒のヤング率
\( l_1 \):根元側の棒の長さ
\( I_1 \):根元側の棒の断面二次モーメント
\( E_2 \):先端側の棒のヤング率
\( l_2 \):先端側の棒の長さ
\( I_2 \):先端側の棒の断面二次モーメント
\( L = l_1 + l_2 \):2段段付き片持ち梁の全長

固有振動数は,参考文献「段付片持棒の共振周波数について」によると,以下の式で算出することができます.

\(\displaystyle (1+ C_1 \cdot c_1) (1+ C_2 \cdot c_2) \)
\(\displaystyle +(\cfrac{K_2}{K_1})^2 (\cfrac{l_1}{l_2})^4 (\cfrac{\alpha_2}{\alpha_1})^4 (1- C_2 \cdot c_2)(1- C_1 \cdot c_1) \)
\(\displaystyle -(\cfrac{K_2}{K_1}) (\cfrac{l_1}{l_2}) (\cfrac{\alpha_2}{\alpha_1})(S_1 \cdot c_1 - C_1 \cdot s_1)(C_2 \cdot s_2- S_2 \cdot c_2) \)
\(\displaystyle -(\cfrac{K_2}{K_1}) (\cfrac{l_1}{l_2})^3 (\cfrac{\alpha_2}{\alpha_1})^3(S_2 \cdot c_2 - C_2 \cdot s_2)(C_1 \cdot s_1- S_1 \cdot c_1) \)
\(\displaystyle -2(\cfrac{K_2}{K_1}) (\cfrac{l_1}{l_2}) (\cfrac{\alpha_2}{\alpha_1})(S_1 \cdot c_1)(S_2 \cdot s_2)=0 \)

\(\displaystyle \alpha^4 = \cfrac{\rho a \omega^2 l^4}{K} \)
\( S=\sinh \alpha \)
\( C=\cosh \alpha \)
\( s=\sin \alpha \)
\( c=\cos \alpha \)
\( \omega \):周波数
\( \rho \):密度
\( a \):断面積
\( K=EI \):曲げの剛さ
\( E \):ヤング率
\( I \):断面二次モーメント
\( l \):梁の長さ
*サフィックスの1は2段段付き片持ち梁の根元側,2は先端側を示す.

上記参考文献中において,上式は下式として整理されている.

\(\displaystyle ( 1 + \cosh \alpha_1 \cdot \cos \alpha_1)( 1 + \cosh k\alpha_1 \cdot \cos k\alpha_1) \)
\(\displaystyle + \beta \gamma( 1 - \cosh \alpha_1 \cdot \cos \alpha_1)( 1 - \cosh k\alpha_1 \cdot \cos k\alpha_1) \)
\(\displaystyle - \beta^\cfrac{1}{4} \gamma^\cfrac{3}{4}( \sinh \alpha_1 \cdot \cos \alpha_1 + \cosh \alpha_1 \cdot \sin \alpha_1)( \cosh k \alpha_1 \cdot \sin k \alpha_1 - \sinh k\alpha_1 \cdot \cos k\alpha_1) \)
\(\displaystyle - \beta^\cfrac{3}{4} \gamma^\cfrac{1}{4}( \sinh k \alpha_1 \cdot \cos k \alpha_1 + \cosh k \alpha_1 \cdot \sin k \alpha_1)( \cosh \alpha_1 \cdot \sin \alpha_1 - \sinh \alpha_1 \cdot \cos \alpha_1) \)
\(\displaystyle - 2 \beta^\cfrac{1}{2} \gamma^\cfrac{1}{2}( \sinh \alpha_1 \cdot \sin \alpha_1 \cdot \sinh k \alpha_1 \cdot \sin k \alpha_1) = 0 \)

\(\displaystyle \lambda = \cfrac{l_2}{l_1} \)
\(\displaystyle \beta = \cfrac{a_2}{a_1} \)
\(\displaystyle \gamma = \cfrac{K_2}{K_1} = \cfrac{E_2 I_2}{E_1 I_1} \)
\(\displaystyle \alpha_2 = k \alpha_1 \)
\(\displaystyle k = \beta^\cfrac{1}{4} \gamma^\cfrac{-1}{4} \lambda \)
\(\displaystyle \alpha_1 = l_1 (\cfrac{\rho_1 a_1 \omega^2}{K_1})^\cfrac{1}{4} \)

しかしながら,この整理された式には1点問題があり,式変形の際に,密度が考慮できていません.

\(\displaystyle \alpha_2 = k \alpha_1 \)
\(\displaystyle = \beta^\cfrac{1}{4} \gamma^\cfrac{-1}{4} \lambda l_1 (\cfrac{\rho_1 a_1 \omega^2}{K_1})^\cfrac{1}{4} \)
\(\displaystyle = ( \cfrac{a_2}{a_1})^\cfrac{1}{4} \cfrac{K_1}{K_2})^\cfrac{1}{4} \cfrac{l_2}{l_1}) l_1 (\cfrac{\rho_1 a_1 \omega^2}{K_1})^\cfrac{1}{4} \)
\(\displaystyle = l_2 (\cfrac{\rho_1 a_2 \omega^2}{K_2})^\cfrac{1}{4} \)
\(\displaystyle \neq \alpha_2 \)

そのため,上式に以下の補正項を追加する必要があります.

\(\displaystyle P = ( \cfrac{\rho_2}{\rho_1} )^\cfrac{1}{4} \)

\(\displaystyle \alpha_2 = k P \alpha_1 \)

修正後の式は以下のようになります.
この数式を満たす\( \alpha_1 \)を数値計算で算出し,そこから周波数\( \omega \)を計算すれば,固有振動数が得られます.

\(\displaystyle ( 1 + \cosh \alpha_1 \cdot \cos \alpha_1)( 1 + \cosh k P \alpha_1 \cdot \cos k P \alpha_1) \)
\(\displaystyle + \beta \gamma P^4( 1 - \cosh \alpha_1 \cdot \cos \alpha_1)( 1 - \cosh k P \alpha_1 \cdot \cos k P \alpha_1) \)
\(\displaystyle - \beta^\cfrac{1}{4} \gamma^\cfrac{3}{4} P( \sinh \alpha_1 \cdot \cos \alpha_1 + \cosh \alpha_1 \cdot \sin \alpha_1)( \cosh k P \alpha_1 \cdot \sin k P \alpha_1 - \sinh k P \alpha_1 \cdot \cos k P \alpha_1) \)
\(\displaystyle - \beta^\cfrac{3}{4} \gamma^\cfrac{1}{4} P^3( \sinh k P \alpha_1 \cdot \cos k P \alpha_1 + \cosh k P \alpha_1 \cdot \sin k P \alpha_1)( \cosh \alpha_1 \cdot \sin \alpha_1 - \sinh \alpha_1 \cdot \cos \alpha_1) \)
\(\displaystyle - 2 \beta^\cfrac{1}{2} \gamma^\cfrac{1}{2} P^2( \sinh \alpha_1 \cdot \sin \alpha_1 \cdot \sinh k P \alpha_1 \cdot \sin k P \alpha_1) = 0 \)

上式で得られた1次固有振動数を,FEMや先端集中質量片持ち梁の理論式での計算結果と比較しています.
以下のPDFに詳細を示しています.
Calculation result check for the calculation function of natural frequency

以下に,段付き片持ち梁の固有振動数を計算するpythonのコードを示します.
コピー&ペーストすれば使えるはずです.
面積や断面二次モーメントを計算する部分には円形断面の式が入っていますが,任意に書き換えが可能です.
このプログラムのコードもアプリと同じく自己責任で使用してください.
↓ここから
import numpy as np
import matplotlib.pyplot as plt

##固定端側の梁の情報入力
L1 = 150/1000##梁の長さ(m)
A1 = (40/1000)**2*np.pi/4##面積(m^2)
I1 = (40/1000)**4*np.pi/64##断面二次モーメント(m^4)
Rho1 = 7850##密度(kg/m^3)
E1 = 210*10**9##ヤング率(N/m^2)

##自由端側の梁の情報入力
L2 = 100/1000##梁の長さ(m)
A2 = (40/1000)**2*np.pi/4##面積(m^2)
I2 = (40/1000)**4*np.pi/64##断面二次モーメント(m^4)
Rho2 = 7850##密度(kg/m^3)
E2 = 210*10**9##ヤング率(N/m^2)

freqmin = 0##周波数探索範囲の最小値(Hz)
freqmax = 10000##周波数探索範囲の最大値(Hz)
freqresolution = 1##周波数探索範囲の分解能(Hz)

#####以下,計算部#################################
lamb = L2/L1
beta = A2/A1
gamma = (E2*I2)/(E1*I1)
P = (Rho2/Rho1)**(0.25)

K = beta**(0.25)*gamma**(-0.25)*lamb

omega = np.arange(freqmin,freqmax,freqresolution)*(2*np.pi)

alpha1 = L1*(Rho1*A1*omega**2/(E1*I1))**(0.25)

alpha2 = K*P*alpha1

term1 = ( 1 + np.cosh(alpha1)*np.cos(alpha1) )*( 1 + np.cosh(K*P*alpha1)*np.cos(K*P*alpha1))
term2 = beta*gamma*P**4*( 1 - np.cosh(alpha1)*np.cos(alpha1) )*( 1 - np.cosh(K*P*alpha1)*np.cos(K*P*alpha1))
term3 = -beta**(0.25)*gamma**(0.75)*P*( np.sinh(alpha1)*np.cos(alpha1) + np.cosh(alpha1)*np.sin(alpha1) )*( np.cosh(K*P*alpha1)*np.sin(K*P*alpha1) - np.sinh(K*P*alpha1)*np.cos(K*P*alpha1) )
term4 = -beta**(0.75)*gamma**(0.25)*P**3*( np.sinh(K*P*alpha1)*np.cos(K*P*alpha1) + np.cosh(K*P*alpha1)*np.sin(K*P*alpha1) )*( np.cosh(alpha1)*np.sin(alpha1) - np.sinh(alpha1)*np.cos(alpha1) )
term5 = -2*beta**(0.5)*gamma**(0.5)*P**2*( np.sinh(alpha1)*np.sin(alpha1) * np.sinh(K*P*alpha1)*np.sin(K*P*alpha1) )

terms = term1 + term2 + term3 + term4 + term5

##termsがゼロになるところを探して,解とする.
##ゼロをまたぐ2点を探して,またぐ直前の点を抜き出しているだけなので,周波数分解能分の誤差が生じることがありえます,
##より厳密な解を得たい場合は,挟み撃ち法などを採用してください.
zeropoints = np.where(terms[:-1]*terms[1:]<=0)[0]

#####以下,計算結果表示#################################
print("固有振動数(Hz):",omega[zeropoints]/(2*np.pi))

plt.figure()
plt.plot(omega/(2*np.pi),terms,"b-",label="Calculation results")
plt.plot(omega[zeropoints]/(2*np.pi),terms[zeropoints],"ro",label="Natural frequency")
plt.xlabel("Frequency (Hz)")
plt.ylabel("Sum of terms")
plt.legend()
plt.grid()
plt.tight_layout()

plt.show()
↑ここまで

参考資料:
・柴田俊忍,大谷隆一,駒井謙治郎,井上達雄:材料力学の基礎,培風館
・小松敬治:機械構造 振動学,森北出版株式会社
・中村尚,近野正:段付片持棒の共振周波数について,日本音響学会誌,第21巻,第2号(1965)pp.55-64