ブロックを積みながら(165) Scilab/Xcos、摩擦有り、力学台車のバネ運動

Joseph Halfmoon

Xcos使って「物理学実験」を実施中です。今回はバネで往復運動をする台車の運動の観察?ですが、「摩擦あり」の場合です。「摩擦なし」の場合は別シリーズのMaxima様の第125回で微分方程式を解いてます。ただね、「摩擦あり」といってもいろいろありーの、なので、今回のはホンワカしたなんちゃってバージョン。

※「ブロックを積みながら」投稿順 index はこちら

※動作確認にはWindows 11のパソコン(64bit)上にインストールしたScilabの以下バージョンを使用しています。

  Scilab 2024.0.0

摩擦力、転がり摩擦、バネ定数

摩擦力には静止摩擦係数と動摩擦係数あり。『北海道大学』様の以下の文書を見ると分かり易く書かれてます。

§3 摩擦力がある場合の運動

今回の実験機材(現物ないけど)は力学台車なので、ホントは単純なすべり摩擦ではなく転がり摩擦を考えなければなりませぬ。『東京理科大』様の以下の文書を拝見すると転がり摩擦の闇?についてまとめられてます。

転がり摩擦

力学台車と謳ってしまったので転がり摩擦の考察に基づいてモデルを作るべきなのでしょうがメンドクなること必定。今回はネグってしまって

動摩擦力=μN (Nは垂直抗力)

のみということでモデルをでっち上げてます。ぜんぜん力学台車じゃないじゃん。

また、バネ定数については機械部品としてのバネの場合、定格は[N/mm]で示されることが多いみたいです。しかし「物理学実験」風味なのでバネ定数[N/m]としてます。

作製したXCOSモデル

水平方向にx軸をとり、バネの平衡位置を0としてます。そこからバネを伸ばす方向をx軸+、圧縮する方向をx軸-としてとってます。cartModel000

台車の初期位置をX0として与え、バネ定数k、動摩擦係数 μ’ をmu、台車の質量M、重力加速度 g としてパラメータ化してます。

Xcosのフローが以下に。cartModel000flow

なお、k、M、mu、gのパラメータはコンテキスト設定で与えてます。こんな感じ。ContextSetting

三角形のゲイン・ブロックの中でコンテキストで設定された変数を参照してます。

実験結果

まずは mu=0 とした場合(摩擦なし)の単振動(永久に)の場合。cartMOVE0

お次は、mu=0.1とした減衰振動(結構急速)の場合。cartMOVE1

それらしく動いてはいますな。ただ、減衰振動の場合、速度がある程度落ちてくると摩擦力が大きくなって「ピタッと」止まるような気がするのだけれどもその辺はモデルに盛り込まれてません。ダラダラとコマケー振動が続く。なんちゃってモデルだからな。

ブロックを積みながら(164) Scilab/Xcos、ちょっとお馬鹿なボートで川を渡る? へ進む