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

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

Мдеее. Попробовал

1if (hv_adc < ADC) { //Значение АЦП при котором на выходе 400В
2 
3  PORTD |= (1 << 5); //дергаем пин 5
4 
5   _delay_us(18);
6 
7  PORTD &= ~(1 << 5);//дергаем пин 5
8 
9}

Ток вырос до 33мА с 0.9мА.  Не равно 18 тактам аж никак...

Вот так:

1PORTD |= (1 << 5); //дергаем пин 5
2int c=6;
3while (c>0){asm("nop"); c--; }
4PORTD &= ~(1 << 5);//дергаем пин 5

Удалось добиться 2.7мА. Похоже, вернусь к nop'ам, по настройке придётся думать.

Кстати, идея для сервис-меню: если брать за опорное напряжение питания (можно периодически калибровать его по внутреннему опорнику), то можно мерять падение на резисторе в цепи питания преобразователя и врежиме реального времени смотреть потребляемый ток.

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

tekagi

_delay_us(18); это 18 мкС начни с одной.

нам не обязательное опорное ставить 1,1 можно и с АКБ ставить и потом с помощью benGap его мерить, но это дольше, при сильной дозе будет тормозить.

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

bodriy2014 пишет:

Счас такой скечь пользую, проверь прерывание.

 

Работает, отсчёт вижу. Непривычно вместо коротких импульсов видеть зажигание по одной частице, погасание по другой))

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

bodriy2014 пишет:

tekagi

нам не обязательное опорное ставить 1,1 можно и с АКБ ставить и потом с помощью benGap его мерить, но это дольше, при сильной дозе будет тормозить.

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

bodriy2014 пишет:

_delay_us(18); это 18 мкС начни с одной.

Упс, лопухнулся. Спутал такты и микросекунды... _delay_us(1); совпало с моими 18ю nop'ами. Всё верно, при 16МГЦ 16 тактов плюс время на запись в регистр. Получается, что это минимальное допустимое значение и изменять можно только с таким шагом? Многовато.

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

tekagi пишет:

bodriy2014 пишет:

Счас такой скечь пользую, проверь прерывание.

 

Работает, отсчёт вижу. Непривычно вместо коротких импульсов видеть зажигание по одной частице, погасание по другой))

Чтоб сделать без реверса а это нужно через милис чтоб бех делея.

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

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

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

tekagi

Вернул прежнюю экономию!

У меня в коде просто нопы, вайл для меня долгий проверял.

Нужно будет что-то придумать чтоб более гибко с меню настраивать под любой транс.

Возможно свободный таймер останется тогде сделаем на нем.

Пока код такой, думаю о дисплее.

 

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

tekagi

Дай пож схему как ты импульс снимаешь.

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

bodriy2014 пишет:

Пока код такой, думаю о дисплее.

У меня в наличии только 5110 и 1602. ОЛЕДов пару заказал, но когда они дойдут... Для продвинутого функционала семисегментника мало (его бы хорошо с парой регистров в тини-версию, как карманный неубиваемый).

bodriy2014 пишет:

Возможно свободный таймер останется...

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

bodriy2014 пишет:

tekagi

Дай пож схему как ты импульс снимаешь.

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

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

tekagi пишет:

По дисплеям у меня два варианта.

Если у тебя есть желание я могу начать на Олед писать а ты параллельно на 5110.

Если нет я начну на 5110.

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016
1PORTD |= (1 << 5);//дергаем пин
2n++;
3asm("nop"); asm("nop"); asm("nop"); asm("nop"); //точная задержка импульса транзистора
4PORTD &= ~(1 << 5);//дергаем пин
5_delay_us(100);

Перенеси n++ ниже PORTD &= ~(1 << 5);//дергаем пин, инкременту тоже надо время на выполнение, будем путаться.

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

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

 

1digitalWrite(led, !digitalRead(led));

лучше убрать из прерывания, не будем терять время. Проверяем в loop'e, изменился ли shet и меняем состояние леда (или генерим импульс).

В остальном - работает.

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Спасибо что ткнул носом!)

теперь и в меню есть настройка и мне подходит у меня импульс 400нС

 

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

Может shet вообще boolean сделать? В прерывании ставим в единицу, в loop'e проверяем, если единица - сбрасываем в ноль, выполняем нужные действия (изменение переменных, замер напруги, индикацию). Ну и замер напряжения и проверка есть ли вообще импульсы (всё ли в порядке с ВВ частью и датчиком) просто выполняем с периодичностью раз в n секунд.

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

tekagi пишет:

