Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

1 つの油圧シリンダーのシミュレーション

この例では、Simulink® を使用して油圧シリンダーをモデル化する方法を示します。これらのコンセプトは、油圧動作をモデル化する必要のあるさまざまな用途に適用可能です。同じ基本コンポーネントを使用する 2 つの関連する例、4 つのシリンダーのモデルおよび荷重制約をもつ 2 つのシリンダーのモデルを参照してください。

  • メモ: これは基本的な水力学の例です。Simscape™ Driveline™ と Simscape Fluids™ を使用して、水力学モデルや自動車のモデルをより簡単に作成できます。

  • Simscape Fluids は流体システムのモデル化とシミュレーションのためのコンポーネント ライブラリを提供します。これには、ポンプ、バルブ、アクチュエータ、パイプライン、熱交換器のモデルが含まれます。これらのコンポーネントを使用して、フロント ローダー、パワー ステアリング、着陸装置の作動システムといった流体電力システムを開発することができます。Simscape Fluids を使用すると、エンジン冷却システムおよび燃料供給システムも開発できます。Simscape 製品ファミリで利用可能なコンポーネントを使用して、機械システム、電気システム、熱システム、およびその他のシステムを統合することができます。

  • Simscape Driveline は 1 次元機械システムのモデル化とシミュレーションのためのコンポーネント ライブラリを提供します。これには、ウォーム ギア、遊星歯車、親ねじ、およびクラッチといった回転コンポーネントや並進コンポーネントのモデルが含まれます。これらのコンポーネントを使用すると、ヘリコプターのドライブトレイン、産業機械、車両のパワートレイン、およびその他のアプリケーションにおける機械入力の送信をモデル化できます。エンジン、タイヤ、トランスミッション、トルク コンバーターなどの車載コンポーネントも含まれます。

モデルの解析と物理現象

図 1 は、基本モデルの概略ブロック線図を示しています。このモデルでは、ポンプ流量 Q が供給圧 p1 に向けられ、ここから層流 q1ex が漏れて排出されます。ピストン/シリンダー アセンブリの制御バルブは、可変面積の開口部を通過する乱流としてモデル化されます。その流量 q12 によって中間圧力 p2 に達しますが、圧力はその後、アクチュエータ シリンダーにつながるラインで低下します。シリンダー圧力 p3 により、ピストンはバネ荷重に逆らって動き、位置が x になります。

図 1: 基本の油圧システムの概略ブロック線図

ポンプ出力で、流れは漏れと制御バルブへの流れに分かれます。漏れ q1ex を層流としてモデル化します (方程式ブロック 1 を参照)。

方程式ブロック 1

$$Q=q_{12}+q_{1ex}$$

$$q_{1ex}=C_2 \cdot p_1 $$

$$p_1=\frac{(Q-q_{12})}{C_2}$$

$$ Q = \mbox{ pump flow}$$

$$ q_{12} = \mbox{ control valve flow}$$

$$ q_{1ex} = \mbox{ leakage}$$

$$ C_2 = \mbox{ flow coefficient}$$

$$ p_1 = \mbox{ pump pressure}$$

制御バルブを通る乱流を、オリフィスの方程式と共にモデル化しました。符号関数と絶対値関数は、どちらの方向の流れにも対応します (方程式ブロック 2 を参照)。

方程式ブロック 2

$$q_{12}=C_d \cdot A \cdot sgn(p_1-p_2) \cdot \sqrt{\frac{2}{\rho}|p_1-p_2|}$$

$$ C_d = \mbox{ orifice discharge coefficient} $$

$$ A = \mbox{ orifice area} $$

$$ p_2 = \mbox{ pressure downstream of control valve} $$

$$ \rho = \mbox{ fluid density} $$

シリンダー内の流体は、この流れ q12 = q23 からピストン運動のコンプライアンスを引いたものによって加圧されます。この場合の流体圧縮率についてもモデル化しました (方程式ブロック 3 を参照)

方程式ブロック 3

$$\frac{dp_3}{dt}=\frac{\beta}{V_3} \left(q_{12}-A_c \frac{dx}{dt}\right)$$

$$V_3=V_{30} + A_c \cdot x$$

$$ p_3 = \mbox{ piston pressure} $$

$$ \beta = \mbox{ fluid bulk modulus} $$

$$ V_3 = \mbox{ fluid volume at } p_3 $$

$$ V_{30}= \mbox{ fluid volume in the piston for } x = 0 $$

$$ A_c = \mbox{ cylinder cross-sectional area} $$

油圧力が大きいため、ピストンとバネの質量は無視しました。この関係を微分し、p2p3 の圧力低下を組み込むことにより、方程式系を完成させました。方程式ブロック 3 では、制御バルブからアクチュエータへのラインにおける層流をモデル化しています。方程式ブロック 4 では、ピストンでの力平衡が与えられています。

方程式ブロック 4

$$x=p_3\frac{A_c}{K}$$

$$\frac{dx}{dt}=\frac{dp_3}{dt} \frac{A_c}{K}$$

$$q_{23}=q_{12}=C_1 \left( p_2-p_3 \right)$$

$$ p_2=p_3 + \frac{q_{12}}{C_1} $$

$$ K = \mbox{ spring constant} $$

$$ C_1 = \mbox{ laminar flow coefficient} $$

モデル化

図 2 は、モデルの最上位のブロック線図を示しています。ポンプ流量と制御バルブのオリフィス面積はシミュレーション入力です。このモデルは、Pump と Valve/Cylinder/Piston/Spring Assembly の 2 つのサブシステムとして体系化されています。

モデルを開いてシミュレーションを実行

