ベルトコンベヤの必要トルクは「抵抗力」と「加速力」を分けて考える
ベルトコンベヤのモーターを選ぶとき、搬送物の質量だけを見て出力を決めると、起動できない、坂道で停止する、減速機が過負荷になるといった問題が起こります。必要トルクは、一定速で動かし続けるための抵抗と、所定時間で速度を上げるための加速を分けて計算するのが基本です。
この記事では、ベルトと搬送物が支持面上を滑る「スライダーベッド式」を簡易モデルとして扱います。実機では、ベルトの曲げ抵抗、ローラー軸受、スクレーパー、シール、張力装置なども影響します。最終選定では、ベルトメーカーとモーターメーカーの計算条件、カタログ上の許容値を必ず確認してください。
計算の流れは次のとおりです。
- 搬送方向の抵抗力を求める
- 起動時の加速力を加える
- 駆動プーリのトルクと回転速度へ変換する
- 減速比と効率を使ってモーター軸へ換算する
- モーター自身などの回転慣性による加速トルクを加える
- 最大トルク、連続トルク、熱、減速機許容値を照合する
計算に使う記号と前提
| 記号 | 意味 | 単位 |
|---|---|---|
| m | ベルトと搬送物の移動質量 | kg |
| μ | ベルト支持面の摩擦係数 | なし |
| g | 重力加速度 | m/s² |
| θ | 搬送面の傾斜角 | ° または rad |
| F_A | スクレーパーなどの付加外力 | N |
| v | ベルト速度 | m/s |
| t_a | 加速時間 | s |
| a | ベルトの加速度 | m/s² |
| r | 駆動プーリの有効半径 | m |
| η_c | ベルト・プーリ部の機械効率 | なし |
| i | 減速比(モーター回転速度÷出力回転速度) | なし |
| η_g | 減速機の伝達効率 | なし |
| J_m | モーター軸上で加速する回転体の慣性モーメント | kg·m² |
質量には、搬送物だけでなく実際に加速するベルト質量も含めます。搬送物が同時に何個載るか、滞留が起きるか、投入直後に偏るかも条件化が必要です。
一定速運転時の抵抗力を求める
水平成分と傾斜成分
上向き搬送では、支持面との摩擦と重力の斜面方向成分が抵抗になります。付加外力も含めると、一定速時の抵抗力は次式です。
$$ F_R = \mu m g \cos\theta + m g \sin\theta + F_A $$
第1項は摺動摩擦、第2項は坂を上るための力、第3項はスクレーパーやブラシなどによる外力です。水平なら $\theta=0$ なので傾斜項はゼロになります。
下向き搬送では、重力成分が駆動方向を助けるため符号が変わります。重力成分が摩擦を上回ると、負荷側がモーターを回す「オーバーホール負荷」になり得ます。その場合は、駆動トルクだけでなくブレーキ、回生、停止保持を検討します。
摩擦係数を安易に固定しない
摩擦係数は、材質、温度、汚れ、水分、摩耗、始動状態で変化します。カタログや実測値がない場合に、一般的な値を根拠なく流用するのは危険です。特に長期間停止後の始動では、運転中より大きい静止摩擦が現れることがあります。
起動時の加速力を加える
停止状態から速度 $v$ まで時間 $t_a$ で等加速度運転するなら、加速度は次式です。
$$ a = \frac{v}{t_a} $$
ベルトと搬送物を加速する力は次のとおりです。
$$ F_{acc} = ma $$
したがって、上向き起動時にプーリへ必要な周方向力は、簡易的に次式で表せます。
$$ F_{total} = F_R + F_{acc} $$
この式に含まれるのは直線移動する質量です。プーリ、ローラー、カップリング、減速機、モーターローターなどの回転慣性は別途加算します。直線質量と回転慣性を両方の項へ入れると二重計上になるため、計算モデルの境界を明確にします。
プーリ軸のトルクと回転速度へ変換する
駆動プーリの必要トルク
ベルト・プーリ部の効率を $\eta_c$ とすると、駆動プーリ軸の必要トルクは次式です。
$$ T_{out} = \frac{F_{total}r}{\eta_c} $$
プーリ径 $D$ を使う場合は $r=D/2$ です。半径と直径を取り違えると結果が2倍ずれるので、入力名と単位を固定しておくと安全です。
プーリとモーターの回転速度
ベルト速度とプーリ周速度が一致すると仮定すると、プーリ回転速度は次式です。
$$ n_{out} = \frac{60v}{2\pi r} $$
減速比を $i=n_m/n_{out}$ と定義すれば、モーター回転速度は次式です。
$$ n_m = i n_{out} $$
ここで計算した回転速度が、モーターの使用可能速度域と減速機の入力回転速度範囲に入ることを確認します。
減速機を介してモーター軸へ換算する
減速機効率を $\eta_g$ とすると、プーリ負荷をモーター軸へ換算したトルクは次式です。
$$ T_{m,load} = \frac{T_{out}}{i\eta_g} $$
さらに、モーター軸上で加速する回転体の慣性モーメントを $J_m$、モーター角加速度を $\alpha_m$ とすれば、回転慣性による加速トルクは次式です。
$$ T_{m,rot} = J_m\alpha_m $$
ベルト加速度とモーター角加速度の関係は次のようになります。
$$ \alpha_m = i\frac{a}{r} $$
起動時のモーター必要トルクは、簡易的に次式で求められます。
$$ T_m = T_{m,load} + T_{m,rot} $$
$J_m$ にはモーターローターだけでなく、モーター軸換算した減速機やカップリング等の慣性を含めます。詳細値はメーカー資料を使い、減速比の二乗による慣性換算を正しく行います。
数値例:傾斜8度のコンベヤを0.8秒で加速する
次の仮定で計算します。これは手順を示す例であり、摩擦係数や効率を実機へそのまま適用するものではありません。
| 項目 | 値 |
|---|---|
| 移動質量 m | 120 kg |
| 摩擦係数 μ | 0.18 |
| 傾斜角 θ | 8° |
| 付加外力 F_A | 50 N |
| ベルト速度 v | 0.40 m/s |
| 加速時間 t_a | 0.80 s |
| プーリ半径 r | 0.075 m |
| ベルト・プーリ効率 η_c | 0.92 |
| 減速比 i | 20 |
| 減速機効率 η_g | 0.85 |
| モーター軸側の回転慣性 J_m | 0.0012 kg·m² |
重力加速度を $g=9.80665\ \mathrm{m/s^2}$ とします。摩擦力と傾斜抵抗は次のとおりです。
$$ \mu m g \cos\theta = 0.18 \times 120 \times 9.80665 \times \cos 8^\circ \approx 209.8\ \mathrm{N} $$
$$ m g \sin\theta = 120 \times 9.80665 \times \sin 8^\circ \approx 163.8\ \mathrm{N} $$
したがって、一定速時の抵抗力は次の値です。
$$ F_R \approx 209.8 + 163.8 + 50 = 423.5\ \mathrm{N} $$
加速度と加速力は次のとおりです。
$$ a = \frac{0.40}{0.80} = 0.50\ \mathrm{m/s^2} $$
$$ F_{acc} = 120 \times 0.50 = 60.0\ \mathrm{N} $$
起動時の合計周方向力は約483.5 N、プーリ軸トルクは次の値です。
$$ T_{out} = \frac{(423.5+60.0)\times 0.075}{0.92} \approx 39.4\ \mathrm{N\cdot m} $$
モーター軸へ換算した負荷トルクは次のとおりです。
$$ T_{m,load} = \frac{39.4}{20\times0.85} \approx 2.32\ \mathrm{N\cdot m} $$
モーター角加速度は約133.3 rad/s²なので、回転慣性分は0.16 N·mです。したがって起動時の必要トルクは 約2.48 N·m です。一方、加速力を除いた一定速時のモーター軸トルクは 約2.03 N·m となります。
プーリ回転速度は約50.9 min⁻¹、モーター回転速度は約1019 min⁻¹です。トルクだけでなく、この回転速度で必要トルクを出せることをトルク・速度特性で確認します。
Pythonで計算を再現する
入力単位をSI単位系に統一した簡易計算コードです。傾斜角は度で入力し、上向き搬送を正としています。
from dataclasses import dataclass
from math import cos, pi, radians, sin
@dataclass(frozen=True)
class ConveyorInput:
moving_mass_kg: float
friction_coefficient: float
incline_deg: float
external_force_n: float
belt_speed_m_s: float
acceleration_time_s: float
pulley_radius_m: float
conveyor_efficiency: float
gear_ratio: float
gear_efficiency: float
motor_side_inertia_kg_m2: float
def calculate_torque(x: ConveyorInput) -> dict[str, float]:
if x.moving_mass_kg <= 0 or x.pulley_radius_m <= 0:
raise ValueError("mass and pulley radius must be positive")
if x.acceleration_time_s <= 0 or x.gear_ratio <= 0:
raise ValueError("acceleration time and gear ratio must be positive")
if not 0 < x.conveyor_efficiency <= 1:
raise ValueError("conveyor efficiency must be in (0, 1]")
if not 0 < x.gear_efficiency <= 1:
raise ValueError("gear efficiency must be in (0, 1]")
g = 9.80665
theta = radians(x.incline_deg)
friction_force = (
x.friction_coefficient * x.moving_mass_kg * g * cos(theta)
)
slope_force = x.moving_mass_kg * g * sin(theta)
resistance_force = friction_force + slope_force + x.external_force_n
acceleration = x.belt_speed_m_s / x.acceleration_time_s
acceleration_force = x.moving_mass_kg * acceleration
total_force = resistance_force + acceleration_force
output_torque = (
total_force * x.pulley_radius_m / x.conveyor_efficiency
)
motor_load_torque = output_torque / (
x.gear_ratio * x.gear_efficiency
)
output_speed_rpm = (
60 * x.belt_speed_m_s / (2 * pi * x.pulley_radius_m)
)
motor_speed_rpm = x.gear_ratio * output_speed_rpm
motor_angular_acceleration = (
x.gear_ratio * acceleration / x.pulley_radius_m
)
motor_inertia_torque = (
x.motor_side_inertia_kg_m2 * motor_angular_acceleration
)
return {
"resistance_force_n": resistance_force,
"total_force_n": total_force,
"output_torque_nm": output_torque,
"motor_load_torque_nm": motor_load_torque,
"motor_inertia_torque_nm": motor_inertia_torque,
"motor_required_torque_nm": motor_load_torque + motor_inertia_torque,
"output_speed_rpm": output_speed_rpm,
"motor_speed_rpm": motor_speed_rpm,
}
example = ConveyorInput(
moving_mass_kg=120,
friction_coefficient=0.18,
incline_deg=8,
external_force_n=50,
belt_speed_m_s=0.40,
acceleration_time_s=0.80,
pulley_radius_m=0.075,
conveyor_efficiency=0.92,
gear_ratio=20,
gear_efficiency=0.85,
motor_side_inertia_kg_m2=0.0012,
)
for name, value in calculate_torque(example).items():
print(f"{name}: {value:.3f}")
実務では入力値と計算結果をJSONやCSVで保存すると、設計変更時の再計算、レビュー、Webツール化が容易になります。式だけでなく、値の出典、改訂日、測定条件も一緒に管理することが重要です。
モーター選定で計算値以外に確認すること
最大トルクと連続トルクを分ける
起動時トルクがモーターの瞬時最大トルクまたは起動トルクを下回るだけでは不十分です。一定速区間のトルク、加減速時間、停止時間を含め、熱的に連続運転できるかを確認します。運転区間ごとのトルクを $T_k$、時間を $t_k$ とすると、代表的な実効トルクは次式です。
$$ T_{rms} = \sqrt{\frac{\sum T_k^2 t_k}{\sum t_k}} $$
適用できる負荷周期、許容トルク、冷却条件はモーターとドライバの仕様に従います。汎用的な安全率だけで熱設計を置き換えることはできません。
減速機の出力軸条件を確認する
減速機は、入力側のモータートルクだけでなく、出力軸の許容トルク、瞬時最大トルク、ラジアル荷重、スラスト荷重、寿命で確認します。プーリを減速機出力軸へ直接取り付ける場合、ベルト張力によるオーバーハング荷重が支配条件になることがあります。
ベルトが力を伝えられるか確認する
必要トルクを発生できても、駆動プーリとベルトの間で滑れば搬送できません。摩擦駆動ベルトの伝達能力は、巻付角、接触面の摩擦、初張力、汚れや水分の影響を受けます。張力を増やすと滑りにくくなる一方、軸受荷重とベルト応力が増えるため、メーカーの張力計算と許容値を使います。
停止と下降運転を別ケースにする
傾斜コンベヤでは、停止中の逆走防止や非常停止時の保持が必要です。下降運転で負荷がモーターを回す場合、インバーターの回生能力、制動抵抗、機械ブレーキを検討します。上昇時の式だけで正逆両方向を評価しないようにします。
よくある計算ミス
- 搬送物だけを質量に入れ、ベルト質量を忘れる
- プーリ直径を半径として使う
- 減速機効率を掛ける位置と割る位置を逆にする
- モーター軸換算の慣性と直線質量を二重計上する
- 起動トルクだけで選び、連続運転時の温度上昇を確認しない
- 安全率をすべての不確かさの代わりに使う
- 下降運転の重力項を上向きと同じ符号にする
- ベルトの滑り、張力、出力軸荷重を確認しない
まとめ
ベルトコンベヤのモータートルクは、一定速時の抵抗力、加速力、プーリ半径、機械効率、減速比、回転慣性を順番に整理すると計算できます。今回の簡易モデルでは、抵抗力と加速力をプーリ軸トルクへ変換し、減速機を介してモーター軸へ換算しました。
ただし、計算値はモーター選定の入口です。最終的には、最大トルク、実効トルク、速度範囲、減速機許容値、軸荷重、ベルト伝達能力、停止保持、回生条件まで確認します。入力値と式の根拠をデータとして残しておけば、仕様変更への追従や選定ロジックのコード化にもつなげられます。
