ArDos / дозиметр, часть №1

alexadresat
alexadresat аватар
Offline
Зарегистрирован: 22.02.2017

mambavamba14 - Замени пожалуйста MID: MAX: подправил двоеточие.

 //  const uint8_t dose_max_img[] PROGMEM = { //MAX:
 //  0xFE, 0xFE, 0x0C, 0x18, 0x0C, 0xFE, 0xFE, 0x00, 0xFC, 0xFE, 0x12, 0xFE,
 //  0xFC, 0x00, 0xC6, 0xEE, 0x38, 0xEE, 0xC6, 0x00, 0x00, 0x6C, 0x6C, 0x00,
 //  0x00, 0x00
 //  };
 //  const uint8_t dose_mid_img[] PROGMEM = { //MID:
 //  0x7F, 0x7F, 0x06, 0x0C, 0x06, 0x7F, 0x7F, 0x00, 0x41, 0x7F, 0x7F, 0x41,
 //  0x00, 0x7F, 0x7F, 0x41, 0x41, 0x7F, 0x3E, 0x00, 0x00, 0x36, 0x36, 0x00,
 //  0x00, 0x00
 //  };

 А не лучше ли будет сделать в два пикселя шкалу точности фона и заполнения буфера с разделением в один пиксель..

 

antipod
antipod аватар
Offline
Зарегистрирован: 20.08.2013

А про stm32 никто не думал в качестве замены?

vasunomad
Offline
Зарегистрирован: 05.09.2019

Парни а почему у меня не заливается последняя версия - 3.03?

Пишет что библиотека не найдена!

Может что не так делаю, все остальные до этого писались нормально!

Это же отловил на проверке ещё!

 

ArDos_with_RADON_g1:190:10: error: avr/eeprom.h: No such file or directory

vasunomad
Offline
Зарегистрирован: 05.09.2019

Простите!

alexadresat
alexadresat аватар
Offline
Зарегистрирован: 22.02.2017

vasunomad - Проверь получше, у меня все без проблем загрузилось... Arduino IDE 1.8.9

vasunomad
Offline
Зарегистрирован: 05.09.2019

alexadresat пишет:

vasunomad - Проверь получше, у меня все без проблем загрузилось...

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

Я кладу в Либрес библиотеки, а саму программ в Экземпл и полгода это все работало!

Что поменялось - строка написана иначе или что?

Ладно если сходу нет ответа. буду думать далее, пойду от печки - извините что отвлек.

alexadresat
alexadresat аватар
Offline
Зарегистрирован: 22.02.2017

mambavamba14 - Ну тогда хотябо разделить через пиксель...

mambavamba14
mambavamba14 аватар
Offline
Зарегистрирован: 25.12.2019

alexadresat - Ок заменю. На счет полос не знаю, сделать можно, посмотрим что остальные скажут...я просто у себя пробовал и как то не очень по моему..

antipod - Думал, но это уже совсем другая история.. Под неё нужно делать новый проект как минимум...

vasunomad - Какая версия ИДЕ? Библиотека eeprom.h стоковая, она идет вместе с ИДЕ. С версии 3.0.2 библиотеки никакие не нужно себе скидывать, а последние версии качать по ссылке в посте с прошивкой. Возможно что-то случилось со стандартными библиотеками ИДЕ, как вариант попробовать переустановить её.

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

mambavamba14, стоит код положить в папку с названием основного файла. А то будут распаковывать гитовский зип в случайную папку, а ИДЕ при старте будет создавать папку с именем скетча и перетягивать туда только его, без подгружаемых файлов, соответственно будут ловить ошибки. Ридми.мд лучше оставить рядом с папкой, внутрь не закидывать.

Полосы прогресса ИМХО нормально. А вот по удержанию кнопок в меню происходит только однократное изменение параметров.

 

alexadresat
alexadresat аватар
Offline
Зарегистрирован: 22.02.2017

mambavamba14 -  В последней версии среднее (MID:) показания появляются через 5 мин. После скачка сбрасывается и очень долго показаний нет хотя полосы прогресса заполнены.

tekagi - Со слабым зрением, хрен увидишь..

vasunomad
Offline
Зарегистрирован: 05.09.2019

mambavamba14 пишет:

alexadresat - Ок заменю. На счет полос не знаю, сделать можно, посмотрим что остальные скажут...я просто у себя пробовал и как то не очень по моему..

antipod - Думал, но это уже совсем другая история.. Под неё нужно делать новый проект как минимум...

