Удаленно следим за состоянием газового котла

Из рекламы молока всем известно, как хорошо иметь домик в деревне. Вариаций мемов на эту тему огромное количество, но суть одна — необходимо много работать. Например, в промышленных масштабах выращивать помидоры, крутить компот из яблок и окучивать малину. Мне, молодому поколению, такая постановка задачи непонятна. Зачем выращивать, когда продается готовое? Из аргументации можно услышать: «А зачем переплачивать?». Так что трагикомических воспоминаний о сенокосе или очистке полей картошки от майского жука и организации её орошения предостаточно. Поэтому мой домик в деревне, сокращенно дача, является образцом рационального пользования, поведения, неприемлемого в былые времена.

Неотъемлемой частью дачи является система отопления. Конечно, существуют дачи, которые на зиму «консервируются», но в моем случае газовый котел и все коммуникации есть. Современные котлы оборудованы электронной управляющей платой. Изучив документацию на котел Lemax Prime обнаруживаем, что к плате подключаются несколько термисторов, датчик протока, реле давления воды, электрод ионизации, электрод розжига, в общем все, что нужно для его правильного функционирования. Старые чугунные котлы имели в своем распоряжении только горелку и биметаллическую пластину с газовым клапаном. Если пламя тухло по тем или иным причинам, нужно было свернуть старую газету, зажечь её кончик и внести в область горелки. С современными котлами такую процедуру проделывать категорически не рекомендуется. Лучше посмотреть код ошибки на экране или вызвать мастера.

Газовый котёл Lemax Prime сможет работать, только если выполнить ряд условий. Во-первых, контур отопления должен быть замкнут и находиться при повышенном давлении воды, за счет чего достигается хороший КПД. Второе очевидное требование относится к сетевому напряжению питания, которое всегда должно быть. Третье, необязательное условие касается системы водоснабжения, к которой желательно подключить котел. Дело в том, что в замкнутом контуре отопления давление неизбежно падает. Это происходит из-за микропор и микротрещин в стыках труб или батарей. Хотя этот процесс идёт очень медленно, через год вам все-таки понадобится немного поднять давление воды.

Таким образом, сложные инженерные системы (газ, электричество, отопление, водоснабжение) на длительный срок оказываются без присмотра. Летом все можно «перекрыть» без каких-либо опасений, в зимнее же время года вода в батареях предрасположена к потере текучести, что представляет для отопительной системы серьезную опасность. В продаже имеются устройства слежения за температурой в помещении с поддержкой связи через GSM. Стоимость таких термометров около пяти тысяч рублей, а их вариаций огромное число. Заимствовав идею такого устройства, было решено сделать аналогичный прибор для дачи. Кто-то может спросить: «Зачем разрабатывать, когда продается готовое?» Мне, старому поколению, такая постановка вопроса непонятна. Да и зачем переплачивать.

Структурная схема устройства

Ключевая задача отопительной системы — поддержание комфортной температуры. Звучит как лозунг, который необходимо распечатать на транспаранте и использовать в акциях протеста в ожидании начала отопительного сезона. Частные домовладения, которые напрямую пользуются услугами Газпрома, в подобных мероприятиях не участвуют. Современные котлы не только способны работать  в любое время года, но и регулируют температуру при помощи внешнего термостата.

Для подключения механического комнатного термостата в котлах Lemax Prime предусмотрена отдельная клемма. «По умолчанию» она замкнута перемычкой и котел следит за обогревом помещения, ориентируясь на температуру воды в контуре отопления. Такая обратная связь неточная, поскольку теплоемкость воды и воздуха сильно отличаются. Подключение к клемме внешнего термостата способствует снижению частоты включения/выключения котла, а гистерезис температур задается биметаллической пластиной. Котел по прежнему следит за температурой воды в батареях, но учитывает и сигнал от термостата.

С помощью системы водоснабжения и современного газового котла удается избежать ещё одну насущную проблему городского жителя — регулярное отключение горячей воды. На помощь приходят двухконтурные газовые котлы. Это означает, что при необходимости задействуются дополнительные горелки подогрева воды для бытовых нужд. Так что система водоснабжения на даче крайне необходима. Она кроме того способствует комфортной жизни дачных растений, самочувствие которых напрямую зависит от качества полива. Однажды мною была предпринята попытка сделать беспроводной датчик влажности для теплицы и поливать растения, ориентируясь на его показания. Данный датчик влажности планировалось разместить в грунте и считывать информацию через радиоканал. Разработка, которая осталась на стадии опытного образца, оказалась весьма кстати.

В удаленных от города районах качество сотовой связи страдает, поэтому информировать пользователя о событиях на даче лучше при помощи SMS-сообщений. GSM связь может использоваться не только для сигнализации, но и управления. Примером могу служить автоматические ворота, которые открываются звонком на определённый номер. Не имею опыта эксплуатации таких устройств, но задумка кажется привлекательной. А вот с радиоканальными воротами работать доводилось. Если не слишком часто в карманах джинс стирать брелок, то автоматика прослужит долго. Однажды мною была предпринята попытка сделать беспроводное реле для управления воротами. Изделие получилось интересным, разве что неконкурентоспособным в силу высокой себестоимости. Ещё она разработка, которая осталась на стадии опытного образца, оказалась к месту.

