油圧装置でバルブを切り替えてから設定圧力へ達するまでには、わずかでも時間がかかります。ポンプの流量は、負荷を動かすだけでなく、閉じ込められた作動油を圧縮し、ホースや配管、機器を弾性変形させるためにも使われるからです。
この昇圧過程を最小モデルで表すと、必要になるのは次の3項目です。
- 加圧される有効容積
- 回路全体の有効体積弾性率
- 加圧容積へ実際に入る正味流量
この記事では、一定流量を仮定した昇圧時間の式を導き、漏れ、シリンダ移動、ポンプ特性を含める場合の考え方とPython実装まで整理します。
昇圧には油の圧縮量が必要
体積弾性率を $K_e$、加圧される容積を $V$、圧力変化を $\Delta p$、圧縮量を $\Delta V$ とすると、微小変化を線形化した関係は次式です。\[ \Delta V\approx\frac{V\Delta p}{K_e} \]
$K_e$ は油単体ではなく、混入空気、ホース、配管、シリンダ、マニホールドなどの変形を含む有効体積弾性率として扱います。
ポンプから加圧容積へ入る正味流量を $Q_{net}$ とすると、時間 $t$ で供給される油量は、\[ \Delta V=Q_{net}t \]
です。2式を組み合わせると、一定流量・一定容積・一定体積弾性率を仮定した昇圧時間は、\[ t\approx\frac{V\Delta p}{K_eQ_{net}} \]
となります。
この式は、アクチュエータが動かず、リリーフ弁やアキュムレータへ流量が逃げず、対象圧力範囲で各値を一定とみなせる場合の一次近似です。
圧力上昇率で表す
昇圧時間の式を変形すると、圧力上昇率を求められます。\[ \frac{dp}{dt}=\frac{K_e}{V}Q_{net} \]
この式から分かる傾向は明確です。
| 条件 | 圧力上昇への影響 |
|---|---|
| 正味流量が大きい | 速くなる |
| 有効体積弾性率が大きい | 速くなる |
| 加圧容積が大きい | 遅くなる |
| 漏れや逃げ流量が大きい | 遅くなる |
したがって、長いホースや大きなシリンダ室を含む回路は、同じポンプ流量でも圧力が立ち上がりにくくなります。エア抜き不足によって有効体積弾性率が低下した場合も、昇圧時間が長くなります。
計算例|2.0 Lを15 MPaまで加圧する
次の条件を考えます。
| 項目 | 計算条件 |
|---|---|
| 有効加圧容積 | 2.0 L |
| 初期圧力 | 0 MPa |
| 目標圧力 | 15 MPa |
| 有効体積弾性率 | 1.4 GPa |
| 正味流量 | 6.0 L/min |
有効体積弾性率1.4 GPaは計算方法を示すための仮定値です。実設計では、油温、圧力、混入空気、ホースや機器の変形を反映した値を使用します。
まず、圧縮に必要な油量を求めます。\[ \Delta V=\frac{2.0\times10^{-3}\times15\times10^6}{1.4\times10^9} \]\[ \Delta V\approx2.143\times10^{-5}\ \mathrm{m^3} \]
したがって、必要な圧縮量は約21.4 mLです。
正味流量6.0 L/minは、\[ Q_{net}=1.0\times10^{-4}\ \mathrm{m^3/s} \]
です。昇圧時間は、\[ t=\frac{2.143\times10^{-5}}{1.0\times10^{-4}} \]\[ t\approx0.214\ \mathrm{s} \]
となります。この理想化した条件では、15 MPaまでの昇圧時間は約0.21秒です。
圧力上昇率で確認すると、\[ \frac{dp}{dt}=\frac{1.4\times10^9}{2.0\times10^{-3}}\times1.0\times10^{-4}=70\times10^6\ \mathrm{Pa/s} \]
なので、70 MPa/sで15 MPaまで上昇すると約0.214秒になります。
正味流量はポンプ公称流量ではない
昇圧へ使える流量は、ポンプの公称吐出量と同じとは限りません。最小モデルでは、次のように整理できます。\[ Q_{net}=Q_p-Q_{leak}-Q_{escape} \]
ここで、
- $Q_p$:その圧力でのポンプ実吐出流量
- $Q_{leak}$:ポンプ、弁、シリンダなどの漏れ流量
- $Q_{escape}$:リリーフ弁、アンロード回路、別系統などへ逃げる流量
です。
容積効率は圧力、回転数、粘度、温度などで変わります。可変容量ポンプでは、圧力補償器が作動すると押しのけ容積が減少し、目標圧力付近で流量が急減することもあります。そのため、公称最大流量を式へ入れるだけでは、実際の昇圧時間を過小評価する可能性があります。
漏れを含む圧力の微分方程式
圧力によって漏れ流量が変わる場合、一定の $Q_{net}$ では表現できません。アクチュエータが停止し、有効容積を一定とみなせる場合は、\[ \frac{dp}{dt}=\frac{K_e}{V}\left(Q_p(p)-Q_{leak}(p)-Q_{escape}(p)\right) \]
と表せます。
漏れを簡単な線形モデル、\[ Q_{leak}=C_lp \]
で近似すると、圧力が高くなるほど正味流量が減り、圧力上昇は次第に遅くなります。ポンプ供給流量と漏れ流量が等しくなる圧力では、理論上それ以上昇圧できません。
実機の漏れが圧力に対して線形とは限らないため、精密計算ではメーカーの性能曲線や測定データを使います。
シリンダが動く場合は流量収支が変わる
ピストンが動けば、ポンプ流量の一部はシリンダ室の幾何学的な容積増加へ使われます。受圧面積を $A$、ピストン速度を $v$ とすると、移動に必要な流量は $Av$ です。\[ \frac{dp}{dt}=\frac{K_e}{V}\left(Q_p-Q_{leak}-Av\right) \]
負荷に達するまでピストンが移動できる回路では、最初から閉じ込め容積だけを加圧するわけではありません。
バルブ切替
↓
配管・シリンダへ充填
↓
負荷に接触するまで移動
↓
移動が拘束される
↓
本格的な圧力上昇
したがって、制御信号から目標圧力到達までの総時間は、弁応答時間、充填時間、無負荷移動時間、昇圧時間を分けて考えます。
Pythonで一定流量の昇圧時間を計算する
基本式を単位換算込みで実装すると次のようになります。
from dataclasses import dataclass
@dataclass(frozen=True)
class PressureRiseResult:
compression_ml: float
net_flow_l_min: float
pressure_rise_rate_mpa_s: float
rise_time_s: float
def pressure_rise_time(
volume_l: float,
initial_pressure_mpa: float,
target_pressure_mpa: float,
effective_bulk_modulus_gpa: float,
pump_flow_l_min: float,
leakage_flow_l_min: float = 0.0,
escape_flow_l_min: float = 0.0,
) -> PressureRiseResult:
if volume_l <= 0:
raise ValueError("volume_l must be > 0")
if target_pressure_mpa < initial_pressure_mpa:
raise ValueError("target pressure must be >= initial pressure")
if effective_bulk_modulus_gpa <= 0:
raise ValueError("effective_bulk_modulus_gpa must be > 0")
net_flow_l_min = (
pump_flow_l_min
- leakage_flow_l_min
- escape_flow_l_min
)
if net_flow_l_min <= 0:
raise ValueError("net flow must be > 0")
volume_m3 = volume_l * 1e-3
pressure_rise_pa = (
target_pressure_mpa - initial_pressure_mpa
) * 1e6
bulk_modulus_pa = effective_bulk_modulus_gpa * 1e9
net_flow_m3_s = net_flow_l_min * 1e-3 / 60
compression_m3 = (
volume_m3 * pressure_rise_pa / bulk_modulus_pa
)
pressure_rise_rate_pa_s = (
bulk_modulus_pa * net_flow_m3_s / volume_m3
)
rise_time_s = compression_m3 / net_flow_m3_s
return PressureRiseResult(
compression_ml=compression_m3 * 1e6,
net_flow_l_min=net_flow_l_min,
pressure_rise_rate_mpa_s=(
pressure_rise_rate_pa_s / 1e6
),
rise_time_s=rise_time_s,
)
result = pressure_rise_time(
volume_l=2.0,
initial_pressure_mpa=0.0,
target_pressure_mpa=15.0,
effective_bulk_modulus_gpa=1.4,
pump_flow_l_min=6.5,
leakage_flow_l_min=0.3,
escape_flow_l_min=0.2,
)
print(result)
出力は次のとおりです。
PressureRiseResult(compression_ml=21.428571428571427, net_flow_l_min=6.0, pressure_rise_rate_mpa_s=70.0, rise_time_s=0.21428571428571427)
時系列シミュレーションへ拡張する
ポンプ流量、漏れ、有効体積弾性率が圧力によって変化する場合は、小さな時間刻みで圧力を更新します。\[ p_{i+1}=p_i+\frac{K_e(p_i)}{V(p_i)}Q_{net}(p_i)\Delta t \]
実装では、次のデータを関数または補間表として用意します。
- 圧力に対するポンプ実流量
- 圧力に対する内部漏れ量
- 圧力と温度に対する有効体積弾性率
- シリンダ位置に対する室容積
- 弁開度に対する通過流量
陽解法では時間刻みが大きすぎると、目標圧力を飛び越えたり数値振動したりします。結果を最終設計へ使う場合は、時間刻み依存性を確認し、実測波形と照合します。
実測値から有効体積弾性率を推定する
有効容積と正味流量が既知で、圧力上昇率を測定できるなら、有効体積弾性率を逆算できます。\[ K_e=\frac{V}{Q_{net}}\frac{dp}{dt} \]
ただし、圧力センサーの応答、弁の切替遅れ、ポンプ流量の変化、漏れ、シリンダ移動を分離できていることが前提です。
試験時には、少なくとも次を記録します。
- 油温と使用油
- 初期圧力と目標圧力
- ポンプ回転数
- シリンダ位置
- 加圧対象となる配管・ホース・機器
- 弁指令と圧力波形の時刻
- サンプリング周期
計算で起こりやすい失敗
ポンプ公称流量をそのまま正味流量にする。
実吐出量、漏れ、別経路への逃げ流量を確認します。
シリンダ室だけを有効容積にする。
閉止位置までの配管、ホース、マニホールド、機器内部容積も含めます。
油単体の体積弾性率を固定値で使う。
混入空気やホース膨張を含む有効値は小さくなり、圧力や温度でも変化します。
ピストンが動いているのに閉じ込めモデルを使う。
移動による容積変化 $Av$ を流量収支へ加えます。
昇圧時間を装置応答時間と同一視する。
弁応答、配管充填、アクチュエータ移動、センサー・制御遅れは別に存在します。
リリーフ弁や圧力補償器を無視する。
設定圧力付近では流量経路やポンプ吐出量が変わるため、一定流量近似から外れます。
まとめ
一定流量、一定容積、一定有効体積弾性率を仮定した油圧回路の昇圧時間は、次式で概算できます。\[ t\approx\frac{V\Delta p}{K_eQ_{net}} \]
圧力上昇率は、\[ \frac{dp}{dt}=\frac{K_e}{V}Q_{net} \]
です。
実機へ適用するときは、ポンプ実流量、漏れ、逃げ流量、シリンダ移動、有効容積、混入空気、ホースの膨張、ポンプ制御を確認します。
この計算を時系列モデルへ拡張すれば、バルブ切替後の圧力波形予測、プレスやクランプの加圧時間見積もり、異常な昇圧遅れの診断、ポンプ・弁・配管の設計比較へ利用できます。

