DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

  • Цена: $29,85
  • Интересовались тут, мол когда будут обзоры на что-то радиолюбительское, но не просто чтобы поиграться и забросить, а чтобы девайс был полезен в хозяйстве. Этот обзор будет как раз о нём — детектор-сигнализатор радиоактивности, который может не просто сам по себе долго работать, но и может дружить с Arduino, MSP430, iOS, Android, Windows и выводить данные. Что примечательно, модуль этот не китайский, — пришёл он мне из Израиля. Весь материал, включая и программный код, постарался упростить для лёгкого понимания широкому читателю, поскольку тема довольно интересная.

    Навигация по обзору

    1. Технические характеристики

    — замечание по сборке

    — замечание по отмывке платы

    2. Внешний вид. Контакты и органы управления

    — описание выводов и органов управления

    3. Энергопотребление

    — повышающий преобразователь NCP1402

    — распиновка понижающих преобразователей

    — понижающий преобразователь LP2950

    — понижающий преобразователь MCP1700

    — понижающий преобразователь MCP1702

    — запитка от мини солнечных панелей

    4. Синхронизация с различными платформами

    — вывод показаний в Radiation Logger под WINDOWS (через Arduino)

    — вывод показаний в монитор порта Arduino IDE под WINDOWS (через Arduino)

    — вывод показаний на дисплей Nokia 5110 (через Arduino)

    — подключение к смартфону через 3.5мм аудиоразъём

    5. Видеоприложения к обзору

    — работа от ААА батарейки через повышающий преобразователь NCP1402

    — работа от солнечных панелек и искусственного света

    — работа в связке с Arduino и выводом данных на дисплей LCD5110

    6. Итоговая сводка

    Версия модуля 3.0, и как поясняет разработчик, — он имеет несколько улучшений по сравнению с предыдущей версией, где раньше высоковольтная часть базировалась на таймере 555 и в связи с этим ранняя версия имела такие недостатки, как высокое энергопотребление, большое падение напряжения под нагрузкой и отсутствие защиты от перенапряжения. В последней версии вместо таймера 555 используется уже микроконтроллер, и вышеперечисленные недостатки, как он говорит, были устранены и улучшена стабильность до 1мЗв/ч радиационной нагрузки.

    [НАВЕРХ]

    Технические характеристики

    Разработчик: RHelectronics

    Версия: 3.0

    Совместимость со счётчиками: STS-5, SBM-20, J305, LND-712

    Напряжения счётчиков: 400В, 500В

    Диапазон питающих напряжений: 4.5-5.5В

    Токопотребление (при нормальном фоне): 30-60мкА

    Порог измерения: до 1мЗв/ч

    Индикация: сигнальная линия, буззер, светодиод

    Разъёмы: 3.5мм аудиоразъём TRRS

    Размеры: 120 x 50 мм

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

    Отмечу такой положительный момент, что паять самому придётся только DIP-компоненты, которые со сквозным монтажём. Все SMD-компоненты были уже припаяны к плате уже изначально, что удобно, для тех, кто не умеет или боится их паять.

    Элементы к плате припаивал, начиная с резисторов и диодов, с предварительной проверкой номиналов мультиметром. Впрочем, так и рекомендуется в инструкции.

    [НАВЕРХ]

    (!!!)

    Есть важный момент: на плате можно найти две маркировки: R-INT и C-INT. В зависимости от того, с каким микроконтроллером планируется использовать модуль, нужно припаять соответствующий элемент.

    Если это Arduino/MSP430 — напротив C-INT ставим конденсатор 10 нФ (103), для PIC — резистор 47К напротив R-INT. Одновременно эти два элемента — ставить нельзя. Если заказывать готовую собранную плату, то по умолчанию будет установлен конденсатор C-INT для работы с Arduino/MSP430

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    [НАВЕРХ]

    Другое замечание, которое делает разработчик, это обязательное извлечение логической схемы CD4011 и заклеивание отверстия буззера перед отмывкой платы изопропиловым спиртом (я использую его с бензином «Калоша» в пропорциях 1:1)

    [НАВЕРХ]

    Внешний вид. Контакты и органы управления

    Поскольку у меня чесались руки поскорее спаять это устройство, то прилагаю фото в уже собранном виде.

    Сама плата размера 120 х 50 мм.

    Толщина стеклотестолита 1.5 мм

    Вес платы с уже установленным датчиком — чуть более 43 гр.

    Высота платы с учётом нейлоновых ножек и самого высокого элемента — 20 мм

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключенияDIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключенияDIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    [НАВЕРХ]

    Теперь, собственно, к органам управления:

    1) — контактная колодка для подключения питания к плате. Левый контакт (-), правый (+). С установленной перемычкой (JMP3) на вход можно подавать напряжение в диапазоне 4.5-5.5В.

    2) — сдвижной выключатель, проще говоря ВКЛ./ВЫКЛ.

    3) — подстроечный резистор 10К, коим калибруется тональность буззера

    4) — индикаторный светодиод, кратко мигает при регистрации импульса.

    5) — буззер, издаёт щелчок при регистрации импульса (резонансная частота 4000Гц)

    6) — перемычка JMP1 для смены выходного напряжения, которых здесь всего два — 400В (перемычка установлена) и 500В (перемычка снята). Речь о напряжении, которое подаётся на контакты под датчик.

    7) — перемычка JMP2 для отключения буззера, если его звук не нужен.

    8) — логическая интегральная схема CD4011BE

    9) — контакты IN,GND,OUT — для подключения повышающего или понижающего стабилизатора, чтобы питать плату от напряжений, выходящих за пределы 4.5-5.5В.

    Внимание! Перед подключением стабилизатора и подачей питания, нужно снять перемычку JMP3!

    10) — перемычка JMP3 замыкает контакты IN и OUT у контактной площадки рядом, поэтому при подаче прямого напряжения 4.5-5.5В, она должна быть установлена. Но перед подключением стабилизатора напряжения и подачей питания за пределами 4.5-5.5В, её нужно снять.

    11) — разъём 3.5мм AudioJack, нужен для подключения к аудиоразъёму в смартфонах. Можно на смартфоне загрузить приложение и выодить подсчёты на экран. Распайка 4-контактная по стандарту CTIA 2012.

    12) — контакты 5V, INT, GND, первый и последний из которых для подключения питания 4.5-5.5В. Контакт INT — сигнальный, используется для подключения к MCU (например Arduino), к разъёму, настроенному на получение внешних прерываний, и соответственно, с последующей обработкой полученных импульсов.

    13-14) контакты для подключения датчика. В моём случае это СБМ-20, купленный в оффлайне. На контактах генерируются 400В напряжения с установленной перемычкой JMP1, либо 500В со снятой перемычкой JMP1.

    Внимание! Прикасаться к ним и к трубке во время работы модуля нельзя.

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    Обратная сторона платы:

    15) — микроконтроллер PIC12F629, управляющий высоковольной частью посредством мосфета.

    16) — N-канальный MOSFET BSP130

    17) — транзисторный каскад

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключенияDIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключенияDIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    [НАВЕРХ]

    Энергопотребление

    Как и было выше сказано, питание модуля по умолчанию — 4.5-5.5В, а токопотребление его варьируется от 30 до 60мкА. Сперва я подал на контактную колодку 5В напряжения от ЛБП и замерил потребляемый ток. В моём случае он составил 45мкА, как раз посередине диапазона. Значит собрана плата правильно, а флюс хорошо отмыт. Во включенном состоянии буззер модуля издаёт короткие щелчки 1-2 раза в 2-5 секунд. Не раздражающий писк, как это делают в других приборах, а именно щелчки, что эстетически порадовало.

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    Про чешские бусы, которые сделаны из ураносодержащего стекла, наверно, слышали многие

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    И про их визуальные свойства при подсвечивании ультрафиолетом:

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    При поднесении бус к датчику СБМ-20, щелчки учащаются, сооттветственно, увеличивается и потребляемый ток, но при этом происходят частые скачки тока от тех же 45мкА до 151-213мкА.

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключенияDIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    [НАВЕРХ]

    NCP1402 5В

    Но поскольку предполагается, что модуль будет носимым и желательно с большой автономностью, то 5В придётся откуда-то брать. на помощь приходят различные DC-DC преобразователи. Разработчик на своём сайте прикладывает визуальную таблицу, где модуль запитывается от обычных алкалиновых ААА-батареек через повышающий преобразователь на микросхеме NCP1402 на 5В:

    — 1 AAA батарейка = 20 дней работы*

    — 2 ААА батарейки = 45 дней работы*

    — 4 АА Ni-Mn аккумуляторы = 1 год работы* (уже без NCP1402)

    * — при естественном фоне

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    У меня есть в наличии такой преобразователь. Он примечателен тем, что может «качать» ток, даже если батарейка разрядилась ниже 1В (нижний порог по ДШ 0.8В). Его диапазон входных напряжений 0.8-5.5В. Поддерживаемый ток 200мА. Но вместе с тем, конечно, он имеет и свои особенности — максимальный ток без просадок по напряжению достигается только от 3В… 4В. Если на входе только одна батареечка 1.5В, то максимальная нагрузка без просадок по напряжению уже будет не больше 5мА, что для запитки нашего микропотребляющего модуля хватит с запасом.

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    Подключим всё это дело и посмотрим на энергопотребление модуля в связке с NCP1402 в деле, при нормальном фоне, но разных питающих напряжениях в диапазоне 0.8-4В. На выходе преобразователя во всех случаях было 4.99В и ~43мкА.

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    Теперь смотрим, сколько тока отдаёт непосредственно ЛБП.

    — здесь происходят небольшие скачки от 100мкА до 103мкА

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключенияDIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    — почти 315мкА

    816мкА

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключенияDIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    1.5В1.23мА

    2.42мА

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключенияDIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    0.9В2.49мА

    0.8В3.08мА

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключенияDIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

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

    4В — ~2.36мА

    3В — ~2.64мА

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключенияDIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    2В — ~3мА

    1.5В — ~6.32мА

    0.8В — ~8мА

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключенияDIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключенияDIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    Да, есть такой недостаток — с уменьшением питающего напряжения и нагрузки, начинает падать КПД. Высокие же значения КПД достигаются при токе не меньше 20мА и при напряжении от 4В. Так что максимально эффективно использовать этот преобразователь с модулем не получится, тем не менее, этот вариант запитки модуля имеет право на существование, поскольку ААА-батарейки продаются на каждом углу, не считая полуразряженных, либо валяющихся где-нибудь в закромах. К тому же, замену новой батарейки, если модуль работает непрерывно, придётся производить не чаще, чем заряжать какой-нибудь MI Band 2. Видео работы от 1 ААА батарейки смотрите в конце обзора.

    [НАВЕРХ]

    LP2950, MCP1700, MCP1702

    Обратимся теперь к понижающим стабилизаторам, на тот случай, если потребуется запитывать модуль от чего-то большего, чем 5В, например от кроны 9В, либо двух последовательно соединённых литиевых аккумулятора. У меня в наличии нашлось целых три штуки понижающих преобразователей в корпусе TO-92:

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    Далее будут парные скриншоты с показаниями энергопотребления при естественном фоне и при поднесении источника излучения к датчику. Питающее напряжение во всех случаях одно — 7.2В.

    [НАВЕРХ]

    LP2950

    Показания на выходе стабилизатора:

    Естественный фон — 44.2мкА, 5.04В

    Рядом с иcточником — ~155.7мкА, 5.04В

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключенияDIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    Показания на входе стабилизатора:

    Естественный фон — 91.8мкА, 7.2В

    Рядом с иcточником — ~146.3мкА, 7.2В

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключенияDIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    [НАВЕРХ]

    MCP1700

    Показания на выходе стабилизатора:

    Естественный фон — 43.7мкА, 5.01В

    Рядом с иcточником — ~154.9мкА, 5.01В

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключенияDIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    Показания на входе стабилизатора:

    Естественный фон — 45.3мкА, 7.2В

    Рядом с иcточником — ~71.8мкА (иногда 90мкА), 7.2В

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключенияDIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    [НАВЕРХ]

    MCP1702

    Показания на выходе стабилизатора:

    Естественный фон — 43.3мкА, 5.00В

    Рядом с иcточником — ~143.9мкА, 5.00В

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключенияDIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    Показания на входе стабилизатора:

    Естественный фон — 45.4мкА, 7.2В

    Рядом с иcточником — ~70.9мкА, 7.2В

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключенияDIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    Как видно из тестов выше, наиболее оптимальнее использовать понижающие преобразователи, поскольку при их использовании потерь энергии гораздо меньше и соответственно — КПД выше, чем у повышающего стабилизатора NCP1402. Самым лучшим выбором из протестированных будут стабилизаторы под маркировками MCP1700 и MCP1702. При отсутствии оных, как компромисс — LP2950, но у него и потерь больше.

    [НАВЕРХ]

    Солнечные панели

    В кладовке нашёл садовые светильники, которые втыкаются в землю, точнее то, что от них осталось, а именно — головные части с мелкими солнечными панельками. Внезапно возникла мысль испробовать работу модуля от этих панелек. Поскольку приоритет — в нужном напряжении, то на скорую руку я спаял их последовательно

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    Их размеры действительно довольно маленькие — 3 x 3.5см и 2.5 х 2.5 см. Если бы вы нашли у себя в кладовке такие, то не увидев для себя пользы, скорее всего выбросили бы:)

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    На высоте 20см светят две 8Вт лампы-трубки холодного белого свечения. Холостое напряжение 4.49В

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    Скорее подключаю панельки к модулю, запускаю, работает — прибор регистрирует фон и издаёт щелчки:) Напряжение при этом просело на 1/10 Вольта.

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    Потребляемый ток — 35.8мкА

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    Прислоняю более активный источник — напряжение скачет в примерном диапазоне 4.28-4.34В

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключенияDIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    Показание расходуемого тока колеблются 54… 137мкА

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключенияDIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    В общем, как вариант:) Видео работы смотрите в конце обзора.

    [НАВЕРХ]

    Синхронизация с различными платформами

    Сама по себе плата показала себя достойно, но функционал её слишком аскетичен, поэтому попробуем связать её с разными устройствами, дабы немного разнообразить этот функционал и получить для себя больше полезной информации.

    [НАВЕРХ]

    Вывод показаний в Radiation Logger под WINDOWS (через Arduino)

    Как понятно из подзаголовка, мы будем подключать плату к Windows и снимать показания. Посредником здесь будет выступать Arduino UNO с загруженным в него специальным скетчем, который был взят на сайта разработчика. Я его немного изменил и русифицировал комментарии. Программа, в которой будут выводиться данные — Radiation Logger.

    Распиновка подключения следующая:

    INT (плата) — вывод 2 (Arduino)

    5V (плата) — 5V (Arduino)

    GND (плата) — GND (Arduino)

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    После подключения платы к Arduino, а Arduino в свою очередь — к USB-порту компьютера, необходимо сперва запустить Arduino IDE, выбрать активный порт подключения Arduino и загрузить в него этот скетч:

    Скетч для работы с Radiation Logger
    #include <SPI.h>
    
    #define LOG_PERIOD 30000 //период вывода CPM в миллисекундах, рекомендуется 15000-60000
    #define MAX_PERIOD 60000 //маскимальный период мониторинга
    unsigned long counts; //переменная для записи количества импульсов с трубки
    unsigned long cpm; //переменная для CPM (количество распадов минуту)
    unsigned int multiplier; //переменная для подсчёта CPM
    unsigned long previousMillis; //переменная для записи времени
    void tube_impulse(){ //обработчик внешнего прерывания,
    counts++; //где идёт подсчёт импульсов за отрезок LOG_PERIOD
    }
    void setup(){ //Предварительные настройки
    counts = 0; //обнулить счётчик импульсов
    cpm = 0; //обнулить CPM
    multiplier = MAX_PERIOD / LOG_PERIOD; //расчёт множителя для перевода импульсов в CPM
    Serial.begin(9600); //скорость порта 9600
    pinMode(2, INPUT); //вывод 2 сделать входным
    digitalWrite(2, HIGH); //включить подтяжку на выводе 2
    attachInterrupt(0, tube_impulse, FALLING); //внешнее прерывание на выводе 2 при смене уровня с 1 на 0
    }
    void loop(){ //Цикл
    unsigned long currentMillis = millis();
    if(currentMillis - previousMillis > LOG_PERIOD){ //если разность переменных больше LOG_PERIOD, то выводим CPM в порт
    previousMillis = currentMillis;
    cpm = counts * multiplier; //CPM = количество импульсов * множитель
    Serial.print(cpm); //Отправить в порт рассчитанный CPM для Radiation Logger
    Serial.write(' '); //Отправить пробел для разделения величин
    counts = 0; //Сбросить счётчик импульсов
    }
    }

    Немного пояснений по величинам и данным в скетче

    Нормы естественного радиационного фона:

    нормальный — 0.1-0.2 мкЗв/ч

    допустимый — 0.2-0.6 мкЗв/ч

    повышенный — 0.6-1.2 мкЗв/ч

    С модуля по последовательному порту через Arduimo в компьютер будут отправляться импульсы — CPM (количество распадов в минуту), на основе которых в программе Radiation Logger будут формироваться логи и выстраиваться графики.

    Число 0.0057 — это коэффициент для трубки СБМ-20, необходимый для того, чтобы CPM перевести в мкЗв/час.

    MAX_PERIOD 60000 — этот время в миллисекундах, актуальное для подсчёта CPM.

    LOG_PERIOD 15000 — время обновления результатов подсчёта CPM, т.е. не обязательно ждать минуту, когда можно подсчитать распады/мин например за 15 секунд, а результат умножить на частное MAX_PERIOD 60000/LOG_PERIOD 15000 (60сек / 15сек). Однако, чем меньше время измерения, тем выше погрешность (ниже я это покажу). Для уменьшения погрешности замеры нужно производить дольше, желательно 1мин, а результаты сгладить, используя скользящую среднюю. В LOG_PERIOD можно задать другие промежутки вывода результатов подсчёта, например 20000 или 30000.

    Закрываем Arduino IDE и запускаем Radiation Logger. На виду три табло с показаниями в мкЗв/ч (англ: uSv/h) и десятитысячными долями после точки:

    Current Radiaton Level — текущий уровень радиации

    Average Radiation Level — средний уровень радиации за последнюю минуту

    Absorbed Value — поглощённая доза

    Имеются опции и настройки:

    — логирование измерений в файл (а также построение графика по логам)

    — логирование измерений на сервисы в Xively и Radmon

    — Alert Threshold — порог тревоги

    — Коэффициент Conversion Factor для перевода CPM в мкЗв/ч (uSv/h)

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    В пункте меню File -> Settings надо выбрать порт, к которому подключено Arduino с модулем, протестировать подключения, сохранить. После чего нажать на кнопку Start Log и данные будут поступать и логироваться, а табло соотвественно начнут выдавать показания.

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    Далее приведу скриншоты с графиками при разном времени обновления результатов измерения: 15c, 30c, 60c. Во всех трёх случаях измерение производил в течении 1 часа. На графиках вы увидете «пилу» в нижней части — измерение фона и явно высокую точку подъёма — в этот момент я подносил к датчику те самые чешские бусы. Сам же датчие всегда лежал в одном и том же месте.

    15 секунд — очень сильный разброс судя по нижней пиле: 0-0.5мкЗв

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    30 секунд — разброс уменьшился

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    60 секунд — здесь разброс ещё меньше

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    Как я уже и говорил, если добавить скользящую среднюю, то показания будут более сглаженными.

    [НАВЕРХ]

    Вывод показаний в монитор порта Arduino IDE под WINDOWS (через Arduino)

    Такой вариант использования тоже можно продемонстрировать.

    Скетч для вывода данных в монитор морта Arduino IDE
    #include <SPI.h>
    
    #define LOG_PERIOD 30000 //период вывода CPM в миллисекундах, рекомендуется 15000-60000
    #define MAX_PERIOD 60000 //маскимальный период мониторинга
    #define CONV_FACTOR 0.0057 //коэффициент для трубки СБМ-20, для перевода в мкЗв/час
    unsigned long counts; //переменная для записи количества импульсов с трубки
    unsigned long cpm; //переменная для CPM (количество распадов минуту)
    unsigned int multiplier; //переменная для подсчёта CPM
    unsigned long previousMillis; //переменная для записи времени
    float mkzvHours = 0.0; // мкЗв/ч
    void tube_impulse(){ //обработчик внешнего прерывания,
    counts++; //где идёт подсчёт импульсов за отрезок LOG_PERIOD
    }
    void setup(){ //Предварительные настройки
    counts = 0; //обнулить счётчик импульсов
    cpm = 0; //обнулить CPM
    multiplier = MAX_PERIOD / LOG_PERIOD; //расчёт множителя для перевода импульсов в CPM
    Serial.begin(9600); //скорость порта 9600
    pinMode(2, INPUT); //вывод 2 сделать входным
    digitalWrite(2, HIGH); //включить подтяжку на выводе 2
    attachInterrupt(0, tube_impulse, FALLING); //внешнее прерывание на выводе 2 при смене уровня с 1 на 0
    }
    void loop(){ //Цикл
    unsigned long currentMillis = millis();
    if(currentMillis - previousMillis > LOG_PERIOD){ //если разность переменных больше LOG_PERIOD, то выводим CPM в порт
    previousMillis = currentMillis;
    cpm = counts * multiplier; //CPM = количество импульсов * множитель
    mkzvHours = cpm * CONV_FACTOR; //перевод CPM в мкЗв/час
    Serial.print("CPM: ");
    Serial.print(cpm); // Вывод CPM в монитор порта
    Serial.print(" | ");
    Serial.print(mkzvHours); // Вывод дозы в мкЗв в монитор порта
    Serial.print(" uSv/h");
    Serial.print("rn");
    counts = 0; //Сбросить счётчик импульсов
    }
    }

    Разбег показаний:

    15 сек — 0.23 мкЗв/ч

    30 сек — 0.09 мкЗв/ч

    60 сек — 0.06 мкЗв/ч

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключенияDIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключенияDIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    [НАВЕРХ]

    Вывод показаний на дисплей Nokia 5110 (через Arduino)

    Наверняка многие уже задумались об использовании счётчика Гейгера в портативном варианте и с выводом данных на дисплей. В моём случае это будет дисплей Nokia 5110.

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    Перед тем, как использовать нижеприведённую программу, скачайте библиотеку для работы с этими дисплеями: LCD5110_Basic.h, — содержимое поместите по пути Arduino/Libraries.

    Скетч для вывода данных на дисплей LCD5110
    #include <SPI.h>
    
    #include <LCD5110_Basic.h> //Базовая библиотека для работы с LCD5110
    #define LOG_PERIOD 15000 //период вывода CPM в миллисекундах, рекомендуется 15000-60000
    #define MAX_PERIOD 60000 //маскимальный период мониторинга
    #define CONV_FACTOR 0.0057 //коэффициент для трубки СБМ-20, для перевода в мкЗв/час
    // Назначение выводов (SCK, MOSI, DC, RST, CS)
    LCD5110 myGLCD(3,4,5,6,7); // порты в Ардуино для подключения LCD5110
    // Шрифты
    extern uint8_t SmallFont[];
    extern uint8_t MediumNumbers[];
    extern uint8_t BigNumbers[];

    unsigned long counts; //переменная для записи количества импульсов с трубки
    unsigned long cpm; //переменная для CPM (количество распадов минуту)
    unsigned int multiplier; //переменная для подсчёта CPM
    unsigned long previousMillis; //переменная для записи времени
    unsigned long currentMillis; //переменная, засекающая мс
    float mkzvHours = 0.0; // мкЗв/ч
    void tube_impulse(){ //обработчик внешнего прерывания,
    counts++; //где идёт подсчёт импульсов за отрезок LOG_PERIOD
    }
    void setup(){ //Предварительные настройки
    counts = 0; //обнулить счётчик импульсов
    cpm = 0; //обнулить CPM
    multiplier = MAX_PERIOD / LOG_PERIOD; //расчёт множителя для перевода импульсов в CPM
    Serial.begin(9600); //скорость порта 9600
    pinMode(2, INPUT); //вывод 2 сделать входным
    digitalWrite(2, HIGH); //включить подтяжку на выводе 2

    myGLCD.InitLCD(65); //задать контрастность LCD5110
    myGLCD.clrScr(); //очистить дисплей
    myGLCD.setFont(SmallFont); //использовать мелкий шрифт
    myGLCD.print("test example", CENTER, 8); //вывести надпись на 2-й строке
    myGLCD.print("GEIGER COUNTER", CENTER, 24); //вывести надпись на 4-й строке

    delay(2000); //пауза 2 сек
    myGLCD.clrScr(); //очистить дисплей
    myGLCD.print("Counting...", CENTER, 24); //вывести в центре надпись "идёт подсчёт"
    attachInterrupt(0, tube_impulse, FALLING); //внешнее прерывание на выводе 2 при смене уровня с 1 на 0
    }
    void loop(){ //Цикл
    currentMillis = millis();
    if(currentMillis - previousMillis > LOG_PERIOD){ //если разность переменных больше LOG_PERIOD, то выводим CPM в порт
    previousMillis = currentMillis;
    cpm = counts * multiplier; //CPM = количество импульсов * множитель
    mkzvHours = cpm * CONV_FACTOR; //перевод CPM в мкЗв/час
    myGLCD.clrScr();
    myGLCD.setFont(SmallFont); //использовать мелкий шрифт
    myGLCD.print("uSv", RIGHT, 32); //вывести ед.измерения млЗв/ч на 5-й строке справа
    if (cpm > 99){ //если CPM > 99,
    myGLCD.print("CPM", RIGHT, 8); //то ед.измерения CPM сдвинуть к правому краю
    }
    else{ //в остальных случаях
    myGLCD.print("CPM", CENTER, 8); //ед.измерения CPM будет в центре
    }
    myGLCD.setFont(MediumNumbers); //использовать средний шрифт
    myGLCD.printNumI(cpm, LEFT, 0); //вывести величину CPM слева
    myGLCD.setFont(BigNumbers); //использовать крупный шрифт
    myGLCD.printNumF(float(mkzvHours), 2, LEFT, 20); //вывести величину мкЗв/ч слева
    counts = 0; //Сбросить счётчик импульсов
    }
    }

    Правильная распиновка подключения для этого скетча. Впрочем, при желании вы их можете изменить.

    /* ПОДКЛЮЧЕНИЕ ДЛЯ Nokia_5110_Basic.h
    
    ПРИ ПОСЛЕДОВАТЕЛЬНОСТИ:
    LCD5110 myGLCD(3,4,5,6,7);
    CLK (SCK) -> 3
    DIN (MOSI) -> 4
    DC -> 5
    RST -> 6
    CE (CS) -> 7
    */

    Я уже всё подключил, скетч загрузил. Питание подал, и пошли замеры.

    Демонстрационное видео смотрите в конце обзора.

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    [НАВЕРХ]

    Подключение к смартфону через 3.5мм аудиоразъём

    В модуле есть 4-контактный аудиоразъём 3.5мм для подключения к такому же аудиоразъёму смартфона посредством TRRS-кабеля:

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    Поскольку у меня такого кабеля нет, то я спаял его сам. Но стоит отметить, что Android устройства в этом плане капризны — на многих устройствах при подключении такого кабеля на верхней статусной панели отображается пиктограмма наушников, а нужно, чтобы была пиктограмма наушников с микрофоном, так как сигнал с модуля будем принимать именно по микрофонной линии. С iOS-устройствами в этом плане, как я понял, — обстоят проще. Стандарт распиновки разъёма у модуля — CTIA, т.е. крайний контакт не «земля», а микрофонная линия, поэтому аудиоразъём в смартфоне тоже должен быть CTIA-стандарта:

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    Приложение для iOS-устройств называется Geiger Bot, которое также можно найти в AppStore. Но поскольку у меня нет «яблочного» девайса, проверю работу под Android. Рекомендуемое разработчиком приложение под эту систему — GeigerCounter (можно скачать с этой страницы). Я его скачал и установил. В программе отображаются только количество импульсов CPM, что не очень удобно. Из возможностей можно задавать пороги, отправлять данные на сервер с актуальными координатами, которые отображаются здесь же. Эту программу я нахожу не очень удобной.

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    Про работу с программой Atom Simple, доступной в PlayMarket, производитель ничего не сообщал, однако я решил попробовать, благо здесь используется тот же принцип считывания данных по микрофонной линни. Работает. Но лично по мне удобнее было бы использовать программу, где можно самому производить тонкие настройки по типу трубок и сглаживанию величин.

    DIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключенияDIY-набор для сборки энергоэффективного детектора радиоактивности c широкими возможностями подключения

    [НАВЕРХ]

    Видеоприложения к обзору

    Работа от ААА батарейки через повышающий преобразователь NCP1402

    Работа от солнечных панелек и искусственного света

    Работа в связке с Arduino и выводом данных на дисплей LCD5110

    [НАВЕРХ]

    Итоговая сводка

    Планы.

    Простор для разработки огромен и эта широта выбора немного сбивает с толку, но сперва нужно разработать компактный корпус и распечатать его за 3D принтере. Тем временем поиграться с алгоритмами усреднения значений, добавить разные режимы замеров и обеспечить удобный для глаз вывод показаний на дисплее. Разумеется, задействовать режимы энергосбережения. Я экспериментировал с Atmega168 и мне пока удалось добиться 25мкА токопотребления в режиме PowerDown. На этом скорее всего и остановлюсь, так как всё равно дисплей Nokia 5110 — самый потребляемый элемент в сборке, чуть более 200мкА, без подстветки. Если сейчас появились более энергоэффективные дисплеи для работы с AVR, то будет любопытно узнать про такие из комментариев:)

    Про варианты чтения данных.

    Как сообщает разработчик, аудиоразъём платы модуля посылает довольно длинный фиксированный импульс — 1мс, поэтому такой способ подключения подойдёт только для измерения фона и источников с невысоким уровнем излучения. Поэтому для высокой скорости измерения он рекомендует использовать Arduino, так как контакт INT имеет длительность прерывания (1-0-1) — 10мкс.

    По питанию.

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

    Выводы.

    Соглашусь, что для полноты картины не хватает эталонного источника, однако за его отсутствием измерения пришлось производить «как есть». Тем не менне работоспособность была успешно проверена. Можно посетовать на чувствительность СБМ-20, которая раза в 3 ниже, чем например у Бета-2, но и цена вопроса по поводу СБМ-20 — доступная. Для бытовых нужд такой вариант вполне годится. Что касается впечатлений в целом, то их накопилось масса, потому что вижу много сценариев применения, между которыми легко даже запутаться:) Для меня это была весьма интересная находка.

    Надеюсь, материал оказался интересен и полезен.

    [НАВЕРХ]

Понравилась статья? Поделиться с друзьями:
Agkz.ru - блог файлообменника