Muxi, подключён акк верно? Ардуина какая? Фото и файл печатки? Кнопки по плате как разведены? Подтяжки стоят?
Не знаю, как можно не правильно подключить акб, уже цеплял непосредственно к ардуино. Ардуино про мини
фотку сейчас не закину :( Кнопки без подтяжек, мне не кажется, что дело в кнопках, т.к. будь это наводка, то клики бы продолжались и внутри меню, а так по меню я спокойно передвигаюсь, меняю значения и тд
Ну, в тему заглядывали уникумы, подключавшие на Vin вместо Vcc, и даже цеплявшие акк через повышайку.
Вход в меню должен происходить только по кнопкам. Подтяжки по 10к я бы всё же советовал поставить, ближе к входам ардуины.
Длинные и проложенные рядом с импульсными цепями проводники прекрасно могут собирать наводки.
Обычно для срабатывания достаточно коснуться пинцетом или отвёрткой точки подсоединения катода счётчика (R42 или R1, в зависимости от схемы), или непосредственно базы транзистора детектора. Если индикация частиц в меню включена - должен пикнуть и моргнуть светодиодом.
Я для визуализации режимов индикации в каждый вариант добавил по пару строк соответствующего режима, то есть при выборе в меню «Свет+Звук» сразу идут периодические щелчки и моргания, на вибре — сразу ж-ж-ж идет, при переходе к следующему пункту меню останавливаются. Правда есть странный косяк, при этом набрасывает лишние показания в текущее среднее, потом стабилизируется в норму. Не разбирался откуда такой глюк, все равно режим не так часто переключается. Но строки при выборе пункта меню только задают выходные сигналы, ровно как и при регистрации частиц.
Не на самой трубке, а на выходе преобразователя. Высокоомным делителем, являющимся частью схемы. По этой же цепи работает стабилизация высокого.
Arezus, в каком месте эта конструкция стоит? Целиком скетч.
Спасибо, приятно) По щелчкам — хотел классические щелчки получить, как на старых дозиметрах типа CDV-700, где звук напрямую на пьезодинамик шел, без генератора частоты. Конечно, они не похожи, но хоть как-то ближе стали.
Мне кажется, что отключение порога и батарею в процентах на главном экране можно включить в основную прошивку, индикация тоже не много памяти кушает, тк аналогичный код уже есть в листинге. А для точного напряжения батареи остается отображение в меню в Вольтах.
По поводу звуков вспомнил, я как-то в самолете включил Припять 20.03 с включенным писком, на бодрый перелив в 400-450 мкР по гамме ко мне подошла швейцарская стюардесса и миленько поинтересовалась «что за хрень у меня трещит как заведенная». По глазам видел, что понимает, что таможня не пропустила бычто-то опастное, но все равно очковала. Потом разговорились, объяснил, спросил как им живется с таким фоном, сказала что их пару раз в год ссаживают на регистрацию чтобы не светились в темноте и если захотят детей, то не менее чем за пол года до зачатия уходят на землю в аэропорты работать на регистрации и тп.
Мне кажется, что отключение порога и батарею в процентах на главном экране можно включить в основную прошивку, индикация тоже не много памяти кушает, тк аналогичный код уже есть в листинге. А для точного напряжения батареи остается отображение в меню в Вольтах.
Тогда уж лучше графически, на заполнение символа батарейки. Кстати, о птичках. На задворках блуждает мысль сделать автовыключение при разряде, но простым SLEEP_MODE_PWR_DOWN здесь не отделаешься, нужно изменять схему, добавляя ключ на полевике и кой-какую обвязку. Стоит усложнять?
Tekagi, графическое представление менее информативно, при красивой пропорциональной батарейке там получится 10-15 градаций, чистое напряжение в вольтах может быть вполне читаемо людям, близким к электронике, но практика показывает, что в эту ветку приходят и те, кто просто хочет собрать устройство и не разбираться «в этом всем вашем электрическом», а проценты — они везде, даже девочка с длинными ногтями поймет, что 100 — хорошо, а 0% - все, сливайте воду.
По поводу ввода в сон — идея нормальная, но думаю, что усложнять не стоит, практически все используют батареи с защитой, я поставил контроллер заряда с защитой, а кто не догадался сделать ни того ни другого — сам себе злобный буратино, получит убитый аккум. Как вариант можно добавить уведомление длительностью в секунду тем же сигналом, что и выбран для индикации, что осталось 5-10%, при этом выключить фонарик и подсветку. Не заблокировать, а именно выключить, если человек забыл на столе дозиметр с включенными потребителями, то такой ход даст еще пару часов жизни в режиме измерений. Если фонарик реально нужен, то пользователь его включит обратно, но будет в курсе ограничения ресурса.
подскажите пожалуйста можно ли таким хитровывернутым способом пикать и включать светодиод при регистрации частицы? точнее скетч опробован и работает. но вот допустимо ли так извращаться с динамическими переменными. цель - избавиться от задержки _delay_us в программе. и заменить на микрос
то что хотел выразить в скетче, вроде подробно расписал в комментариях
// pulse_counter счетчик частиц
//PIK_counter для сохранения текущего значения
if(pulse_counter!=PIK_counter)
{
peak_2(); //функция для пиканья
}
}// конец лупа
//проверено работает предел такого пика 30 имп сек выше 30 имп/ сек включать пищалку постоянно
//но придется добавть в меню режим отключения пищалки или регулировать громкость аналог врайт
void peak_2()
{
PIK_counter=pulse_counter; // сравниваем значения переменных
static uint16_t TIME_ON_PEAK= 100; // нужно вынести в глобальные волатиле от величины зависит громкость
static uint16_t TIME_ON_LED= 10000; // время горения светодиодна
/* если такой фикус не сработает переписать на простых флагах
но фикус сработал и работает нормально
конечно есть куча вариантов как зафиксировать время
хотя бы так
if(pulse_counter!=PIK_counter)
{
static uint32_t micros_peak =micros() // дальше вызов функции и микрос вроде зафиксирован
peak_2(); //функция для пиканья
}
*/
//собственно вопрос из за этого извращения
const static uint32_t *micros_peak = new uint32_t( micros()); // запоминаем стартовое значиние микросекунд
//переменная константа так что значение получает 1 раз и держит до выхода из функции
if(micros() -*micros_peak>TIME_ON_PEAK)
{
PORTD &=~(1<<5); //если прошо заданное время выключаем пищалку
}
else
{
PORTD |=(1<<5); // если время выключение не пришло держим пищалку во включенном состоянии
}
if(micros() -*micros_peak>TIME_ON_LED)
{
PORTC &=~(1<<4); // гасим индикаторный светодиод
}
else
{
PORTC |=(1 << 4); // включаем светодиод
}
++y;
// Serial.println(y);
delete micros_peak; // освобождаем переменную с стартовым значением микросекунд
}
Мне кажется, что отключение порога и батарею в процентах на главном экране можно включить в основную прошивку, индикация тоже не много памяти кушает, тк аналогичный код уже есть в листинге. А для точного напряжения батареи остается отображение в меню в Вольтах.
Тогда уж лучше графически, на заполнение символа батарейки. Кстати, о птичках. На задворках блуждает мысль сделать автовыключение при разряде, но простым SLEEP_MODE_PWR_DOWN здесь не отделаешься, нужно изменять схему, добавляя ключ на полевике и кой-какую обвязку. Стоит усложнять?
у меня была тема на эту тему на Амперке. так можно?
Таки добил преобразователь! Взял такую же гантельку, еще была одна у меня. Первичку намотал 2,5 витка проводом 0,8 мм (был 0,5). Ограничивающий резистор 10 Ом. Выдает 410 В, накачка 5, скорость 420. На пределе правда, но работает.
Просядет напряжение питания и каюк. В другом причину искать надо... Резисторы в цепи затвора попробовать заменить, транзистор, сердечник другого типа, форму импульса глянуть.
По звуку - но обращал внимания. Светодиод отрабатывает, просто пика нет? Показания на дисплее могут меняться и без прилёта частицы, там же среднее считается.
Просядет напряжение питания и каюк. В другом причину искать надо... Резисторы в цепи затвора попробовать заменить, транзистор, сердечник другого типа, форму импульса глянуть.
По звуку - но обращал внимания. Светодиод отрабатывает, просто пика нет? Показания на дисплее могут меняться и без прилёта частицы, там же среднее считается.
tekagi спасибо! Буду начинать сегодня пробовать с резисторов затвора. На счет пропуска звука. Когда ставлю режим подсчета бета, там хорошо видно, что число увеличивается на единицу после регистрации каждой частички. Но бывает что счетчик увеличился а бузер не пикнул. Пробовал параллельно ограничивающему резистору счетчика ставить пьезик, чтобы слышен был каждый разряд. Так вот бывает что пьезик щелкнул, на индикаторе число увеличилось на единицу а бузер штатный не пикнул.
всем доброго вечера. сам допинал скетч. может комуто пригодится. (эх потереть бы вышестоящие посты, там глюк все же вылазит с динамической переменной, не годится такой прием)
//благодаря такому подходу можно раздельно регулировать время "пищания"
//+избавляемся от delay()
// и время светодиода во включенном состоянии что бы глаз успевал заметить вспышку
uint32_t pulse_counter=0; //счетчик импульсов в прерывании
uint32_t PIK_counter =0;
const uint8_t PEAK_PIN =5;
const uint8_t BoTT_PIN =8;
uint16_t y;
bool fp=1;
//временные интервалы должны быть кратны 4, иначе непонятная хрень начинается
uint32_t TIME_ON_PEAK= 40; //время пищалки во включенном состоянии в микросекундах
uint32_t TIME_ON_LED= 8000; // время вспышки светодиода в микросекундах
//это значение всегда должно быть больше значания пищалки в включенном состоянии
void Particle_counting ()
{
++pulse_counter; // счетчик импульсов
}
{
}
void setup()
{
DDRD=~((1<<2)|(1<<3)); // 23 пины вход DDRA&|= (1<<1)|(1<<4);
PORTD |=(1<<3);
attachInterrupt(1, Particle_counting, FALLING);
Serial.begin(9600);
pinMode (PEAK_PIN,1);
pinMode (BoTT_PIN,0);
}
void loop()
{
static uint32_t micros_peak=0;
static byte y =0;
//Serial.println("fp");
if(pulse_counter!=PIK_counter)
{
if(fp==1)
{
micros_peak = micros() ;
fp=0;
}
if((micros() -micros_peak)>TIME_ON_PEAK )// &&(micros() -micros_peak)<TIME_ON_LED &&pulse_counter!=PIK_counter
{
PORTD &=~(1<<5); //как только превысили время пищания выключаем бузер
}
else
{
PORTD |=(1<<5); //пока время (micros() -micros_peak) меньше TIME_ON_PEAK бузер пищит
}
if((micros() -micros_peak)>TIME_ON_LED)//&&pulse_counter!=PIK_counter
{
PORTC &=~(1<<4); // если привысили время включенного состояния выключаем светодиод
PIK_counter=pulse_counter; // присваиваем счетчику для "пищания)" значение текущего значения счетчика импульсов
}
else
{
PORTC |=(1 << 4); //если не привысили значения включенного состояния светодиод включен
}
}
if (pulse_counter==PIK_counter)
{
fp=1;
}
}
скетч рабочий, прогонял в течении минут 10, сбоев вроде нет. если кто знает как это лучше организовать,буду благодарен за советы
можно детский вопрос? LED диод показывающий регистрацию частицы будет все время работать в импульсном режиме. возможно ли неставить токоограничительный резистор или хотябы меньщего чем положено номинала скажем 50-100 ом?
А смысл его не ставить? Редко какой светик из 3-5 мм работает на токах выше 30 мА, ну поставь на 100-130 Ом, будут токи 30-40 мА, светику ничего, а для дуни — кризис уже. И это же не сигнал тревоги чтобы выжигать глаз при каждой частице. Надо реально мощный светодиод, поставь на 1Вт, через транзистор, базу или затвор кинь на управляющий от дуни. Но такой маневр имеет смысл только для фонарика. У меня с центре значка радиации стоит светик 3мм, красный прозрачный, работает на токе 15 мА, даже днем его видно. По схеме alexadresat уже стоит транзистор на фонарик, переназначь пин фонаря на регистрацию частиц и хоть ампер туда заливай.
Добрый день, я развел плату сразу на 2 счетчика (2 прирывания, 2 цепочки резисторов, 2 транзистора)
Будет ли достаточно добавить attachInterrupt(1, Schet, FALLING); и сократить время geiger_counter_seconds до 20? как я понимаю остальное должно работать как надо? Если нет, прошу не серчать, сильно код еще не копал, прошу дать дельные советы по внесению изменений в код.
Заведено на третий пин ардуины? Кнопка меню перенесена? Возможно ещё придётся poisk_f() ковырять, я код наизусть не помню. Может и заведётся, там счёт привязан к geiger_counter_seconds.
Заведено на третий пин ардуины? Кнопка меню перенесена? Возможно ещё придётся poisk_f() ковырять, я код наизусть не помню. Может и заведётся, там счёт привязан к geiger_counter_seconds.
Да, все остальное уже переделано, отладил сначало на одном датчике, потом добавил еще один. Первое определение фона проходит как надо, а дальше (после 20 секунд) фон начинает увеличиваться
Друзья привет. Хочу вернуться к датчику СИ22Г.Чувствительность к излучению по Cs-137 = 228 имп/мкР , а по Co-60 = 540 имп/мкР. Поэтому получаем разное время счета Cs-137 = 15.7 с. ,Co-60 = 6.7 с.
Возникает вопрос сколько секунд должен длиться счет?
Есть два известных мне решения этой проблемы. Первое и самое простое. В качестве чувствительности GM датчика можно использовать взвешенное среднее по цезию и кобальту, т.е.
где w1 и w2 лежат между нулём и единицей: 0≤w1;w2≤1 и составляют в сумме единицу w1+w2=1 (w2=1-w1). Весовые коэффициентыw1, w2 подбираются экспериментальным путем или рассчитываются по графику: зависимость чувствительности датчика от энергии частиц.
Второе решение, использование компенсационного фильтра частиц. Для этого трубку GM заворачивают в тонкую свинцовую фольгу толщиной около 0,5 мм, а чувствительностьвыбирают обычно по источнику с максимальной энергией фотонов, т.е. в данном случаепо Co-60. Так поступают многие производители дозиметров. Из недостатков такого фильтра - бета-излучение полностью или сильно задерживается фильтром. Подробнее можно почитать здесь: От скорости счета к дозе. Ход с жесткостью и прочие нехорошие вещиилиPhoton energy compensation. Я видел ещё одну статью на похожую тематику, но не могу найти ее в сети.
Этот кусок не трогал с оригинальных версий. Увы, Бодрый комменты к магическим числам не оставлял. Учитывая, что в ранних версиях было 36 - время счёта.
Я не совсем понимаю, зачем пересчитывать дозу с текущего фона, когда проще считать импульсы. Но до переделки руки пока не дошли.
Вот, собрал с большего, еще надо распечатать заглушки для микро-усб порта, придумать, что делать с местом от второго движкового выключателя.
Итак:
БЕЛРАД (Он же сосна анри-01) был приобретен за 3$ на барахолке ради корпуса и трубок ибо внутри даже КМ-ки все выкусили. Сейчас там установлено 2 датчика, каждый на своем порту, литий на 800mAh, контроллер заряда на базе tp4056 с защитой.
Собственно ДО и ПОСЛЕ
Версия 1.05: doz_v = doz_v + fon / 100.0 / 36.0; , счёт был 36 секунд.
Версия 1.062 doz_v = doz_v + fon / 100.0 / 40.0; , счёт использован 40секунд.
Учитывая, что вызов ведётся раз в секунду, логично предположить, что текущий уровень фона должен делиться на 3600, т.е. верхнее выражение верное. Видимо, при переходе к 40 секундам по ошибке было изменено и это значение. Но всё равно буду переделывать на другой алгоритм подсчёта.
Muxi, я поставил два датчика в параллель, единственное отличие от оригинальной схемы -- в анодах токоокраничитель у каждой трубки свой, по 10.2 МОм, для подсчета только уменьшил вдвое время подсчета частиц, установил #define geiger_counter_seconds 20. Датчика два, теоретически количество посчитанных частиц вдвое больше. Можно или количество делить пополам для расчета или уменьшить время замера вдвое, чем увеличить скорость реакции. Фон считается верно, реакция на удобрения тоже адекватная.
Я тоже поставил 20, пока большие цифры моргают фон совпадает с другими дозиметрами, далее, с 10-11 мр/ч начинает доходить до 20-25.
Замечал, что иногда, без трубок, были фантомные регистрации, но они были очень редко... Завтра поробую добавить по питанию ардуинки 0.1мкФ, может ещё куда поставить, чтобы исключить наводки?
1. После после того как заканчивает мигать уровень фона (большие цифры) и начинают мигать верхние, их значения на какое то время умножается на 2, я бы сказал даже не на 2, а на 2 и + еще что-то, потом через секунду - две все нормализуется.
2. Если уровень фона (большие цифры) превышает 100мр/ч цифры начинают выравниваться по левому краю дисплея
Ну в той же сосне, рксб, Припяти есть же режимы (или формулы) по расчету объёмной активности, так почему бы тоже самое не организовать? В сосне даже подобие свинцового кубика сделано в рамках корпуса
Свинцовый "кубик" должен быть не "в рамках корпуса". Пример домика можно посмотреть в радиометре "Бета", который с выносным слюдяным датчиком.
АрДос выдаёт количество импульсов за определённое время. Кто мешает взять "формулу" и посчитать? Вот только достоверность результата будет стремиться к нулю. Ибо не учитывает ни расстояние до датчика, ни геометрию источника и т.д.
Muxi, я поставил два датчика в параллель, единственное отличие от оригинальной схемы -- в анодах токоокраничитель у каждой трубки свой, по 10.2 МОм, для подсчета только уменьшил вдвое время подсчета частиц, установил #define geiger_counter_seconds 20. Датчика два, теоретически количество посчитанных частиц вдвое больше. Можно или количество делить пополам для расчета или уменьшить время замера вдвое, чем увеличить скорость реакции. Фон считается верно, реакция на удобрения тоже адекватная.
А у Вас не осталось модельки корпуса? Уже вроде и свой сделал, но что-то всё не то....
Не знаю, как можно не правильно подключить акб, уже цеплял непосредственно к ардуино. Ардуино про мини

