ガソリンエンジンはなぜ圧縮比12で止まるのか — オットーとディーゼル
空気標準サイクルで見る圧縮比とエンジン効率、そしてノッキングの壁
1919年、製油会社の研究者トーマス・ミジリーは、エンジンから聞こえる金属的な「カチカチ」という音の正体を追っていました。圧縮比を上げるほど出力は増えましたが、ある線を越えると燃料が点火プラグより先に自分で爆発してしまいます。その金属音がノッキング(knock)です。この記事では、複雑な往復エンジンを四つの熱力学過程に単純化した「空気標準サイクル」を使い、圧縮比がどのように効率を決めるのか、そしてなぜガソリンエンジンが圧縮比を無闇に上げられないのかを追います。最後には、同じ圧縮比でオットーとディーゼルのどちらが効率的かをPythonで直接測ります。
圧縮比を上げるほど強くなるのに、どこで止まったのか#
圧縮比(compression ratio、シリンダーが最大のときと最小のときの体積比)はエンジン効率のつまみです。空気を強く押すほど、同じ燃料からより多くの仕事を取り出せます。
問題は温度です。断熱圧縮は体積を縮めると同時に温度を引き上げます。圧縮終わりの温度が燃料の自然発火点を越えると、炎が届く前に混合気が一気に爆発します。これがノッキングで、ピストンやベアリングを壊します。
ミジリーは1921年、テトラエチル鉛を加えて発火を遅らせました。オクタン価(アンチノック指数)という概念はここから生まれます。しかし添加剤にも限界があります。ガソリンエンジンの圧縮比はふつう9〜12にとどまります。
エンジンを四つの過程に — 空気標準オットーサイクル#
実際のエンジンは吸気・燃焼・排気が入り混じっています。これを扱うために、作動流体を一定量の理想気体(空気)とし、燃焼を「外から入る熱」に置き換えます。こう単純化したものがオットー(Otto)サイクルです。
四つの過程で閉じます。
- 1→2: 断熱圧縮(ピストンが空気を押す)
- 2→3: 定積加熱(体積一定、瞬間燃焼)
- 3→4: 断熱膨張(空気がピストンを押す — 出力行程)
- 4→1: 定積放熱(排気で熱を捨てる)
断熱過程では、圧縮比 と温度が次のように結びつきます。
ここで は温度、 は比熱比(定圧比熱/定積比熱、空気で約1.4)です。圧縮比が大きいほど、圧縮終わりの温度 が急に上がります。ノッキングの種はまさにこの式の中にあります。
下のシミュレーションで実際に操作してみましょう。圧縮比と加熱量を変えると、P–V平面の閉じた輪がどう変わるかが見えます。
圧縮比を大きくすると輪は左右に伸び、塗りつぶされた面積(1サイクルの正味仕事)が増えます。加熱量を大きくすると輪は上へ伸びますが、効率の数字はほとんど動きません。次の節でその理由を説明します。
効率は圧縮比ひとつが決める#
熱効率は、受け取った熱に対してした仕事です。定積加熱と放熱では熱量が温度差に比例するので、
ここで は受け取った熱、 は捨てた熱です。断熱関係 を代入すると温度がすべて約分され、驚くほど単純な式だけが残ります。
効率は圧縮比 と比熱比 だけで決まります。どれだけ燃料を燃やしたか()は消えました。だから加熱量のスライダーを動かしても効率の数字がほとんど変わらなかったのです。
圧縮比8なら約56%、12なら約63%です。数字だけ見れば圧縮比を上げ続けたくなります。しかしノッキングが12付近で道を塞ぎます。
ディーゼルは定圧加熱で圧縮比の壁を越える#
ルドルフ・ディーゼルは別の道を選びました。燃料を先に混ぜません。空気だけを先に圧縮します。圧縮終わりの温度を自然発火点より上に上げた後、燃料を噴射すると触れた瞬間に燃えます。点火プラグはありません。ノッキングを起こす予混合気がそもそもないので、圧縮比を15〜22まで上げられます。
違うのは加熱の仕方です。燃料がゆっくり噴射されながら燃えるため、体積が増える間も圧力がほぼ一定に保たれます。定積ではなく定圧加熱です。
ここで新しい無次元数が登場します。締切比(cut-off ratio)、定圧加熱で体積が何倍に増えたかです。効率はこう変わります。
オットーの式に分数がひとつ掛かった形です。その分数は のとき常に1より大きくなります。つまり同じ圧縮比ならディーゼルはオットーより損です。代わりにディーゼルは圧縮比をはるかに高くできるので、実際のエンジンではより高い効率に落ち着きます。
同じ圧縮比ならオットーが勝つ#
二つのサイクルを圧縮比の軸の上に並べて描くと、関係がはっきりします。
三つのことが目に入ります。第一に、曲線は右へ行くほど緩やかになります — 圧縮比を1上げて得られる効率が次第に減ります(収穫逓減)。第二に、同じ ではシアン(オットー)が琥珀色(ディーゼル)の上にあります。第三に、赤い帯がガソリンの現実的な限界です。オットーはその帯の手前で止まらなければなりませんが、ディーゼルは帯を通り抜けてさらに右に住みます。
締切比のスライダーを1.2の方へ下げると、ディーゼル曲線がオットーにぴたりと近づきます。 では定圧加熱が定積加熱に近づき、二つの式が一致します。締切比は「ディーゼルがオットーからどれだけ離れたか」を測る尺度です。
Python — 二つのサイクルを直接測る#
閉じた式が本当に状態温度から出てくるのか、コードで確かめましょう。
import numpy as np
K = 1.4 # 空気の比熱比 (cp/cv)
def otto_efficiency(r, k=K):
"""オットーサイクル: 定積加熱、圧縮比 r"""
return 1.0 - 1.0 / r ** (k - 1)
def diesel_efficiency(r, cutoff, k=K):
"""ディーゼルサイクル: 定圧加熱、圧縮比 r、締切比 cutoff"""
return 1.0 - (1.0 / r ** (k - 1)) * (cutoff ** k - 1) / (k * (cutoff - 1))
for r in [8, 12, 18, 22]:
eo = otto_efficiency(r)
ed = diesel_efficiency(r, cutoff=2.0)
print(f"r={r:2d} Otto={eo*100:5.1f}% Diesel(rc=2)={ed*100:5.1f}%")出力:
r= 8 Otto= 56.5% Diesel(rc=2)= 49.0%
r=12 Otto= 63.0% Diesel(rc=2)= 56.7%
r=18 Otto= 68.5% Diesel(rc=2)= 63.2%
r=22 Otto= 71.0% Diesel(rc=2)= 66.0%次に状態温度から直接効率を作り、閉じた式と対照します。
def otto_from_states(r, alpha, k=K):
"""状態温度から直接効率を計算 (alpha = P3/P2、加熱量のつまみ)"""
T1 = 300.0 # K, 吸気
T2 = T1 * r ** (k - 1) # 1->2 断熱圧縮
T3 = T2 * alpha # 2->3 定積加熱
T4 = T3 / r ** (k - 1) # 3->4 断熱膨張
q_in = T3 - T2 # cv が約分される
q_out = T4 - T1
return 1.0 - q_out / q_in
print(otto_from_states(9, alpha=3.0)) # 0.5848...
print(otto_from_states(9, alpha=6.0)) # 0.5848... 加熱量を変えても同じ
print(otto_efficiency(9)) # 0.5848...三行の出力はすべて同じ 0.5848 です。加熱量のつまみ alpha を3から6へ倍にしても効率は動きません。P–Vシミュレーションで加熱スライダーが効率を変えられなかった理由が、コードで確認できます。
圧縮比ひと目盛りの価値#
オットーサイクルの効率式 ひとつに、この記事の半分が入っています。効率は圧縮比と比熱比だけで決まり、どれだけ燃やすかは効率ではなく出力の大きさを決めます。
ガソリンは予混合気のためノッキングという天井に阻まれ、圧縮比12あたりで止まります。ディーゼルは空気だけを圧縮してその天井を取り除き、同じ圧縮比では損をしながらも、より高い圧縮比でその損を覆します。二つのエンジンの効率差は、結局「どこで熱を入れるか(定積か定圧か)」と「圧縮比をどこまで上げられるか」の綱引きなのです。
役に立ったらシェアしてください。