油圧シリンダは「油圧ばね」として振動する
方向切換弁を閉じて油圧シリンダの両室を封止しても、ピストンが完全に動かなくなるとは限りません。負荷が変動すると、作動油がわずかに圧縮され、ピストンは変位します。その後、圧縮された油が復元力を生み、移動体の慣性と組み合わさって振動系を形成します。
このときの一次近似は、次の要素で構成できます。
- シリンダ両室の作動油:ばね
- ピストン、ロッド、負荷:質量
- シール摩擦、内部漏れ、絞り:減衰
固有振動数を把握すると、急停止後の揺れ、サーボ系の応答限界、圧力脈動による機械振動を検討する出発点になります。ただし、固有振動数はそのまま制御帯域や許容運転周波数を意味しません。まず物理モデルを作り、実測や詳細モデルへ段階的に進めることが重要です。
計算モデルと前提条件
ここでは、単ロッド複動シリンダの両ポートが閉じられ、ピストンがある作動点の近傍で微小変位する状態を扱います。
| 記号 | 意味 | 単位 |
|---|---|---|
| A_1 | ヘッド側受圧面積 | m² |
| A_2 | ロッド側環状面積 | m² |
| V_1 | ヘッド側の閉じ込め油量 | m³ |
| V_2 | ロッド側の閉じ込め油量 | m³ |
| β_e | 有効体積弾性率 | Pa |
| m_e | ピストン、ロッド、負荷を含む有効移動質量 | kg |
| k_h | 両室を合わせた油圧ばね剛性 | N/m |
| f_n | 非減衰固有振動数 | Hz |
最初の計算では、次を仮定します。
- 弁は閉じており、微小振動中の流入出はない
- 内部漏れと外部漏れは無視する
- 有効体積弾性率は作動点の近傍で一定とする
- シリンダ取付部と機械構造は剛体とする
- シール摩擦と流体抵抗は、非減衰固有振動数の計算では無視する
- 圧力変動は、初期圧力に対して十分小さい
これらは設計初期の一次近似です。配管ホース、混入空気、シリンダチューブやロッドの変形が無視できない場合は、後述する補正が必要です。
受圧面積を求める
シリンダ内径を $D$、ロッド径を $d$ とすると、ヘッド側とロッド側の受圧面積は次のとおりです。
$$ A_1=\frac{\pi D^2}{4} $$
$$ A_2=\frac{\pi(D^2-d^2)}{4} $$
単ロッドシリンダでは $A_1>A_2$ です。そのため、同じ圧力変化でも各室が発生する力は異なります。また、ピストン位置によって各室の油量が変わるため、ばね剛性もストローク全域で一定ではありません。
各室の油圧ばね剛性を導く
体積弾性率は、圧力変化と体積変化の関係を表します。微小変化では、閉じ込め油量 $V$ に対して次の関係を使います。
$$ \Delta p=-\beta_e\frac{\Delta V}{V} $$
ピストンが微小距離 $x$ だけ動くと、ある室の体積変化の大きさは $A x$ です。したがって、圧力変化の大きさは次のようになります。
$$ |\Delta p|=\beta_e\frac{A x}{V} $$
圧力がピストンへ与える復元力の大きさは $A|\Delta p|$ なので、1室分のばね剛性は次式です。
$$ k=\frac{A|\Delta p|}{x}=\beta_e\frac{A^2}{V} $$
両室を閉止したシリンダでは、一方が圧縮されると他方が膨張し、どちらの圧力変化も元の位置へ戻す向きに作用します。したがって、両室の剛性は加算できます。
$$ k_h=\beta_e\left(\frac{A_1^2}{V_1}+\frac{A_2^2}{V_2}\right) $$
式から、受圧面積が大きく、有効体積弾性率が高く、閉じ込め油量が小さいほど油圧ばねは硬くなることが分かります。面積は2乗で効くため、内径の変更は固有振動数へ大きく影響します。
ピストン位置から閉じ込め油量を求める
ストロークを $S$、ヘッド側端からのピストン位置を $x$ とします。ヘッド側とロッド側に残るデッドボリュームおよび接続配管容積を、それぞれ $V_{10}$、$V_{20}$ とすると、閉じ込め油量は次式で近似できます。
$$ V_1=V_{10}+A_1x $$
$$ V_2=V_{20}+A_2(S-x) $$
ここで配管容積を忘れると、実際より油量を小さく見積もり、ばね剛性と固有振動数を高く計算することがあります。バルブブロック内部の流路やホースも、閉止区間に含まれるなら油量へ加えます。
ピストンがストローク端へ近づくと片側の油量が小さくなり、その室の剛性が急増します。ただし単ロッドシリンダでは面積が非対称で、両側のデッドボリュームも等しいとは限りません。剛性が最小になる位置を、機械的なストローク中央と決め付けない方が安全です。
固有振動数を求める
油圧ばね剛性 $k_h$ と有効移動質量 $m_e$ を使うと、非減衰固有角振動数と固有振動数は次式で求められます。
$$ \omega_n=\sqrt{\frac{k_h}{m_e}} $$
$$ f_n=\frac{1}{2\pi}\sqrt{\frac{k_h}{m_e}} $$
移動質量には、外部負荷だけでなく、ピストン、ロッド、可動治具など、振動に追従する質量を含めます。機構にレバーや回転体がある場合は、シリンダ軸上へ換算した等価質量を使用します。
計算例
次の条件で計算します。数値は計算手順を示すための例であり、実機の有効体積弾性率は作動油、圧力、温度、混入空気、配管構成に合わせて設定します。
| 項目 | 値 |
|---|---|
| シリンダ内径 D | 80 mm |
| ロッド径 d | 45 mm |
| ストローク S | 500 mm |
| ヘッド側端からの位置 x | 200 mm |
| ヘッド側デッド・配管容積 V_10 | 0.35 L |
| ロッド側デッド・配管容積 V_20 | 0.30 L |
| 有効体積弾性率 β_e | 1.0 GPa |
| 有効移動質量 m_e | 800 kg |
受圧面積は次の値です。
$$ A_1=\frac{\pi(0.080)^2}{4}=5.027\times10^{-3}\ \mathrm{m^2} $$
$$ A_2=\frac{\pi\{(0.080)^2-(0.045)^2\}}{4}=3.436\times10^{-3}\ \mathrm{m^2} $$
閉じ込め油量は、リットルを立方メートルへ換算して計算します。
$$ V_1=0.00035+A_1\times0.200=1.355\times10^{-3}\ \mathrm{m^3} $$
$$ V_2=0.00030+A_2\times(0.500-0.200)=1.331\times10^{-3}\ \mathrm{m^3} $$
各室のばね剛性は、ヘッド側が約18.64 MN/m、ロッド側が約8.87 MN/mです。合計は次の値になります。
$$ k_h=1.0\times10^9\left(\frac{A_1^2}{V_1}+\frac{A_2^2}{V_2}\right)=2.751\times10^7\ \mathrm{N/m} $$
したがって、非減衰固有振動数は次のとおりです。
$$ f_n=\frac{1}{2\pi}\sqrt{\frac{2.751\times10^7}{800}}=29.5\ \mathrm{Hz} $$
この条件での一次近似結果は約29.5 Hzです。
ピストン位置による変化
同じシリンダと移動質量で、ピストン位置だけを変えた結果を比較します。
| ヘッド側端からの位置 | ヘッド側油量 | ロッド側油量 | 油圧ばね剛性 | 固有振動数 |
|---|---|---|---|---|
| 50 mm | 0.601 L | 1.846 L | 48.41 MN/m | 39.2 Hz |
| 200 mm | 1.355 L | 1.331 L | 27.51 MN/m | 29.5 Hz |
| 250 mm | 1.607 L | 1.159 L | 25.91 MN/m | 28.6 Hz |
| 450 mm | 2.612 L | 0.472 L | 34.70 MN/m | 33.1 Hz |
この例では250 mm付近で低くなりますが、厳密な最小位置は受圧面積、デッドボリューム、配管容積によって変わります。制御ゲインや停止後の整定を検討するときは、代表位置だけでなく使用ストローク全域を走査します。
Pythonでストローク全域を計算する
次の関数は、シリンダ寸法、閉じ込め油量、有効体積弾性率、移動質量から固有振動数を計算します。
from math import pi, sqrt
def natural_frequency(
bore: float,
rod: float,
stroke: float,
position: float,
head_dead_volume: float,
rod_dead_volume: float,
bulk_modulus: float,
moving_mass: float,
) -> dict[str, float]:
if not 0 <= position <= stroke:
raise ValueError("position must be within the stroke")
area_1 = pi * bore**2 / 4
area_2 = pi * (bore**2 - rod**2) / 4
volume_1 = head_dead_volume + area_1 * position
volume_2 = rod_dead_volume + area_2 * (stroke - position)
stiffness = bulk_modulus * (
area_1**2 / volume_1 + area_2**2 / volume_2
)
frequency = sqrt(stiffness / moving_mass) / (2 * pi)
return {
"hydraulic_stiffness_n_m": stiffness,
"natural_frequency_hz": frequency,
}
実務では、位置を細かく変えたループを追加し、固有振動数の最小値と最大値を確認します。入力値、単位、計算結果を構造化して保存すれば、シリンダ選定表やWeb計算ツールへ展開できます。
有効体積弾性率を一定値で決め付けない
有効体積弾性率は、作動油単体の物性値だけでは決まりません。油中の未溶解空気、ホースや配管の膨張、圧力、温度などを含むシステム全体の見かけの圧縮性を表します。
特に低圧域では、少量の混入空気でも剛性が低下し、固有振動数が下がることがあります。文献や一般値をそのまま固定せず、次の順で根拠を強くします。
- 作動油メーカーの物性データを確認する
- 使用圧力と温度を合わせる
- ホースおよび配管容積をモデルへ含める
- エア抜き状態を管理する
- 可能なら圧力・変位応答から実機の有効剛性を同定する
実測した静的な圧力変化とピストン変位から、作動点近傍の等価剛性を求める方法もあります。ただし、シールのスティックスリップや機械ガタが混ざるため、微小変位の計測方法と荷重履歴をそろえる必要があります。
機械剛性と配管の影響を加える
実機では、ロッド、シリンダチューブ、取付部、機械フレームも変形します。油圧ばねと機械ばねが直列に作用する単純化が妥当なら、合成剛性は次式です。
$$ \frac{1}{k_{eq}}=\frac{1}{k_h}+\frac{1}{k_m} $$
ここで $k_m$ は機械系の等価剛性です。合成剛性 $k_{eq}$ は小さい方の剛性よりさらに小さくなるため、油圧剛性だけで計算した固有振動数は高めになることがあります。
外部の支持ばねが並列に荷重を受ける構造なら剛性は加算されます。長い配管では、流体慣性や圧力波を含むモデルが必要になる場合があります。
計算で起こりやすい失敗
- 片側の油室だけを使う:両ポート閉止時は基本的に両室が復元力を生みます。
- シリンダ容積だけを使う:閉止弁までのホース、配管、マニホールド流路も油量へ含めます。
- 公称体積弾性率を固定する:混入空気や柔軟なホースを含む実条件に合わせます。
- 外部負荷だけを質量とする:ピストン、ロッド、可動治具、換算質量も含めます。
- 固有振動数を制御帯域と同一視する:弁、制御遅れ、減衰、構造モードを別途評価します。
- 計算値だけで共振対策を決める:圧力、変位、加速度の計測で周波数応答を確認します。
まとめ
両室を閉じた油圧シリンダは、圧縮性を持つ作動油と移動質量からなる振動系として扱えます。一次近似の油圧ばね剛性は次式です。
$$ k_h=\beta_e\left(\frac{A_1^2}{V_1}+\frac{A_2^2}{V_2}\right) $$
固有振動数は次式で求められます。
$$ f_n=\frac{1}{2\pi}\sqrt{\frac{k_h}{m_e}} $$
重要なのは、受圧面積だけでなく、ピストン位置で変化する両室の油量、閉止区間の配管容積、有効体積弾性率、実際に動く質量をそろえることです。
このモデルをストローク全域で計算すれば、固有振動数が最も低くなる位置を探索できます。さらに、機械剛性、ホース膨張、漏れ、摩擦、弁動特性を段階的に加えることで、停止後の振動評価やサーボ系のモデル化へ発展させられます。
