- PVSM.RU - https://www.pvsm.ru -
В продолжении статьи хочу поговорить о тех проблемах, на которые мне указывали люди в комментариях, рассказать о проблеме переноса прошивки с макета на итоговое устройство, т.к. с этим так же возникли проблемы, продемонстрировать работу устройства, и рассказать об изменениях в прошивке, которые были сделаны, и поговорить о планах на будущее. Я согласен со всеми комментаторами, и критика была вполне обоснована, но на данный момент у меня уже нет денег на переделку всего прибора, потому-что по сути, перелопатить нужно практически всё.
Во время прохождения практики на заводе, я решил взять с собой платку преобразователя, и посмотреть на осциллографе, что собственно происходит на выходе. На моё удивление, помехи были не на выходе преобразователя, а в принципе по питанию. Когда происходила смена уровня на шим с низкого на высокий, по линии 5 вольт наблюдалась сильная просадка напряжения, приблизительно на 1-2 вольта, а когда происходила смена состояния с высокого на низкий, происходил скачок вверх примерно на 1.5 – 2.5 вольта. И все эти пульсации были с частотой работы шим. При питании напрямую от аккумулятора особо ничего не менялось. На этом я решил больше никогда не использовать подобные типы преобразователей в своих устройствах (Конкретно если нужно повысить напряжение более чем в 2 раза). Так же были рекомендации заменить полевой транзистор на биполярный, но мои попытки найти что-то с высоким коэффициентом усиления (порядка 300), в smd корпусе и с напряжением порядка 450-500 вольт не увенчались успехом, это отсылая к использованию полевого транзистора, который открывается полноценно при 10 вольтах.
Честно говоря, я не думал, что столкнусь с проблемами, потому что на макете всё хорошо работало (Да и когда делал плату под первую версию на семи-сегментном индикаторе, все было нормально), и не было тех проблем, которые возникли после прошивки.
По сути работал только экран и меню, а вот шим, ацп, таймеры и прерывания работать отказывались. Повторюсь, на ардуине всё работало хорошо. В итоге переставив инициализацию таймеров местами, мне удалось достигнуть нормальной работы прибора.
Об необходимости убрать фреймворк ардуино. Да, ардуино это плохо, что я уже не раз понял, и в моём коде на данный момент из этого фреймворка используются только методы millis и micros. Всё это я стараюсь победить, и некоторые успехи уже имеются. Так же ардуина всё ещё живёт в моём коде из за библиотеки дисплея, который я уже победил без использования ардуины, и в скором времени оно уйдёт совсем, т.к. какое-никакое количество нужной мне памяти это добавит. Так же, использование C++ вместо C в программировании микроконтроллеров это не лучшая практика, так что этот момент так же нужно будет переделать.
Из основного, что было добавлено/исправлено:


Помимо того, что я перечислил ранее, в прошивке есть:
В файле конфигурации расписано, что можно отключить, и сколько памяти это освободит.
Управление прибором происходит посредством двух кнопок. Левая — reset и правая — set.
Для того, чтобы войти в меню, следует удерживать обе, в течении 1 секунды.
Перемещение по меню происходит коротким нажатием кнопок. Выбор требуемого пункта — удержание кнопки set. Отмена или назад — удержание кнопки reset.

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

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

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

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

На данный момент, в программе fusion 360 был разработан следующий корпус

Корпус делался для датчика Бета-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 [1]
Автор: Илья Баратов
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/svoimi-rukami/355353
Ссылки в тексте:
[1] habr.com/ru/post/509002: https://habr.com/ru/post/509002/
[2] Источник: https://habr.com/ru/post/512482/?utm_source=habrahabr&utm_medium=rss&utm_campaign=512482
Нажмите здесь для печати.