油圧回路を設計するとき、ポンプが「何L/min吐出するのか」は最初に押さえておきたい基本値です。
シリンダ速度、配管流速、バルブ選定、圧力損失、発熱量など、多くの計算がポンプ流量から始まります。
油圧ポンプの理論吐出流量は、基本的に、
で決まります。
ここで、
- :理論流量
- :1回転あたりの押しのけ容積
- :回転数
です。
実際には内部漏れがあるため、実吐出流量は理論値より小さくなります。
容積効率を考慮すると、
となります。
Parkerの公式資料でも、油圧ポンプの吐出流量を押しのけ容積、回転数、容積効率から求める式が示されています。
押しのけ容積とは何か
ポンプ仕様には、
16 cm³/rev
25 cm³/rev
40 cm³/rev
のような値が記載されています。
これは1回転で理論上どれだけの油を移送するかを表す値です。
たとえば、
なら、軸が1回転するごとに理論上20 cm³の油を吐出するポンプです。
1分間に1500回転すれば、
となります。
なので、
です。
実務で使いやすい式
押しのけ容積を、
回転数を、
とした場合、理論流量は、
です。
容積効率を考慮すると、
となります。
Parkerの油圧ポンプ資料でも、
という形で同じ関係が示されています。
ここで重要なのは、を百分率ではなく小数として使うことです。
たとえば、
です。
なぜ1000で割るのか
単位を確認すると式の意味が分かります。
なので、
です。
1 Lは、
なので、
となります。
したがって「1000」はポンプ固有の係数ではなく、cm³からLへの単位換算です。
理論流量の計算例
次のポンプを考えます。
- 押しのけ容積:
- 回転数:
理論流量は、
なので、
です。
この値は内部漏れを無視した理論値です。
容積効率を考慮する
実際のポンプでは、内部すきまなどから油が漏れます。
そのため実吐出流量は理論流量より小さくなります。
容積効率を、
とすると、
です。
仮に説明用として、
とすると、
となります。
この0.94は計算例用の仮定値であり、特定製品の性能値ではありません。
実設計ではメーカーの性能曲線やカタログ値を使います。
容積効率とは何か
油研工業の資料では、容積効率を、
として整理しています。
ここで、
- :圧力での吐出流量
- :無負荷時の流量
です。
さらに、
をポンプの総内部漏れとして扱っています。
つまり、
理論的に送りたい流量
↓
内部漏れ
↓
実際に外へ出る流量
という関係です。
容積効率は、この「流量としてどれだけ有効に取り出せたか」を表す指標です。
圧力が上がると流量が変化する理由
固定容量ポンプだからといって、回転数が一定なら実流量も完全に一定とは限りません。
圧力が高くなると、内部すきまを通る漏れ量が増える可能性があります。
その結果、
となります。
油研工業の可変ピストンポンプ資料でも、特定条件下での容積効率が性能指標として示されています。
したがって、
ポンプ容量 × 回転数
だけで実吐出流量を決め切るのではなく、
圧力
粘度
温度
摩耗状態
回転数
などによって実流量が変化し得ることを理解しておく必要があります。
理論流量と実流量を分けて保存する
計算システムを作る場合、
流量 = 35.2 L/min
という結果だけを保存すると、その値が理論値なのか実流量なのか分からなくなります。
そこで、
{
"displacement": {
"value": 25.0,
"unit": "cm3/rev"
},
"speed": {
"value": 1500,
"unit": "rpm"
},
"theoretical_flow": {
"value": 37.5,
"unit": "L/min"
},
"volumetric_efficiency": {
"value": 0.94
},
"actual_flow": {
"value": 35.25,
"unit": "L/min"
}
}
のように分離すると再利用しやすくなります。
容積効率が未確認なら、
"volumetric_efficiency": null
として、勝手に仮定値を入れない設計も重要です。
Pythonで理論流量を計算する
まず理論流量だけを計算します。
def theoretical_pump_flow_l_min(
displacement_cm3_rev: float,
speed_rpm: float,
) -> float:
if displacement_cm3_rev < 0:
raise ValueError("押しのけ容積は0以上で指定してください")
if speed_rpm < 0:
raise ValueError("回転数は0以上で指定してください")
return displacement_cm3_rev * speed_rpm / 1000.0
使用例は、
q_theoretical = theoretical_pump_flow_l_min(
displacement_cm3_rev=25.0,
speed_rpm=1500.0,
)
print(q_theoretical)
です。
結果は、
37.5
となります。
実吐出流量を計算する
次に容積効率を含めます。
def actual_pump_flow_l_min(
displacement_cm3_rev: float,
speed_rpm: float,
volumetric_efficiency: float,
) -> float:
if not 0 < volumetric_efficiency <= 1:
raise ValueError(
"容積効率は0より大きく1以下で指定してください"
)
q_theoretical = (
displacement_cm3_rev
* speed_rpm
/ 1000.0
)
return q_theoretical * volumetric_efficiency
たとえば、
q_actual = actual_pump_flow_l_min(
displacement_cm3_rev=25.0,
speed_rpm=1500.0,
volumetric_efficiency=0.94,
)
print(q_actual)
なら、
35.25
です。
逆算して必要な押しのけ容積を求める
実際の設計では、
30 L/min必要だから、何cm³/revのポンプが必要か
という逆算もよく使います。
理論値なら、
です。
実流量から求める場合は、
です。
Pythonでは、
def required_displacement_cm3_rev(
flow_l_min: float,
speed_rpm: float,
volumetric_efficiency: float = 1.0,
) -> float:
if speed_rpm <= 0:
raise ValueError("回転数は0より大きい必要があります")
if not 0 < volumetric_efficiency <= 1:
raise ValueError("容積効率が不正です")
return (
1000.0
* flow_l_min
/ (speed_rpm * volumetric_efficiency)
)
とできます。
Parkerのポンプ選定資料でも、必要流量と回転数から押しのけ容積を逆算する手順が示されています。
回転数を変えれば流量も変わる
固定容量ポンプでは、理論上、
です。
つまり回転数を半分にすれば、理論流量も半分になります。
たとえば、
で、
なら、
です。
回転数を、
にすると、
になります。
この関係は、インバータやサーボモータでポンプ回転数を制御するシステムを考えるうえでも重要です。
ただし実機では、回転数によって吸入条件や効率、メーカー許容範囲も変わるため、単純な比例式だけで運転可能性を判断してはいけません。
可変容量ポンプの場合
可変容量ポンプでは、1回転あたりの押しのけ容積自体が変化します。
したがって、
という基本構造は同じでも、
ではありません。
たとえば斜板式ピストンポンプなら、斜板角度によって押しのけ容積が変化します。
概念的には、
斜板角度
↓
押しのけ容積
↓
回転数
↓
理論流量
↓
容積効率
↓
実流量
となります。
このため可変容量ポンプをデータ化する場合は、
{
"displacement": {
"min": 0,
"max": 40,
"unit": "cm3/rev"
}
}
のように範囲として持つ設計も考えられます。
流量からシリンダ速度へ接続する
ポンプ流量が分かれば、シリンダ速度へ接続できます。
シリンダ速度は、
です。
つまり、
押しのけ容積
↓
回転数
↓
ポンプ流量
↓
シリンダ有効面積
↓
シリンダ速度
とつながります。
このためポンプ流量計算は単独の計算ではなく、アクチュエータ速度計算の上流に位置します。
配管流速にも接続できる
同じ流量を配管へ流せば、
によって配管流速を求められます。
すると、
ポンプ流量
↓
配管流速
↓
Reynolds数
↓
摩擦係数
↓
圧力損失
↓
損失動力
↓
発熱
まで接続できます。
油圧計算を個別の式として覚えるより、ポンプ流量を起点とする計算チェーンとして整理すると、設計自動化へつなげやすくなります。
モータ回転数とポンプ回転数を混同しない
ポンプを電動機へ直結する場合は両者の回転数がほぼ同じと考えられるケースがあります。
しかし、
- ベルト
- 歯車
- 減速機
- 増速機
を介している場合は、モータ回転数とポンプ回転数は同じではありません。
ポンプ流量式へ入れるべきなのは、
です。
伝達比をとして、
を先に求め、その値を流量計算へ渡す必要があります。
カタログ流量と計算流量が一致しないとき
計算値とカタログ値が完全に一致しないことがあります。
その理由として、
- 容積効率
- 圧力条件
- 油温
- 粘度
- 回転数
- 個体差
- ポンプ形式
- 測定条件
などが考えられます。
Parkerの選定例でも、理論流量を計算した後、圧力条件に応じた漏れ流量を差し引いて使用可能流量を求めています。
したがって、
と、
が違うからといって、すぐに計算式が間違いだと判断するべきではありません。
まず測定条件と効率の扱いを確認します。
よくある計算ミス
特に注意したいのは次の点です。
cm³/revをL/revとして扱う
なので1000倍の誤差になります。
容積効率95をそのまま掛ける
式では、
として扱います。
モータ回転数をそのまま使う
伝達機構がある場合、ポンプ軸回転数へ変換する必要があります。
可変容量ポンプを固定容量として扱う
押しのけ容積が制御状態で変化するポンプでは、現在の容量を確認する必要があります。
理論流量を実吐出流量と断定する
内部漏れを考慮するなら容積効率やメーカー性能データが必要です。
設計データとして残す
油圧ポンプ選定を自動化するなら、最低限、
{
"pump": {
"displacement_cm3_rev": 25.0,
"speed_rpm": 1500,
"volumetric_efficiency": null
},
"calculation": {
"theoretical_flow_l_min": 37.5,
"actual_flow_l_min": null
}
}
のように、
- 仕様値
- 仮定値
- 計算値
を分離しておくと扱いやすくなります。
メーカー確認前の効率値を空欄にできることも重要です。
この構造なら後から、
- シリンダ速度
- 配管流速
- 圧力損失
- ポンプ動力
- 発熱量
を同じ入力データから再計算できます。
まとめ
油圧ポンプの理論吐出流量は、
で求められます。
容積効率を考慮すると、
です。
重要なのは、
押しのけ容積
×
ポンプ回転数
↓
理論流量
↓
内部漏れ
↓
実吐出流量
という構造で理解することです。
流量計算は、その後のシリンダ速度、配管流速、圧力損失、油圧動力、発熱計算の起点になります。
ポンプ流量を単なるカタログ値として扱うのではなく、入力条件から再計算できる設計データとして持つことで、油圧設計全体を自動化しやすくなります。
参考情報
- Parker公式資料では、ポンプ流量を押しのけ容積・回転数・容積効率から求める式を掲載しています。
- Parkerのポンプ選定資料では、押しのけ容積と回転数から理論流量を求め、その後漏れを差し引く選定例が掲載されています。
- 油研工業のData Sheetでは、容積効率と内部漏れの関係が整理されています。

