油圧シリンダの座屈荷重を計算する|Euler式・有効長さ・安全率の考え方

「油圧シリンダの座屈荷重を計算する|Euler式・有効長さ・安全率の考え方」の内容を表す技術イラスト

油圧シリンダが押し方向へ大きな力を出すとき、ピストンロッドは圧縮材として働きます。

ロッドが短ければ材料の圧縮強度が主な確認事項になります。しかし、ストロークが長く、ロッドが細い場合は、材料がつぶれる前に横へたわむ座屈が設計を支配することがあります。

座屈は単純な「圧力×面積」だけでは評価できません。ロッド径、伸び切り時の長さ、両端の支持条件、材料の縦弾性係数、安全率が関係します。

この記事では、Euler式を使った一次検討として、油圧シリンダの座屈荷重、許容荷重、必要ロッド径を計算する方法を整理します。

目次

推力を満たしても座屈することがある

シリンダの押し側理論推力は、ピストン側の圧力を \(p\)、受圧面積を \(A_p\) とすると、\[ F_{push}=pA_p \]

です。

内径80 mm、圧力10 MPaなら、受圧面積は、\[ A_p=\frac{\pi\times80^2}{4}\approx5026.5\ \mathrm{mm^2} \]

なので、理論推力は、\[ F_{push}=10\times5026.5\approx50265\ \mathrm{N} \]

すなわち約50.3 kNです。MPaはN/mm²と同じ次元なので、MPaとmm²を掛ければNになります。

ただし、この計算で分かるのは油圧による軸方向力です。ロッドがこの圧縮力に対して安定しているかは、別に座屈計算で確認します。

Euler式で臨界座屈荷重を求める

細長い真直ぐな圧縮材の弾性座屈を扱う基本式がEuler式です。\[ F_{cr}=\frac{\pi^2EI}{L_k^2} \]

  • \(F_{cr}\):臨界座屈荷重 [N]
  • \(E\):縦弾性係数 [N/mm²]
  • \(I\):断面二次モーメント [mm⁴]
  • \(L_k\):有効座屈長さ [mm]

中実円形ロッドの断面二次モーメントは、ロッド径を \(d\) とすると、\[ I=\frac{\pi d^4}{64} \]

です。

この式から、臨界荷重はロッド径の4乗に比例し、有効座屈長さの2乗に反比例することが分かります。

ロッド径を大きくする
    → 座屈荷重は大きく増える

有効座屈長さが長くなる
    → 座屈荷重は急激に下がる

長ストロークシリンダでは、圧力を上げる前にロッド径と取付条件を確認する必要があります。

ストロークと有効座屈長さは同じとは限らない

Euler式へ入れる \(L_k\) は、単純なストローク長ではなく、支持条件を反映した有効座屈長さです。

一般的な柱の近似では、実長を \(L\)、有効長さ係数を \(K\) として、\[ L_k=KL \]

と表します。

理想化した端部条件\(K\)の代表値有効長さ
一端固定・他端自由2.0\(2L\)
両端ピン1.0\(L\)
一端固定・他端ピン約0.7約\(0.7L\)
両端固定0.5\(0.5L\)

ただし、実際の油圧シリンダはロッドとチューブで断面が変わり、ロッドガイド、取付金具、球面軸受、機械側構造にも弾性があります。

ISO/TS 13725:2021は、油圧シリンダを単一の等価柱として扱わず、シリンダの幾何形状、取付形式、ロッド端接続、偏心荷重、横荷重、全伸長状態を考慮する評価方法を規定しています。

したがって、上表の係数は一次検討用です。最終設計では対象シリンダのメーカー計算方法、適用規格、実際の取付図に従います。

安全率を含む許容座屈荷重

臨界座屈荷重は、理想条件で座屈が始まる境界です。そのまま使用可能荷重にはできません。

安全率を \(S\) とすると、一次検討上の許容座屈荷重は、\[ F_{allow}=\frac{F_{cr}}{S} \]

です。

油圧シリンダメーカーHänchenは、簡易Euler計算の安全率として3~5を示しています。Liebherrの特定シリーズ資料では3~6です。ただし、これらは全用途に共通する固定値ではありません。

安全率は、少なくとも次の条件を考慮して決めます。

  • 静荷重か、衝撃・振動を伴うか
  • 圧力ピークがあるか
  • 軸心のずれや偏心荷重があるか
  • 横荷重や自重が作用するか
  • 取付部と機械フレームの剛性
  • ロッドの初期たわみ、加工公差、摩耗
  • 人や設備へ及ぶ故障時の危険度

ISO/TS 13725も、安全率を計算者が設定し、結果とともに報告することを求めています。

計算例|ロッド径50 mm・有効長さ2000 mm

次の条件で一次検討します。

項目値
ロッド径 \(d\)50 mm
有効座屈長さ \(L_k\)2000 mm
縦弾性係数 \(E\)210000 N/mm²
安全率 \(S\)3

安全率3は計算例の仮定です。実機へ無条件に適用する値ではありません。

断面二次モーメント

\[ I=\frac{\pi\times50^4}{64}\approx306796\ \mathrm{mm^4} \]

臨界座屈荷重

\[ F_{cr}=\frac{\pi^2\times210000\times306796}{2000^2} \]

したがって、\[ F_{cr}\approx159000\ \mathrm{N}=159\ \mathrm{kN} \]

です。

許容座屈荷重

\[ F_{allow}=\frac{159}{3}\approx53.0\ \mathrm{kN} \]