Итак, началась история с газового котла, затем были затронуты острые социальные вопросы с датчиком влажности, а закончилось все радиоканальными воротами. По стечению обстоятельств описанный набор устройств поможет разрешить обозначенную в публикации проблему максимально быстро. В датчике влажности удобно объединить функции контроля температуры комнаты и защиту от протечки воды; радиоканальное реле возьмет на себя роль термостата, обеспечивая при этом радиоканальный обмен; модуль GSM призван будить меня в любое время суток с криками о помощи.

Рисунок 1 - Радиоканальная система на дачу

Рисунок 1 — Радиоканальная система на дачу

На рисунке показана схема возможной конфигурации оборудования. Закрашенные фигуры обозначают действительность, прозрачные — далёкие планы. В представленном виде задумка кажется более сбалансированной, не городить же радиоканальную связь ради одного датчика. На дачу может потребоваться не только устройство слежения за температурой и защиты от протечки воды, но и охранная или пожарная сигнализации. Возможно, даже удастся воплотить планы по автоматизации полива теплицы. Сейчас, это всего-лишь один маленький шаг для человека, но… время покажет.

Техническая составляющая

По меньшей мере, неприлично публиковаться на Хабре, не сообщив читателю ни единой технической подробности. Давайте заглянем внутрь «системы» и посмотрим, как она работает. Главное действующее лицо, микросхема CC2530, уже не молодой, но проверенный в бою радиоканальный трансивер с несущей частотой 2.4 ГГц. Считаю данную микросхему настоящим произведением искусства. За небольшие деньги в вашем распоряжении оказывается 256 кБ Flash, 8 кБ RAM, SPI, UART, RTC, DMA, ADC, TIM, STIM и радиоканал. Кроме того, микроконтроллер отлично спит, в режиме Power Mode 2 (продолжает работать Sleep Timer) потребление составляет около 1 мкА.

По дальности связи радиоканальный трансивер CC2530 уступает аналогичным чипам, работающим с частотой 868 МГц или 433 МГц. Это в первую очередь связано с проникающей способностью радиоволн. Чем выше частота, тем хуже радиоволны проходят через препятствия. Однако работа на частоте 2.4 ГГц даёт ряд неоспоримых преимуществ. Во-первых, это энергетика устройства (не в смысле эзотерики, а способность работать от батарейки), во-вторых, это размеры радиоканального тракта и число требуемых компонентов. Чем выше частота, тем меньшего размера потребуется антенна, а для её согласования используется балун. Учитывая, что CC2530 является True System-on-Chip, получаем дополнительную выгоду по себестоимости конечных изделий.

Чип CC2530 отлично подошел для управления радиоканальными воротами, также здорово он прослужит в качестве датчика протечки. Не забываем, что датчик будет использоваться на даче, общая площадь которой не превышает 40 м2. Для помещений со сложной конфигурацией перекрытий или толстыми бетонными стенами такое решение, скорее всего не подойдет. С осознанием технических границ перейдем к протоколу обмена. Вариант использования Zigbee не рассматривался с самого начала, несмотря на то, что устройства, работающие с данной технологией могут быть весьма интересными. В условиях отсутствия стабильной сотовой связи для подключения к интернету и ограниченного числа событий, небольшого диспетчера задач на базе Sleep Timer будет достаточно. В протокол закладываем команды:

Команда

Описание

Добавить устройство в базу

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

Удалить устройство из базы

Температура

События, о которых нужно информировать пользователя

Напряжение

Протечка

Сервисный обмен

Пустая команда, свидетельство, что устройство в сети

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

Чем короче размер пакета данных, тем меньше энергии требуется на его передачу. Маленькая батарейка CR1220 обрадуется, узнав, что всего 3 байта выделено под адрес и 2 под команду. В сочетании с преамбулой, синхрословом и CRC общая длина пакета составит 12 байт. Уникальный в диапазоне от 0 до 220 адрес формируем при помощи генератора случайных чисел, используем аппаратный RND с начальным значением из радиоэфира. В поле адреса 4 бита закладываем под тип устройства.

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

Отдельно стоит сказать о внутреннем датчике температуры CC2530, точность которого без калибровки составляет ±10 °С (проверка на двух микросхемах показала -2 °С и -9 °С относительно комнатной). В одной из публикаций я грешил на низкую точность и плохую чувствительность внутреннего датчика температуры микроконтроллера STM32G0. Был не прав, всё познается в сравнении. Так что калибровка температуры по нескольким точкам — неотъемлемая часть процесса разработки. К счастью, в моем случае высокая точность показаний не требуется, нужна сработка по ориентировочному пороговому значению. Итак, датчик просыпается каждую секунду, проверяет состояние электродов, каждые 30 минут контролирует напряжение батареи и температуру. Данные отправляются в радиоэфир каждые 10 минут. На другой стороне аналогичный трансивер в реле постоянно работает в режиме приема.