vasunomad - Какая версия ИДЕ? Библиотека eeprom.h стоковая, она идет вместе с ИДЕ. С версии 3.0.2 библиотеки никакие не нужно себе скидывать, а последние версии качать по ссылке в посте с прошивкой. Возможно что-то случилось со стандартными библиотеками ИДЕ, как вариант попробовать переустановить её.

Да спасибо! У меня 3.03 та что ранее нормально, я видимо с последней обновил библиотеки у Системы и платы и началось, сейчас копаюсь! ВСЕМ СПАСИБО! Не видит теперь порт!

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

alexadresat пишет:
В последней версии среднее (MID:) показания появляются через 5 мин.

Замени в SETUP:

const uint16_t mid_rad_time[10] {5, 10, 15, 20, 25, 30, 35, 40, 45, 50}; //время усреднения показаний фона(1..99)(m), не более 10 пресетов!

на:

const uint16_t mid_rad_time[10] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; //время усреднения показаний фона(1..99)(m), не более 10 пресетов!

Или на свои пресеты. И в меню выбери понравившийся уровень времени (пункт "Средний замер").

Полосы прогресса относятся к основным показаниям, не к долговременному среднему. Верхняя - 36 секунд, быстрый замер, нижняя - 120 секунд, набран весь массив, показания более точные.  С текущими пресетами среднего оно появится весьма нескоро, надо бы подобрать поменьше. Выше код старых.

 

alexadresat
alexadresat аватар
Offline
Зарегистрирован: 22.02.2017

tekagi - Спасибо! Выбрал 2 мин. после заполнения прогресса через пару секунд появляются показания. Мне так более нравится.

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

Так поневоле о третьей полосе прогресса задумаешься.

Wik
Offline
Зарегистрирован: 10.11.2019

Ни у кого не срабатывает тревога? Порог по фону стоит 40 мкР, при сбросе точности цифры начинают скакать до 50 мкР кратковременно, но в макс: записывается чуть за 30, а порою и того меньше. Но тревога кратковременно срабатывает и из сна выходит. До 3.0.0 как то не замечал, а вот 3.0.2 и 3.0.3 ведут себя с таким вот замечанием. Скачки то были из за сброса точности, но тревога не сигналила..

mambavamba14
mambavamba14 аватар
Offline
Зарегистрирован: 25.12.2019

tekagi - Убрал увеличение значения по удержанию, пока ничего путного в голову не пришло как реализовать правильно..
Можно и третью, нужна ли только?

alexadresat - Пресеты можешь указывать любые в диапазоне 1-99 мин.

Wik - Да есть такое пока что, раньше была "защита" от таких срабатываний, но из за нее не срабатывала тревога при кратковременных скачках, поэтому пришлось убрать, пока не знаю как это обойти...

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

mambavamba14 пишет:
Можно и третью, нужна ли только?

Если не шибко сложно.

Как защита была раньше реализована?

Тест таймерной накачки ещё нужен, или ввиду стабильности нынешней ну его? Первичный негативный, накачка есть только в момент заставки, дальше при любой настройке импульса генерации нет.

Wik
Offline
Зарегистрирован: 10.11.2019

mambavamba14 - понял, да тут не защиту от таких срабатываний надо, было бы здорово побороть эти скачки))

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

Wik, скачки фона - плата за более быстрый результат. Иначе результата замера даже на поднесение источника пришлось бы ждать более полминуты... Вот грамотно подобрать коэффициенты ускорения - это проблема.

 

Wik
Offline
Зарегистрирован: 10.11.2019

tekagi - Да, я помню, поэтому не удаляю 1.7.1 версию. Она в этом плане, можно сказать, самая допиленная, но медленная. 

winziwul
Offline
Зарегистрирован: 05.03.2014

народ кто то ставил сбм-21, а то не пойму как то не так считает, или это датчик или мало питания на него 

winziwul
Offline
Зарегистрирован: 05.03.2014

народ кто то ставил сбм-21, а то не пойму как то не так считает, или это датчик или мало питания на него 

winziwul
Offline
Зарегистрирован: 05.03.2014

народ кто то ставил сбм-21, а то не пойму как то не так считает, или это датчик или мало питания на него 

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

Не обновляйте страницу после отправки поста.

СБМ21 имеет период счёта от 298 до 553 секунды, в отличии от 36 секунд СБМ-20. Как поведёт себя прошивка на таких таймингах сложно сказать, да и детект неисправного счётчика в скетче надо будет поднять раз в пять-семь. Питание для них одинаковое.

sasa1958
Offline
Зарегистрирован: 21.07.2020