Может shet вообще boolean сделать? В прерывании ставим в единицу, в loop'e проверяем, если единица - сбрасываем в ноль, выполняем нужные действия (изменение переменных, замер напруги, индикацию). Ну и замер напряжения и проверка есть ли вообще импульсы (всё ли в порядке с ВВ частью и датчиком) просто выполняем с периодичностью раз в n секунд.

Оно то можно но если импульсы пачкой прилетят мы их поймаем,

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

пока счетчик мертв после импульса и не может поймать частицу мы должны будем все успеть.

А если счетчики в паралель два тогда точно не успеем.

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

bodriy2014 пишет:

Оно то можно но если импульсы пачкой прилетят мы их поймаем,

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

пока счетчик мертв после импульса и не может поймать частицу мы должны будем все успеть.

А если счетчики в паралель два тогда точно не успеем.

Согласен, не подойдёт.

 

Не удалось мне с кодом

1while (c>0){asm("nop"); c--; }

подобрать нужный импульс :( То много, то мало, 2.7мА против прежних 0.94мА. Слишком грубая настройка получается. Если цикл на асме реализовать, не быстрее будет? Или оставить nop'ы и не мучаться?

 

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

tekagi пишет:

.... Если цикл на асме реализовать, не быстрее будет? Или оставить nop'ы и не мучаться?

 

Будет быстрее, У ИДЕ есть оптимизация кода,

возможно вайл не сразу выполняется а после нопов.

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Мне этот кусок подешел, быстро получается

1void generator() {//накачка по обратной связи с АЦП
2  hv_adc = analogRead(A2);
3  if (hv_adc < ADC) { //Значение АЦП при котором на выходе 400В
4    PORTD |= (1 << 5); //дергаем пин 5
5    int c=puls;
6    while (c>0){asm("nop"); c--; }
7    PORTD &= ~(1 << 5);//дергаем пин 5
8  }
9}

 

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

Этот-то код мне и не подошёл. Не знаю, за сколько тактов выполняется сравнение и декремент в цикле, но выходит очень много. Ох, чую на это таймер просится :( Буду копать информацию по регулируемой задержке на асме, Си здесь не помощник.

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

tekagi пишет:

Проверил мою-твою схему под нагрузкой 2 тумблера с СПД показало себя отлично, сигнал на осциллографе не слипается и не захлебывается, есть четкие импульсы для прерывания.

R4 можно убрать , или ты его на всякий пожарный?

R3 уменьшай до 10-15КОм иначе фронт после импульса сильно пологий иногда наскакивает на соседние под нагрузкой. Я поставил себе 10кОм.

В чем ты схемы рисуешь?

 

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

bodriy2014 пишет:

В чем ты схемы рисуешь?

 


sPlan (rusPlan) 7

bodriy2014 пишет:

R3 уменьшай до 10-15КОм иначе фронт после импульса сильно пологий иногда наскакивает на соседние под нагрузкой. Я поставил себе 10кОм.

 


Ok. Перерисую и перевыложу.

bodriy2014 пишет:

R4 можно убрать , или ты его на всякий пожарный?


Как хочешь, на функционал он влиять не должен. Просто не люблю я напрямую к пинам цепляться: стоит ошибиться с конфигурацией в скетче - прощай, порт (а может и мега).

bodriy2014 пишет:
2 тумблера с СПД

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

По схеме: собираюсь ещё разделить R7 на 5 по 2МОм. Как из-за приведённой ёмкости так и из-за вероятности поверхностного пробоя. (Хотя всё равно планирую сделать ВВ часть отдельной платкой-модулем и залить пластик-лаком или эпоксидкой.)

Surikat
Offline
Зарегистрирован: 13.07.2016

bodriy2014]</p> <p>[quote=tekagi пишет:

уменя возникли вопросы , извеняюсь что вклиниваюсь в процес разработки кодов :(((( параметры гантельки можно ли готовую куить если только мотать (можно в новал витков очень много нужно сделать!!!!) какие мощности резисторов ? диод FR107  заменить на 1N4007 док 1А 1000В или быстродействие слишком мало?

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

надо ехать в Домбай кусок гранита отковырять, для проверки прибора пойдёт

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

Гранит тоже разный бывает, мне пока особо активных не попадалось. Максимум в два - два с половиной раза над фоном.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

tekagi пишет:
Гранит тоже разный бывает, мне пока особо активных не попадалось. Максимум в два - два с половиной раза над фоном.

уже нормально жеж

Joiner
Offline
Зарегистрирован: 04.09.2014

А как вы относитесь к такой схеме подключения счетчиков и снятия импульсов? И что за деталька отмеченная стрелкой? 

Это фрагмент схемы бытового дозиметра

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

Joiner пишет:

А как вы относитесь к такой схеме подключения счетчиков и снятия импульсов?

Со схемами включения транзистора с общей базой не сталкивался, поэтому ничего сказать не могу. Узел, который подобрад bodriy_2014 вполне справляется с задачей, менять смысла не вижу.

Joiner пишет:

И что за деталька отмеченная стрелкой?

Очень похоже на пьезотансформатор. Из серии "сам не сделаешь, и фиг достанешь".

Joiner
Offline
Зарегистрирован: 04.09.2014

tekagi пишет:

......................................

Очень похоже на пьезотансформатор. Из серии "сам не сделаешь, и фиг достанешь".

Значит я достал......два :)

P.S. До сегодняшнего дня не знал о существовании такой детальки.

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Surikat пишет:

уменя возникли вопросы , извеняюсь что вклиниваюсь в процес разработки кодов :(((( параметры гантельки можно ли готовую куить если только мотать (можно в новал витков очень много нужно сделать!!!!) какие мощности резисторов ? диод FR107  заменить на 1N4007 док 1А 1000В или быстродействие слишком мало?

[/quote]

Привет.

---Я делал два транса один мотал гантельку в навал смог намотать 600 витков и схема  эта без умножителя. Вторую взял котовую индуктивность и поверх намотал три свои витка и работает хорошо но с умножителем на три. Можно взять трас от китайской зарядки и убрать все обмотки кроме самой высокоомной и поверх нее намотать три витка.

---резисторы главное чтоб однопроцентные на делителе напряжения были, мощьность не важна там мили и микро Амперы.

---нужны быстрые диоды.

 

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

tekagi пишет:

Очень похоже на пьезотансформатор. Из серии "сам не сделаешь, и фиг достанешь".

Я таких тоже не встречал.

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

bodriy2014, опередил)

Surikat пишет:

уменя возникли вопросы , извеняюсь что вклиниваюсь в процес разработки кодов :((((

Больше тестеров - меньше багов в финальной версии ))

Surikat пишет:

диод FR107  заменить на 1N4007 док 1А 1000В или быстродействие слишком мало?

1N4007 не подойдёт, нужны именно высоковольтные диоды с высоким быстродействием. FR107 тоже може быть неоптимален (из-за тока обратной утечки), но у нас делитель больше просадит. А так - диод массовый и дешёвый.

Можно попробовать HER108, RGP10M, HER158...

Surikat пишет:

какие мощности резисторов ?

Любые) В финальной версии буду ставить смд, сейчас 0,125. В высоковольтной части больше, чем 0,125 ставить нельзя, увеличивается приведённая к счётчику ёмкость.

Surikat пишет:

параметры гантельки можно ли готовую куить если только мотать (можно в новал витков очень много нужно сделать!!!!)

Я мотал на гантельке от балласта ЛДС, высотой 9 и внешним диаметром 6мм. Правда, перематывал несколько раз - изначально взял толстоватый провод и не помещалось :( Сделал ипровизированный намоточный станок: ручную дрель зажал в тисах, на патрон наклеил кусочек изоленты (считать витки). По большому счёту надо бы мотать порядово, с покрытием лаком каждые 50-100 витков, но сделал "по быстрому, авось сойдёт" внавал. Сначала мотается вторичка, вывода фиксируются на ножки гантельки. Потом термоусадка в размер, поверх первичка более толстым проводом. Перемотал заодно транс от китайской дешёвой одноамперной зарядки на Ш-образном сердечнике (чуть добавив зазора надфилем), но пока не тестировал. В "Дозиметре Сталкера" использовали для намотки Ш-образный дроссель от энергосберегаек 7-9Вт.

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

tekagi

Привет.

Переделал мигание диодом и буззером в отдельную функцию.

Теперь более привычно и по скорости исполнения отлично.

Когда все ноги рапределим нужно будет зманить Ардуиновские дерганья на С++

Поделись на почту в Splan схемой, пожалуйста.

(была почта)

 

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

Почту не свети, заспамят) Сейчас кину.

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

tekagi пишет:

Почту не свети, заспамят) Сейчас кину.

Удалю, но спамерам не переплюнуть подписчиков у которых пультоскоп не компилируется из-за отсутствия библиотек)))))))))

 

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