Рисунок 2 - Состав радиоканальной системы

Рисунок 2 — Состав радиоканальной системы

Плата реле имеет в своём распоряжении активное питание и тактовую частоту 32 МГц, т.е. большую часть времени микроконтроллеру заняться нечем. Пусть он тоже измеряет температуру, а также периодически отправляет AT команды GSM модулю SIM800L, в надежде получить »/r/nOK/r/n». В зависимости от показаний температур реле переключается, гистерезис задан программно.

Информации о работе с модулем SIM800L в интернете достаточно, вся суть сводится к отправке и обработке AT команд через интерфейс UART. Однако модуль не отличается дружелюбием и требует некоторой сноровки в обращении. Особое внимание нужно уделить напряжению питания, кроме того, поведение модуля может слегка отличаться в зависимости от прошивки. Код, который был однажды отработан на спроектированной GSM-кнопке отказался с первого раза исполняться на новой плате. Реинкарнация нейронных связей в голове о составе AT команд и добавление русскоязычного функционала (PDU-формат для отправки сообщений), потребовали некоторого времени.  

Результаты и проверка на практике

Выбирая тарифный план для своей «Умной вещи» немало удивился расценкам, а точнее необходимости ежемесячной абонентской платы. Наверняка в природе существуют умные вещи, которым для общения требуется 500 МБ мобильного интернета, 100 SMS и 30 минут за 1200 рублей в год. Но это не мой случай, лучше выбрать обычную посекундную тарификацию, отказавшись от «шведского стола». Ведь для передачи показаний достаточно одной исходящей SMS, а тревожного события — одного исходящего звонка. Что же касается запроса показаний, то используется входящий звонок с проверкой номера. В ответ, в зависимости от состояния датчика, получаем сообщение вида:

Рисунок 3 - Варианты сообщений от GSM-реле

Рисунок 3 — Варианты сообщений от GSM-реле

При оформлении тарифного плана вносится начальная оплата в размере 400 рублей. Практически вся сумма оказывается в распоряжении на счёту. Учитывая, что одно сообщение стоит 2,5 рубля, средств должно хватить на несколько месяцев, даже если запрашивать информацию ежедневно. Но не тут-то было.

Рисунок 4 - Отправка сообщений за границу

Рисунок 4 — Отправка сообщений за границу

И пока я пытался разобраться, почему не работает отправка сообщений в PDU формате, баланс счёта благополучно уменьшался. SIM800L — это вам не мобильный телефон, необходимо правильно указывать код страны.

На текущий момент изделие успешно прошло балконные испытания и размещено на объекте. Даже с учётом того, что железо было готово, разработка заняла уйму времени. Начавшись в октябре, она плавно тянулась через выходные и свободные вечера. И только прогноз погоды, с ожиданием до -17 °С ночью, заставил собрать волю в кулак и довести задачу до финальной стадии.

Рисунок 5 - GSM реле размещено на коллекторном шкафу

Рисунок 5 — GSM реле размещено на коллекторном шкафу

Реле планировалось установить на DIN-рейку в коллекторном шкафу, где за счёт скопления труб всегда теплее, однако в силу металлического экрана модуль не смог выйти на связь. Что же, пусть лежит сверху, без всяких реек. Радиоканальный датчик размещен на полу, в углу комнаты. Таким образом, удается получать более-менее объективное представление о температуре помещения и «нащупать» минимальный порог, на котором можно поддерживать работу газового котла. Функция контроля протечки не используется, входной кран системы водоснабжения перекрыт. Я не стал подключать реле к клеммам котла, как и раньше он работает от механического термистора.  

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

— Звонок поступил в 5:30 утра, я его проспал и сейчас 8:10. Т.е. с момента отключения котла прошло минимум три часа. Желательно поспешить;

— Ограничение скорости 60 км/ч, на дорогах есть камеры, местами гололед. Спешить не желательно;

— Если учитывать, что температура падает не линейно, а экспоненциально, то падение температуры будет постепенно замедляться, а значит времени много. К тому же помещение имеет некоторую теплоёмкость. Можно не спешить.

— Но все зависит от того, до какого уровня температуре предстоит падать. Открываю приложение «Погода». Саратов, температура днем -14 °С. К черту экспоненту…»

История закончилась благополучно. Код ошибки Е3 — нет тяги по реле давления воздуха. Такое случается, если образуется конденсат в дымоходе. Последний является следствием редкой работы котла при сильных отрицательных температурах. Я же собственноручно уменьшил поддерживаемую температуру до + 12 °С. Получается, что проблема возникла из-за моего вмешательства в нормальный цикл работы оборудования. Когда в помещении нужно поддерживать +20 °С, то и котел включается каждые 15…20 минут, а конденсат не успевает намерзнуть. Если же температура всей системы падает, то риск обледенения возрастает.

Вот так при испытаниях полезной вещицы для дачи было нарушено одно из золотых правил инженерии: РАБОТАЕТ — НЕ ТРОГАЙ.  

© Habrahabr.ru