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

Спектр снят с ториевых сварочных электродов.
Спектр снят с ториевых сварочных электродов.

Целью ставилось собрать небольшой носимый прибор с низким потреблением. В основе SiPM Sensl microFC60035 и кристалл NaI(Tl). Остановился на таком решении.

Для передачи данных на смартфон используется BT модуль купленый на Ali. В первых версиях прибора я использовал OLED дисплей, но в дальнейшем от него отказался.

Потребление прибора при отсутствии подключения по BT, выключеном светодиоде и звуке составляет 650uA. Аккумулятора емкостью 190mAh хватает на 12 - 14 дней непрерывной работы.

На текущий момент в приложении реализовано: Сохранение спектра в форматах BqMON XML и SPE, визуальное сглаживание спектра, энергокомпенсация для спектра, вычитание и наложение фонового спектра. Сделаны маркеры изменений с отображением на спетре. При привышении порогов, спектр параллельно накапливается в отдельном массиве. Приложение написано только для Android, для устройств Apple писать не планирую.

Крайняя версия прибора выглядит так:

Проект открытый (GPL-3.0), исходники для МК, androidStudio и 3D модели коробочек можно взять здесь: https://github.com/Maniak003/DoZer

Там же в Wiki можно посмотреть подробное описание, инструкции для сборки и android приложения.

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

Обший спектр на котором мало, что можно разобрать.
Обший спектр на котором мало, что можно разобрать.

Нажимаем кнопку "History" и можем рассмотреть то, что было накоплено во время превышения уровней.

Гистограмма события
Гистограмма события

Все еще не очень понятно, попробуем включить сглаживание.

В режиме "History", все функции работы со спектром так же доступны.

Так прибор выглядит в собраном состоянии.