このモデルを開くには、MATLAB® 端末に「sldemo_hydcyl」と入力します (MATLAB ヘルプを使用している場合は、ハイパーリンクをクリックします)。モデル ツール バーの [再生] ボタンをクリックしてシミュレーションを実行します。

このモデルは、MATLAB ワークスペースの Simulink.SimulationOutput オブジェクト out に関連データのログを作成します。信号のログデータは sldemo_hydcyl_output という構造体の out オブジェクト内に格納されます。ログが作成された信号には青いインジケーターが付きます (モデルを参照)。詳細については、信号ログ データの可視化およびアクセスを参照してください。

図 2: 1 つのシリンダーのモデルとシミュレーション結果

Pump サブシステム

Pump マスク サブシステムを右クリックし、[マスク][マスク内を表示] を選択します。供給圧が、ポンプ流量と負荷 (出力) 流量の関数として計算されます (図 3)。Qpump はポンプ流量データです (モデル ワークスペースに保存されています)。時間点とそれに対応する流量の列ベクトルをもつ行列 [T, Q] では、流量データが指定されます。このモデルでは、圧力 p1 が方程式ブロック 1 に示したとおり計算されます。Qout = q12p1 (制御バルブを介して) の 1 次関数であるため、代数ループが形成されます。初期値を p10 と推定すると、より効率的な解が得られます。

図 3: Pump サブシステム

ユーザーがパラメーターに簡単にアクセスできるように、Simulink で Pump サブシステムにマスクを付けました (図 4 を参照)。指定するパラメーターは、TQp10、および C2 です。次に、マスク ブロックに図 2 のアイコンを割り当て、Simulink ライブラリに保存しました。

図 4: ポンプのパラメーターの入力

Valve/Cylinder/Piston/Spring Assembly サブシステム

'Valve/Cylinder/Piston/Spring Assembly' サブシステムを右クリックし、[マスク][マスク内を表示] を選択して、Actuator サブシステムを表示します (図 5 を参照)。連立微分代数方程式により、圧力 p3 でのシリンダーの加圧がモデル化されます。これは、方程式ブロック 3 に導関数として出てきたもので、ステート (積分器) として使用されます。ピストンの質量を無視する場合、バネの力とピストンの位置は p3 の直接の倍数であり、速度は p3 の時間微分の直接の倍数です。後者の関係により、[Beta] Gain ブロックの周りに代数ループが形成されます。中間圧力 p2 は、p3 と、シリンダーへとつながるバルブからの流量による圧力低下分の合計です (方程式ブロック 4)。また、この関係により、制御バルブと 1/C1 ゲインを通じて代数的な制約が課せられます。

Control Valve サブシステムでは、オリフィスが計算されます (方程式ブロック 2)。上流圧力、下流圧力、および可変のオリフィス面積が入力として使用されます。Control Valve Flow サブシステムにより、符号付き平方根が計算されます。

$$y=sgn(u)\sqrt{|u|}$$

3 つの非線形関数が使用されますが、そのうち 2 つは不連続です。しかし、組み合わせにより、yu の連続関数となります。

図 5: Valve/Cylinder/Piston/Spring サブシステム

結果

シミュレーション パラメーター

以下のデータを使用してこのモデルをシミュレートしました。この情報は MAT ファイル sldemo_hydcyl_data.mat から読み込まれています。このファイルは、他の 2 種類の油圧シリンダー モデルにも使用されます。ユーザーは、図 4 および 6 に示した Pump Mask と Cylinder Mask を介してデータを入力できます。

$$ C_d = 0.61 $$

$$ \rho = 800 kg/m^3 $$

$$ C_1 = 2e-8 m^3/sec/Pa $$

$$ C_2 = 3e-9 m^3/sec/Pa $$

$$ \beta = 7e8 Pa $$

$$ A_c = 1e-3 m^2 $$

$$ K = 5e4 N/m $$

$$ V_{30} = 2.5e-5 m^3 $$

T = [0 0.04 0.04 0.05 0.05 0.1 ] sec

Q = [0.005 0.005 0 0 0.005 0.005] m^3/sec

図 6: バルブ/シリンダー/ピストン/バネ アセンブリのパラメーターの入力

シミュレーション結果のプロット

ポンプ流量は最初に 0.005 m^3/sec=300 l/min になり、t=0.04 sec で突然ゼロになった後、t=0.05 sec で最初の流量に戻ります。

制御バルブは、ゼロのオリフィス面積から始まり、0.1 sec のシミュレーション時間中に 1e-4 sq.m. へと一定の割合で増加します。バルブが閉じられると、ポンプ流量はすべて漏れるため、初期ポンプ圧は p10 = Q/C2 = 1667 kPa に上昇します。

バルブが開くと、圧力 p2 および p3 は上昇しますが、p1 は低下します。これは、図 7 に示した負荷増加への反応です。ポンプ流量が途切れると、バネとピストンがアキュムレーターのような働きをし、p3 は低下し続けます。次に、流れが逆向きになるため、p2 は、p3 に比較的近かったものの、突然低下します。ポンプ本体では、逆流量がすべて漏れ、p1 が急激に低下します。流れが元に戻ると、これとは逆のことが起こります。

ピストン位置は p3 に正比例し、ここで油圧力とバネの力は釣り合っています。0.04 秒と 0.05 秒での速度の不連続性は、質量が無視できることを示しています。すべてのポンプ流量が再び漏れるようになると、制御バルブ全体で圧力低下がゼロになるため (つまり p3 = p2 = p1 = p10)、モデルは安定状態に達します。

図 7: シミュレーション結果: システム圧力

図 8: シミュレーション結果: 油圧シリンダーのピストン位置

モデルを閉じる

モデルを閉じ、生成されたデータを消去します。

関連する例

詳細