Плата за популярность :D

Переделал пока так:

Surikat
Offline
Зарегистрирован: 13.07.2016

Спасибо за разъеснения!!! на мои вопросы!!! :(

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Текущая моя схема и скетч

 

gena
Offline
Зарегистрирован: 04.11.2012

   Если возникнет желание упростить схему по посту #159,  то можно 

  - поменять местами R7 и СБМ-20 (иключительно для читабельности схемы), 

  - параллельно конденсатору С1 поставить стабилитрон на 2,7 В (при питании от литий-ионного аккумулятора)

     и резистор на 470 кОм, 

  - не устанавливать детали R1, R2, T1, R3, R4.

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

gena пишет:

   Если возникнет желание упростить схему по посту #159,  то можно 

  - поменять местами R7 и СБМ-20 (иключительно для читабельности схемы), 

Ни в коем разе. Это быстро уложит счётчик. Ну и ввиду большой ёмкости катода счётчика импульс потеряет форму и будет труднодетектируемым.

gena пишет:

  - параллельно конденсатору С1 поставить стабилитрон на 2,7 В (при питании от литий-ионного аккумулятора)

     и резистор на 470 кОм, 

  - не устанавливать детали R1, R2, T1, R3, R4.

Вообще-то это формирователь импульса для чёткого срабатывания прерывания, а не просто элемент защиты.

gena
Offline
Зарегистрирован: 04.11.2012

  А без формирователя,  прерывание по уровню не сработает?

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

RISING, может, и сработает. Но стабилитрон сам по себе является источником шума.

gena
Offline
Зарегистрирован: 04.11.2012

  С каких пор стабилитрон стал так сильго шуметь (вольты)?

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

gena пишет:

....

  - параллельно конденсатору С1 поставить стабилитрон на 2,7 В (при питании от литий-ионного аккумулятора)

     и резистор на 470 кОм, 

  - не устанавливать детали R1, R2, T1, R3, R4.

Дело не в шуме, это по плюсу СБМ-20 есть четкий импульс 200В и больше который мы можем взять через конденсатор и огграничив стабильтроном подать в Ардуино. Но как оказалось из паспорта на батчик так лучше не делать.

А по минусу датчика только куча шумов и всплеск тока в момент импульса, вот этот всплеск мы и формируем для компаратора. Вот пост где я проверял #127 .

Logik
Offline
Зарегистрирован: 05.08.2014

bodriy2014 пишет:

Дело не в шуме, это по плюсу СБМ-20 есть четкий импульс 200В ...

А по минусу датчика только куча шумов и всплеск тока в момент импульса

)))

