Русский
Русский
English
Статистика
Реклама

Конструирование устройств

Из песочницы История разработки одного дозиметра (Часть 1)

30.06.2020 20:09:15 | Автор: admin
Всем привет. Месяца два назад, от нечего делать, решил достать из своего пыльного ящика пару уже давно заброшенных проектов, до которых никак не доходили руки, и один из них был проект дозиметра-радиометра, который я начинал делать года так 3 назад, но из за недостатка знаний так и не довёл его до рабочего варианта. И вот теперь, спустя два долгих и мучительных месяца, хочу рассказать вам с чем я за это время успел столкнуться, и как делать не надо.

С чего всё начиналось


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

Возобновляя старый проект


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

Начало разработки


Изначально меня устраивало, то что повышающий преобразователь будет отдельной частью устройства, но в итоге прибор получился бы огромным, что мне не очень понравилось. Я начал перебирать варианты повышающей цепи, и остановился на DC-DC с управлением, и обратной связью с микроконтроллером. По сути в этом не было ничего сложного, но именно после добавления своего преобразователя и начались проблемы.

Хьюстон, у нас помехи


Как понятно из заголовка, появились ужасные помехи по питанию и не только. Когда напряжение приближалось к 400 вольтам, на ножке прерывания начиналась полная вакханалия. Прерывание постоянно срабатывало, и я просто не мог понять долгое время в чём была эта проблема. Изменение частоты шим не помогало, конденсаторы по питанию тоже. Я уже начал отчаиваться, но решение пришло внезапно, когда я поднёс палец к ножке прерывания. Прибор сразу стал функционировать нормально, до того момента, пока я не уберу палец. И тут я вспомнил завет давнего приятеля: Везде ставь керамику. После того как я поставил керамический конденсатор на 100нФ между прерыванием и землёй, проблема ушла. На то, чтобы разобраться с этой проблемой у меня ушла куча времени, но этот урок я запомню на долго. Собственно керамические конденсаторы в итоге я поставил везде, где только можно, и всё заработало как надо.

Разработка платы


Плату я разрабатывал в редакторе EasyEda, потому-что сразу решил заказывать платы с Китая. Скажу честно, редактор удобный и интуитивно понятный. Для меня, человека, который всегда делал платы в SprintLayout, эта программа была просто чем-то за гранью фантастики.
Теперь к сути. Я хотел сделать прибор как можно меньше, и выбрал размер 50х100 мм, что в каком то плане многовато и можно было уместить на меньшем размере. Первые варианты я решил делать на семи-сегментных индикаторах, что было огромной ошибкой, так, как они были крайне не информативные, и было достаточно сложно отобразить на них то, что хотел я. Следующим в моём списке был дисплей от nokia 5110. Этот вариант меня более чем удовлетворил.

Главные его плюсы это:

  1. Не требует подсветки днём.
  2. Низкое энергопотребление.
  3. Простота в использовании.

Но собственно были и проблемы. Дисплей требует 3.3 вольта питания, и желательно 3.3 вольта логику, а микроконтроллер работает от 5 вольт. Проблема решилась 10 кОм резисторами и линейным стабилизатором.

Ядром устройства является микроконтроллер atmega328p-mu. Я выбрал именно, потому-что судя по даташиту он более живучий.

Устройство является автономным и работает от аккумулятора li-ion, по-этому на плате была разведена микросхема tp4056 и маломощный повышающий dc-dc преобразователь на 5 вольт на микросхеме me2108a50.

В итоге плата приняла следующий вид:

image

Зачем оно нужно если можно купить?


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

Программно были вынесены следующие характеристики для редактирования:

  1. Напряжение счётчика
  2. Время счёта
  3. Ошибка

Настройки этих характеристик позволяют подключить любой датчик, напряжение работы которого не больше 800 вольт (Для того, чтобы повысить напряжение требуются доработки), время счёта не более 100 секунд и ошибка меньше 50%.

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

Если сравнивать с приборами, которые близки по характеристикам, то 1000 рублей получается довольно аппетитная цена для любителей по паять.

В собранном виде плата выглядит следующим образом:

image

Как видно по фото, плата ещё не собрана до конца, так как я не нашёл некоторые компоненты в моём городе и нужно ждать их с Китая.

