Представляю вашему вниманию дозиметр-радиометр "писк". Дозиметр был разработан как давняя мечта, ещё с времён игры в сталкер. Моей целью было разработать максимально дешёвое и надёжное устройство, и в дальнейшем отдать его на "растерзание публики". Весь программный код доступен под лицензией MIT, то есть при редактировании должна быть ссылка на оригинал. Дозиметр имеет 2 версии, они идентичны, отличаются только расположением выключателя, кнопок, дисплея и микроконтроллером. Ссылки на печатные платы в самом низу. На данный момент прошивка готова на 99%, осталось доделать мелочи по типу индикации заряда итд. Не ругайте, код пишет один человек в свободное время.
Я решил отказаться от упрощённых версий и оставил только для экранов нокии. Существует две версии на atmega328p-au, и на atmega328p-mu. Генерация высокого напряжения реализована на irf840, диоде HER108, конденсаторе и катушке индуктивности на 1мГн. В общем обычный dc-dc с микроконтроллерным управлением. Чтение высокого напряжения реализовано на делителе 126.6МОм/220кОм. Снятие показаний происходит с помощью эмиттерного повторителя на кт315, и идёт на вход прерываний INT0. Что по питанию. По питанию использована микросхема ME2108A50PG, которая отвечает за повышение напряжения до 5 вольт, и зарядное устройство для литиевых аккумуляторов на tp4056. Разъём Micro USB нужен число для зарядки устройства. Возможно потом, если публике хочется обновлять прошивку по юсб, а не через программатор, могу добавить и юарт. Возможно последняя версия будет на stm32, и поддерживать спутники но пока что это не точно
Начну с того, что вам нужно иметь программатор для того чтобы прошить устройство. Программаторы перечислены в файле platformio.ini, но настоятельно рекомендуется скомпилировать программу под arduino и в дальнейшем залить файл через программатор используя avrdude. Сразу говорю, как ардуино прошить нельзя (по usb), программатор нужен обязательно. И так. Platformio это плагин для программы Visual Studio Code, который упрощает разработку под микроконтроллеры, следовательно нужно сначала скачать саму IDE, и после установки platformio открыть скачаный проект уже в программе. О том как работать с этой средой можно посмотреть на ютубе, по этому не буду углубляться, по сути это как в arduino ide, только удобнее. Сразу скажу, что отправной точкой проекта была эта статья: https://cxem.net/dozimetr/3-10.php Огромное спасибо автору, т.к. пока я разбирался в его коде, я начал больше понимать в регистрах avr. Программное обеспечение постепенно обновляется, и с каждой версией оно будет ещё более быстрым и энергоэффективным. Я не буду углубляться в алгоритм счёта, так как он уже приведён в выше указанной статье. Скажу только что работает он вполне сносно, и расхождение измерений с теми что были у пользователей на youtube не более 5% (Проверялось на хлориде калия). Плюсом самого устройства является то что в принципе можно подключить практически любой счётчик, питание которого не более 800 вольт, и время счёта не выше 100с, в настройках можно выбрать готовые пресеты, ии настроить свой. Все настройки хранятся в eeprom. При первом включении устанавливаются значения по умолчанию. По умолчанию это под счётчик бета-1-1. В последней версии была убрана возможность устанавливать напряжение в настройках и была заменена на автоматическую настройку напряжения. Требуемое напряжение устанавливается в конфигурационном файле при прошивке.
Давайте по порядку. Когда вы включаете устройство, оно переходит в первый режим, это режим поиск. Как понятно из названия, этот режим показывает текущий фон, и зависит от времени счёта. -Удержание обеих кнопок входит в меню. -Перемещение по меню осуществляется коротким нажаниет на кнопку. -Выбор производится удержанием кнопки set. -Выход или отмена кнопкой reset.
- Первый режим background, то есть текущий фон. Показывает текущий фон в рентгенах.
- Второй режим измерение активности за промежуток времени.
- Третий режим число частиц за секунду.
В режиме поиск показывается текущее значение фона, накопленная доза, заряд батареи, погрешность измерений, и график изменения зарегистрированого фона. По сути это всё что есть в данном режиме. Дополнительных опций не имеет.
При выборе этого режима откроется меню, где требуется установить время замера в минутах, и число шагов. Этот режим является попыткой скопировать похожую опцию с дозиметра "Припять", и как я считаю довольно успешная. Этот режим пожно использовать так. Первый замер фиксирует число частиц фона, а второй фиксирует число частиц от измеряемого объекта. Т.к. режим универсален, можно проводить сначала измерения бетта+гамма, а потом поставить бетта фильтр и второй раз измерить с ним. В этом режиме удержание кнопки reset начинает замер с самого начала. Так же после завершения первого замера требуется нажать кнопку set, чтобы начать измерять образец.
В этом режиме выводится число частиц, которые в течении секунды попали в счётчик. Данный режим как и первый не имеет дополнительных опций. В левой части выводится число частиц зафиксированных в данную секунду, а справа максимум частиц за секунду
-Изменить режим сна. (Выключить всё, кроме счётчика и включаться, когда превышен порог) -Полностью убрать ардуино фреймворк.
-Добавлена тревога. Порог срабатывания можно выбрать в настройках. Выключить можно удержанием кнопки ресет на экране поиска.
-Изменение порога сохранения дозы в настройках
-Защита от переразряда аккумулятора (Программная)
-Добавлен экран зарядки и значок зарядки.
-Режим с усреднением показаний.
-Как русский, так и английский язык (Выбилается в configuration.h)
-Сохранение накопленой дозы в памяти
-Тонкая настройка счётчика.
-Расчёт погрешности измерения.
-Автоматическая подстройка напряжения.
-Режим измерения активности образца (Почти как у припяти)
-Режим измерения частиц за секунду
-Готовые пресеты популярных счётчиков
-Построение графиков фона
-Увеличенная энергоэффективность
-Улучшеная скорость работы.
-Построение графика в режиме секундного замера
Проект полностью открыт, можете заказывать печатную плату на jlcpcb.
Если хотите поддержать разработчика вот мой киви: +79525500562 или webmoney: R530142330941
Версия на atmega328p-au: https://easyeda.com/AdamFull/geigercounter
Версия на atmega328p-mu: https://easyeda.com/AdamFull/geigercounter_nokia