Кирхгоф в гробу перевернулся, законы сохранения  улетели в тартарары... продолжайте.

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

А Вы для начала изучите принципы снятия сигнала с анода и катода счётчика Гейгера-Мюллера. Тогда и Кирхгофа всуе поминать не будете...

Logik
Offline
Зарегистрирован: 05.08.2014

А Вы соответственно начните с ТОЭ, законов им. вышеупомянутого, тогда под откровенную лажу о различии токов на одном и втором выводе подгавкивать перестанете.

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

Каких токов? С анода снимается импульс напряжения через резистивно-емкостную цепь, с катода токовый с последовательно включённого резистора.

Человек, пытающийся мерить высоковольтную слаботочку мультиметром учит ТОЭ... Есть предложения по проекту - говорите, нет - не разводите флуд.

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

tekagi

Есть предложения что должно быть на дисплее размером 84*48

как ты это видишь?

например

-текущая доза

-накопленная доза

-время работы

и т.д.

И какие значения должны как выглядеть (размер цифр)

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

Разные режимы потребуют разной индикации. В обычном режиме скорее всего усреднённое значение за пару-тройку минут (при околофоновых значениях), график, скажем, за полчаса. В поисковом время замера и интервал отображения графика придётся сокращать. Пока над компоновкой не думал...

Вот пример максимализма Рад-Боя:

Какую библиотеку собираешься использовать? Я парочку потыкал, монструозные они. Вывод трёх значений на экран (даже не в лупе, а по времени несколько раз в секунду) сбивал накачку с 200 имп/с до 350. Так и не понял, почему.

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

tekagi пишет:

Разные режимы потребуют разной индикации. В обычном режиме скорее всего усреднённое значение за пару-тройку минут (при околофоновых значениях), график, скажем, за полчаса. В поисковом время замера и интервал отображения графика придётся сокращать. Пока над компоновкой не думал...

Вот пример максимализма Рад-Боя:

Какую библиотеку собираешься использовать? Я парочку потыкал, монструозные они. Вывод трёх значений на экран (даже не в лупе, а по времени несколько раз в секунду) сбивал накачку с 200 имп/с до 350. Так и не понял, почему.

Ага видел, аж мельтишит.

Думаю больше двух или трех кнопок не стоит и одну из них на прерывание.

библиотеку эту, там ркский можно вкрутить без проблем

#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>