04 марта 2021

RadAlert - радиометр-показометр

 

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

Прибор - это, наверное, громко сказано. ибо ни поверки нет, ни калибровки по контрольному источнику... В общем. не прибор, а показометр...

Соответственно - требования были простые:
- лежать на полочке долго-долго от одного заряда батарейки
- помнить какую то историю радиационного фона.

Под это дело подходил описанный на радиокоте "Нанит". Ну - почти подходил.
Хотелось
 а) на датчике СБМ-20, хоть он и больше
 б) что то своё. что б все хотелки не впихивать в чужой код, а написать свои
 в) поскольку я на тот момент начинал "щупать" STM32 - хотелось сделать на STM-ке....

Ну и что сказать. Изделие, в принципе, получилось. Я доволен.


Схема.

Схема в читаемом виде по ширине сюда поместится плохо. Точнее - совсем не поместится.
Посему - вот PDF.

Краткое описание работы схемы.

Питание. Устройство питается от литиевого аккумулятора. Увы, долгое время у меня устройство работало от китайского старого аккумулятора с гордой надписью 1000 мА-ч. Хватало этих "1000 махов" на месяц работы. Вот в начале года поменял аккумулятор на новый, емкостью 600 мА-ч. Уже прошло 65 дней, напряжение на аккумуляторе 3.55 вольта. Так что можно ставить любой аккумулятор, подходящий по габаритам.
Зарядка аккумулятора обеспечивается народным чипом TP4056. Ток заряда определяется резистором R1. 
Поскольку устройство сделано на МК STM32, не переваривающем питание выше 3.6 вольт - применен малопотребляющий LDO. 
Для изменения напряжения питания, превышающего питание МК, применен отключаемый делитель R5R7.
Предусмотрено оповещение пользователя о снижении напряжения питания ниже определенного порога при помощи периодических звуковых сигналов. При этом, поскольку устройство задумано как монитор 24/7 - автовыключения не предусмотрено. Просто устройство каждые 10 минут будет издавать противный звуковой сигнал. Полностью обесточить устройство можно при помощи выключателя SW1. При этом сбросится счетчик времени и потеряется статистика за последний неполный час.

Микроконтроллер. Применен STM32F103C8T6. Для подсчета времени в МК запущены часы реального времени, для них добавлен "часовой" кварц ZQ1.  Практически всё время МК проводит в режиме пониженного энергопотребления (спящем режиме), просыпаясь по секундным импульсам от часового счетчика, а так же по импульсам с датчика ионизирующего излучения. При этом ведутся все подсчеты фона, дозы, контроль порогового уровня и т.д..

Прошивка микроконтроллера осуществляется через разъем JP3 и программатор ST-Link. В обычном режиме работы этот разъем используется для управления фонариком.

Хранение статистики. Вся статистика измерений хранится во внешней EEPROM 24C32. В целях энергосбережения питание на EEPROM подается только в моменты чтения или записи. В остальное время чип обесточен.

Отображение информации. Информация отображается на ЖКИ-дисплее "от Нокии 5110", массово продаваемом на Али. В спящем режиме дисплей так же отключен от питания. 

Датчик ионизирующего излучения. Применен датчик СБМ-20. При пролёте ионизирующей частицы через объем датчика возникает пробой, в результате чего на аноде формируется короткий импульс с размахом порядка 50 вольт. Импульс через высоковольтный конденсатор C21 попадает в детектирующий узел - на базу транзистора Q6, далее он фильтруется цепочкой R19C20 и попадает на базу Q5. Фильтрация необходима, что бы импульсы высоковольтной накачки не вызывали ложных срабатываний детектирующего узла. Q5 уже подает сигнал в микроконтроллер, где и происходит дальнейшая обработка данных.

Источник высокого напряжения. Схемотехника источника высокого напряжения и схема детектирующего узла практически без изменений взяты из дозиметра "Нанит", за что отдельное спасибо их авторам. Короткие импульсы накачки, открывая транзистор Q4, вызывают в первичной обмотке трансформатора выбросы самоиндукции, ограниченные по амплитуде до 18 вольт стабилитроном D2. Ко вторичной обмотке трансформатора добавлен умножитель на быстрых диодах с малым током утечки D3-D5 и высоковольтных конденсаторах C17-C19. Причем вначале, пока конденсаторы разряжены - вся энергия самоиндукции уходит во вторичную обмотку и заряжает конденсаторы умножителя. Когда же конденсаторы зарядятся, энергия самоиндукции будет через стабилитрон D2 выделяться а резисторе R16. Стабилитрон D1 - защитный. Когда падение на резисторе R16 будет достигать уровня логической единицы - это будет сигнал для микроконтроллера, что все конденсаторы заряжены и рабочее напряжение для датчика достигнуто. Это рабочее напряжение подается на датчик через цепочку высокоомных резисторов R20-R23. Цепочка L1R15C15C16 - фильтр, препятствующий проникновению помех от импульсов накачки в основную шину питания.

Подсистема оповещения. В качестве средств оповещения и обратной связи применена пассивная пьезопищалка SP1 и плоский вибромоторчик, подключающийся к клеммам М1 и М2.

Управление. Управление устройством осуществляется при помощи трех тактовых кнопок SW2-SW4. Более подробно о функциях кнопок - далее.

Фонарик. В устройстве предусмотрена возможность реализации фонарика. Фонарик может быть реализован различными способами. Это может быть как несколько недорогих белых светодиодов, так и мощный диод с драйвером и возможности управления мощностью. Если функционал фонарика не нужен - следует замкнуть перемычку SJ1. Тогда все функции фонарика исчезнут из интерфейса пользователя.
Управление фонариком и его мощностью осуществляется комбинацией лог. уровней на контактах SWDIO и SWCLK.

SWCLK = 0, SWDIO = 0 - фонарь выключен
SWCLK = 1, SWDIO = 0 - 1/3 мощности фонаря
SWCLK = 0, SWDIO = 1 - 2/3 мощности фонаря
SWCLK = 1, SWDIO = 1 - фонарь включен на максимальную мощность.

Один из вариантов схемы фонаря: 


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

Печатная плата.

Плата для устройства разрабатывалась с учетом промышленного изготовления.
Герберы для заказа  - вот тут.

Внешний вид платы

Собранная плата

Процесс сборки.

Припаять детали, залить прошивку в МК, пользоваться. :)
А если серьезно - то сборка действительно простая - запаиваются все SMD-шные детали. Потом ставятся все выводные. Разъем зарядки дополнительно прихватывается к плате проволочным хомутом. Плата устанавливается в корпус, через отверстие под пищалкой сверлом намечается центр отверстия в корпусе, далее ступенчатым сверлом в корпусе выбирается отверстие по диаметру пищалки. После чего пищалка устанавливается так, что бы ее передняя поверхность была вровень с корпусом,  после чего запаивается.

Трансформатор. Мотается на ферритовом колечке размером 8х3х2  и проницаемостью 600НН.
У меня было чуть большее колечко с проницаемостью 800НН - прекрасно работает. Как пишут на коте - не нужно гнаться за высокой проницаемостью феррита. 600, 800,  на крайний случай 1000НН.
Колечко нужно подготовить - надфилем сточить все острые грани, после чего покрыть кольцо 2 слоями изоляционного лака типа PLASTIK-70/71.
Сначала мотается вторичная обмотка - 170 витков проводом 0.1 мм. Желательно обмотку расположить в один заход по кольцу, но без намотки "внавал". Пропитать (без фанатизма!) обмотку изоляционным лаком. 
Потом мотается первичная обмотка - 16 витков провода 0.3 мм. Я мотал монтажным проводом, там как раз жилка порядка 0,3 мм, да еще столько же изоляции.
Трансформатор устанавливается на свое место, прихватывается пластиковой заклепкой или винтом. На крайний случай просто клеится к плате тем же лаком PLASTIK.

При намотке следует соблюдать направление намотки, при этом (см. схему) конец первички подключается к началу вторички.


На коте был варант намотки трансформатора на "гантельке" от выводного дросселя - число витков в этом случае - I=16, II=201.

Вся высоковольтная часть после сборки должна быть отмыта от остатков флюса. Качественно отмыта. В идеале - в УЗ-ванне. После запуска устройства - когда всё заработает - плату в районе высоковольтной части нужно прогреть/подсушить бытовым феном градусов до 60-70 и покрыть парой слоёв того же изоляционного лака. 

Аккумулятор крепится под дисплеем. Можно двусторонним скотчем прямо к дисплею.

Прошивка МК. 

Прошивка загружается в контроллер стандартным образом, через разъем JP3 программатором ST-Link и программой ST-LINK Utility. В дальнейшем, независимо от настройки перемычки SJ1 интерфейс программирования в обычном режиме становится недоступен, поскольку порты SWDIO и SWCLK настраиваются как обычные порты ввода/вывода для управления фонарем. Для возможности повторной прошивки необходимо выбрать в меню настроек режим обновления прошивки. Тогда МК сохранит всю статистику и перезагрузится в режим ожидания заливки прошивки.

Прошивка.

Первое включение. При первом включении (а так же принудительно, если включить питание устройства с зажатой правой кнопкой) включится режим настройки контрастности дисплея. При этом будет мигать подсветка, что бы было понятно, что включился выбор контраста. Для дисплеев, продаваемых в последнее время, эта настройка не работает, там сразу в контроллере дисплея установлен фиксированный уровень контрастности. А для дисплеев старых выпусков контрастность нужно настраивать. Настраивается контрастность нажатиями кнопок влево-вправо, сохранение настройки - центральной кнопкой. Следует учесть, что автоповтора нажатий в устройстве нет, посему придется кнопочку нажимать много раз. 

Управление устройством.

Устройство управляется тремя кнопками. 

Текущие функции кнопок постоянно отображены в виде пиктограмм в нижней части дисплея.

Левая кнопка. В основном режиме работы короткое нажатие циклически переключает режимы отображения моментального фона, среднего за 5 минут, 1 час, 24 часа, 30 суток, а так же статистику по суточной и накопленной дозе.
Длинное нажатие в основном режиме - возврат из вышеописанных режимов в основной режим отображения. Какой из режимов будет основной - выбирается в настройках интерфейса.
В режиме меню левая кнопка перемещает курсор вверх по экрану.
В режиме редактирования параметра - уменьшает значение параметра / листает список влево.

Средняя кнопка. В основном режиме работы короткое нажатие вызывает меню управления и настройки дозиметра. Исключение составляют следующие режимы:

  • Режим отображения фона за 5 минут - там кнопка запускает/сбрасывает 5-минутный таймер
  • Режим отображения статистики по накопленной дозе - там кнопка обнуляет накопленную дозу (с подтверждением обнуления).
Длинное нажатие в основном режиме - принудительно вызывает окно управления фонариком. Если фонарик выключен - то включается на минимальную мощность. Если перемычкой функционал фонаря отключен - никаких действий по длительному нажатию не производится.
В режиме меню короткое нажатие средней кнопки выполняет вход в выбранный пункт меню. Длинное нажатие - выход из меню в основной режим.
В режиме редактирования параметра короткое нажатие на среднюю кнопку сохраняет редактируемый параметр, длинное нажатие - отменяет редактирование параметра.

Правая кнопка. В спящем режиме длинное нажатие включает устройство, при этом на дисплее на короткое время отображается заставка, далее устройство переходит в основной режим.
В основном режиме короткое нажатие на правую кнопку включает или выключает подсветку дисплея, длинное нажатие - переводит устройство в спящий режим.
В режиме меню правая кнопка перемещает курсор вниз по экрану.
В режиме редактирования параметра - увеличивает значение параметра / листает список вправо.

Режимы работы.

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

Режим отображения моментального фона

В левой верхней части - указатель уровня заряда батареи. В правой - текущее время.
Чуть ниже - моментальный фон. Начальный подсчет моментального фона выполняется 36 секунд. В течении этого времени справа от размерности фона светится восклицательный знак в треугольнике, что символизирует о недостоверных данных. Далее, после накопления статистики, восклицательный знак исчезает и моментальное значение фона обновляется каждую секунду, используя данные о числе ионизирующих частиц за предыдущие 36 секунд. Под значением фона отображена гистограмма регистрации ионизирующих частиц в реальном времени. Каждый столбец пикселей - число зарегистрированных частиц за одну секунду. Ширина дисплея позволяет отобразить активность за последние 84 секунды. В левой части маленькая цифра на черном фоне - высота области графика в "частицах". Так, на изображении выше видно, что в основном за секунду регистрировалось или ни одной, или одна частица, и только три раза зарегистрировалось по 2 частицы за секунду. Гистограмма ежесекундно обновляется, смещаясь влево.

Режимы отображения фона за 5 минут, час, сутки и 30 дней.
Компоновка элементов на дисплее несколько отличается от режима отображения моментального фона.

Режим отображения среднего фона за 5 минут

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

Слева от графика, под символом батареи,на черном фоне обозначен текущий период усреднения фона. Ниже - верхний и нижний пределы графика, еще ниже, на черном фоне - текущее время.

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

Режим 5-минутного отсчета.

В режиме 5-минутного таймера все данные для статистики продолжают сохраняться и учитываться.

Остальные режимы отображения среднего фона аналогичны 5-минутному:

    
Часовой, суточный и 30-дневный средний фон

Режим отображения суточной и накопленной дозы.

 
Суточная и накопленная доза и диалог сброса общей дозы

Суточная доза рассчитывается за последние 24 часа от текущего момента.
Накопленную дозу можно сбросить, нажав среднюю кнопку. При этом отобразится диалоговое окно, где нужно подтвердить сброс дозы.

Фонарик.


Меню.

Меню иерархическое, если строк меню больше 4х, в левой части появляется полоса прокрутки.

