Дозиметр для умного дома на ESP8266

В качестве датчика здесь применен советский счетчик Гейгера-Мюллера СБМ-20 (можно так же использовать и его аналоги, например, трубку СТС-5). Сердцем девайса служит популярный микроконтроллер ESP8266 с Wi-Fi на борту.
Так же есть возможность снятия показаний через USB порт, для чего было написано специальное программное обеспечение Radiation Meter Software.

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


Управление напряжением лежит на плечах ESP. С помощью кратковременных импульсов происходит накачка высоковольтной части схемы до ~400 вольт. Обратная связь реализована через делитель напряжения, который подключен ко входу АЦП микроконтроллера.
Детектирование ионизирующих частиц сопровождается появлением отрицательных импульсов на катоде трубки, которые инвертируются с помощью транзистора и вызывают срабатывание прерывания на одном из входов МК.

Что касается корпуса устройства, то он выполнен из отрезка 32 мм пластиковой сантех-трубы, один конец которой закрыт заглушкой, а на другом нарезана резьба. Плата помещается внутрь, в гнездо USB устанавливается кабель и на отверстие накручивается полипропиленовая пробка с внутренней резьбой.
При желании девайс можно прикрепить на стену, используя держатели для сантехнических труб.
В качестве источника питания подойдет обычный адаптер от мобильника.
Все файлы, необходимые для самостоятельной сборки данного дозиметра, находят в GitHub репозитории проекта.

Ссылки на покупку комплектующих оставляю ниже:

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

#define PUMPING_PIN 4 // Номер пина генератора накачки
#define PUMPING_PULSE 50 // Длина импульса накачки
#define PUMPING_FREQ 5 // Частота генератора накачки
#define PUMPING_ADC 450 // Максимальное напряжение делителя АЦП
#define PUMPING_POWER 400 // Напряжение питания счетчика

#define SENSOR_PIN 5 // Номер пина, к которому подсоединен датчик
#define SENSOR_TYPE 1 // Тип датчика (СБМ-20/СТС-5/BOI-33 = 1, СБМ-19/СТС-6 = 2)
#define SENSOR_NUM 1 // Количество установленных датчиков (параллельное подключение)
#define SENSOR_TIME 36 // Время для замера в секундах
#define SENSOR_SUM 10 // Количество замеров для усреднения

Для сборки прошивки используется сервис WiFi-IoT. В конструкторе необходимо выбрать SDK версии 1.3.0, отметить модули "Настройки по умолчанию" (указываются параметры подключения к вашей точке доступа), "MQTT клиент", "UART bridge" и "Конструктор кода" (вставляем код прошивки из файла firmware.c) и скомпилировать бинарник.

Скачиваем результат в виде одного файла и прошиваем (я использовал NodeMCU Flasher) с начального адреса 0x00000. Вход в режим программирования осуществляется одновременным нажатием двух кнопок на печатной плате. Чтобы микроконтроллер активировал работу со всеми требуемыми модулями, необходимо зарегистрировать для него PRO-лицензию. Более подробно об этом процессе можно прочитать в официальной инструкции сервиса.

UPD: Jager совместно с @anonymass разработали похожее устройство, но для сетей ZigBee. Советую сходить по ссылке и почитать.

Внимание! Все действия, описанные выше, вы выполняете на свой страх и риск. Автор не несет никакой ответственности за любой вред, причиненный пользователю или третьим лицам в результате использования материалов, программного обеспечения и другой информации, размещенной на данной странице.
Полезно? Поддержите! Это мотивирует автора к дальнейшим публикациям.

Обсуждение

11 ответов к «Дозиметр для умного дома на ESP8266»

  1. Добрый день!
    Можете скинуть печатку с отдельным USB модулем (как на фото в статье)? А то не могу в магазинах найти ни кварца такого, ни ch340 в корпусе SOP16 (как на новой версии печатки). Искал у Вас на гитхабе в коммитах и не нашел старой версии печатки. zmiteriv собака tut.by
    Спасибо.

  2. Приветствую, хочу повторить, заказываю плату новой версии (на allpcb есть купон :), какой размер паты - 30х140 мм? И еще, можете сказать размеры smd компонентов, что-то у меня есть в наличии (irlm, кварц ...), но разных размеров. Хотелось бы заказать необходимые, пока будет изготовляться плата. Возможно у Вас есть BOm файл? Спасибо за проект.

    1. Размер платы 26х135. Типоразмер кварца 3225, микруха sop16, резисторы и конденсаторы 1206, танталовые любые (но лучше A или B). В принципе, ссылки на большинство компонентов есть в статье. Если чего то нет в наличии, то просто ищем такой же товар у другого продавца.

      1. Спасибо, микруху и кварц сдую со старой платы ESP 🙂
        Только не могу понять, как передать данные на MQTT - где задается его адрес, порт и прочее?
        И какой топик?
        И что передается?
        Спасибо.

        1. Это настраивается через WEB админку устройства, когда оно уже подключено к вашей Wi-Fi сети.

  3. Посмотрел, Вы убрали из прошивки интеграцию с MQTT?
    Можете выложить текст полной прошивки??
    Спасибо.

    1. Интеграция с MQTT включается при сборке прошивки через конструктор WiFi-IoT. Читайте внимательнее статью. Исходный код счетчика и так опубликован, в статье есть ссылка на GitHub.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *