Войти Зарегистрироваться
Войти Зарегистрироваться
Андрей Крюков

Мониторинг температур в трубах теплоузла многоквартирного дома

В настоящее время вопросы жилищно-коммунальных услуг остаются для жителей многоквартирных домов достаточно острыми. Часто жители выражают недоумение несправедливым соответствием стоимости и качества предоставляемых им услуг. Такое состояние дел вызывает напряженность в отношениях между ресурсоснабжающими компаниями и потребителями, выражающаяся в огромных коммунальных долгах в связи с нежеланием жителей оплачивать дорогостоящие некачественные услуги. С другой стороны, ресурсоснабжающие компании не имеют возможности финансировать текущие ремонты, внедрять новое высокоэффективное оборудование. Существует необходимость разработки систем мониторинга параметров предоставляемых услуг с целью отделить случаи некачественной работы поставщиков от проблем, связанных непосредственно с многоквартирным домом.
Целью данной работы является создание системы контроля температуры подаваемой из котельной воды, а также температуры горячей воды, которая определяется качеством работы теплообменника в теплоузле многоквартирного дома. Температура воды является динамично-изменяемой характеристикой, поэтому мониторинг качества поставляемых услуг возможен лишь при условии «народного контроля», когда результаты мониторинга будет доступены для большого количества заинтересованных жителей.
Для достижения поставленной цели необходимо не только организовать замеры температур воды из котельной в трубах отопления, температур прямой и обратной трубы горячего водоснабжения, температуры внешней среды, но и обеспечить оцифровку данных, сбор и накопление их на жестком диске сервера, а также интерпретацию данных в виде суточных графиков с визуализацией на основе обычного WEB-браузера.
Перед началом работы необходимо детально изучить технологию работы системы теплообменника в теплоузле для подогрева воды до 55-60 °C. В случае дома, в котором была установлена система, теплоузел работает по следующему принципу: вода холодного водоснабжения поступает в специальный радиатор, в который также подключена труба отопления. Вода из котельной нагревает холодную воду до нужной температуры, после чего вода с помощью насоса подается в замкнутый контур горячего водоснабжения дома. В результате отбора воды потребителями обратно в теплообменник поступает воды меньше, чем ушло. Для восстановления необходимого давления в контур вновь поступает дополнительная холодная вода, которая снова нагревается в теплообменнике, что вызывает неустойчивость температуры. Для поддержания необходимого режима работы в теплоузле установлена автоматизированная система регулировки температуры воды. Система следит за выходной температурой, регулируя вентиль подачи воды отопления в теплообменник и обеспечивает постоянное значение температуры. Казалось бы, наличие такой автоматизированной системы гарантирует качественное предоставление услуг населению. Однако, жалобы жителей свидетельствуют о наличии проблем.
С целью реализации системы мониторинга был разработан программно-аппаратный комплекс, включающий контроллер датчиков температуры на основе arduino uno, интерфейс доступа в локальную компьютерную сеть дома, сервер хранения данных и реализации WEB-визуализации.
В качестве датчиков температуры используются цифровые микросхемы DS18B20, позволяющие проводить измерения в диапазоне от -55 до 125 °C. Каждая микросхема имеет свой уникальный 64-битный адрес, что позволяет подключать несколько датчиков к однопроводному последовательному интерфейсу OneWire и передавать значения по запросу 12-и разрядным кодом. Комплекс включает установку 4 датчиков непосредственно на корпус труб и еще один датчик выведен на улицу.
Задачи контроллера выполняет устройство Arduino Uno, реализующее функции опроса датчиков, формирование пакета данных и отправки их по запросу сервера, с использованием протокола TCP/IP. Для выполнения этих функций разработано программное приложение на языке C++. Отправка данных осуществляется с применением дополнительного модуля «Ethernet Shield», который обеспечивает подключение контроллера к локальной сети дома. Контроллер установлен в теплоузле в непосредственной близости от датчиков, поскольку опытным путем было обнаружено ограничение по максимальной длине шины OneWire около 3 метров.
Центральным устройством системы является сервер. Программное обеспечение сервера разработано на языке C# и и реализует функции опроса контроллера с частотой один раз в минуту, запись полученных значений в файл с добавлением временных меток. Учитывая, что в качестве сервера используется устаревший персональный компьютер, кроме того, исполняющий функции сервера видеонаблюдения, для минимизации объема кода мною было разработано WEB-приложение, серверная часть которого была написана на JavaScript с использованием программной платформы Node.Js. WEB-сервер ожидает HTTP запрос от клиента и транслирует WEB-страницу с кодом клиентской части приложения, после чего в результате работы этого кода клиент получает данные о температуре в течении текущих суток. В дальнейшем компьютер клиента интерпретирует данные с построением суточного графика. На WEB-странице реализована возможность выбора даты для просмотра архивных данных, а также ряд других функций.
На рисунке представлен график температур в один из дней ноября 2016 года. Совершенно очевидно, что снижение температуры воды горячего водоснабжения произошло по вине ресурсоснабжающей организации, которая допустила снижение температуры в системе отопления дома с 75 до 45 °C в течении 3 часов. Необходимо учесть, что сбой в работе отопления произошел в утренний период времени, когда большинство жителей готовятся пойти на работу, что вызывает дополнительное возмущение людей. Наличие полученных данных позволяет обращаться к поставщику с претензией и требовать неукоснительного выполнения договора поставки. Работа «народного контроля» может сыграть значимую роль в деле повышения качества услуг в сфере ЖКХ.

Результат проекта - веб-страницу - можно посмотреть по URL: http://62.84.111.201/

Исходный код можно посмотреть в репозитории github: https://github.com/Bibiw1/TemperatureView