Резюмируя


Разработка полноценного устройства довольно трудоёмкий процесс, который требует много знаний в низкоуровневом программировании, приборостроении и электротехнике. Очень обидно, когда вложенные труды в разработку оборачиваются в то, что устройство глючит и ведёт себя не так как на макете. Честно говоря, чёрная версия плат является четвёртой версией, до этого были и варианты с неудачным выбором схемы питания, неудачным дисплеем и с нехваткой конденсаторов. Эта статья предназначена для тех, кто хочет себе собрать подобный прибор, или же хочет сделать что то подобное. Демонстрация работы прибора будет в следующей части статьи.

Надеюсь я вам помог, и мой проект заинтересовал вас. Прилагаю ссылки на репозиторий с прошивкой и на проект печатной платы:

github.com/AdamFull/Dosimeter-SQUICK
easyeda.com/AdamFull/geigercounter_nokia
Подробнее..

История разработки одного дозиметра (Часть 2)

26.07.2020 00:10:08 | Автор: admin
В продолжении статьи хочу поговорить о тех проблемах, на которые мне указывали люди в комментариях, рассказать о проблеме переноса прошивки с макета на итоговое устройство, т.к. с этим так же возникли проблемы, продемонстрировать работу устройства, и рассказать об изменениях в прошивке, которые были сделаны, и поговорить о планах на будущее. Я согласен со всеми комментаторами, и критика была вполне обоснована, но на данный момент у меня уже нет денег на переделку всего прибора, потому-что по сути, перелопатить нужно практически всё.


Те самые помехи


Во время прохождения практики на заводе, я решил взять с собой платку преобразователя, и посмотреть на осциллографе, что собственно происходит на выходе. На моё удивление, помехи были не на выходе преобразователя, а в принципе по питанию. Когда происходила смена уровня на шим с низкого на высокий, по линии 5 вольт наблюдалась сильная просадка напряжения, приблизительно на 1-2 вольта, а когда происходила смена состояния с высокого на низкий, происходил скачок вверх примерно на 1.5 2.5 вольта. И все эти пульсации были с частотой работы шим. При питании напрямую от аккумулятора особо ничего не менялось. На этом я решил больше никогда не использовать подобные типы преобразователей в своих устройствах (Конкретно если нужно повысить напряжение более чем в 2 раза). Так же были рекомендации заменить полевой транзистор на биполярный, но мои попытки найти что-то с высоким коэффициентом усиления (порядка 300), в smd корпусе и с напряжением порядка 450-500 вольт не увенчались успехом, это отсылая к использованию полевого транзистора, который открывается полноценно при 10 вольтах.

Перенос прошивки на живой прибор


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

Что нового в прошивке?


Из основного, что было добавлено/исправлено:
  • Убраны задержки из звуковой индикации, что очень сильно повысило скорость работы и точность показаний.
  • Обновление экрана происходит по таймеру каждую секунду, или когда пользователь нажимает кнопки.
  • Добавлен экран зарядки аккумулятора. Включается когда присоединяется кабель.
  • В режиме поиск добавлена возможность включить отображение усреднённых значений за два установленных времени счёта.
  • Из настроек убрана возможность подстраивать напряжение вручную, теперь это происходит автоматически. Требуемое напряжение можно установить в файле конфигурации, при компиляции.
  • Добавлена возможность устанавливать порог сохранения дозы.
  • Добавлена тревога, уровень можно выставить в настройках ( от 30 до 255 мкр/ч).
  • Добавлена программная защита от разряда аккумулятора. Программа виснет на экране, говорящем о низком заряде батареи, проигрывается анимация моргания батареи.
    image
  • При удержании правой кнопки (не в меню) показывается информация о батарее.
    image


Что изменено на печатной плате?


  • Повышающий преобразователь и линейный преобразователь на 3.3 вольта были подключены на прямую от аккумулятора.
  • Изменены номиналы делителя напряжения на аккумуляторе с 10 кОм до 220 кОм.
  • Полевой транзистор был перенесён с эмиттерного усилителя на делитель напряжения, для снятия напряжения с аккумулятора.
  • Убран лишний подтягивающий резистор.
  • Некоторые dip компоненты заменены на smd.


Что вообще есть в прошивке?


