Возникла необходимость установки циркуляционного насоса в полотенцесушителе, поскольку через некоторое время после ремонта горячая вода перестала самотёком заходить в него. Был куплен сам насос и смонтирован куда надо, с физикой всё в порядке. А вот с менеджментом и экономикой стало как-то грустно: даже заявленные 25 Вт мощности насоса выливаются в 219 кВт*ч потребления за год, или, если в деньгах - примерно в 800 рублей добавочных расходов. Уменьшить энергопотребление можно различными путями: 1. Заменить насос на менее производительный и маломощный; 2. запускать насос эпизодически, по мере надобности (остывания полотенцесушителей). С первым пунктом всё сложно: чем ниже энергопотребление, тем выше цены. Второй пункт можно реализовать при помощи механических, электронных таймеров (300-700 рублей) или термореле ( >2000 рублей). Бытовые таймеры страдают либо грубым квантованием времени (шаг 15 минут в суточных механических) или недостаточным количеством программ (порядка 20 в электронных), ну а готовые термореле дороговаты и требуют перенастройки при изменении температуры теплоносителя.
В связи с вышесказанным родилась хотелка самонастраиваемого устройства регулировки работы насоса. Предъявляемые требования: низкое энергопотребление, автоматическая адаптация к температуре теплоносителя, самонастройка длительности времени работы/простоя.
Для реализации использовал МК семейства Arduino (Пробовал как Mega, так и Nano), цифровой термодатчик Dallas DS18xxx, резистор на 4,7кОм, реле рабочим напряжением 5В и коммутируемым 220В (я брал твердотельное OMRON), и блок питания на 5В постоянного тока. Разумеется, нужны ещё провода, пара клеммников и коробка, куда будет уложено всё богатство. Схема творения не сохранилась, но способы подключения реле и термодатчиков широко описаны в примерах на различных сайтах, ничего нового изобретено не было. Термодатчик был размещён на выходящей из полотенцесушителя трубе, ближе к магистрали.
Принцип работы.
При включении МК включается насос, начинает измеряться температура. Насос работает, пока растёт температура на выходной трубе. При прекращении роста температуры отсчитывается wait_before_pump_off секунд и насос отключается. Далее МК ожидает падения температуры на hysteresis градусов, после чего насос включается и цикл повторяется. Если по какой-то причине (изначально недостаточная температура теплоносителя, хорошая теплоизоляция полотенцесушителя, ошибочное значение параметров) температура не может снизиться на величину гистерезиса, контроллер отсчитывает max_state_time_counter секунд и включает насос. Эти три параметра влияют на соотношение и длительность интервалов вкл/выкл. На практике достигнуто соотношение работы/отдыха на уровне порядка 1/3,5 при данных значениях параметров.