winziwul мне давали штук 30 таких счётчиков из них 29 неисправных выпуск нулевых годов и один исправный выпуска 1980 года поэтому не советую мучиться с ними .Берёшь и обрезаешь потроха у СБМ -20 и делаешь его длиной 70 мм и в маленький корпус впихиваешь дозиметр.Все эти мелкие слюдяные очень дорого стоят и выходят из строя от малейшего удара.На прежней работе повредили слюдяной датчик на железке и покупка нового датчика обошлась 80000 руб и поверка 50000 руб.СБМ-20 самые массовые и дешёвые были в СССР ,есть буржуйский аналог в два раза меньше и два раза толще ,то есть в два раза больше СБМ-21 ,но цена от 18000 начинается

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

СБМ-21 не слюдник, просто малогабаритный счётчик, как и СБМ-10. Слюдяные обычно имеют маркировку СБТ, торцевые. К примеру СБТ-9, выглядит и работает как половинка СБМ-20, но с одного торца имеет бета-чувствительное окно.

Cennmax
Cennmax аватар
Offline
Зарегистрирован: 06.09.2019

mambavamba14 пишет:

Cennmax - В меню настроек зажатием: "вверх" - отладка, "вниз" - параметры.

Премного БЛАГОДАРЕН

winziwul
Offline
Зарегистрирован: 05.03.2014

подскажите где в скейче это изменить не могу найти

период счёта от 298 до 553 секунды, да и детект неисправного счётчика в скетче надо будет поднять раз в пять-семь.

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

Период счёта в файле setup.h:
uint8_t GEIGER_TIME = 255; //время измерения, для СБМ-20 36 секунд (6..100)
Детект ошибок в файле config.h:
#define IMP_ERROR_TIME 250 //время после которого можно ститать что импульсы от счетчика отсутствуют(10..255)(s)
Но прошивка не рассчитана на столь большие тайминги, подождите совета от mambawamba14.

mambavamba14
mambavamba14 аватар
Offline
Зарегистрирован: 25.12.2019

#ArDos_with_RADON_3.0.3 - Новый алгоритм обработки тревоги фона/дозы, добавлено синхронное управление вибрацией и отключением звука 1-х уровней тревоги, тревога по дозе теперь будет срабатывать каждый раз когда установленный порог будет превышен от текущей дозы, добавлена защита от "спонтанных" скачков, тревога по фону начинает работать только если набран минимальный массив или превышен порог фона "RAD_PRE_WARN".

tekagi - Третьей шкалой займусь позже. По поводу преобразователя наверное да, оставим пока как есть, раз уж особой разницы нету при большем количестве прерываний. Раньше защита была простая - если не набрали половину массива счета(36/2), то ни о какой тревоги даже и не думаем))

winziwul - Прошивка не рассчитана под счет более чем 254 сек тк переменный счета все 8-ми битные. Нужно заменить:

uint8_t geiger_time_now = 0; //текущий номер набранной секунды счета
uint8_t GEIGER_TIME = 36;  //время измерения, для СБМ-20 36 секунд (6..120)(s)

На:

uint16_t geiger_time_now = 0; //текущий номер набранной секунды счета
uint16_t GEIGER_TIME = 300;  //время измерения, для СБМ-20 36 секунд (6..300)(s)

И:

#define BUFF_LENGTHY     301  //длинна буфера секундных замеров(10..255)

Только боюсь оперативки вряд-ли хватит...
Как ещё один вариант, оставить время счета тоже, но искусственно домножать импульсы до нужного времени счета. Да показания будут плавать, но +- будет то что нужно. Для этого нужно заменить GEIGER_TIME в строке 679 на своё время счета в секундах(пример - 300):

if (geiger_time_now > 1) rad_back = tmp_buff * ((float)GEIGER_TIME / geiger_time_now); //расчет фона мкР/ч

Так-же можно установить максимальный буфер в 255, тогда при полном наборе массива показания плавать будут меньше.

#define BUFF_LENGTHY     255  //длинна буфера секундных замеров(10..255)

 

 

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

Почему версию не инкрементируешь? Иные при таком количестве изменений уже пять релизов выпустили бы)

По СБМ21-10 явно лучше домножать результат, взяв за основу секунд 150-200 х множитель.

36/2 действительно много, хватило бы 3-10 секунд в завистмости от порога, меньше порог - больше время таймаута. А как сейчас?

mambavamba14
mambavamba14 аватар
Offline
Зарегистрирован: 25.12.2019

