Регуляція теплового двигуна — PID-керування зустрічає термодинаміку
Термостат, що тримає котел на заданій температурі, регулятор турбіни, що утримує швидкість генератора синхронізованою з частотою мережі, блок керування двигуном, що коригує паливо для підтримання співвідношення повітря-паливо — кожен із них є контуром зворотного зв'язку, накинутим на термодинамічний процес. Щоб правильно налаштувати такий контур, потрібно поєднати дві окремі дисципліни: термодинамічну модель того, як насправді поводиться двигун, і теорію PID-керування (пропорційно- інтегрально-диференціального регулювання) для перетворення виміряної похибки на коригувальну дію.
1. Тепловий двигун як «об'єкт керування»
У термінах теорії керування тепловий двигун (котел, камера згоряння, гаряча сторона двигуна Стірлінга чи турбіна) є «об'єктом керування» (plant): фізична система зі входом (швидкість подачі палива/тепла) і виходом (температура, тиск або швидкість валу), пов'язаними термодинамікою, а не простою алгеброю:
2. Основи PID-керування
PID-регулятор задає вхід об'єкта на основі похибки e(t) = уставка − виміряне значення, використовуючи три доданки:
3. Замикання контуру за температурою
Поєднання рівнянь об'єкта й регулятора дає динаміку замкненого контуру:
4. Налаштування: Зіглер-Нікольс та далі
Класичне налаштування знаходить коефіцієнти емпірично з відгуку самого об'єкта, без потреби в повній аналітичній моделі:
5. Ефективність під регуляцією
Керування температурою — не єдина мета: термодинамічна ефективність двигуна залежить від того, наскільки точно він утримується біля своєї проєктної робочої точки:
6. JavaScript-симулятор PID + тепловий об'єкт
// Тепловий об'єкт першого порядку + дискретний PID-регулятор
class PID {
constructor(Kp, Ki, Kd, dt) {
Object.assign(this, { Kp, Ki, Kd, dt, integral: 0, prevError: 0 });
}
step(setpoint, measured) {
const error = setpoint - measured;
this.integral += error * this.dt;
const derivative = (error - this.prevError) / this.dt;
this.prevError = error;
const u = this.Kp*error + this.Ki*this.integral + this.Kd*derivative;
return Math.max(0, Math.min(1, u)); // обмеження до діапазону клапана [0,1] (анти-windup через кламп)
}
}
function simulateEngine({ C, hA, Tamb, QmaxIn, Tset, Kp, Ki, Kd, dt = 0.5, steps = 1200 }) {
const pid = new PID(Kp, Ki, Kd, dt);
let T = Tamb;
const log = [];
for (let i = 0; i < steps; i++) {
const u = pid.step(Tset, T); // вихід регулятора в [0,1]
const Qin = u * QmaxIn; // підведене тепло [Вт]
const Qloss = hA * (T - Tamb); // охолодження Ньютона [Вт]
const dT = (Qin - Qloss) / C * dt;
T += dT;
log.push({ t: i*dt, T, u });
}
return log;
}
// Котел: Tset 90°C, довкілля 20°C, налаштовано за Зіглером-Нікольсом
const trace = simulateEngine({
C: 50000, hA: 120, Tamb: 20, QmaxIn: 15000, Tset: 90,
Kp: 180, Ki: 6, Kd: 40
});
console.log(`Кінцева температура: ${trace[trace.length-1].T.toFixed(1)} °C`);
7. Реальні застосування
Керування паровим котлом
Промислові котли використовують каскадні PID-контури: зовнішній контур регулює тиск/температуру пари, внутрішній швидший контур регулює паливний клапан або швидкість подачі пальника.
Регулятори турбін
Регулятори парових і газових турбін використовують PID (часто зі зворотним зв'язком за просадкою) для утримання швидкості обертання проти змінного електричного навантаження, стабілізуючи частоту мережі.
Керування автомобільним двигуном
Сучасні ЕБУ використовують PID-подібні контури (часто доповнені прямими картами) для регуляції холостого ходу, тиску наддуву й рециркуляції відпрацьованих газів проти термодинамічної моделі згоряння.
Хотенди 3D-принтерів
Знайомий приклад дрібного масштабу: PID (або bang-bang з гістерезисом) прошивка утримує температуру сопла проти охолодження довкіллям і поглинання тепла філаментом.
8. Обмеження та розширене керування
Класичний PID передбачає приблизно лінійний, стаціонарний об'єкт поблизу робочої точки. Реальні теплові двигуни порушують це кількома способами:
- Нелінійність: виділення тепла при згорянні та радіаційні втрати масштабуються за T⁴, а не лінійно — поширене планування коефіцієнтів PID (різні коефіцієнти при різних робочих температурах).
- Мертвий час: транспортування палива і затримка згоряння створюють чисту затримку, що дестабілізує агресивне налаштування PID — стандартним рішенням є компенсація за предиктором Сміта.
- Багатозмінний зв'язок: температура, тиск і співвідношення повітря-паливо взаємодіють — модельне прогнозувальне керування (MPC) дедалі частіше замінює одноконтурний PID у сучасному управлінні двигуном.
- Насичення виконавчого механізму: клапани й форсунки мають жорсткі межі — логіка анти-windup (кламп чи зворотне обчислення) необхідна, щоб уникнути великого перерегулювання після закінчення насичення.