Помимо того, что я перечислил ранее, в прошивке есть:
  • Три режима работы: Поиск, измерение(Как в дозиметре Припять) и частиц/с
  • Расчёт погрешности измерения в режиме поиск. Есть как продвинутый алгоритм, так и более простой. Выбирается в файле конфигурации.
  • Настройки для: сбм-20, сбм-19, бета-1-1
  • Построение графиков (Да, не ново, но смотрится неплохо).
  • Режим сна (Сниженное энергопотребление, прибор включается либо по удержанию кнопки, либо при тревоге). На данный момент не доделан.
  • Звуковая и световая индикация и её настройка
  • Русский и Английский язык (Устанавливается в конфигурации при прошивке)

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

Навигация и меню


Управление прибором происходит посредством двух кнопок. Левая reset и правая set.
Для того, чтобы войти в меню, следует удерживать обе, в течении 1 секунды.
Перемещение по меню происходит коротким нажатием кнопок. Выбор требуемого пункта удержание кнопки set. Отмена или назад удержание кнопки reset.
image
В меню реализована большая часть того, что я хотел, но если бы не ограничения по памяти и портам gpio, то была бы добавлена возможность построения карт (sd + gnss).

Режим поиск


Я думаю этот режим не требует подробного объяснения. По сути показывает текущее значение в микро рентгенах в час, и меняет диапазон в зависимости от текущего значения. Усреднение показаний сделано не по медиане, а просто сумма измерений на время, и включается нажатием правой кнопки. В верхнем правом углу показывается заряд батареи, чуть ниже статистическая погрешность и ещё ниже накопленная доза.
image
Так же в этом режиме можно отключить звук и тревогу. Чтобы отключить звук, нужно однократно нажать левую кнопку, а чтобы отключить тревогу, нужно либо во время тревоги нажать левую кнопку, либо удерживать левую кнопку.
image

Режим измерения активности


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

Режим секундного замера


Данный режим показывает число частиц в секунду, как бы логично это не звучало. В правой части экрана отображается число частиц с предыдущего замера. График строится так же как и в режиме поиск.
image

Корпус


На данный момент, в программе fusion 360 был разработан следующий корпус
image
Корпус делался для датчика Бета-1-1 и с расчётом на то, что будет печататься на 3д принтере. Модели в формате stl выложу позже.
Отверстия для крепления платы, сделаны для вплавления туда втулок под винтики М2.

Проблемы прибора


Главная проблема, как отмечали в комментариях к прошлой части это то, что проблема с ложными срабатываниями по сути не решена, а скажем залеплена скотчем и да, я с этим полностью соглашусь. Я пытался бороться с ней иными способами, но сильно хороших результатов это не дало. Делал питание напрямую от аккумулятора, это частично снизило размах пульсаций питания, ставил дополнительные электролитические конденсаторы по питанию (ставил даже на 10000мкф, тоже не помогло), ну керамика так же проблему не решила. Свой вывод об этом я озвучивал, больше не буду повторять подобных ошибок. Трансформатор выйдет немного дороже (рублей так на 250 за штуку, по сравнению с 45 за индуктивность.), но мороки с ним будет гораздо меньше.
Из за того, что стабильная генерация идёт при 4х кГц, слышен слабый, но раздражающий в тишине писк. В разведку с этим прибором не походишь.
Преобразователь напряжения это тоже главная неудача. Решил я делать на нём, только из за доступности индуктора, а вот об остальном сразу не подумал.
Но несмотря на недостатки, как по мне он вполне выполняет те задачи, которые я и хотел. Для бытового дозиметра думаю пойдёт, до профессиональных ему довольно.

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


Аккумулятор на 600 мА/ч прибор разряжает за 12 14 часов активного использования (разряд до 3.6). Скорее всего ёмкость аккумулятора уже давно не 600 мА/ч, т.к. она полтора года стояла в электронной сигарете.

Что дальше?


В дальнейшем я буду доделывать прошивку текущего прибора, и начну делать тоже самое на stm32, но с учётом всех своих ошибок. Так же хочется добавить поддержку sd карты, gnss, заменить экран на 1202, и возможно сделать питание от батареек, если не найду хорошую микросхему понижающего dc-dc.

Ссылка на предыдущую часть:
habr.com/ru/post/509002
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru