Термостат циркуляционного насоса

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

Логика здесь следующая – бросаем дрова в топку, теплоноситель разогревается и нагретая жидкость разносится по комнатам этим самым циркуляционным насосом. Но не слишком хорошо, если насос будет работать постоянно – не экономично, будет, кроме этого и гудеть. Для решения этой проблемы необходимо применить некоторый термостат. Как этот термостат должен работать? Исходя из логики, которая упоминалась выше, теплоноситель должен сначала прогреться, а уж потом это тепло разнести жидкостью по всему дому. Значит, термостат должен включать насос по достижении температуры теплоносителя до какого-то значения, а в процессе распределения тепла теплоноситель охлаждается и как только температура понижается до нижнего предела, насос отключается, чтобы теплоноситель прогрелся заново. Кажется ничего сверхъестественного. Тогда приступим к проектированию нашего термостата для циркуляционного насоса системы отопления.

Сам циркуляционный насос выглядит так:

Недолго думая, была задумана схема на микроконтроллере Attiny2313A:

Кроме микроконтроллера задействована достаточно стандартные комплектующие – семисегментный индикатор на два разряда для визуализации текущей температуры, а также настроек порога температуры и гистерезиса, исполнительный элемент – реле (циркуляционный насос работает от сети 220 вольт), простенький блок питания для работы схемы, пара светодиодов для индикации режимов работы, а в качестве термодатчика – DS18B20. В случае с термометром можно было бы, конечно, использовать и просто терморезистор, но DS18B20 был приобретен в удобном водонепроницаемом корпусе с проводом – это упрощает крепление термометра к теплоносителю и повышает надежность.


Температура отображается на семисегментном индикаторе с общим анодом, плюс питания подается на цифры через транзисторы T2 и T3, используются КТ3102, заменить можно на любые другие n-p-n транзисторы. Резисторы R8 – R15 ограничивают ток через сегменты цифр индикатора. С такими номиналами в 390 Ом яркость свечения светодиодов индикатор достаточная на мой взгляд. Индикатор применен с маркировкой HLEC-D512GWA2 – два разряда, общий анод, зеленый цвет светодиодов. Заменить можно на любой аналогичный по характеристикам. Исполняющим элементом является реле, использовать можно абсолютно любые реле с достаточным запасом по току. Диод VD1 включается параллельно катушке реле, это необходимо для того, чтобы погасить напряжение самоиндукции в момент выключения реле, что не даст транзистору T1 сгореть. Транзистор T1 можно также применить любой n-p-n, но уже желательно средней мощности, такой как КТ815. Блок питания для устройства собран по наиболее простой схеме с применением миниатюрного маломощного трансформатора BV EI 382 1189 – вход 220 вольт переменного напряжения, выход 9 вольт переменного напряжения, мощность 4,5 ватт. Этого с головой хватит для питания микроконтроллера и управления реле. По габаритам такой трансформатор лишь немногим крупнее импульсного блока питания, например, от старого зарядного устройства для телефона, чем можно и заменить предложенный блок питания. В исходной схеме применен стабилизатор напряжения на 5 вольт L7805, его замена возможна на любой другой стабилизатор с выходным напряжением 5 вольт. Все диоды по схеме 1n4007, если таких диодов нет в наличии, то можно заменить на любые другие с запасом по току и напряжению относительно схемы термостата. Для корректной работы термодатчика DS18B20 между выводами плюса питания и вывода данных необходимо поставить резистор сопротивлением порядка 4,7 – 10 кОм (по схеме это R2). Управление устройством осуществляется через три кнопки S2, S3, S4. Для дополнительно индикации используется два светодиода и бузер со встроенным генератором. Светодиоды можно применять любые, в моем случае я использовал 3 мм яркие светодиоды, чтобы режим работы был наиболее заметен. Бузер нужно использовать с номинальным напряжением работы 5 вольт. По большому счету он нужен по задумке для звуковой индикации перегрева теплоносителя (более 90 градусов), а также при включении и нормальном старте он издаст несколько писков. В конце для себя решил нецелесообразным его использование, но из прошивки не стал выкидывать, просто не впаивал в печатную плату. Вместо предохранителя и выключателя S1 можно использовать автомат на ток 1 – 5 ампер.

Как работает термостат? Сначала считывается информация датчика температуры, это и есть основа, на которой построена логика работы. Потом считанная текущая температура сравнивается с настройками, которые были введены в побочных меню устройства – температура включения циркуляционного насоса и гистерезис (запаздывание срабатывания) температуры включения и выключения насоса. При нагревании гистерезис прибавляется к значению температуры включения насоса, а при остывании отнимается. Таким образом, если, например, задать температуру 50 градусов и гистерезис 5 градусов, то теплоноситель должен нагреться до 55 градусов, чтобы насос включился и далее остыть до 45 градусов, чтобы насос выключился. На самом деле введение гистерезиса достаточно удобная штука – точное регулирование температуры теплоносителя нам не важно, а вот насосу не придется постоянно включаться и выключаться, чтобы держать точность до градуса. Минимальный гистерезис заложен в прошивке плюс минус 1 градус, а максимальный плюс минус 10 градусов. Думаю, этого вполне достаточно. Далее, считанная с датчика DS18B20, текущая температура сравнивается с предельным порогом значения температуры, программно значение составляет 90 градусов и при превышении которого сработает звуковой сигнал (бузер). Это будет означать, что дрова подбрасывать больше не стоит, да и прогрелось скорее всего уже все до комфортного уровня. При этом насос будет работать и разгонять жидкость по трубам до тех пор, пока температура не опустится до заданных величин, пытаясь охладить теплоноситель, перераспределив тепло в жилые помещения. Все этом можно посмотреть в цифровом формате на Си в исходнике программы для микроконтроллера, поэтому код не привожу тут. И в конце реализуется еще два уровня меню для ввода настроек температуры и гистерезиса.

Со схемой определились, теперь нужно написать прошивку по вышеописанному алгоритму, а для отладки прошивки схема была собрана на такой макетной плате:

Здесь резисторы отличаются от тех, что применены в схеме, но главное разработать логику работы термостата для циркуляционного насоса.

В устройстве имеется три меню: первое основное меню, индикация текущей температуры теплоносителя и автоматическое управление реле по заданным настройкам, по нажатию кнопки S2 переходим во второе меню, где остальными двумя кнопками задаем температуру включения насоса, еще раз жмем S2 и переходим в третье меню, где задаем гистерезис или запаздывание температуры от 1 до 10 градусов. При включении насоса загорается светодиод LED2. При включенных меню 2 и 3 будет гореть светодиод LED1. Также он будет моргать при перегреве теплоносителя более 90 градусов (также будет пищать бузер, если он установлен на плату).

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

На плате с индикатором размещен разъем для программирования микроконтроллера, он в основном соединен перемычками с самим контроллером, поэтому его можно вовсе не устанавливать. А нужен был он по большей части для финальной отладки термостата. Между собой платы соединяются шлейфом или 5 проводами. После первого запуска необходимо лишь задать настройки температуры и гистерезиса, особых настроек производить не нужно. Настройки сохраняются в энергонезависимой памяти EEPROM и загружаются при каждом включении, то есть можно один раз настроить температуру и пользоваться.

Осталось дело за корпусом. Было решено все это дело замуровать в стену, чтобы ничего не торчало. В качестве крышки будем использовать тонированное оргстекло, чтобы скрыть содержимое коробки, но при этом не делать кучу отверстий под индикатор и светодиоды.

Сама же коробка была использована первая попавшаяся под руку подходящего размера. Монтируем туда все наше добро и получаем готовое устройство. Вместо обычных таких кнопок можно использовать сенсорные кнопки, чтобы поверхность оставалась гладкой без гаек, но это уже как апгрейт, если кто-то реализует, то обязательно выкладывайте фотки в "я собрал", всем будет очень интересно!

Осталось теперь все это встроить в стену и подключить к насосу и котлу.

Для программирования микроконтроллера нужно знать конфигурацию фьюз битов:

К статье прилагается прошивка для микроконтроллера, исходный код в AVR Studio, печатные платы, а также небольшое демонстрационное видео.

По материалам сайта: http://cxem.net