「え、押す力と引く力って同じじゃないの?」
そう思ったあなた、実は全然違うんです。しかも、その差はロッド径を変えるだけで劇的に変化します。油圧シリンダーを設計したことがある人なら「ああ、あれね」と頷く話ですが、初めて触れると「なぜ?」と疑問に思うはず。
今日は、ブラウザで動く油圧シリンダー計算ツールを題材に、数式→実装→実機での落とし穴まで、コード付きで徹底解説します。
ざっくり本質:油圧シリンダーは「面積勝負」
油圧シリンダーの力を一言で表すとこうなります。
「力 = 圧力 × 油が押す面積」
押すとき(伸長時)は、ピストンの全面積に油圧がかかります。でも引くとき(縮退時)は、ロッドが邪魔をして油が押せる面積が減るんです。
つまり、ロッドが太いほど引き力が落ちる——これが全ての始まり。
数式で理解する:伸長力・縮退力・座屈安全率
まず、ツールの計算ロジックを正確に押さえましょう。
伸長力(押す力)
シリンダーがピストンを押し出すとき、油圧はボア全面積 $A_b$ に作用します。
F_e = P \times A_b = P \times \frac{\pi D_b^2}{4}
- $F_e$ : 伸長力 [N]
- $P$ : 圧力 [Pa]
- $D_b$ : ボア径 [m]
縮退力(引く力)
引くときは、ロッド断面積分だけ有効面積が減ります。
F_r = P \times (A_b - A_r) = P \times \frac{\pi (D_b^2 - D_r^2)}{4}
- $F_r$ : 縮退力 [N]
- $D_r$ : ロッド径 [m]
これで「なぜ引き力が小さいか」が一目瞭然ですね。
座屈安全率(オイラーの式)
長いロッドが押し力で折れ曲がる「座屈」を防ぐための指標です。オイラーの式を使います。
F_{cr} = \frac{\pi^2 E I}{(K L)^2}
- $F_{cr}$ : 座屈限界荷重 [N]
- $E$ : ヤング率(鋼材で約206 GPa)
- $I$ : 断面二次モーメント [m⁴]、$I = \frac{\pi D_r^4}{64}$
- $K$ : 端末係数(支持条件で変化)
- $L$ : ロッド長さ(≒ストローク) [m]
安全率 $FS$ は:
FS = \frac{F_{cr}}{F_e}
ツールでは $FS \ge 3.5$ で緑、$2.5 \le FS < 3.5$ で黄色、$FS < 2.5$ で赤警告が出ます。
コードで実装する ★最重要★
ここからが本番です。ツールの計算ロジックをJavaScriptで完全再現します。ブラウザのコンソールに貼ればそのまま動きます。
/**
* 油圧シリンダー計算ツール コアロジック
* 引数: ボア径[mm], ロッド径[mm], ストローク[mm], 圧力[MPa], 端末係数K
* 戻り値: 伸長力[N], 縮退力[N], 座屈安全率
*/
function calcCylinder( bore_mm, rod_mm, stroke_mm, pressure_mpa, K ) {
// 単位変換 [mm] → [m], [MPa] → [Pa]
const Db = bore_mm / 1000; // ボア径 [m]
const Dr = rod_mm / 1000; // ロッド径 [m]
const L = stroke_mm / 1000; // ストローク [m]
const P = pressure_mpa * 1e6; // 圧力 [Pa]
// 面積計算 [m²]
const Ab = Math.PI * Db * Db / 4; // ボア断面積
const Ar = Math.PI * Dr * Dr / 4; // ロッド断面積
// 伸長力・縮退力 [N]
const Fe = P * Ab; // 伸長力
const Fr = P * (Ab - Ar); // 縮退力
// 座屈計算(オイラーの式)
const E = 206e9; // 鋼材ヤング率 [Pa]
const I = Math.PI * Math.pow(Dr, 4) / 64; // 断面二次モーメント [m⁴]
const Fcr = (Math.PI * Math.PI * E * I) / Math.pow(K * L, 2); // 座屈限界荷重 [N]
// 安全率(伸長時を基準)
const FS = Fe > 0 ? Fcr / Fe : Infinity;
return {
Fe: Math.round(Fe * 100) / 100, // 伸長力 [N]
Fr: Math.round(Fr * 100) / 100, // 縮退力 [N]
FS: Math.round(FS * 100) / 100, // 安全率
status: FS >= 3.5 ? 'safe' : (FS >= 2.5 ? 'caution' : 'danger')
};
}
// 使用例: ボア80mm, ロッド45mm, ストローク500mm, 圧力14MPa, K=1.0
const result = calcCylinder(80, 45, 500, 14, 1.0);
console.log('伸長力:', result.Fe, 'N');
console.log('縮退力:', result.Fr, 'N');
console.log('安全率:', result.FS, '→', result.status);
このコードがツールの中身そのものです。たった30行で、油圧シリンダーの設計で必要な3つの核心値を計算できます。
数値例で確かめる
現実的な値を入れてみましょう。建設機械の油圧ショベルを想定します。
入力値:
- ボア径: 80 mm
- ロッド径: 45 mm
- ストローク: 500 mm
- 圧力: 14 MPa
- 端末係数: 1.0(両端ピン、標準的)
手計算(途中式):
-
面積計算
- $A_b = \frac{\pi \times 0.08^2}{4} = 0.005027 \text{ m}^2$
- $A_r = \frac{\pi \times 0.045^2}{4} = 0.001590 \text{ m}^2$
-
伸長力
- $F_e = 14 \times 10^6 \times 0.005027 = 70,378 \text{ N} \approx 70.4 \text{ kN}$
-
縮退力
- $F_r = 14 \times 10^6 \times (0.005027 - 0.001590) = 48,118 \text{ N} \approx 48.1 \text{ kN}$
-
座屈限界荷重
- $I = \frac{\pi \times 0.045^4}{64} = 2.012 \times 10^{-7} \text{ m}^4$
- $F_{cr} = \frac{\pi^2 \times 206 \times 10^9 \times 2.012 \times 10^{-7}}{(1.0 \times 0.5)^2} = 1,635,000 \text{ N} \approx 1,635 \text{ kN}$
-
安全率
- $FS = \frac{1,635,000}{70,378} = 23.2$
コードの出力:
伸長力: 70378.34 N
縮退力: 48118.66 N
安全率: 23.23 → safe
手計算と完全一致。安全率23.2は非常に余裕がある状態です。でも、これがストロークを長くすると一気に危険水域に落ちる——それを次で体感しましょう。
シミュレーターで遊ぶ(実験3連発)
実際にツールを操作しながら、挙動を確認してみてください。
実験1: ロッド径を極端に変えてみる
- ボア80mm、圧力14MPa、ストローク500mm、K=1.0 固定
- ロッド径 20mm → 伸長力70.4kN / 縮退力65.8kN(差は約7%)
- ロッド径 60mm → 伸長力70.4kN / 縮退力30.8kN(差は約56%!)
なぜ? ロッドが太くなると、引くときに油が押せる面積が激減するからです。実務では「引き力不足」が頻発する原因になります。
実験2: ストロークを伸ばして座屈を誘発
- ボア80mm、ロッド45mm、圧力14MPa、K=1.0
- ストローク 500mm → 安全率23.2(緑)
- ストローク 2000mm → 安全率1.45(赤!)
なぜ? 座屈限界荷重は $L^2$ に反比例します。ストロークが4倍になれば、安全率は $1/16$ に急落。これが「長ストロークシリンダーは座屈に弱い」と言われる理由です。
実験3: 端末条件Kを変えてみる
- ボア80mm、ロッド45mm、圧力14MPa、ストローク2000mm
- K=1.0(両端ピン) → 安全率1.45(赤)
- K=0.7(ピン-固定) → 安全率2.97(黄)
- K=0.5(両端固定) → 安全率5.82(緑)
なぜ? 端末係数Kが小さいほど、ロッドの実効長 $K L$ が短くなり、座屈しにくくなります。ただし、現実の取り付け剛性は理想通りではないので、K=1.0で設計するのが安全側です。
現場でハマるポイント(適用限界・落とし穴)
1. 「計算上の推力=実際に出せる力」ではない
ツールで計算した推力は、シールの摩擦抵抗や配管損失を一切考慮していません。実機では摩擦で1〜2割ロスするのが普通。特に低速・高圧領域では摩擦の影響が顕著です。
対策: 計算値に安全率1.2〜1.5を掛けて選定する。
2. 速度計算は「理想状態の8割」が目安
ツールの速度計算は $v = Q / A$ という単純な式。でも実際は、バルブの応答遅れやポンプの脈動、配管の圧力損失で理論速度の8割程度になることが多い。
対策: 要求速度に対して20%余裕を持った流量選定を。
3. 座屈安全率は「絶対的な指標」ではない
FS=3.5以上なら安全、と単純に判断するのは危険です。この計算は純粋な圧縮荷重が完全に真っ直ぐかかるという理想モデル。実機では:
- 取り付け部の微小なズレ
- 負荷の偏心
- 動的衝撃荷重
これらが加わると、FS=5でも座屈する可能性はゼロではありません。
対策: 座屈計算は「ひとつの指標」と捉え、実際の取り付け剛性や動作条件を総合判断する。
まとめ
- 伸長力と縮退力の差は「ロッドが邪魔をする面積」で決まる — ロッド径が大きいほど引き力が落ちる
- 座屈安全率はストロークの二乗に反比例 — 長ストロークほど危険、端末条件K=1.0で設計するのが安全側
- 計算値は理想値 — 摩擦損失・圧力損失・動的荷重を考慮して余裕を持った設計を
油圧シリンダーの設計は、この3つを押さえれば大きく外れません。
実際に手を動かして確認したい方は、こちらからどうぞ。
▶ 油圧シリンダー計算ツール — ブラウザで即動作、登録不要
NovaSolverでは700以上の工学シミュレーターを無料公開中 👉 一覧はこちら