фотку сейчас не закину :( Кнопки без подтяжек, мне не кажется, что дело в кнопках, т.к. будь это наводка, то клики бы продолжались и внутри меню, а так по меню я спокойно передвигаюсь, меняю значения и тд
Ну, в тему заглядывали уникумы, подключавшие на Vin вместо Vcc, и даже цеплявшие акк через повышайку.
Вход в меню должен происходить только по кнопкам. Подтяжки по 10к я бы всё же советовал поставить, ближе к входам ардуины.
Длинные и проложенные рядом с импульсными цепями проводники прекрасно могут собирать наводки.
tekagi, очередной респект! подтяжка в 10к сработала. Скажите еще, можно как-то проверить блок с буззером без трубки?
Обычно для срабатывания достаточно коснуться пинцетом или отвёрткой точки подсоединения катода счётчика (R42 или R1, в зависимости от схемы), или непосредственно базы транзистора детектора. Если индикация частиц в меню включена - должен пикнуть и моргнуть светодиодом.
Я для визуализации режимов индикации в каждый вариант добавил по пару строк соответствующего режима, то есть при выборе в меню «Свет+Звук» сразу идут периодические щелчки и моргания, на вибре — сразу ж-ж-ж идет, при переходе к следующему пункту меню останавливаются. Правда есть странный косяк, при этом набрасывает лишние показания в текущее среднее, потом стабилизируется в норму. Не разбирался откуда такой глюк, все равно режим не так часто переключается. Но строки при выборе пункта меню только задают выходные сигналы, ровно как и при регистрации частиц.
Arezus, делали через while или for, или же неблокирующим кодом? Если первое - то возможная проблема описана здесь.
Да нет, напрямую, как при обычной индикации.
Привет ребят! А как вы замеряете напряжение на трубке ( 400 V) ?
Не на самой трубке, а на выходе преобразователя. Высокоомным делителем, являющимся частью схемы. По этой же цепи работает стабилизация высокого.
Arezus, в каком месте эта конструкция стоит? Целиком скетч.
Tekagi, в void lcd_menu(), не хотел простыней флудить.
Спасибо, приятно) По щелчкам — хотел классические щелчки получить, как на старых дозиметрах типа CDV-700, где звук напрямую на пьезодинамик шел, без генератора частоты. Конечно, они не похожи, но хоть как-то ближе стали.
Мне кажется, что отключение порога и батарею в процентах на главном экране можно включить в основную прошивку, индикация тоже не много памяти кушает, тк аналогичный код уже есть в листинге. А для точного напряжения батареи остается отображение в меню в Вольтах.
По поводу звуков вспомнил, я как-то в самолете включил Припять 20.03 с включенным писком, на бодрый перелив в 400-450 мкР по гамме ко мне подошла швейцарская стюардесса и миленько поинтересовалась «что за хрень у меня трещит как заведенная». По глазам видел, что понимает, что таможня не пропустила бычто-то опастное, но все равно очковала. Потом разговорились, объяснил, спросил как им живется с таким фоном, сказала что их пару раз в год ссаживают на регистрацию чтобы не светились в темноте и если захотят детей, то не менее чем за пол года до зачатия уходят на землю в аэропорты работать на регистрации и тп.
Тогда уж лучше графически, на заполнение символа батарейки. Кстати, о птичках. На задворках блуждает мысль сделать автовыключение при разряде, но простым SLEEP_MODE_PWR_DOWN здесь не отделаешься, нужно изменять схему, добавляя ключ на полевике и кой-какую обвязку. Стоит усложнять?
Tekagi, графическое представление менее информативно, при красивой пропорциональной батарейке там получится 10-15 градаций, чистое напряжение в вольтах может быть вполне читаемо людям, близким к электронике, но практика показывает, что в эту ветку приходят и те, кто просто хочет собрать устройство и не разбираться «в этом всем вашем электрическом», а проценты — они везде, даже девочка с длинными ногтями поймет, что 100 — хорошо, а 0% - все, сливайте воду.
По поводу ввода в сон — идея нормальная, но думаю, что усложнять не стоит, практически все используют батареи с защитой, я поставил контроллер заряда с защитой, а кто не догадался сделать ни того ни другого — сам себе злобный буратино, получит убитый аккум. Как вариант можно добавить уведомление длительностью в секунду тем же сигналом, что и выбран для индикации, что осталось 5-10%, при этом выключить фонарик и подсветку. Не заблокировать, а именно выключить, если человек забыл на столе дозиметр с включенными потребителями, то такой ход даст еще пару часов жизни в режиме измерений. Если фонарик реально нужен, то пользователь его включит обратно, но будет в курсе ограничения ресурса.
Я тоже за то чтоб была какая-то сигнализация разряда. Можно еще чтоб при разряде моргала надпись в батарее(где проценты заряда).
доброго вечера всем.
подскажите пожалуйста можно ли таким хитровывернутым способом пикать и включать светодиод при регистрации частицы? точнее скетч опробован и работает. но вот допустимо ли так извращаться с динамическими переменными. цель - избавиться от задержки _delay_us в программе. и заменить на микрос
то что хотел выразить в скетче, вроде подробно расписал в комментариях
Тогда уж лучше графически, на заполнение символа батарейки. Кстати, о птичках. На задворках блуждает мысль сделать автовыключение при разряде, но простым SLEEP_MODE_PWR_DOWN здесь не отделаешься, нужно изменять схему, добавляя ключ на полевике и кой-какую обвязку. Стоит усложнять?
у меня была тема на эту тему на Амперке. так можно?
http://forum.amperka.ru/threads/%D0%9F%D0%B5%D1%81%D0%BE%D1%87%D0%BD%D0%B8%D1%86%D0%B0.17585/page-2
только резистор R2 поставить после диода.
(сорри за грамотность, у меня нет автопроверки а печатаю очень быстро слепым методом и на ошибки внимания не обращаю((()
Иногда , когда на индикаторе частичка засчитана, звуковая индикация при этом отсутствует. Т.е. бывают "пропуски" по звуку, хотя счетчик работает.
Таки добил преобразователь! Взял такую же гантельку, еще была одна у меня. Первичку намотал 2,5 витка проводом 0,8 мм (был 0,5). Ограничивающий резистор 10 Ом. Выдает 410 В, накачка 5, скорость 420. На пределе правда, но работает.
Просядет напряжение питания и каюк. В другом причину искать надо... Резисторы в цепи затвора попробовать заменить, транзистор, сердечник другого типа, форму импульса глянуть.
По звуку - но обращал внимания. Светодиод отрабатывает, просто пика нет? Показания на дисплее могут меняться и без прилёта частицы, там же среднее считается.
Просядет напряжение питания и каюк. В другом причину искать надо... Резисторы в цепи затвора попробовать заменить, транзистор, сердечник другого типа, форму импульса глянуть.
По звуку - но обращал внимания. Светодиод отрабатывает, просто пика нет? Показания на дисплее могут меняться и без прилёта частицы, там же среднее считается.
tekagi спасибо! Буду начинать сегодня пробовать с резисторов затвора. На счет пропуска звука. Когда ставлю режим подсчета бета, там хорошо видно, что число увеличивается на единицу после регистрации каждой частички. Но бывает что счетчик увеличился а бузер не пикнул. Пробовал параллельно ограничивающему резистору счетчика ставить пьезик, чтобы слышен был каждый разряд. Так вот бывает что пьезик щелкнул, на индикаторе число увеличилось на единицу а бузер штатный не пикнул.
Текаги, баг со звуком был раньше и вы его давно исправили, у меня с прошивки 1.06 этой проблемы больше нет.
Dark-Dante, в том то и дело, что на фото прошивка из новых. Проверю, на старом вроде выведен светодиод с формирователя импульсов.
blokerun2, не нажимайте "Цитировать", пользуйтесь тегами [quоtе=Имя_пользователя] скопированный текст [/quоtе]
всем доброго вечера. сам допинал скетч. может комуто пригодится. (эх потереть бы вышестоящие посты, там глюк все же вылазит с динамической переменной, не годится такой прием)
скетч рабочий, прогонял в течении минут 10, сбоев вроде нет. если кто знает как это лучше организовать,буду благодарен за советы
можно детский вопрос? LED диод показывающий регистрацию частицы будет все время работать в импульсном режиме. возможно ли неставить токоограничительный резистор или хотябы меньщего чем положено номинала скажем 50-100 ом?
Если запас ардуинок бесконечный - то да. Менять только после каждого включения напряжно...
А смысл его не ставить? Редко какой светик из 3-5 мм работает на токах выше 30 мА, ну поставь на 100-130 Ом, будут токи 30-40 мА, светику ничего, а для дуни — кризис уже. И это же не сигнал тревоги чтобы выжигать глаз при каждой частице. Надо реально мощный светодиод, поставь на 1Вт, через транзистор, базу или затвор кинь на управляющий от дуни. Но такой маневр имеет смысл только для фонарика. У меня с центре значка радиации стоит светик 3мм, красный прозрачный, работает на токе 15 мА, даже днем его видно. По схеме alexadresat уже стоит транзистор на фонарик, переназначь пин фонаря на регистрацию частиц и хоть ампер туда заливай.
Добрый день, я развел плату сразу на 2 счетчика (2 прирывания, 2 цепочки резисторов, 2 транзистора)
Будет ли достаточно добавить attachInterrupt(1, Schet, FALLING); и сократить время geiger_counter_seconds до 20? как я понимаю остальное должно работать как надо? Если нет, прошу не серчать, сильно код еще не копал, прошу дать дельные советы по внесению изменений в код.
Спасибо!
Заведено на третий пин ардуины? Кнопка меню перенесена? Возможно ещё придётся poisk_f() ковырять, я код наизусть не помню. Может и заведётся, там счёт привязан к
geiger_counter_seconds
.Заведено на третий пин ардуины? Кнопка меню перенесена? Возможно ещё придётся poisk_f() ковырять, я код наизусть не помню. Может и заведётся, там счёт привязан к
geiger_counter_seconds
.Да, все остальное уже переделано, отладил сначало на одном датчике, потом добавил еще один. Первое определение фона проходит как надо, а дальше (после 20 секунд) фон начинает увеличиваться
Тогда ковыряйте poisk_f(), строки с 890 по 930. Детальнее на данный момент не подскажу.
tekagi, скажите, что за 40 в накопленной дозе?
doz_v = doz_v + fon / 100.0 / 40.0;
Есть два известных мне решения этой проблемы. Первое и самое простое. В качестве чувствительности GM датчика можно использовать взвешенное среднее по цезию и кобальту, т.е.
sensitivity = w1 * sensitivity[Cs-137] + w2 * sensitivity[Co-60],
где w1 и w2 лежат между нулём и единицей: 0≤w1;w2≤1 и составляют в сумме единицу w1+w2=1 (w2=1-w1). Весовые коэффициенты w1, w2 подбираются экспериментальным путем или рассчитываются по графику: зависимость чувствительности датчика от энергии частиц.
Второе решение, использование компенсационного фильтра частиц. Для этого трубку GM заворачивают в тонкую свинцовую фольгу толщиной около 0,5 мм, а чувствительность выбирают обычно по источнику с максимальной энергией фотонов, т.е. в данном случае по Co-60. Так поступают многие производители дозиметров. Из недостатков такого фильтра - бета-излучение полностью или сильно задерживается фильтром. Подробнее можно почитать здесь: От скорости счета к дозе. Ход с жесткостью и прочие нехорошие вещи или Photon energy compensation. Я видел ещё одну статью на похожую тематику, но не могу найти ее в сети.
Этот кусок не трогал с оригинальных версий. Увы, Бодрый комменты к магическим числам не оставлял. Учитывая, что в ранних версиях было 36 - время счёта.
Я не совсем понимаю, зачем пересчитывать дозу с текущего фона, когда проще считать импульсы. Но до переделки руки пока не дошли.
Вот, собрал с большего, еще надо распечатать заглушки для микро-усб порта, придумать, что делать с местом от второго движкового выключателя.
Итак:
БЕЛРАД (Он же сосна анри-01) был приобретен за 3$ на барахолке ради корпуса и трубок ибо внутри даже КМ-ки все выкусили. Сейчас там установлено 2 датчика, каждый на своем порту, литий на 800mAh, контроллер заряда на базе tp4056 с защитой.
Собственно ДО и ПОСЛЕ
Мдя... фотки превратились в тыкву :(
Надеюсь на ваши руки :) Ибо магические числа уже плохо
Похоже общими усилиями нашли ещё один косяк.
Версия 1.05: doz_v = doz_v + fon / 100.0 / 36.0; , счёт был 36 секунд.
Версия 1.062 doz_v = doz_v + fon / 100.0 / 40.0; , счёт использован 40секунд.
Учитывая, что вызов ведётся раз в секунду, логично предположить, что текущий уровень фона должен делиться на 3600, т.е. верхнее выражение верное. Видимо, при переходе к 40 секундам по ошибке было изменено и это значение. Но всё равно буду переделывать на другой алгоритм подсчёта.
Так 100/36 нифига не 3600
Muxi, я поставил два датчика в параллель, единственное отличие от оригинальной схемы -- в анодах токоокраничитель у каждой трубки свой, по 10.2 МОм, для подсчета только уменьшил вдвое время подсчета частиц, установил #define geiger_counter_seconds 20. Датчика два, теоретически количество посчитанных частиц вдвое больше. Можно или количество делить пополам для расчета или уменьшить время замера вдвое, чем увеличить скорость реакции. Фон считается верно, реакция на удобрения тоже адекватная.
Я тоже поставил 20, пока большие цифры моргают фон совпадает с другими дозиметрами, далее, с 10-11 мр/ч начинает доходить до 20-25.
Замечал, что иногда, без трубок, были фантомные регистрации, но они были очень редко... Завтра поробую добавить по питанию ардуинки 0.1мкФ, может ещё куда поставить, чтобы исключить наводки?
Muxi, в качестве оффтопа, задачка: почему код, приведённый ниже, выдаёт такие результаты?
tekagi, угу, туплю, пора спать:)
Так что получается, в текущих скетчах надо 40 заменить на 36?
Да, только в этой строчке.
Нашел еще пару багов
1. После после того как заканчивает мигать уровень фона (большие цифры) и начинают мигать верхние, их значения на какое то время умножается на 2, я бы сказал даже не на 2, а на 2 и + еще что-то, потом через секунду - две все нормализуется.
2. Если уровень фона (большие цифры) превышает 100мр/ч цифры начинают выравниваться по левому краю дисплея
1. Есть такое. Пробуйте так:
2. Это не баг, это фича :)
Скажите, как бы организовать замеры продуктов в Бк/кг? Режим бета отлично подходит для измерения, но в мкР/ч не информативно
На любительском приборе - никак. Увидеть, что образец на столько-то попугаев больше пустой кюветы можно, а точные измерения - увы.
Ну в той же сосне, рксб, Припяти есть же режимы (или формулы) по расчету объёмной активности, так почему бы тоже самое не организовать? В сосне даже подобие свинцового кубика сделано в рамках корпуса
Свинцовый "кубик" должен быть не "в рамках корпуса". Пример домика можно посмотреть в радиометре "Бета", который с выносным слюдяным датчиком.
АрДос выдаёт количество импульсов за определённое время. Кто мешает взять "формулу" и посчитать? Вот только достоверность результата будет стремиться к нулю. Ибо не учитывает ни расстояние до датчика, ни геометрию источника и т.д.
Muxi, я поставил два датчика в параллель, единственное отличие от оригинальной схемы -- в анодах токоокраничитель у каждой трубки свой, по 10.2 МОм, для подсчета только уменьшил вдвое время подсчета частиц, установил #define geiger_counter_seconds 20. Датчика два, теоретически количество посчитанных частиц вдвое больше. Можно или количество делить пополам для расчета или уменьшить время замера вдвое, чем увеличить скорость реакции. Фон считается верно, реакция на удобрения тоже адекватная.
А у Вас не осталось модельки корпуса? Уже вроде и свой сделал, но что-то всё не то....