Меню первого уровня:

  • Состояние - состояние устройства
  • Фонарик  
  • Интерфейс - настройки интерфейса
  • Настройки - настройки устройства

Состояние устройства - три экрана, последовательно переключающихся центральной кнопкой:

Текущее напряжение батареи
Количество импульсов последнего цикла накачки высокого напряжения
Максимальный фон после последнего включения питания
Абсолютный зарегистрированный за все время работы устройства максимальный фон
Полная за все время работы накопленная доза
Время работы после последней зарядки
Полное время наработки устройства

Фонарик - управление фонариком. Пункт меню присутствует только при разомкнутой перемычке SJ1.

Интерфейс:

  • Контрастность - настройка контрастности дисплея 
  • Подсветка - время подсветки, состояние при выходе из спящего режима
  • Спящий режим - время ухода в спящий режим, выбор режима при пробуждении устройства
  • Кнопки - отклик кнопок - звук, вибро, звук+вибро, без звука и без вибро
  • Основн. режим - выбор режима отображения фона, являющегося основным.

Настройки:

  • Установ. время - установка часов и минут
  • Пороговый фон - выбор порогового уровня, режима определения порогового уровня, метод оповещения
  • Щелчки частиц - настройка щелчков пьезопищалкой при регистрации ионизирующей частицы
  • Настр. накачки - выбор длительности импульса накачки и длины цикла накачки. В моменты накачки мигает подсветка дисплея - для контроля процесса.
  • Версия П.О. - отображение версии ПО, полный сброс настроек и статистики, режим обновления прошивки

Вот вроде всё. По настройке накачки - в принципе, оно по умолчанию нормально работает.
Длина импульса. Чем длиннее импульс, тем больше энергии  вкачивается в трансформатор. но и при этом расход батареи выше. Нужно подобрать минимальную длину импульса, при котором в обычном режиме для накачки достаточно одного импульса (число импульсов отображается в диалоге настройки на черном фоне). Аналогично период накачки - зависит от утечек на плате и на деталях умножителя. Можно подобрать максимальный период, когда для накачки всё еще хватает одного импульса.


ПС. Почти все скриншоты реальные, были сделаны в процессе написания прошивки трансляцией в ПК копии выводимых на дисплей данных. На ПК была запущена специальная самописная программа, позволяющая отобразить изображение 1:1 как на дисплее устройства и сохранить его.

6 комментариев:

  1. Изготовил данный дозиметр в двух вариантах. Первый на своей печатной плате, изготовленной методом фоторезист. К сожалению, при проверке самодельной прозвонкой повредил микроконтроллер СТМ. Второй и окончательный вариант сделал на заводской плате. Впечатления от работы прекрасные. Умное, информативное и очень экономичное устройство.



    ОтветитьУдалить
  2. Повторили два экземпляра на заводских платах, заработало сразу. Отличная продуманная рабочая графика, как и структура меню. Кстати как и обычно бывает в разработках Андрея. Хороший прибор получился.

    ОтветитьУдалить
  3. Уважаемый товарищ Автор зачем такую микруху дорогую заложили,вот https://microblogg.ru/metron/ и вот http://arduino.ru/forum/proekty/delaem-dozimetr?page=141 обеспечивают очень высокую чувствительность на меге 328 ,особенно метрон и они совместимы с датчиками ФЭУ ,в основном СТМ нужна для стабильности работы с датчиком СБМ-21,а то он очень привередливый и вот ещё неплохой для мониторинга на пике https://www.radioradar.net/radiofan/measuring_technics/statistical_radiation_level_meter_lcd_nokia_5110.html

    ОтветитьУдалить
    Ответы
    1. Вообще то чувствительность определяется не контроллером, а примененным датчиком и обвязкой.
      И стабильность ну никак не зависит от применнного датчика и от примененного контроллера. А исключительно от схемы и от программы.
      Ну и в вашей меге328 памяти мало для хранения и работы со статистикой.
      А СТМ была совершенно недорогая. я СТМки брал по 90 центов, а мега328 на тот момент 1.25 доллара была.

      Удалить
  4. Анонимный22 ноября, 2021 12:28

    Алгоритм накачки по моему мению лучше всего на радиокоте на stm32 контроллере который, последняя версия. Разработчик его в комерцию потом ушел.
    Там после каждого импулься накачки проводится измерение напряжения и принимается решение, нужно ли еще накачивать. так что стабилитрон там нужен скорее как защитная функция а не стабилизирующая.

    ОтветитьУдалить
    Ответы
    1. Я знаю. Если не измерять, а просто качать - то стабилитрон как раз будет стабилизирующий. И импульс с него будет сигналом об окончании накачки.

      Удалить