tekagi - Не знаю даже, привык уже в одну версию все пихать, если это прям не глобальные изменения))

Сейчас минимальный набор пределов коэффициентов, те. 6+2. Если менять пределы коэффициентов, этот минимум автоматически посчитается.

Aimpus2
Offline
Зарегистрирован: 25.09.2020

у меня у одного при компиляции выдает "недостаточно памяти, программа может работать нестабильно"?

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

Не замечал подобного уже давненько. Прошивка Радон или Ардос? Какой версии? На старой прошивке есть подобное, но она на данный момент не развивается, хоть до конца и не доработана. Желательно использовать прошивку от mambawamba14 последней версии.

Aimpus2
Offline
Зарегистрирован: 25.09.2020

Ардос, обычная. Версия 1.08.2 та что последняя в закрепе на первой странице

mambavamba14
mambavamba14 аватар
Offline
Зарегистрирован: 25.12.2019

#ArDos_with_RADON_3.0.4 - Новый алгоритм обработки мелодий, позволяет более гибко настраивать мелодии пользователю и занимает на 1Кб памяти меньше.

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

Для прошивки АрДос это нормально, нестабильной работы не замечено. Но всё же рекомендую взять 3.0.4 из поста выше.

alexadresat
alexadresat аватар
Offline
Зарегистрирован: 22.02.2017

mambavamba14 - Когда был косячок со входом в Быстрое меня, там были другие звуки сигнализации. Понял,  не плохо получилось...

mambavamba14
mambavamba14 аватар
Offline
Зарегистрирован: 25.12.2019

alexadresat - Это был тот-же звук, только он зациклился.

Aimpus2
Offline
Зарегистрирован: 25.09.2020

Итак, собрал я наконец таки свой ArDos. Получилось примерно следующее:Без трубки напряжение по высокой стороне 401 вольт (редко прыгает до 398). При накачке 2 уровня: скорость - 96 импульсов, ток - 16 мА. При накачке 17 уровня: скорость 80 импульсов, ток- 20 мА. С перемычкой вместо трубки напряжение садится до 357 вольт (на 17 уровне), скорость при этом 508 импульсов. Хотя трансформатор заводской, 10 мГн, поверх намотано 4 витка из витой пары. Сравнить напряжения на высокой стороне пока не с чем, надо собирать высокоомный вольтметр 

Gualdimar
Gualdimar аватар
Offline
Зарегистрирован: 29.09.2020

Здравствуйте.  Пока идут радиодетали, задумался об увеличении количества счетчиков в дозиметре. Накидал схему подключения, но интересует несколько моментов:

1. нужно ли добавлять для каждого счетчика свое сопротивление 10МОм на анод? Или вообще хватит одного на четыре счетчика?

2. есть ли разница между уменьшением времени счета(GEIGER_TIME) и увеличением количества счетчиков(GEIGER_COUNT)? Что лучше указать при схеме включения по два датчика на два прерывания?

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

1. Каждому счётчику свой анодный резистор. Один на все во-первых сократит срок жизни счётчиков, во вторых в момент сработки одного счётчика выключит из работы остальные на мёртвое время. Мёртвое время тоже увеличится, т.к. придётся заряжать до рабочего напряжения суммарную (хоть и небольшую) общую ёмкость всех счётчиков.
2. Если указать несколько счётчиков - в коде выключается коррекция мёртвого времени счётчика (при нескольких она будет работать некорректно). Простое уменьшение времени этого эффекта не даст.
3. Два прерывания? Код рассчитан на одно, второй пин с прерыванием отдан на кнопку. Можно, конечно, снять прерывание почти с любого цифрового пина, но кто может это сделать - обычно такие вопросы не задаёт)) Если забрать прерывание у кнопки - не будет работать выход из power off, да и считывание кнопки переписывать придётся.
4. Вместо нескольких СБМ-20 лучше поставить один СИ-22Г. Чувствительность выше, учёт более корректен, т.к. импульсы с соседних счётчиков не накладываются, да и дешевле выйдет.

Aimpus2, накачку нужно подбирать по минимальной скорости для начала, потом возле этого значения по минимальному току на узел преобразователя (миллиамперметр вместо джампера). Ниже 80 не получается? Керамика в узле накачки какой суммарной ёмкости? Фазировку проверили?
Высокоомный вольтметр не нужен, достаточно мультиметра с паспортным входным сопротивлением не менее 10М.

mambawamba14, похоже выключение энергосбережения по высокому уровню фона лучше привязывать не к фону, а к количеству импульсов за промежуток времени. Для СБМ-21 при 100 мкр/ч будет редкое пощёлкивание, а для СИ-22Г или слюдника скорее шипение с частыми прерываниями.

