Внимание! 22.06.2020 прошивка в архиве обновлена. Теперь полностью функциональна.
Прибор состоит из наружного и внутреннего модулей. Схемы модулей приведены ниже.
Наружный и внутренний модуля соединены трёхпроводной линией – «земля», «+» и сигнальный провод. Модуля общаются по протоколу 1-wire, где внутренний модуль- ведущий. В результате такого решения удалось отнести внешний модуль на десятки метров от внутреннего. С «чистой» шиной I2C такого результата я не смог добиться- буквально на 5 метрах начинались «глюки».
Ведущий посылает в линию 1-wire запрос «запустить преобразование», который совпадает со стандартным запросом для датчиков DS18B20 ($CC+$44), что удобно с точки зрения программной реализации- одним запросом «запускаются» все 1-wire устройства. Ведомый принимает этот запрос. Запускается преобразование влажности и температуры
(МС HTU21D), и через определённый интервал полученный результат считывается внутренним модулем. При этом наружный модуль не мешает работе датчиков DS18B20, в не зависимости от режима работы- будь то замер температуры или считывание ROM.
Печатная плата внутреннего модуля разведена под корпус G939G от Gainta.
На фото видно, что на плате есть место под компоненты, не указанные на схеме. Ведется работа над версией с RF модулем на CC1101 для работы с внешними датчиками и дистанционными реле, и (или) с питанием от аккумулятора. Пока в процессе…
Для унификации предусмотрена возможность установка WiFi модуля ESP8266 в одном из двух исполнений- ES-01 или ES-07.
Предусмотрена возможность прошивки WiFi модуля прямо на плате при помощи разъема microUSB на корпусе прибора.. Для этого есть все необходимые разъемы- перемычки: ESP_RST, ESP_FLASH, MODE.
Расположение перемычек на разъеме MODE соответствует следующим режимам.
1. Основной, рабочий режим.
2. Режим обновления прошивки прибора. Доступно в приобретенном наборе или приборе. Описание процесса обновления и необходимое ПО высылается при покупке прибора или набора для сборки.
3. Режим обновления прошивки. Процесс обновления прошивки обычный и описан многократно на просторах. Для тех, кто в теме.
На схеме внутреннего блока есть некоторые » темные» места, например включение транзистора VT1 и оптопары ОК1. В зависимости от того, какой вход необходим ( с гальванической развязкой или без) одни компоненты устанавливаются, другие нет, но на плате место предусмотрено. Если необходима гальваническая развязка, транзистор VT1 не устанавливается, а оптопара с обвязкой монтируется.
Конструкция наружного модуля.
Т.к. это основной узел измерения параметров атмосферы «за бортом», опишу его подробнее.
Была поставлена задача- конструкция модуля должна обеспечивать защиту датчиков от дождя, но при этом он не должен быть герметичным. Для верности показаний необходимо обеспечить естественную конвекцию воздуха внутри модуля. При этом избежать дополнительных токарно-фрезеровальных работ, и выполнить все из материалов, доступных в любом в магазине. В результате изысканий получилась такая конструкция.
Для изготовления необходимы:
- Пластиковая труба D25mm 25-30 см. Можно использовать водопроводную «под пайку» либо трубу для кабелей.
- Заглушка сантехническая под систему D32mm. 1 шт
- Хомут крепления для трубы D25mm -2шт.
- Клеевой состав ( герметик, «эпоксидка», клей «Титан»)
На одном конце трубы
необходимо с отступом от края 5-8мм (до края отверстия) просверлить отверстия D4-6мм 4-8 шт.
Обработать край крупным наждаком либо поцарапать, например ножом. Также желательно обработать внутреннюю поверхность заглушки.
Необходимо изготовить центрирующую гильзу, например из картона. Лучше взять картон не толстый, отформовать его «гармошкой».
Затем его надо зафиксировать примерно так.
Затем на внутреннюю грань заглушки нанести валик клея или герметика
Одеть на трубку и оставить сохнуть, в зависимости от клея- до 24 часов.
В результате получится такой «гриб».
Так как внутренний диаметр заглушки больше наружного диаметра трубы, щель между ними с отверстиями в трубе образуют канал естественной вентиляции (тяги). Затем в трубку вставляется плата внешнего модуля, так чтобы плата оказалась дальше (выше) середины трубки.
И фиксируется. Самый простой вариант- стяжкой. Можно двумя 🙂
Модуль необходимо закрепить к стене при помощи кронштейнов в месте, защищенном от прямых солнечных лучей. Крепить надо заглушкой вверх!!! (мало ли…).
При вертикальной установке такая конструкция обеспечивает хорошую дождезащиту, но при этом за счет естественной вентиляции внутри плата датчика постоянно обдувается восходящим потоком, обеспечивая верность показаний температуры и влажности. Был проведен эксперимент- на корпусе модуля с наружной стороны примерно посередине расположил доп. датчик температуры DS18B20 (тоже в тени), который фиксировал температуру на улице вместе с наружным модулем. При этом показания доп. датчика в светлое время суток были всегда на 0,5 – 0,8 град. больше, чем внутри модуля. Ночью же показания практически сравнивались. Объяснением (один из вариантов) этого может быть тот факт, что доп. датчик дополнительно нагревался ИК-излучением от посторонних объектов.
Прошивка МК модулей.
В наружном модуле установлен МК ATtiny13a, во внутреннем — ATmega328p. При прогаммировании защитных битов («фьюзов») необходимо обратить внимание, что на картинках отмеченный бит соответствует значению НЕ ЗАПРОГРАММИРОВАНО, т.е. записана «1». В микроконтроллерах AVR запрограммировать «фьюз» — значит записать в соответствующую ячейку «0». В некоторых программах всё наоборот- отмеченный бит значит «запрограммировано». Чтобы не было проблем с «полёгшим камнем», рекомендуется сначала считать значения защитных ячеек, и обратить внимание на 2 из них –SPIEN и RSTDISBL. Первый (SPIEN)- ВСЕГДА запрограммирован (записан «0»), второй- (RSTDISBL) ВСЕГДА НЕ запрограммирован. Исходя из того, какой вид в конкретном приложении имеют эти биты при считывании(отмечен или нет) необходимо выставить остальные. Но НИКОГДА НЕ МЕНЯЙТЕ указанные выше биты!!! Пусть даже те, кто делают это осознано бросят в меня камень выразят свое негодование.
«фьюзы» внутреннего модуля. ATmega328P
«фьюзы» наружного модуля. Tiny13a
Прошивка в архиве полностью функциональна. Показанные ниже скрины еепрома, опубликованы так сказать для общего понимания.
Расположение логина и пароля в памяти ЕЕПРОМ МК
Это же – только в ASCII
За последним символом логина или пароля должно обязательно стоять значение $00-флаг конца поля. На поле Логина выделено 21 символ (включая флаг конца поля), на пароль- 18 символов, включая флаг.
Платы – двухсторонние. На фото показаны прототипы, на данный момент топология незначительно изменена, устранены недочеты и учтены доработки, нет монтажных перемычек.
Можно собрать прибор на основе плат Arduino. Такая кострукция полнофукциональна, не имеет программных ограничений и описана здесь.
Если заинтересовала именно эта версия прибора без ограничений — в разделе Контакты есть информация для обратной связи.
Файлы проекта- схемы, прошивки, инструкция
Файлы проекта- схемы, прошивки, инструкция
Ждем`с…