先ほどの内径80 mm、圧力10 MPaによる理論推力は約50.3 kNでした。\[ 50.3\ \mathrm{kN}<53.0\ \mathrm{kN} \]

なので、この仮定条件では許容値内です。しかし余裕は小さく、圧力12 MPaなら理論推力は約60.3 kNとなり、許容座屈荷重を超えます。

この比較だけで採用を確定せず、実際の支持条件、全伸長時寸法、偏心、動的荷重、メーカー仕様を確認します。

必要ロッド径を逆算する

必要な圧縮荷重を \(F\)、安全率を \(S\) とすると、必要な臨界荷重は、\[ F_{cr,required}=FS \]

です。中実円形ロッドについてEuler式を変形すると、必要径は、\[ d_{required}=\left(\frac{64FSL_k^2}{\pi^3E}\right)^{1/4} \]

となります。

結果は標準ロッド径へ切り上げ、切り上げ後の径で再計算します。さらに、ねじ谷や段付き部が最小断面になる場合は、公称ロッド径ではなく危険断面を確認します。

Pythonで座屈荷重と必要径を計算する

from math import pi


def cylinder_rod_buckling(
    rod_diameter_mm: float,
    effective_length_mm: float,
    compression_force_n: float,
    safety_factor: float,
    elastic_modulus_n_mm2: float = 210_000,
) -> dict[str, float | bool]:
    if rod_diameter_mm <= 0 or effective_length_mm <= 0:
        raise ValueError("diameter and length must be > 0")
    if compression_force_n < 0 or safety_factor <= 0:
        raise ValueError("force must be >= 0 and safety factor > 0")

    inertia_mm4 = pi * rod_diameter_mm**4 / 64
    critical_load_n = (
        pi**2
        * elastic_modulus_n_mm2
        * inertia_mm4
        / effective_length_mm**2
    )
    allowable_load_n = critical_load_n / safety_factor
    required_diameter_mm = (
        64
        * compression_force_n
        * safety_factor
        * effective_length_mm**2
        / (pi**3 * elastic_modulus_n_mm2)
    ) ** 0.25

    return {
        "inertia_mm4": inertia_mm4,
        "critical_load_kn": critical_load_n / 1000,
        "allowable_load_kn": allowable_load_n / 1000,
        "required_diameter_mm": required_diameter_mm,
        "passes": compression_force_n <= allowable_load_n,
    }


result = cylinder_rod_buckling(
    rod_diameter_mm=50,
    effective_length_mm=2000,
    compression_force_n=50_265,
    safety_factor=3,
)

for name, value in result.items():
    print(f"{name}: {value}")

主な結果は次のとおりです。

critical_load_kn: 158.968...
allowable_load_kn: 52.989...
required_diameter_mm: 49.345...
passes: True

実務ツールへ発展させる場合は、ストローク、取付中心間距離、支持形式、最大圧力、ピストン径、圧力ピーク、姿勢、横荷重を入力データとして保存します。

Euler式だけでは不足する条件

簡易計算は、真直ぐで一様な細長い柱、中心軸上の圧縮、理想化した支持条件を前提とします。次の条件ではメーカーまたは専門的な解析が必要です。

  • ロッドが太く短く、材料の降伏が先に問題になる
  • ロッドとチューブの段付き剛性を無視できない
  • 横向き・傾斜配置で自重が曲げを生む
  • 負荷点が軸中心からずれている
  • ガイド不足による横荷重がある
  • 高速反転、衝撃、振動、圧力ピークがある
  • 取付部やフレームが変形する
  • 中空ロッド、プランジャ、テレスコープ形を使用する

ISO/TS 13725の適用範囲にも制限があり、薄肉シリンダ、両ロッド、プランジャ、内部ロッド座屈などを対象外としています。規格名だけで適用可能と判断せず、対象形式を確認します。

計算で起こりやすい失敗

ストロークをそのまま有効座屈長さにする。
取付中心、支持条件、全伸長時の形状から決めます。

押し側推力だけを計算して終える。
長いロッドでは座屈許容荷重との比較が必要です。

臨界荷重を許容荷重として使う。
安全率を分けて管理し、選定根拠とともに記録します。

ロッド径の効果を面積だけで考える。
Euler座屈では断面二次モーメントが径の4乗で変化します。

公称径だけを使う。
ねじ、溝、段付き部が危険断面なら、その形状を確認します。

計算値だけで製品を確定する。
メーカーの許容荷重、取付形式、ストップチューブ、ガイド条件と照合します。

まとめ

油圧シリンダの押し動作では、発生推力と座屈許容荷重を別々に計算します。

中実ロッドの断面二次モーメントは、\[ I=\frac{\pi d^4}{64} \]

Eulerの臨界座屈荷重は、\[ F_{cr}=\frac{\pi^2EI}{L_k^2} \]

安全率を含む一次検討上の許容荷重は、\[ F_{allow}=\frac{F_{cr}}{S} \]

です。

特に重要なのは、有効座屈長さ \(L_k\) をストロークだけで決めないことです。取付方式、全伸長時の寸法、シリンダとロッドの剛性、偏心荷重、横荷重を確認します。

Euler式はロッド径や取付方式を比較する一次検討に有効です。最終選定では、ISO/TS 13725などの適用規格、メーカーの計算方法、実機の荷重条件に基づいて検証します。

参考情報

参考になったらシェアしてください
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

機械設計・油圧・CAD・Python・AIなど、ものづくりに関わる技術を扱っています。工学知識を整理・構造化し、設計や自動化に再利用できる形へ変えていくことを目指しています。

目次