Цикл Карно та межі теплових двигунів
У 1824 році Саді Карно довів, що жоден тепловий двигун, який працює між двома фіксованими температурами, не може бути ефективнішим за повністю оборотний двигун — і вивів, яким саме є цей максимальний ККД. Результат вражає: він залежить лише від температур, а не від робочого тіла, конструкції двигуна чи палива. Розуміння причини розкриває найглибший зв'язок між роботою, теплотою та ентропією.
1. Теплові двигуни та другий закон
Тепловий двигун поглинає теплоту Q_h з гарячого резервуара за температури T_h, перетворює частину її на роботу W, а решту Q_c скидає до холодного резервуара за T_c. Збереження енергії дає:
Теорема Карно стверджує, що усі оборотні двигуни, що працюють між тими самими двома температурами, мають однаковий ККД, а будь-який необоротний двигун має строго нижчий ККД.
2. Чотири оборотні процеси
1 → 2 Ізотермічне розширення
Газ розширюється за T_h, поглинаючи Q_h. Робота W₁₂ = nRT_h·ln(V₂/V₁). Температура стала → внутрішня енергія незмінна.
2 → 3 Адіабатичне розширення
Газ розширюється без теплообміну. Температура падає з T_h до T_c. Робота W₂₃ = nCᵥ(T_h − T_c). PVᵞ = const.
3 → 4 Ізотермічне стискання
Газ стискається за T_c, віддаючи Q_c. Робота W₃₄ = −nRT_c·ln(V₃/V₄). Має відводити теплоту для підтримання температури.
4 → 1 Адіабатичне стискання
Газ стискається назад до початкового стану. Температура зростає з T_c до T_h. Робота W₄₁ = −nCᵥ(T_h − T_c).
Адіабатичні кроки взаємно скорочуються за роботою (W₂₃ + W₄₁ = 0), тож чиста робота циклу дорівнює різниці двох ізотермічних робіт.
3. PV-діаграма та робота
На діаграмі тиск-об'єм охоплена площа дорівнює чистій виконаній роботі за цикл:
4. ККД Карно
Поєднуючи Q_h та Q_c, логарифм скорочується, залишаючи напрочуд чистий результат:
Цей результат глибокий: ККД залежить лише від відношення T_c/T_h. Ідеальний двигун за кімнатної температури й температури тіла (T_h=310 К, T_c=293 К) має максимальний ККД лише 5.5%.
5. Ентропія та TS-діаграма
Ентропія S визначається через оборотний теплообмін: dS = δQ_rev / T. Цикл Карно — це прямокутник на діаграмі температура-ентропія:
6. Реальні двигуни: Отто, Дизель, Стірлінг
Реальні термодинамічні цикли наближаються до ідеалу Карно різними способами:
Цикл Отто
Бензиновий двигун. Дві адіабати + дві ізохори (сталий об'єм). η_Otto = 1 − r^(1−γ), r = ступінь стиснення. Типовий η ≈ 25–35%.
Цикл Дизеля
Запалення від стиснення. Дві адіабати + одна ізохора + одна ізобара. Вищий ступінь стиснення r, ніж в Отто → дещо кращий ККД ≈ 35–45%.
Цикл Стірлінга
Дві ізотерми + дві ізохори з регенератором. Теоретично досягає ККД Карно! Використовується в сонячних дзеркальних концентраторах та підводних човнах.
Цикл Ренкіна
Цикл парової електростанції. Насос → котел → турбіна → конденсатор. Реальні станції використовують повторний перегрів та регенерацію, щоб наблизитися до ККД 40–42%.
7. Симуляція на JavaScript
// Симуляція циклу Карно — ідеальний газ, n молів
const R = 8.314; // Дж/(моль·К)
function carnotCycle(n, Th, Tc, V1, gamma = 1.4) {
// Адіабатичне обмеження: V2/V1 = (Th/Tc)^(1/(γ-1))
const adRatio = Math.pow(Th / Tc, 1 / (gamma - 1));
const V2 = V1 * adRatio;
// Ізотермічне розширення дає V3 = V2*(Tc/Th)^(1/(γ-1)) ... спрощено:
const V4 = V1; // адіабатичне стискання повертає до V1
const V3 = V2 * adRatio; // симетрична адіабата
const Qh = n * R * Th * Math.log(V2 / V1);
const Qc = n * R * Tc * Math.log(V3 / V4);
const W = Qh - Qc;
const eta = 1 - Tc / Th;
return { Qh, Qc, W, eta, V1, V2, V3, V4, Th, Tc };
}
// Генеруємо точки PV-кривої для побудови графіка
function pvCurve(type, V_start, V_end, T_or_K, n, gamma, steps = 60) {
const pts = [];
for (let i = 0; i <= steps; i++) {
const V = V_start + (V_end - V_start) * i / steps;
let P;
if (type === 'isothermal') {
P = n * R * T_or_K / V;
} else { // адіабата: PVᵞ = K
P = T_or_K / Math.pow(V, gamma);
}
pts.push({V, P});
}
return pts;
}
// Малюємо PV-діаграму на canvas
function drawPV(ctx, cycle, W, H) {
const {Qh, Qc, Th, Tc, V1, V2, V3, V4} = cycle;
const n = 1, gamma = 1.4;
const P1 = n * R * Th / V1;
const K_ad12 = P1 * Math.pow(V1, gamma); // адіабатична стала 2→3
const allV = [V1,V2,V3,V4], allP = [P1];
allP.push(n*R*Th/V2, n*R*Tc/V3, n*R*Tc/V4);
const vMin = Math.min(...allV), vMax = Math.max(...allV);
const pMin = Math.min(...allP) * 0.8, pMax = Math.max(...allP) * 1.2;
const toX = v => 60 + (v-vMin)/(vMax-vMin) * (W-80);
const toY = p => H-50 - (p-pMin)/(pMax-pMin) * (H-80);
ctx.clearRect(0, 0, W, H);
ctx.strokeStyle = '#f97316'; ctx.lineWidth = 2;
ctx.beginPath();
const segments = [
pvCurve('isothermal', V1, V2, Th, n, gamma),
pvCurve('adiabatic', V2, V3, K_ad12, n, gamma),
pvCurve('isothermal', V3, V4, Tc, n, gamma),
pvCurve('adiabatic', V4, V1, K_ad12*0.5, n, gamma)
];
let first = true;
for (const seg of segments) {
for (const {V, P} of seg) {
first ? ctx.moveTo(toX(V), toY(P)) : ctx.lineTo(toX(V), toY(P));
first = false;
}
}
ctx.closePath();
ctx.fillStyle = '#f9731620'; ctx.fill(); ctx.stroke();
}
// Приклад використання
const cycle = carnotCycle(1, 600, 300, 0.001);
console.log(`η = ${(cycle.eta*100).toFixed(1)}%`); // η = 50.0%
8. Застосування та межі
- Електростанції: сучасні газові турбіни комбінованого циклу (T_h ≈ 1500 К, T_c ≈ 300 К) досягають теоретичного η_max ≈ 80%, але на практиці забезпечують ~60% завдяки двоступеневому перетворенню.
- Теплові насоси та холодильники: цикл Карно, запущений у зворотному напрямку, — це холодильник (COP = T_c/(T_h−T_c)) або тепловий насос (COP = T_h/(T_h−T_c)).
- Ендооборотні двигуни: ККД Курзона-Альборна (η_CA = 1 − √(T_c/T_h)) дає реалістичні прогнози для двигунів, оптимізованих на максимальну потужність, а не на ККД.
- Межі другого закону: жоден процес не може зменшити повну ентропію — ККД Карно є незводимою верхньою межею, встановленою цим законом.
- Термоелектричні пристрої: кулери Пельтьє та генератори Зеєбека наближаються до Карно лише за малих різниць температур; типовий ККД становить 5–10%.