Термостат на ESP-8266 + Blynk

Dec 22, 2018 14:12

Года три назад отец сделал отличную штуку - термошкаф на балконе. Сквозь стену пробурил дыру, и поставил вентилятор, для подогрева зимой.
Потом потихоньку доделывал - датчик температуры, два режима мощности. Но всё равно ручное управление.
Когда я увлёкся Arduino, то сразу захотел это дело автоматизировать.
Полтора года назад сделал термостат на ESP-8266, сперва на соплях.
Удобно стало просто неимоверно! Красивые графики, прямое управление со смартфона, шик-блеск!
Особенно это стало заметно, когда в декабре термостат сдох. Благо, ручное управление было предусмотрено, и ничего страшного не произошло.
Но за те несколько дней, пока я делал новый, замучились родители следить за температурой.
В итоге починил, запустил, и всю зиму термостат исправно отработал.
Я несколько раз порывался описать его в ЖЖ, но всё было лень, потом после обновления накрылся сервер Blynk. И делов-то на копейку, но разбираться было некогда.
В итоге все красивые графики потерялись.

К тому же, у термостата были и недостатки:
1. Шум.
Вентилятор жужжал даже нераскрученным, т.к. ШИМ.
2. Неточность регулировки при небольших холодах.
Т.к. запускается вентилятор на ~20% номинального напряжения.
3. Датчики температуры.
Первоначально использовались датчики DHT11, ради определения влажности. Температуру они измеряют плюс-минут 1 градус.
4. Отсутствие учёта внешней температуры.

В этом году я постарался расширить и углубить, устранить и минимизировать все недостатки.
Самое простое - это датчики температуры. Теперь их 5!
Один уличный DS18B20. Два внутренних DS18B20, Два внутренних DHT11 (пусть будут, как резервные, убирать не стал).
В результате графики стали ещё красивее, чем раньше. Но самое главное - кардинально улучшилась работа ПИД-регулятора! Он стал реагировать на ситуацию адекватнее и быстрее.
Датчик внешней температуры даёт наглядность изменений мощности в сравнении с уличной температурой и позволяет переключаться на другой режим при необходимости.

Неточность регулировки мощности решил установкой дополнительного вентилятора. При небольшой требуемой мощности работает только он.
Решение весьма спорное, и даже неудачное. В момент переключения с одного вентилятора на другой происходит резкий скачок громкости. Учитывая, что минимальная мощность внешнего вентилятора - гораздо больше максимальной мощности дополнительного - этот скачок происходит регулярно, пока температура не уйдёт ниже -15.

Шум всё же снизился значительно, т.к. для устранения жужжания от ШИМ я добавил конденсатор и резистивную нагрузку. Резисторы, просто пачка, греются прилично.

Также добавлю, что прямо со смартфона можно указывать желаемую температуру и менять коэффициенты ПИД.
Именно с коэффициентами я чуть доигрался, доведя систему до автоколебаний. Потом потихоньку перебирал варианты, в итоге просто уменьшив коэффициент И.
На графике именно эти участки хорошо видны, как синусоида )

[Скрины]






esp-8266

Previous post Next post
Up