mambavamba14
mambavamba14 аватар
Offline
Зарегистрирован: 25.12.2019

#ArDos_with_RADON_3.0.4 - Добавлена возможность настройки "ADC_value" и "k_delitel" в меню отладки, оптимизация отображения единиц, изменен алгоритм обработки энергосбережения, теперь зависимость от "имп/с" вместо "мкР", настроить можно в "config" параметры - "IMP_PWR_MANAGER", "IMP_PWR_DOWN" и "IMP_PWR_GIST".

tekagi - Да, в этом есть смысл, какой только порог вот установит? Имп 100?

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

Если выход-вход в энергосбережение занимает немало тактов - то да, около сотни. Но лучше с гистерезисом на обратное выключение процентов 30.

Aimpus2
Offline
Зарегистрирован: 25.09.2020

tekagi пишет:
накачку нужно подбирать по минимальной скорости для начала, потом возле этого значения по минимальному току на узел преобразователя (миллиамперметр вместо джампера). Ниже 80 не получается? Керамика в узле накачки какой суммарной ёмкости? Фазировку проверили?
Высокоомный вольтметр не нужен, достаточно мультиметра с паспортным входным сопротивлением не менее 10М.
.

Керамика в узле накачки была суммарно 30 мкФ (3 по 10), сейчас добавил ещё один, но ничего по сути не изменилось. Переставил амперметр в разрыв джампера (до этого стоял просто по основному питанию). Теперь получается следующее: при накачке 40, скорость - 64, ток на джампере - 4.7 - 5.4 мА (скачет). При КЗ на трубке напряжение проседает уже до 380, скорость при этом 508. Пробовал менять фазировку вторички, получается ещё хуже, при КЗ напряжение проседает до 240 вольт. Так же припаял к такому же дросселю на 10 мГн диод и попробовал зажечь его от преобразователя, в итоге светодиод едва едва загорается. Может надо было использовать дроссель с куда меньшей индуктивностью? И вообще нормально что у меня преобразователь трещит при работе без трубки, причем довольно громко?

Gualdimar
Gualdimar аватар
Offline
Зарегистрирован: 29.09.2020

tekagi пишет:
Мёртвое время тоже увеличится, т.к. придётся заряжать до рабочего напряжения суммарную (хоть и небольшую) общую ёмкость всех счётчиков.

Если каждому счетчику свое сопротивление, то мёртвое время не изменится. Я правильно понял?

С программированием у меня получше будет, чем со схемотехникой. Перекинуть кнопку на другой пин, а на d3 вцепить прерывание с датчика - это я смогу. При наличии движкового выключателя питания не вижу смысла в программном отключениии.

СИ-22Г слишком уж длинный. У меня в наличии два сбм-20. Брал с рук без проверки, в надежде, что из двух один точно рабочий. Но если оба рабочие, то почему бы и не поставить два? Хочу сделать прибор с возможностью безболезненного изменения количества счетчиков.

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

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

Aimpus2
Offline
Зарегистрирован: 25.09.2020

tekagi пишет:
великовато у вас получается значение накачки. Работать будет, но экономичность страдает. Навскидку причину назвать не могу. Транзистор преобразователя и диод на высокой стороне стоят рекомендуемые?

Диод стоит строго тот, который указан на схеме. Транзистор нет, вместо irlml6346 поставил 2502

PS. Сейчас ещё поигрался, на накачке 3 получается:
Скорость - 82
Ток на джампере 1.5 мА
366 вольт при КЗ

mambavamba14
mambavamba14 аватар
Offline
Зарегистрирован: 25.12.2019

tekagi - Изменил пороги энергосбережения фона на имп/с с гистерезисом. И ещё такой вопрос - стоит ли добавлять фото схемы АрДос-а в редми гитхаба или пусть так же все остаётся ссылками на форум?

Gualdimar - Можно и так, нужно будет активировать INT1 в FALLING и сделать подтяжку на PORTD 3. А в ISR(INT1_vect) скопировать все из ISR(INT0_vect), если не планируются раздельные буферы.

Gualdimar
Gualdimar аватар
Offline
Зарегистрирован: 29.09.2020

tekagi пишет:
Если делать учёт с двух раздельно - то можно один в компенсационный свинцовый экран а второй в окошко с сеткой и плёнкой и раздельно бету/гамму считать)

Хм... это надо записать в to do list, есть над чем подумать)

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