MATLABで学ぶ振動工学 1自由度モデル(不減衰)2

2 min read読了の目安(約1900字

前回の続き

前回の記事を読んでない方はこちらを見てから、本記事を読んでいただけると幸いです。

https://zenn.dev/mech_eng_uni/articles/5298e4f9cad89d

前回の記事で、「基礎(地面)に伝搬する振動」の式をプログラミングしただけでは、メリットなどがわからないことを述べました。
今回はメリットがわかるようにプログラムや図で示せればと思います。

理論

マスの振動

(-w^2 m + k) x = F

基礎(地面)に伝搬する振動

マスが振動して、基礎に伝搬する振動を考察する際に下式を使います。

x_{st} = \frac{F}{k}
\frac{x}{x_{st}} = \frac{1}{1-(\frac{w}{w_n})^2}

角固有振動数は下式となります。

w_{n} = \sqrt{\frac{k}{m}}

プログラム

基礎(地面)に伝搬する振動

今回はメリットがわかるように、共振角振動数wnで正規化して、グラフ化します。

clear all
close all
freq=[0.01:0.0001:10];
w=2*pi*freq;
m=100;
k=[100 1000 10000 100000];
x=zeros(length(k),length(freq));
rgb=jet(length(k));
figure
W=sqrt(k/m);
for iik=1:length(k)
    tempXst=1/k(iik);
x(iik,:)=1./(k(iik)-w.^2*m);
if iik==1
    plot(w/W(iik),abs(x(iik,:)/tempXst),'-','color',rgb(iik,:))
elseif iik==2
    plot(w/W(iik),abs(x(iik,:)/tempXst),'--','color',rgb(iik,:))
elseif iik==3
    plot(w(1:1000:end)/W(iik),abs(x(iik,1:1000:end)/tempXst),'*','color',rgb(iik,:))
elseif iik==4
    plot(w(30:1000:end)/W(iik),abs(x(iik,30:1000:end)/tempXst),'o','color',rgb(iik,:))
end    
hold on
end
% xlabel('Freq. [Hz]')
xlabel('ω/ω_n')
ylabel('x/x_s_t')
legend('k=100[N]','k=1000[N]','k=10000[N]','k=100000[N]')
xlim([0 5])
ylim([0 5])

結果

基礎(地面)に伝搬する振動

この結果から、マスやバネの関係によらず、必ず上記グラフになることがわかります。
また、ω/ωn=√2のときに、x/x_st=1になります。
機械設計をしたことがない方は知らないと思いますが、「基礎に伝搬する振動」の理論は日常のいたるところに使われています。
例えば、下図のようなモーターなどの機器は、床や構造に振動を伝搬させないために防振ゴムを使用します。

この防振ゴムのバネ定数は「基礎に伝搬する振動」の理論をもとに決められています。
モーターの質量が1kgで、防振ゴムのバネ定数が100N/mの場合モーターの共振角振動数がωn=10となります。
ここで、モーターの定格回転数がω=10だと、共振してしまって、非常に大きなモーター振動が床に伝わってしまいます。
じゃあどれくらいにすればいいのか?
ω/ωn≧√2となるようにωnを設定するのです。
そうすれば、基礎に伝搬する振動は1以下になります。
つまり、そのときの防振ゴムのバネ定数は
ω/√2≧ωn
10/√2≧ωn
10/√2≧√(k/m)
50≧k
となります。

今回はこのへんでGood luck