機械的なのこぎり波発生装置

前回はMATLABでsignal processing toolbox使わずに
のこぎり波を作る方法を示しました。

電子回路ではオペアンプ2個にシュミット回路、
立ち上がりと立下りの積分係数の違う積分回路を
使えばのこぎり波オシレータ作れることもわかりました。

プログラム、電子回路と来たら
次は機械的にのこぎり波を発生させる装置を
考えてみたいと思います。
MATLABメカニカル

この図が機械的にのこぎり波を発生させるカム装置です。
これを紙面鉛直下向きに見て、等速で左回転させればOKです。

機械的のこぎり波の関数
r(t)=t-floor(t)またはr=mod(t,1)
y=r(t)*sin(2*pi*t)+sin(2*pi*t)
x=r(t)*cos(2*pi*t)+cos(2*pi*t)

つまり
x^2+y^2=r(t)^2
のある種の楕円になります。

すると、カムの上についている鉛筆みたいなやつの上下運動の
時刻歴を見ればのこぎり波を描くことができるわけです。

ただ、これがなんの役に立つのかわかりませんが・・・
これでMATLABプログラム、電子回路、機械でのこぎり波も
作れるってことです。

と、いいつつすべてMATLABでプログラム書いてますが・・・

フーリエ級数
フーリエ級数は周期関数というのは正弦波、余弦波の重ね合わせて
示すことができる。

ってやつです。
これがわかっているのでFFTとか使って周波数解析もできるんです。

で、ここからが強引ですが、こうしたことから機械的に周期関数を
作るんであれば等速円運動するものを使えばうまくできそうなことがわかります。
ちなみに、のこぎり波のスペクトルはコチラです。
MATLABのFFT
機械系で振動を考えると、どうしてもコイルスプリングで考えがちに
なるかと思いますが、クランクとかカム機構では周期関数の発生装置になるというわけです。
という使い方を実際にするかどうかは知りませんが・・・

ただ、こうしたものが起振力になるのは間違いないんで制振を考える場合には
これらの形状と周波数成分を考慮するのは大切です。

だいぶフーリエ級数からずれてしまいましたね。

MATLABのプログラム
figure
t=[0:0.001:1.1];
r=t;
y=r.*sin(2*pi*t)+sin(2*pi*t);
x=r.*cos(2*pi*t)+cos(2*pi*t);
plot(x,y)
grid on
t=[0:0.01:1.1];
r=t-floor(t);
yy=0.1*sin(2*pi*t);
xx=0.1*cos(2*pi*t);
y=r.*sin(2*pi*t-1/4*pi)+sin(2*pi*t-1/4*pi);
x=r.*cos(2*pi*t-1/4*pi)+cos(2*pi*t-1/4*pi);
plot(y,x)
hold on
plot(xx,yy)
grid on
xlim([-2 2])
ylim([-2 2])

だいたいこんな感じです。

Leave a Reply