← Все публикации

🫖 Чего не сделаешь ради чая: даже запомнишь свои ошибки

В общем, пропорциональное управление всегда «недотягивает» — если наша цель 85°C, то можно держится на 84.5°C и всё. Нужна или какая-то схема котрая отключает «если мы достаточно близко» или что-то ещё придумать. Мне кажется мой чайник скорее отрубается когда устаёт включать-выключать, судя по его щелчкам.

Но можно пойти дальше и ввести интегральную составляющую, которая решает это, нуу по сти накоплением ошибки во времени. Если час недогреваем на 2°C — значит, накопили 120°C×минут недогрева. Такая "копилка ошибок" постепенно добавляет мощности, пока мы не дотянем до цели.

Формула: мощность += Ki × ∑(ошибка × время)

Вот в душе мы делаем то же самое: если вода всё ещё холоднее нужного, мы постепенно подкручиваем горячий кран, а не сразу фигачим на полную. Ну, или ошпариваемся, да.

Тут новая проблема: система может «перестараться» и мы так перескочим цель. То есть у нас два крайних случая: или мы сверху или мы снизу от нужной температуры, поэтому у нас будут колебания вокруг 85°C — то выше, то ниже. Получается, нужно не только помнить прошлые ошибки, но и предсказывать будущие. Ну тут уже точно нам понадобится математика...

Уже сейчас достаточно сложно: мощность = Kp × ошибка + Ki × ∑(ошибка × время)
То есть у чайника с целью в 85 градусов:
мощность = Kp × (85 - температура_сейчас) + Ki × накопленная_ошибка
Первое слагаемое даёт быструю реакцию, второе — медленное подтягивание к цели, устраняющее статистическую ошибку

Чего-то не хватает, да? Но мы добавим это уже в следующий раз, пока просто можно уважительно посмотреть на чайник если у вас он с температурным регулятором, вон там внутри какая загогулина оказывается!

Этот же пост в Telegram ↗