Комментарии (46)


  1. RU268
    13.10.2022 11:06
    +1

    Отличная статья! Попробую повторить проект))


  1. Javian
    13.10.2022 11:32
    +2

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


    1. Maniak003 Автор
      13.10.2022 17:14
      +3

      С ценой беда... Когда последний раз покупал sipm и кристаллы, стоимость прибора укладывалась в 8 - 10 тыр. Сейчас даже примерно не знаю во сколько обойдется. Думаю, на текущий момент, не меньше 20 тыр., если кристалл брать в Усолье.


  1. holyx
    13.10.2022 14:50
    +1

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


    1. Maniak003 Автор
      13.10.2022 17:10
      +3

      Гамма спектрометр позволяет выявить незначительные превышения уровня в любом канале энергий. Дозиметр "увидит" когда ПДК будет превышено в несколько раз, а спектрометр позволит обнаружить даже незначительное превышение над фоном. С кристаллом NaI:Tl такого объема, достаточно 5 минут, чтобы в грибах или чернике на рынке, обнаружить превышение уровня. Реально были прецеденты, но правда не на рынке, а уже дома...


    1. Serpiph
      13.10.2022 19:25
      +1

      На самом деле такие приборы в мире уже есть, только за оооочень большие деньги. Например, RadEye SPRD. Прибор и дозиметр, и спектрометр, и сразу определит изотоп. Очень удобно, если проверять продукты с большим ПДК типа черники, за те самые 5 минут скажет. Можно настроить чувствительность так, что будет сигналить на каждый чих. И автоматически при этом соберёт спектр, сообщит результаты и запомнит. Аналогичный этому прибор, но гораздо дешевле, многим придётся по вкусу.


      1. APLe
        14.10.2022 11:08
        +1

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


        1. Maniak003 Автор
          14.10.2022 11:32
          +1

          Да, популярный прибор. Давайте сравним:

          Время набора одинаковое, источник один и тот же.


          1. APLe
            14.10.2022 11:37

            Ваш, безусловно, лучше – кристалл больше почти на порядок. Но отличие количественное, а не качественное.

            Впрочем, если бы я не купил Radiocode год назад, то, думаю, попытался бы повторить ваш проект, а не покупал бы готовое изделие.


            1. Maniak003 Автор
              14.10.2022 11:47
              +1

              Проблема rc101 не только в кристалле... Изменив схемотехнику и sipm, можно получить разрешение около 8%. Что вполне успешно проделывает kbradar. Присмотритесь к гистограммам, у rc101 все пики слились. Так, что отличие именно качественное, если говорить в спектре.

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


              1. APLe
                14.10.2022 11:51

                Хм, интересно. Если его можно заметно улучшить просто схемотехнически, то почему производитель этого не сделал?

                Я думал, пики сливаются именно из-за проблем дешёвого кристалла.


                1. Maniak003 Автор
                  14.10.2022 12:10

                  Сложно обсуждать чужую разработку, видимо были причины. Вот сравнение sipm в rc101 и DoZer:


                  1. APLe
                    14.10.2022 12:14
                    +1

                    Я так понимаю, DoZer справа? Тогда понятно, увеличение размера кристалла – это всегда хорошо, но дорого.


                    1. Maniak003 Автор
                      14.10.2022 12:32
                      +1

                      Это sipm. Да правый -- это fc60035, а левый fc30035. Количество ячеек: 18980 и 4774 соответственно. Микроячейка (лавинный диод) может дать только два уровня, амплитуда импульса определяется количеством открывшихся ячеек. Дальше понятно...

                      Стоимость fc30035 и fc60035, можно сказать -- почти одинаковая. По крайней мере в рознице я видел такую картину.


                1. KbRadar
                  14.10.2022 14:01

                  Кристалл от РК101 даёт 6%...


        1. Serpiph
          14.10.2022 14:35

          Насколько я знаю, Radiacode-101 не пишет автоматически спектры, как это сделал автор проекта. Ну и разница в спектрах очень существенная. Тем более, что в коте 256 каналов, а в авторской работе до 4096. При этом кристаллы отличаются по объёму лишь в 3 раза (3 против 1).


          1. Maniak003 Автор
            14.10.2022 15:06
            +1

            Как написал выше KbRadar, кристалл в RC101 обладает разрешением в 6% -- это крайне трудно достижимое разрешение для используемого мной кристалла. У rc101 проблема не в кристалле.


  1. Am6er
    13.10.2022 18:23
    +1

    А сколько каналов в спектре, 4096?


    1. Maniak003 Автор
      13.10.2022 19:00
      +1

      Настраивается: 1024, 2048, 4096. Исходно всегда снимается 4096, далее в зависимости от настройки суммируется по 4, 2 или одному каналу. Эта часть не до конца реализована, на экране при увеличении разрядности растягивается спектр и набор нужно начинать сначала. Не стал доделывать, поскольку даже с SrI2:Eu, 2048 -- достаточно.


      1. Am6er
        13.10.2022 19:43

        Понятно. А экспорт в формат BecqMoni у вас 1024 каналов, насколько я понял?


        1. Maniak003 Автор
          14.10.2022 10:50

          В приложение сейчас передается 1024 канала при любом разрешении.


          1. Am6er
            14.10.2022 11:55
            +1

            Ясно, вот тут поправьте на 1: "<ChannelPitch>0.0221</ChannelPitch>\n" +

            Оно в данном случае не влияет на общую картину, но у digital MCA шаг канала должен быть равен 1.


            1. Maniak003 Автор
              14.10.2022 13:03

              Спасибо, поправлю. Не разбирался со всеми тегами, просто выгрузил из BQMonitor и использовал как есть.


      1. KbRadar
        13.10.2022 20:04

        Какое в итоге получилось разрешение со стронциййодом? Без формирователя ему тяжеловато...


        1. Maniak003 Автор
          14.10.2022 10:52
          +1

          С тем кристаллом который ты мне прислал, на приведенной схемотехнике, лучше 3.6-3.8% не получилось. Пришлось немного переделать схему, в итоге 3.3%. Но потребление возросло с 500uA до 650uA.


          1. KbRadar
            14.10.2022 11:46

            А что было добавлено?


            1. Maniak003 Автор
              14.10.2022 11:59
              +2

              Увеличил частоту adc до 8MHz, Снизил нагрузочное сопротивление для sipm до 100 ом, снизил напряжение vref до 1.8v, написал медианный фильтр для компенсации переходных процессов в старших разрядах adc (всего 8 участков по 3 канала каждый) - это что бы можно было нормально использовать 4096 разрядов, подключил и задействовал встроенный датчик температуры кристалла для термокомпенсации, уменьшил выходное сопротивление высоковольтного источника, перешел с внутреннего RC на внешний кварц. Как оказалось последнее дало самый значительный вклад. В общем половил блох и в итоге выиграл 0.3 - 0.4%.


              1. KbRadar
                14.10.2022 13:47

                Как он себя чувствует на больших загрузках? По моему опыту без канонического усилителя-формирователя как правило не обойтись - чтобы входное сопротивление ноль (классический трнсимпедансный), и дальше время формирования делать настолько коротким чтобы только чуть-чуть начало падать разрешение. У меня для стронциййода получается 1 мкс, при этом нормально себя чувствует до примерно 30 тыс цпс, но конечно потребление выше.


                1. Maniak003 Автор
                  14.10.2022 14:57
                  +2

                  Время измерения в этой поделке ~ 300nS. Помнишь я рисовал тебе тайминги ? Основная проблема этого решения -- это особенности adc с уравновешиванием заряда. Но как показала практика, значительные искажения наблюдаются только в восьми точках диапазона. Если точнее, то точек 16, первое измерение просаживается к нулю, следующий разряд увеличен на тоже значение. Картинка ниже. Сигнал с генератора в 200 кгц перевариваются без проблем. Можно и больше, но тогда нужно повышать частоту МК, а это приведет к повышенному потреблению.

                  P.S. Посмотрел сейчас исходник и вспомнил, что уменьшил частоту МК до 500khz. Так, что насчет 200khz -- это я сильно преувеличил. Забыл уже все, больше года назад -- это было... Последнее время боролся за потребление. Ну, впрочем если кому то нужно, могут запустить МК на 64mhz и сходить покопаться в каком нибудь реакторе, время работы в этом случае будет не актуально.


  1. Krasnoarmeec
    13.10.2022 18:42
    +1

    Было бы неплохо добавить статью в хаб "DIY или Сделай сам".
    Отличная статья, там ей и место ????


  1. Serpiph
    13.10.2022 19:02

    Кристалл NaI какого размера применили?


    1. Maniak003 Автор
      13.10.2022 19:05
      +2

      10x40. Брал в Усолье, разрешение от 6.8% до 8%, по 4620 руб. с доставкой.


  1. Serpiph
    13.10.2022 19:36
    +1

    Вывод спектра двумя видами сразу напомнил Nuclear Pioneer MCA. Интересная идея, нравится. Получился SpectrumFast.)


    1. Am6er
      13.10.2022 19:44

      Да, интересная реализация. Только вот как оно будет смотреться совместно с фоном? Получится 4 графика на экране же.


      1. Serpiph
        13.10.2022 19:50
        +1

        Наверно, стоит сделать выбор: или двойной вид, или один вид с фоном. Уж больно легко увидеть сразу все пики.


      1. Maniak003 Автор
        14.10.2022 10:37
        +1

        Вывожу три графика, получается вот так:

        Спектр снят в самолете, а потом наложен фон.

        Или вот так:

        Сравнение фона с другим фоном.


  1. Am6er
    13.10.2022 19:56
    +1

    Ещё один вопрос - на какой baudrate тягаются данные по Bluetooth?


    1. Maniak003 Автор
      14.10.2022 10:38
      +2

      115200


      1. Am6er
        14.10.2022 11:57

        А никаких проблем с передачей спектра не замечали? Как часто получаете обновление? Не до конца разобрал ваш код, вы там что-то с MTU делаете.


        1. Maniak003 Автор
          14.10.2022 12:21
          +3

          Использую контрольную сумму для проверки целостности. Продолжительное время использовал без контроля, но были сбои с передачей. Данные передаются с небольшой задержкой, она нужна для того, что бы android успевал переварить принятый буфер. На медленных устройствах с этим были проблемы: гистограмма еще не отрисовалась, а новые данные уже грузятся. С mtu вроде все стандартно... У меня очень небольшой опыт разработки на java, по сути это первое относительно большое приложение.


  1. Am6er
    13.10.2022 20:13
    +1

    Ещё глаз зацепился за /* Energy compensation function */

    Можете рассказать, как вы её получали? И ещё каким образом она помогает в компенсации энергии спектра? Немного не понимаю эту цель в отвязке от дозиметра.


    1. Maniak003 Автор
      14.10.2022 10:46
      +1

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

      Без компенсации:

      С компенсацией:

      Настройки полинома в форме setup, не используются, функция захардкожена в android приложении.


      1. Am6er
        14.10.2022 12:14

        Интересно... а что это даёт? Никак не пойму..


        1. Maniak003 Автор
          14.10.2022 12:35

          :) Я вот тоже не понимаю. Это наверное как кнопка "сделать хорошо". Было интересно, попробовал, вот так получилось.


  1. Serpiph
    14.10.2022 09:15

    Ещё можно глянуть на польский проект RaySID для ознакомления, чего можно достичь в разработках. Не совсем ясно, выбрались ли они на полноценные продажи.

    https://raysid.com/


    1. KbRadar
      14.10.2022 11:48

      У них там с разрешением какие-то странности, я пока так и не понял причину.