ばねは「荷重に耐える部品」ではなく「力と変位を決める部品」
圧縮コイルばねの設計では、強度だけでなく、どの高さで何Nの反力を出すかが機能そのものになる。ばね定数が適切でも、密着して動かなくなる、横に座屈する、繰返し荷重で折れる、初期荷重が製作公差で外れる、といった失敗は起こり得る。
設計判断は 要求荷重と作動範囲 → 幾何・材料 → 荷重–たわみ → 応力 → 密着・座屈 → 疲労・へたり → 公差・検査 の順で進める。この記事は、円形断面線材を用いた円筒形・等ピッチの圧縮コイルばねを中心に、初期選定から製作仕様までを扱う。数値例は設計演習であり、特定メーカー製品の許容強度・寿命を保証しない。
ばねの種類を用途から選ぶ
| 形式 | 主な入力 | 主な機能 | 見落としやすい設計点 |
|---|---|---|---|
| 圧縮コイルばね | 圧縮荷重・変位 | 押し戻し、押付け、衝撃緩和 | 密着、座屈、端面、疲労 |
| 引張コイルばね | 引張荷重・伸び | 引き戻し、保持 | 初張力、フック根元の応力集中 |
| ねじりコイルばね | モーメント・回転角 | レバーやヒンジの復帰 | 腕部の曲げ、巻込み方向、内径変化 |
| 皿ばね | 軸荷重・変位 | 高荷重・小ストローク | 非線形性、重ね方、摩擦、座面 |
| 板ばね | 曲げ荷重・変位 | 支持、接点、復帰 | 固定端応力、加工方向、応力集中 |
以下の単純な線形式は、皿ばねや特殊な不等ピッチばねにそのまま適用しない。
圧縮コイルばねの構造と設計変数
寸法・力・材料定数
| 記号 | 意味 | 単位 |
|---|---|---|
| d | 線径 | mm |
| D | コイル平均径 | mm |
| Di、Do | コイル内径、外径 | mm |
| Na | 有効巻数 | 巻(無次元) |
| Nt | 総巻数 | 巻(無次元) |
| G | 横弾性係数 | N/mm² = MPa |
| C | ばね指数 D/d | 無次元 |
| k | ばね定数 | N/mm |
| F | 軸方向圧縮荷重 | N |
| δ | 自由状態からのたわみ | mm |
| L0 | 自由長さ | mm |
| L | 荷重作用時の高さ | mm |
| Hs | 密着高さ(密着長さ) | mm |
| τ0、τw | 未修正・Wahl補正後のせん断応力 | N/mm² = MPa |
コイルの平均径は、線の中心を結んだ直径である。\[ D=D_i+d=D_o-d \]\[ C=\frac{D}{d} \]
内径と外径を平均径と取り違えると、ばね定数は径の3乗で誤る。 また、荷重を受ける有効巻数 Na と、座巻きを含む総巻数 Nt は異なる。両端を密着・研削する一般的な形状では Nt≈Na+2 を初期仮定にできるが、端末形状と製造方法により変わるため、図面で確定する。
ばね定数が線径の4乗で効く理由
線材には軸荷重そのものではなく、主としてコイル半径を腕長とするねじりモーメントが働く。円形線材のねじり剛性をコイル全長へ積分する近似から、\[ k=\frac{Gd^4}{8D^3N_a} \]
を得る。したがって、\[ F=k\delta,\qquad L=L_0-\delta \]
である。G が N/mm²、d と D が mm なら、右辺は N/mm² × mm⁴ / mm³ = N/mm となり、単位が一致する。
線径を10%増やすと、ほかが同じなら理論ばね定数は約46%増加する。 一方、平均径を10%増やすとばね定数は約25%低下する。線径だけで反力を調整すると、応力、加工性、取付寸法も同時に変化する。
この式の前提は、線材断面が円形、ピッチ角が比較的小さい、弾性範囲、巻数が十分あり、密着・座屈・大きな径変化が生じないことである。座巻きの接触が変わる領域や高ピッチのばねでは、荷重–変位が単純な直線から外れ得る。
荷重2点から必要ばね定数を逆算する
機構側から指定高さ L1、L2 と、その高さで必要な反力 F1、F2 が与えられる場合、\[ k_{\mathrm{req}}=\frac{F_2-F_1}{L_1-L_2} \]
とする。L2 < L1 で圧縮量が増えるとき、分子・分母とも正である。要求を「線径から決める」のではなく、先に機械が必要とする反力–高さの2点で定義するのが合理的である。
応力計算:静荷重と疲労で見る値を分ける
未修正せん断応力とWahl係数
基本的な未修正せん断応力は、\[ \tau_0=\frac{8FD}{\pi d^3} \]
である。単位は N × mm / mm³ = N/mm²。コイル曲率と直接せん断の影響を近似的に取り込むWahl係数は、\[ K_w=\frac{4C-1}{4C-4}+\frac{0.615}{C} \]
であり、補正後の応力は、\[ \tau_w=K_w\tau_0 \]
となる。C は無次元で、C が小さいほど補正係数は大きくなる。
注意:JISの静的な許容応力図と照合するときの「未修正応力」と、疲労検討で用いる「修正応力」を混同しない。 適用する規格・メーカー資料が指定する応力の定義を先に確認する。Wahl補正値を、定義の異なる許容値と機械的に比較してはならない。
へたりと疲労破壊は同じ判定ではない
へたり(永久変形)は、主に最大応力、温度、保持時間、材料の降伏・応力緩和特性、セッチング条件に左右される。疲労破壊は、最大応力だけでなく応力振幅、平均応力、繰返し数、表面状態、腐食、残留応力に左右される。
繰返し運転では、\[ \tau_m=\frac{\tau_{w,\max}+\tau_{w,\min}}{2} \]\[ \tau_a=\frac{\tau_{w,\max}-\tau_{w,\min}}{2} \]
を算出し、採用材料・線径・製造条件に対応する疲労強度線図またはメーカー寿命データで判定する。疲労限度や安全率を材質未指定のまま決め打ちしない。 ばね用材料の引張強さは線径・熱処理・材質によって異なる。
密着高さ・使用ストローク・座屈を別々に確認する
密着高さはゼロストロークの機械的限界
両端面研削形の単純な初期近似では、\[ H_s\approx N_t d \]
と置ける。ただし、実際の密着高さは線径上限、端部の形状、巻きのピッチばらつき、座巻き接触に左右される。両端面無研削形では近似が異なるため、製造元の端末形状と公差を確認すること。この式は最終製作寸法の保証値ではない。
最大使用時高さを Lmin とすると、\[ M_{\mathrm{solid}}=L_{\min}-H_s \]
が密着までの残余高さである。Msolid > 0 は最低条件にすぎず、振動、過渡荷重、組立誤差、公差、ストッパ位置のばらつきを差し引いても余裕が必要になる。密着直前では有効巻数が変化し、線形モデルの精度が低下する。
座屈は自由長だけで決まらない
細長い圧縮ばねは、軸荷重の増加とともに横方向へたわむ。設計の初期スクリーニングには自由長と平均径の比、\[ \lambda=\frac{L_0}{D} \]
を使える。ばねメーカーの技術資料では、一般的な円筒コイルばねで 0.8~4 程度を形状検討の目安として示しているが、4以下なら必ず座屈しないという意味ではない。座屈限界は両端の支持条件、たわみ量、偏荷重、座面の平行度、ガイドの有無で変わる。
必要なら内側ガイド棒または外側ガイド筒を設け、最小内径・最大外径と案内側の公差、横変形、摩擦、摩耗粉、温度を確認する。ガイドがあっても、接触による摩耗・ヒステリシス・かじりは別の故障要因となる。
計算例:80~160 Nで作動する圧縮コイルばね
1. 入力と仮定
次の条件は設計演習用の仮のばね形状であり、材質や許容応力を確定した製品仕様ではない。
| 入力 | 数値 | 設計上の意味 |
|---|---|---|
| 線径 d | 3.0 mm | 仮選定 |
| 平均径 D | 24.0 mm | 仮選定 |
| 有効巻数 Na | 8 | 仮選定 |
| 総巻数 Nt | 10 | 両端各1巻の座巻き仮定 |
| 横弾性係数 G | 80,360 MPa | 鋼線のメーカー設計資料の代表値を仮採用 |
| 自由長 L0 | 60.0 mm | 仮選定 |
| 最小使用荷重 Fmin | 80 N | 組付け時 |
| 最大使用荷重 Fmax | 160 N | 作動時 |
G=80,360 MPa は材料試験成績ではない。材質と温度を確定したら値を再設定する。
2. 径とばね指数
\[ D_i=D-d=21.0\ \mathrm{mm},\qquad D_o=D+d=27.0\ \mathrm{mm} \]\[ C=\frac{24}{3}=8.0 \]
ばね指数8は、冷間成形の初期検討として比較的扱いやすい範囲にある。ただし製造可否は端末形状、材料、線径公差も含めて確認する。
3. ばね定数と作動高さ
\[ k=\frac{80360\times3^4}{8\times24^3\times8}\approx7.357\ \mathrm{N/mm} \]\[ \delta_{\min}=\frac{80}{7.357}\approx10.874\ \mathrm{mm} \]\[ \delta_{\max}=\frac{160}{7.357}\approx21.747\ \mathrm{mm} \]\[ L(F_{\min})=60-10.874\approx49.126\ \mathrm{mm} \]\[ L(F_{\max})=60-21.747\approx38.253\ \mathrm{mm} \]
80 Nから160 Nへ変化するときの追加ストロークは約10.87 mm。 装置側の取付高さと可動範囲がこれに一致するかを先に検証する。
4. 応力と疲労用の平均・振幅
\[ K_w=\frac{4\times8-1}{4\times8-4}+\frac{0.615}{8}\approx1.1840 \]\[ \tau_{0,\min}=\frac{8\times80\times24}{\pi\times3^3}\approx181.1\ \mathrm{MPa} \]\[ \tau_{0,\max}=\frac{8\times160\times24}{\pi\times3^3}\approx362.2\ \mathrm{MPa} \]\[ \tau_{w,\min}\approx214.4\ \mathrm{MPa},\qquad\tau_{w,\max}\approx428.8\ \mathrm{MPa} \]\[ \tau_m\approx321.6\ \mathrm{MPa},\qquad\tau_a\approx107.2\ \mathrm{MPa} \]
ここまでで計算できたのは応力値だけであり、強度・疲労寿命は未判定。 材質、線径別の強度、ショットピーニング、セッチング、温度、繰返し数が必要である。
5. 密着・ピッチ・座屈の一次確認
両端面研削形の単純近似を用いると、\[ H_s\approx10\times3=30.0\ \mathrm{mm} \]\[ M_{\mathrm{solid}}\approx38.253-30.0=8.253\ \mathrm{mm} \]
密着までの理論余裕は約8.25 mm。ただし公差と過渡変位を含む安全余裕は未確定である。
平均ピッチの簡易推定値は、\[ p\approx\frac{L_0-(N_t-N_a)d}{N_a}=\frac{60-2\times3}{8}=6.75\ \mathrm{mm} \]
で、p/D≈0.281 となる。小ピッチ近似の検討範囲にあるが、端部近傍の局所ピッチは一定ではない。\[ \lambda=\frac{L_0}{D}=\frac{60}{24}=2.50 \]
縦横比2.50だけでは座屈合格と判定できない。 荷重作用点の偏心と座面拘束条件を設定し、必要ならガイド構造を追加する。
6. 蓄積エネルギーと最終判定
自由状態からの弾性エネルギーは、線形範囲で、\[ U=\frac{1}{2}k\delta^2=\frac{F^2}{2k} \]
である。最大荷重160 Nでは、\[ U_{\max}=\frac{160^2}{2\times7.357}\approx1740\ \mathrm{N\,mm}=1.740\ \mathrm{J} \]
となる。単位は N × mm = 10^{-3} J。ばねはこのエネルギーを放出し得るため、分解・保守時の飛び出し防止や保持構造も設計する。
この例の結論は「幾何と線形弾性計算は成立するが、製品採用は保留」である。採用前に、材料の静的許容応力、疲労強度線図、座屈・ガイド、密着公差、ばね特性公差、使用温度、製造可否を確認する。
直列・並列・予圧の設計
直列接続は柔らかく、並列接続は硬くなる
同じ軸方向に2本の線形ばねを直列に配置し、接触・摩擦を無視すると、両者の荷重は同じで変位が加算される。\[ \frac{1}{k_{\mathrm{series}}}=\frac{1}{k_1}+\frac{1}{k_2} \]
並列では変位が同じで荷重が加算される。\[ k_{\mathrm{parallel}}=k_1+k_2 \]
例えば、7.357 N/mmのばねを2本使えば、直列は約3.679 N/mm、並列は約14.714 N/mm。ただし、並列で同じ反力を期待するには、自由長・座面・予圧のばらつきを考慮する必要がある。
予圧があると自由長と作動原点がずれる
組付け高さを Lset とすると、線形モデルでの初期荷重は、\[ F_{\mathrm{pre}}=k(L_0-L_{\mathrm{set}}) \]
となる。負の値が出る条件では、圧縮ばねは引張力を伝達しないため、接触が離れる。単純なばね計算では「負荷重」をそのまま許容しない。ガタや離間が機能上問題になる場合は、最小予圧と公差の下限を設計する。
材料・温度・公差・検査をどう決めるか
材料は「弾性係数」だけで選ばない
鋼線、ピアノ線、オイルテンパー線、ステンレス鋼線などは、弾性係数だけでなく引張強さ、疲労特性、耐食性、温度特性、熱処理・表面処理適合性が異なる。例えばJIS G 3522:2025はピアノ線の現行規格として確認できる。腐食環境では、ステンレスという名称だけで寿命を保証せず、塩化物・水素脆化・接触腐食も検討する。
図面では「自由長だけ」でなく指定高さの荷重を定義する
実務では、線径・巻数・自由長をすべて厳しく公差指定するより、機能に直結する指定高さでの荷重、または指定荷重での高さを優先する。必要な検査項目を、例えば「指定高さ2点の荷重」「外径上限」「自由長参考値」「端面直角度」「巻方向」「表面処理」「ロット識別」のように整理する。
2026年8月20日にJIS B 2704-2が改正され、**JIS B 2704-2:2026「製品仕様及び測定・試験方法」**となっている。2018年版を現行のまま扱わず、最新の測定・許容差体系を製作仕様に反映する。具体的な等級・数値は規格本文とメーカーとの協議で確定する。
公差の最悪組合せを評価する
ばね定数の感度は、独立した小変化の一次近似で、\[ \frac{\Delta k}{k}\approx\frac{\Delta G}{G}+4\frac{\Delta d}{d}-3\frac{\Delta D}{D}-\frac{\Delta N_a}{N_a} \]
となる。線径の相対誤差は約4倍、平均径の相対誤差は約3倍でばね定数に効く。これは微小変化の感度式であり、製作公差を単純加算した最終保証値ではない。実際のばね特性は成形・端末・残留応力の影響も受けるため、試作測定で検証する。
設計フローを図で確認する
flowchart TD
A[要求荷重と作動高さを定義] --> B[材料と線径と巻数を仮選定]
B --> C[ばね定数と応力を計算]
C --> D{密着と座屈に余裕があるか}
D -->|いいえ| B
D -->|はい| E{静強度と疲労寿命を確認したか}
E -->|未確認| F[メーカー資料と試験で照合]
F --> E
E -->|はい| G[公差と検査条件を確定]代表的な故障モードと設計レビュー
| 故障モード | 主な原因 | 設計・検査で確認すること |
|---|---|---|
| 疲労破断 | 応力振幅、表面傷、腐食、共振 | 応力範囲、寿命回数、表面処理 |
| へたり・荷重低下 | 高応力、温度、保持時間、セッチング不足 | 最大応力、温度履歴、残留変形 |
| 座屈・横曲がり | 高縦横比、偏心荷重、座面不良 | 支持条件、ガイド、組立芯ずれ |
| 密着による過負荷 | ストッパ不足、過大ストローク、公差 | 最小高さ、密着余裕、過渡変位 |
| 腐食・応力腐食 | 水分、薬品、塩化物、材質不適合 | 環境、材質、保護皮膜 |
| サージング・共振 | 励振周波数とばね固有振動の接近 | 動特性、運転速度、減衰 |
| 端面損傷・偏荷重 | 研削不良、座面傾き、局部接触 | 端末形状、直角度、座面精度 |
| ガイド摩耗・かじり | 隙間不足、横変形、異物 | 内外径公差、潤滑、清浄度 |
サージングはばね内部を弾性波が伝播する動的現象であり、単純な「ばね定数×変位」の静解析では評価できない。高速往復、弁機構、衝撃繰返しなどでは固有振動数と励振スペクトルを別途確認する。
実務の選定手順
- 装置の最小・最大作動高さと、そのときに必要な反力を2点以上で定義する。
- 温度、腐食、サイクル数、保持時間、振動・衝撃、許容荷重ばらつきを定義する。
- 線径、平均径、有効巻数、材料の横弾性係数からばね定数を概算する。
- 作動高さ、荷重、ばね指数、内外径、端末形状を検算する。
- 未修正応力・Wahl補正応力を算出し、比較する許容値の定義を揃える。
- 密着高さ、ストッパ、最小高さの公差、座屈と案内構造を確認する。
- 繰返し荷重なら平均応力・応力振幅・寿命線図、静荷重ならへたり・応力緩和を確認する。
- 標準品・製作可否・熱処理・表面処理・検査方法をメーカーと照合する。
- 指定高さでの荷重公差を機能要件から設定し、試作で荷重–変位曲線を測定する。
- 取付、保全、分解時の蓄積エネルギー放出と故障時安全性をレビューする。
設計チェックリスト
- 反力を指定する高さ2点と、最大過渡荷重を分けて定義したか
- 線径・平均径・有効巻数・総巻数を区別したか
- Gの材料・温度条件と単位を確認したか
- ばね定数と指定高さの荷重を計算したか
- 未修正応力とWahl補正応力の比較対象を区別したか
- 密着高さの端末条件と線径公差を確認したか
- ストッパ・公差・過渡変位を含む密着余裕を確保したか
- 座屈の支持条件とガイド接触を確認したか
- 静的へたりと繰返し疲労を別々に評価したか
- 固有振動・サージングが問題となる用途か判断したか
- ばね特性公差、指定荷重、測定高さ、試験方法を明記したか
- 腐食、温度、熱処理、ショットピーニング、セッチングを確認したか
- 分解時の蓄積エネルギーと飛び出し防止を確認したか
- 規格版とメーカー資料版、未判定事項を記録したか
知識資産化できる項目
幾何・弾性計算と、材料ごとの許容応力・疲労線図・製作公差を別のデータ層にする。これにより、一般式は再利用しつつ、メーカー値の未入力を「合格」に誤変換しない。
JSONデータモデル
{
"element_type": "compression_coil_spring",
"input_units": {"d": "mm", "D": "mm", "G": "MPa", "F": "N", "L": "mm"},
"inputs": {
"wire_diameter_mm": 3.0,
"mean_diameter_mm": 24.0,
"active_coils": 8.0,
"total_coils_assumed": 10.0,
"shear_modulus_mpa_assumed": 80360.0,
"free_length_mm": 60.0,
"load_min_n": 80.0,
"load_max_n": 160.0,
"end_type_assumed": "closed_ground"
},
"equations": ["rate", "wahl_factor", "uncorrected_stress", "corrected_stress", "solid_margin"],
"constraints": ["solid_clearance", "buckling_support", "fatigue", "relaxation", "tolerance"],
"selection_rules": ["never_pass_unknown_material_strength", "verify_spring_force_at_working_heights"],
"failure_modes": ["fatigue", "set", "buckling", "solid", "surge", "corrosion"],
"standards": ["JIS B 2704-1:2018", "JIS B 2704-2:2026", "JIS G 3522:2025"],
"outputs": {"spring_rate_n_per_mm": 7.35718, "solid_margin_nominal_mm": 8.25253},
"review_checks": ["manufacturer_stress_limit", "fatigue_diagram", "guide_clearance", "end_geometry"],
"verification": {"elastic_geometry": "calculated", "strength": "not_evaluated", "fatigue": "not_evaluated", "buckling": "not_evaluated"}
}
Python:計算ロジックと未判定状態を分離する
from dataclasses import dataclass
from math import pi
@dataclass(frozen=True)
class CompressionSpringInput:
wire_d_mm: float
mean_d_mm: float
active_coils: float
total_coils: float
shear_modulus_mpa: float
free_length_mm: float
load_min_n: float
load_max_n: float
def calculate_spring(x: CompressionSpringInput) -> dict:
values = (x.wire_d_mm, x.mean_d_mm, x.active_coils,
x.total_coils, x.shear_modulus_mpa, x.free_length_mm)
if any(v <= 0 for v in values):
raise ValueError("Geometry and modulus must be positive")
if x.mean_d_mm <= x.wire_d_mm or x.total_coils < x.active_coils:
raise ValueError("Invalid coil geometry")
if not 0 <= x.load_min_n <= x.load_max_n:
raise ValueError("Invalid load range")
d, D, na = x.wire_d_mm, x.mean_d_mm, x.active_coils
k = x.shear_modulus_mpa * d**4 / (8 * D**3 * na)
index = D / d
kw = (4 * index - 1) / (4 * index - 4) + 0.615 / index
tau = lambda force: kw * 8 * force * D / (pi * d**3)
min_height = x.free_length_mm - x.load_max_n / k
solid_height_est = x.total_coils * d # Closed/ground nominal approximation
return {
"spring_rate_n_per_mm": k,
"spring_index": index,
"wahl_factor": kw,
"height_at_min_load_mm": x.free_length_mm - x.load_min_n / k,
"height_at_max_load_mm": min_height,
"corrected_stress_min_mpa": tau(x.load_min_n),
"corrected_stress_max_mpa": tau(x.load_max_n),
"solid_height_est_mm": solid_height_est,
"solid_margin_nominal_mm": min_height - solid_height_est,
"stored_energy_at_max_load_j": x.load_max_n**2 / (2 * k * 1000),
"strength_status": "not_evaluated",
"fatigue_status": "not_evaluated",
"buckling_status": "not_evaluated",
}
case = calculate_spring(CompressionSpringInput(3, 24, 8, 10, 80360, 60, 80, 160))
assert abs(case["spring_rate_n_per_mm"] - 7.35718) < 0.0001
assert abs(case["solid_margin_nominal_mm"] - 8.25253) < 0.001
assert case["fatigue_status"] == "not_evaluated"
上のコードは初期形状の計算器であり、強度・座屈・疲労の合否判定器ではない。今後は material_grade、wire_diameter_range、heat_treatment、catalog_revision、allowable_stress_basis、fatigue_curve_id、end_type、tolerance_grade、inspection_height を別テーブルとして持たせる。公差の最悪値を再計算し、未確認項目が残る限り not_evaluated を維持する。
まとめ
圧縮コイルばねの設計では、ばね定数と荷重–たわみを計算しただけでは完成しない。線径の4乗感度、曲率による応力増加、密着・座屈、静的へたりと疲労の違い、指定高さでの荷重公差を連続して検証する必要がある。今回の例では80~160 Nに対する高さと応力を数値化できたが、材料強度と寿命は未判定とした。この「計算できたこと」と「採用を承認できたこと」の区別が、設計品質と自動選定の信頼性を支える。
参考規格・一次資料(2026年10月13日確認)
| 規格・資料 | 用途と確認事項 |
|---|---|
| JIS B 2704-1:2018(日本規格協会の公開プレビュー) | 円形線材コイルばねの基本計算。2018年版を確認。改正・追補の最終確認は正式な規格台帳で実施 |
| JIS B 2704-2:2026(日本規格協会) | 2026-08-20改正、製品仕様及び測定・試験方法。状態「有効」 |
| JIS G 3522:2025(日本規格協会) | ピアノ線の材料規格。状態「有効」 |
| ISO 2162-1:1993(ISO) | ばねの製図上の簡略表示。2024年確認、Published |
| マルホ発條工業:圧縮コイルばねの計算 | 設計式、Gの代表値、端末・ピッチ・座屈の注意事項 |
| マルホ発條工業:許容応力 | 静荷重と動荷重の評価を区別するメーカー技術資料 |
規格本文のすべての条項、材質別の許容応力値、疲労寿命曲線、実製品の公差・密着高さは未確認であり、製品選定時に最新版と製造元の仕様書で照合する。
