Лише додав мої 2 центи до хороших відповідей.
Практичне використання PID для регулювання температури часто має нелінійне поведінку, якщо виявлення помилок температури обмежене (вихідний посилення посилення виходу) і потужність, доступна для регулювання температури, фіксована.
Розгляньте контролер увімкнення. Система матиме затримку з моменту подачі тепла та виявлення зміни температури. Що не має циклу PID, ця затримка створює нестабільний цикл, коливальний, і якщо є істериси, потужність цикли з шумом (On-Off-On) Однак дуже високий коефіцієнт посилення (наприклад, порівняльник) призводить до невеликої похибки залишкової температури. Затримка впливає на час циклу та перевищення часу.
Якщо виникли зовнішні порушення, такі як лампа бака, яка може додавати значне тепло, регулятор нагрівача повинен відреагувати, як тільки виявиться підвищення температури від нагрівання лампи. Якщо ваша лампа не є частиною циклу PID, вона не може "передбачити" ефект (посилення зворотного зв'язку з похідними). Очевидно, якщо лампи виробляють занадто багато тепла, то температура не може бути регульована і перевищить задану температуру.
Ваш тепловий контроль з PID-регулятором, можливо, повинен мати вихід для стану лампового вимикача та регулювання виходу для регулювання потужності світла як вторинного джерела тепла, знову ж таки, якщо занадто багато.
Визначення ваших вимог до абсолютної помилки керування,% перебігу та часу відповіді - це деякі проектні введення, необхідні для оптимізації вашого циклу PID. Не менш важливим є визначення системних порушень та включення їх у систему управління для введення та виводу. напр. Теплова потужність лампи, вибір датчика та місця розташування.
Окрім досвіду.
Мій перший досвід використання водонагрівача був в епоху водяного ложа 70-х років, коли я був студентом, я створив власний темп-контролер, використовуючи термістор, керуючу ланцюг і нульовий перемикач триакулятора до обігрівача. Я почав з управління компаратором і знайшов незвичну відповідь від стрибків у ліжко. Тому я додав пропорційний контроль за допомогою нефільтрованого шуму на датчику, щоб дати мені пропорційні "пропущені цикли", коли триак ZCS був увімкнено біля порогу. Я міг регулювати температуру в межах 0,1 ° C. Відповідь була м'якішою, але результат був таким же.
Я виявив, що найбільша помилка була в розташуванні та крихітних змінах тиску води на датчику. (Тоді я був крихітним, лише 185 фунтів, але на водяному ложі 2000 фунтів <10% зміна тиску води була крихітною)
Тепловий опір між датчиком і водяним ложем створив крихітну помилку зміщення залежно від тиску води на датчик. У вашому сценарії з резервуаром з водою помилка датчика може впливати на величину резервуара та відстань між датчиком та нагрівачем або датчиком і найбільш віддаленою поверхнею води або швидкістю потоку води або бульбашок між датчиком та нагрівачем.
У моєму випадку, коли я стрибнув у ліжко, тепловий опір трохи знижувався від додаткового тиску, і індикатор живлення буде світитися тьмянішим протягом хвилини-двох, поки температура не знизиться на десяту частину градуса або не відповідає рівню очевидного підвищення температури від додаткової ваги та тиску водяний русло проти термостата.
(Урок засвоєний. Не нехтуйте джерелами збурень та їх впливом на помилку системи управління)