РЕКЛАМА НА ФОРУМХАУС Всем привет. На время пришлось отложить работы по этому проекту. Но они продолжаются, правда не так быстро, как бы хотелось. За это время подключил на плате модуль IMB-2131 для связи с контроллером ZONTH1000 + PRO. На экран дисплея и в личный кабинет ZONTрешил выводить оставшийся объем газа в кубических метрах и процентах. Получилось вот так: На дисплее платы 0,44 это остаток газа в метрах кубических, что составляет 9% от всего объема баллона. На нижней строчке дисплея выведены показания газового счетчика Элехант в м³. На вкладке «Отопление» в личном кабинете ZONT датчики имеют соответсвующие названия. Вывод данных в вольтах, а не в соответствующих физических величинах, производится по умолчанию заводских настроек модуля IMB-2131, которые мне было лениво менять. Но сделать это совсем не сложно. В предыдущих постах об этом было уже подробно написано. Остаток газа в м³ решено было ограничить одним десятичным знаком после запятой. В общем пока так. Сейчас жду датчики давления из Китая. Хочу так же выводить остаточное давление в баллоне. По этому показанию можно так же определять уровень заполнения баллона газом. По такому принципу уже несколько лет работают промышленные объекты по обжарке кофе. Но там газовые баллоны находятся в изотермических боксах и там постоянно поддерживается определенная температура.
Попались мне тут на глаза прикупленные на распродаже к новому году датчики протечки воды. На коробке указано название как HH-LS518A. Я их уже проверял. Работают. Но если никого в доме нет, то и пользы от них, в общем, то никакой. Идея была как то связать их с внешней системой контроля. Но все как то руки не доходили. И вот возникла идея совместить, как говорится, нужное с полезным. Подключить датчик протечки по Bluetooth к термостату ZONT, а протокол использовать от счетчиков Элехант. Таким образом, и счетчики Элехант, и датчики протечки можно будет подключать к одному и тому же устройству. Заодно хотелось сохранить функцию громкого звукового оповещения при срабатывании датчика. Ну и контроль заряда батареи. От кроны в качестве батареи питания решил отказаться. А в качестве элемента питания по габаритам проходят две батарейки ААА или литиевый элемент питания типа ER14505M на 3,6 вольта. На фото показана родная плата датчика протечки. Вместо нее была сделана другая плата, а от старой платы будет использоваться только повышающий трансформатор для излучателя. Новые печатные платы уже у меня. Надо только распаять детали, ну и написать ПО. Пока ждал печатные платы, уже многое отладил на макетных платах. Так что на следующей неделе надеюсь уже получить результат.
Основная польза от датчиков протечки воды в их совместной работе с исполнительным механизмом, который перекрывает воду и таким образом гарантированно спасает помещение от потопа. А уж оповещается хозяин или нет - вопрос второй.
Полностью с этим согласен. Но если датчик передал информацию контроллеру, то тот может автоматически включить запорное устройство или отключить насос. Так же в планах давно есть идея сделать без проводное реле, которое, кстати, вполне могло бы само отслеживать сигнал от датчика и принимать решение без участия контроллера. Кроме этого у меня есть еще одна актуальная проблема. Не выключенный кран и текущий унитаз. Если забыть на недельку, то кроме прямых денежных потерь такая ситуация может перейти в аварийную. И вот тут нам на помощь может прийти тот же счетчик Элехант, но только водяной. А исполнительный механизм однозначно нужен.
Спаял новую плату для датчика протечки. Получилось как то так. Провел даже первые тесты. Пока просто посылаю тестовый пакет данных по таймеру. Где то раз в минуту с небольшим. Данные между выделенными строками это также данные от тарифного счетчика СВТ-15. В качестве данных от датчика протечки собираюсь посылать напряжение питающей батареи, которые будут посылаться только при изменении напряжения. Например, 3,6 В => 36. 2,5 В => 25. В случае аварии (протечки) будет выводиться значение типа 70. Таким образом в контроллере можно будет установить верхний и нижний пределы для оповещения и управления запорным устройством.
Первые испытания датчика протечки вначале весьма озадачили. Ток потребления оказался слишком большим 6,5 мА. При питании от дешевых двух батареек типоразмера AAA получалось падение напряжения на 0,1В где-то за один час. В дальнейшем оказалось, что к такому току потребления приводит режим отладки микроконтроллера. Переход в обычный режим работы ток потребления снизился до 150 мкА. Это уже гораздо лучше, но хотелось бы еще уменьшить его раза в три как минимум. Кроме этого возникли вопросы с контролем напряжения батареек. На время тестирования установил время принудительной передачи данных раз в пять минут. Однако при изменении напряжения батареи данные передаются при обнаружении. Фиксируемое изменение напряжения было установлено на 10 мВ. Оказалось, что такие скачки напряжения, а при токе 150 мкА они могли быть и в сторону повышения, происходят значительно чаще, чем установленные пять минут. Соответственно работает передатчик и потребление устройства в этот момент значительно увеличивается. Измерить не получилось, слишком кратковременны пакеты, но из документации потребляемый ток передатчика может достигать 12 мА. Поэтому надо будет подумать над фильтрацией передаваемых данных. Из положительных моментов оказалось, что за пару дней тестов пропал только один пакет данных. С учетом того, что стандартный счетчик Элехант шлет данные каждые 15 секунд да и вокруг куча различных смартфонов и других умных устройств (неизвестные пакеты данных нужного формата приходят по несколько штук в секунду) результат обнадеживает. Тем более для аварийной ситуации пакеты будут дублироваться. Сейчас испытания на время отложены из-за отпуска. В общем пока так. Тут пришлось позаниматься более современными контроллерами ZONT. Время опроса датчиков у них по сравнению со старыми моделями выросло и довольно на много. Если раньше опрос был каждую секунду, то сейчас стал где-то около 15 секунд. Попался так же на время контроллер MyHeat. Он вообще никуда не торопится. Опрос датчиков происходит не чаще раза в минуту. Это я к тому, что использовать только их для управления запорными механизмами может быть проблематично. Поэтому вопрос независимого исполнительного механизма становится актуальным.
В результате экспериментов получилось снизить ток потребления в спящем режиме до 46 мкА. Это при напряжении питания 3,0 В. При напряжении 2,3 В ток потребления падает до 40 мкА. В момент пробуждения при измерении напряжения батареи ток потребления порядка 4 мА при частоте тактирования 16 мГц. Просыпание из спящего режима по сторожевому таймеру WDT происходит каждые 2 минуты 18 сек. Для частоты 16 мГц это максимальное время. Если напряжение батареи не изменяется, то информация выводится где-то один раз в 16 минут. При изменении напряжения на батареи информация выводится сразу при обнаружении. Пока решил поставить датчик на более длительное тестирование при таких параметрах. В качестве батареи используются две щелочные батарейки AAA Camelion Plus Alkaline. После очень грубых прикидок у меня получилось среднее потребление где-то 50 мкА/ч. Если не ошибаюсь, то получается порядка 438 мА в год. С учетом, что емкость батареек типа AAA находится в пределах 600 -1000 мА, то по идее на год должно хватать, даже больше. Но это в теории. Так что ставлю на тестирование, а сам попробую еще уменьшить потребление. А ниже представлено фото последней версии датчика.
Пока идет тестирование времени работы от батареек решил более подробно описать пакет данных от датчика протечки. Ниже представлен фрагмент пакетов от такого датчика. По своей структуре он полностью идентичен пакету, передаваемому счетчиками Элехант. Естественно с некоторыми отличиями. Рассмотрим пакет данных более подробно. Первые два байта у нас не изменились. 02 1B – Заголовок (02 – PDU Type и т. д.; 1B – Length длина пакета в байтах, итого 27 байт.) Следующие шесть байт в счетчиках Элехант это так называемый MAC адрес, где первые три байта дублируют номер счетчика, следующие два байта дублируют тип счетчика и его модификацию и последний байт всегда равен 0xB0. 74 01 00 01 31 B0 – MAC адрес Для датчика протечки первые три байта MAC адреса имеют коды 0x57 0x4C и 0x41, следующие два байта это 0x30 и 0x31. В текстовом виде получается WLA01. Цифры 01 указывают на версию датчика. Последний байт пока не изменился и остался 0xB0. На рисунке эти данные обозначены как идентификатор датчика и его версия. Также в идентификатор датчика входят еще пять байт. Первые два байта 0x09 и 0x02 располагаются в пакете данных там, где в счетчиках Элехант находится тип датчика и его модификация. Такие значения выбраны с учетом, чтобы не пересекаться со счетчиками Элехант. Следующие три байта, как и у счетчиков Элехант, являются серийным номером датчика. Данные от датчика протечки располагаются там же, где и у счетчиков Элехант (четыре байта). Но если у счетчика это были его показания, то в датчике протечки три байта показывают напряжение батареи и один байт – это атрибут пакета данных. Рассмотрим эти данные подробнее. В одном пакете данных мы видим значения 0x56 0x3C 0x0A 0x54, а в следующем пакете данные уже изменились на 0x55 0x3C 0x07 0x00. В первом байте данных выводится значение старшего байта значения преобразования АЦП, которое измерил микроконтроллер. Полное значение АЦП составляет 10 бит. Следующие два байта данных являются значением АЦП с учетом анализа 9 бит результата и перекодировки данных в формат датчика температуры DS18S20. Значения 0x3C 0x07 соответствуют значению 30,1. Значения 0x3C 0x0A соответствуют значению 30,3. Установи в адаптере OWA коэффициент деления на 10, мы получаем в личном кабинете контроллера ZONT значения 3,01В и 3,03В соответственно. Четвертый байт данных (атрибут пакета данных) указывает на событие в датчике протечки, которое привело к передаче пакета данных. На данный момент времени установлено шесть событий. Они приведены в таблице ниже. Соответственно в первом пакете код 0x54 указывает, что был проведен контроль напряжения по внутреннему таймеру. А во втором пакете (код 0x00) было обнаружено изменение напряжения батареи. При смене батареек мы получим сообщение с кодом 0x1C. При разряде батареи (на данный момент установлено 2,34В) каждые 2 минуты 18 секунд выводится по два сообщения с кодом 0x42 и датчик пищит два раза. Если будет обнаружена протечка, то сразу же будет выведено шесть тревожных сообщений с интервалом в одну секунду с кодом 0x57 и датчик пропищит 10 раз. Далее все повторится через 2 минуты 18 секунд. Если датчик перестанет обнаруживать сигнал протечки, то он автоматически вернется к обычному состоянию контроля батареи. Еще у нас есть счетчик пакетов, который увеличивается после каждого переданного пакета на единицу. В принципе, если будет обнаружено частое пропадание пакетов, то можно передать сообщение с каким-нибудь другим новым кодом. Но пока это не используется. Вернее я фиксирую это только для себя в процессе тестирования. В общем, настройки пока такие. Если есть предложения по логике работы датчика протечки, то с удовольствием их рассмотрю. А сейчас работаю над автономным реле для отключения подачи воды при аварийных ситуациях.
Всем привет. Прошло уже больше месяца как я поставил на тестирование первую версию датчика протечки для проверки времени работы от двух батареек типа ААА. За это время путем проб и ошибок получилось еще снизить потребление тока устройством. Сказать точно на сколько не могу, так как оказалось, что в зависимости от напряжения питания меняется потребление тока, причем в пять раз! С первым экземпляром я таких тестов не проводил. Причем основную прибавку дает радио модуль nRF24L01 и в спящем режиме. Для меня это пока загадка. И повод выяснить причину. Ниже представлен график разряда батареек первого экземпляра и таблица потребления уже для второго экземпляра. По горизонтали в графике указаны дни. Готов был ставить на тестирование второй экземпляр уже в полностью собранном виде, как оказалось, что в корпусе отказывается работать радио модуль. Я уж подумал, что на этом опыты можно заканчивать. Однако вопрос решился путем запайки модуля без установочной колодки. Модуль приподнялся миллиметра на три от нижней стенки корпуса и заработал. Все эти эксперименты заняли много времени и второй экземпляр смог поставить на тестирование только пару дней назад. Также было увеличено время передачи данных о напряжения батареи до 24 минут и доработан алгоритм контроля батареи. Эти меры позволили уменьшить количество посылок почти в два раза, что должно еще больше увеличить время работы от одного комплекта батареек. Во второй экземпляр поставил такие же батарейки, что и в первый. Из одной партии. На фото ниже представлен второй экземпляр.
Привет всем кто следит за проектом. Прошел еще один месяц тестирования. Ниже представлен график разряда батареек первого и второго экземпляра датчиков. В общем то разница очевидна. Наконец то определился с корпусом для приемника данных от счетчиков Элехант и датчиков протечки. Это корпус для стандартного символьного дисплея на две строки по шестнадцать символов. И в нем предусмотрено место для трех (четырех) кнопок. Выглядит он вот так: Печатная плата под него уже разработана и запущена в производство. Ожидается в конце ноября. Надеюсь в декабре комплект будет готов и запущен в тестирование. На этом пока все новости.
Всем привет. Печатные платы пришли и собран первый опытный образец. Выглядит это вот так: С размерами вроде не ошибся. Первый экземпляр запаял для экспериментов для себя. Здесь микроконтроллер на верхней стороне платы (где дисплей) получает и обрабатывает по радиоканалу данные от счетчиков Элехант и других датчиков, обслуживает клавиатуру и дисплей, необходимые для первичной настройки устройства. В дальнейшем его должен заменить модуль Arduino NANO. Место под него хорошо видно на обратной стороне платы. Там же располагается второй микроконтроллер, задача которого получать данные от первого МК и передавать их в нужном формате контроллерам или термостатам ZONT. За это время успел еще прикопать на даче газгольдер. А к нему прикупил ультразвуковой счетчик газа Элехант СОНИК G-4. Для контроля будет установлен также электронный датчик уровня, датчик давления и датчик температуры редуктора. Так что, будет с чем поиграться.