本文译自作者的韩语原文。 阅读原文(한국어)
汽油发动机为何止步于压缩比12 — 奥托与狄塞尔循环
加热量alpha从3增到6,r=9的效率仍停在0.5848。能推动效率的只有压缩比。
1919年,炼油公司的托马斯·米奇利在追发动机里的金属"嗒嗒"声。压缩比一高,输出就上去。过了某条线,燃料会在火花塞点火之前自己炸开。那一声就是爆震(knock)。往复机折成四个热力学过程之后,剩下的是压缩比把效率钉在哪里。同一压缩比下奥托和狄塞尔谁高,末尾的 Python 来量。
压缩比越高越强,却在哪里停下
压缩比(compression ratio,气缸最大与最小时的体积之比)是效率旋钮。空气压得越紧,同样的燃料交出的功越多。
先顶住的是温度。绝热压缩一边缩小体积一边升温。压缩末端越过自燃点,混合气会在火焰到达之前一起炸开。这就是爆震。活塞和轴承先坏。
压缩比滑块把 P–V 环拉向两侧,加热量滑块只把同一个环往上推。
涂色面积是一个循环的净功。加热量上去,效率数字几乎不动。爆震盯的是环的左端,压缩刚结束时的温度。
米奇利在1921年加入四乙基铅来推迟着火。辛烷值(抗爆指数)从这里来。添加剂也有尽头。汽油机的压缩比通常停在9到12。
把发动机化为四个过程 — 空气标准奥托循环
真实发动机把进气、燃烧、排气混在一起。为了便于处理,我们把工质设为定量的理想气体(空气),并把燃烧换成"从外部进入的热量"。这样简化后的就是奥托(Otto)循环。
它由四个过程闭合。
- 1→2:绝热压缩(活塞压缩空气)
- 2→3:定容加热(体积固定,瞬间燃烧)
- 3→4:绝热膨胀(空气推动活塞——做功冲程)
- 4→1:定容放热(经排气丢弃热量)
在绝热过程中,压缩比 与温度由下式相连。
其中 是温度, 是比热比(定压比热/定容比热,空气约为1.4)。压缩比越大,压缩末端温度 上升越陡。爆震的种子就在这个式子里。前面压缩比把环拉向两侧,原因也在这里。靠膨胀换速度的喷管是另一台机器,喉部之后必须变宽才更快。发动机里的膨胀用来推活塞。
效率由压缩比一项决定
热效率是所做的功除以所受的热。在定容加热与放热中,热量正比于温差,于是
其中 是所受的热, 是丢弃的热。代入绝热关系 ,温度全部约去,只剩下一个惊人简单的结果:
效率只留下压缩比 和比热比 。烧了多少燃料()从式子里掉了出去。加热量滑块推不动效率,原因在这。
输出里的56.5%是 的 ,63.0%是 。,损失项就是 。温度比翻过来是 。 约2.30, 约2.70。代码里的进气是300 K,压缩末端大约落在690 K和810 K。从8到12,四档换来6.5个点的效率,温度却多了约120 K。效率的斜率躺平了,温度的斜率还在。爆震比效率更早亮灯。
的闭式是0.5848。损失 ,所以 约2.41, 约722 K。加热旋钮 alpha 是 ,3对应的 约2170 K,6约4330 K。,放热按同一倍数变大。 里 alpha 被约掉。热量加倍,0.5848仍钉在原地。
压缩比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%截止比滑块只带动琥珀色曲线,横轴就是表里的压缩比。
默认 时,差距在 是7.5个点(56.5对49.0),在 是6.3个点(63.0对56.7),到 仍有5.0个点(71.0对66.0)。间隔在缩小,符号不翻。滑块收到1.2,两条曲线贴在一起。、 时狄塞尔那个分数是 。 约2.639,分数约1.171。 的奥托损失37.0%乘上1.171得43.3%,效率56.7%,和表同一行。
接着从状态温度直接构造效率,与闭式对照。
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,还是把截止比削下去#
时奥托是63.0%,截止比为2的狄塞尔是56.7%。只看同一压缩比,该选奥托。汽油守不住这个条件。预混气撞上爆震,12附近就是尽头。效率式 只留下压缩比和比热比,烧掉多少只决定输出的大小。
狄塞尔只压空气,把天花板挪走,然后走到15到22。 的狄塞尔是63.2%,和压缩比12的奥托63.0%站在同一行。 则是66.0%,超到前面。相同压缩比下的亏损是截止比那个分数造成的,翻过来的决定是允许更高的压缩比。压力先掉、液体先沸的那堵墙,在 蒸汽压比温度更早到场的空化 里另看。
相关文章
如果对您有帮助,请分享。