Делаем дозиметр!

DenBak
Offline
Зарегистрирован: 30.01.2017

DenBak пишет:

Доброго дня всем!

Можно ли все-таки паять датчики СБМ-20? У меня такое ощущение, что я при пайке их испортил. Паялся к торцам (там где припой), вроде без фанатизма...

История вопроса: собирал по схеме с сайта srukami для OLED дисплея, программа оттуда же. По сравнению со схемой изменения: мосфет IRLZ34N, биполярник 2N2222. Трансформатор мотал на гантельке из ATX блока питания, индуктивность вторички получилась чуть больше 1mH, первичка - три витка.

Высокое вроде нормально держит, накачка 220 импульсов, по вольтметру (вроде 10МОМ он) - 380в.

Первый СБМ-20 припаял - тишина, нет импульсов. Второй приделал к первому параллельно, "на соплях", вроде имульсы появились, даже цифры были правдоподобные. Отпаял первый, припаял второй - опять тишина :(. Походу оба пайкой испортил, печалька...

Если базы транзистора касаешься или СБМ-20 накоротко замыкаешь - регистрирует пачку импульсов.

В общем заставил работать свой девайс. Напишу причину, может позволит кому-нибудь избежать моих грабель: в цепи детектирования импульсов критична емкость помехоподавляющего конденсатора. За неимением в наличии 4700pF поставил 10000pF, посчитал, что это будет не критично... Так вот, вообще тишина была. Уже датчик еще один купил - думал не исправные или испортил.

После замены на 2200pF - все завелось. Фон 9-15, от мешка с калийными удобрениями 25-30.

Воистину, дурная голова ничему покоя не дает...

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

DenBak пишет:

Воистину, дурная голова ничему покоя не дает...


Зато учит находить неисправности на практике :D
Если уж приходится отступать от указанных в схеме номиналов - нужно сначала понять, какой эффект это может дать. Импульс со счётчика короткий, немудрено что 10н съели его ниже логического уровня, требуемого для микроконтроллера.
Фото собранного девайса выложите?

DenBak
Offline
Зарегистрирован: 30.01.2017

tekagi пишет:

Фото собранного девайса выложите?

Пока все на макетке, соберу в корпусе - выложу.

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

Arhat109-2 пишет:

............. Тем более, что практика всех кто СДЕЛАЛ пока показывает что акромя фона измерять им .. нечего...............................

На моем макете дозиметра стоят 2 счетчика СБМ20. Импульсы с них считаются независимыми счетчиками. Результаты показывают примерно одинаково. Еще имеются в запасе 2 счетчика, обернутые свинцовой фольгой. Попробовал сегодня один счетчик заменить на обернутый. Фон показывают одинаково. Но самое интересное начинается, когда подношу самодельный источник из калийной селитры. Показания обернутого абсолютно не изменяются (10-11), а вот голый показывает 40. Делаем вывод 40-10=30 .....30 микрорентген - это бетта. 

А Вы говорите - "акромя фона".........:)

Shodan
Offline
Зарегистрирован: 07.03.2017

Joiner - А ты еще Am-241 поднеси, увидишь как гамма гасится :)

Нет я не говорю про экзотику типа Fe-55, достаточно обычного америция, чтобы прочувствовать всю мощь поглащения даже тоненького слоя свинца.

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

Shodan пишет:

Joiner - А ты еще Am-241 поднеси, увидишь как гамма гасится :)

Нет я не говорю про экзотику типа Fe-55, достаточно обычного америция, чтобы прочувствовать всю мощь поглащения даже тоненького слоя свинца.

Ни чего не понял из выше сказанного, тем более не знаю что такое Am-241 и Fe-55.

И про гамму не понял тоже. На сколько понимаю, гамма глубже всех проникает. А вот бетта послабее, даже полиэтиленовой пленкой ослабляется.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Shodan пишет:

Joiner - А ты еще Am-241 поднеси, увидишь как гамма гасится :)

Нет я не говорю про экзотику типа Fe-55, достаточно обычного америция, чтобы прочувствовать всю мощь поглащения даже тоненького слоя свинца.

Я ещё раз вопрошу гуру, своим вопросом: правильно ли я оценил потребное напряжение для самопального датчика из шприца в районе 300-600 вольт или сильно ошибся? Конструктив изложен выше, имхо достаточно детально .. к тому что: делать повышайку до 2kV или достаточно будет одного кондера и диода на выходе?

Не покинь меня в своем молчании, о гуру shodan.. :)

Morroc
Онлайн
Зарегистрирован: 24.10.2016

Гуру по самопальным датчикам из шприца... Да их тут полно :)

Joiner пишет:

На сколько понимаю, гамма глубже всех проникает. А вот бетта послабее, даже полиэтиленовой пленкой ослабляется.

Если употребить внутрь или вдохнуть, то поплохеет и от альфы с бетой. 

Shodan
Offline
Зарегистрирован: 07.03.2017
Joiner - проникающая способность гаммы - прямо пророрциональна энергии частиц. Отсюда и вытекает что гамма излучение низкой энергии не проникнет через такую приграду. Это я к тому, что не стоит думать что гамма прям метр свинца прошить может... гамма гамме рознь, не каждая гамма прошьет эту оболочку. 
А еще есть много вкусных изотопов излучающих кучу рентгена....
Учите матчасть про фотонное излучение и его проникающую способность.
 
Arhat109-2 - сорри, на колхозе не специализируюсь. Люто верю, что у дозико-строителя должны быть в кармане 300 рублей на датчик. И так-же верю, что потратить на детальки 10-20 тыщь для очередного проекта - не грех.
У меня сорри, нету ни времени ни возможности для изобретения велосипедов, если у Вас есть, дерзайте! потом нам поведаете а мы все дружно позавидуем и плюсов в карму насыпем :)
Arhat109-2
Offline
Зарегистрирован: 24.09.2015

del.

В общем, как понял ситуевина выглядит примерно так: у всех газов примерно одинаковый уровень ионизации в диапазоне 12-22 эВ. при Н.У. (20*С, 760мм.рт.ст.) То есть, чтобы ионизировать газ, надо придать электрону вот такую вот энергию на длине свободного пробега, который для воздуха и Н.У. составляет около 4 микрометра. Соответственно, большую роль играет напряженность эл. поля "вольт на сантиметр", а не "вольты". И вот последняя сильно зависит от формы электродов и "пробивная" напряженность, для коаксиального сочетания возле осевого проводника определяется по формуле (для воздуха):

Ek = 30.3*D*[1+(0.298/(sqrt(D*Rпр)))], где D - относительная(!) плотность воздуха, 30.3 - пробивная напряженность эл.поля для воздуха в кВ/см, Rпр - радиус проводника в см., что такое 0,298 и в каких единицах - не нашел.

Напряжение на коаксиале, создающее эту напряженность будет равно: U = Ek * Rпр * ln(Rk/Rпр). То есть внешний диаметр нашего шприца входит в натуральный логарифм и только.

Относительная плотность влияет в т.ч. и на длину свободного пробега электрона и примерно линейно вплоть до давлений 7-12 мм.рт.ст., что для нас "недостижимо" в домашних условиях. Опытным путем пока смог установить, что вторым шприцом с качественным (тугим) поршнем можно получить разрежение вплоть до 1/7-1/10 атмосферного, или до 75-120мм.рт.ст. примерно. То есть можем принять D=1/8 без особой прогрешности. Что, для анода из ПЭВ-2 0.2 (Rпр=0.01см) даст:

Ek = 30.3*0.125*[1+(0.298 / sqrt(0.125*0.01) )] = 35,7 кВ/см., U = 35,7*0.01*ln(1/0.01)= 1,64 кВ, и далее:

пробег: Lэл = 4/0,125 = 32мкм = 0,032мм = 0,0032см, энергия за пробег: Eэл = 35700 * 0,0032 = 114 эВ

Как-бы это "слишком много", как понимаю. Электрону достаточно приобрести в 1000 раз меньше и атом кислорода "его". Что я посчитал "не так"? :)

P.S. Нашел ошибку в первоначальном расчете: средняя длина свободного пробега электрона в воздухе при Н.У. = 4 микрометра! Отсюда получаем примерно в 100 раз меньше. Исправил пост. Но все равно это ещё примерно в 10 раз больше "ожидаемых" 15эВ Как так?

P.P.S. Попытался пересчитать газ типового СТС-5, аналогично получается "фигня" .. но зато понял почему там смесь газов! В общем, кто захочет повторить самопальный датчик из шприца: нужна гелий-аргоновая смесь, хотя пойдет и гелий-воздушная (там есть кислород и его потенциал всего лишь 12.5 эВ!), но кислород воздуха в процессе работы будет агрессивно взаимодействовать с анодом и/или катодом, чего-нибудь окисляя, поэтому применяют аргон.

Так вот, свободный пробег электрона в гелии почти в 4 раза больше чем в аргоне или воздухе! Итого .. берем 40% аргона + 60% гелия из надувных шариков и снижаем требуемое напряжение почти в 2.5 раза. Думаю процентовка "водки", тут тоже рулит.. :)

Осталось понять сколько надо спиртового раствора йода капнуть ..

P3.S. Плату таки протравил, даже 2шт. Несколько увеличил площадь контактных площадок для пайки разъемов. Остальное - также. На схеме похоже забыл конденсатор параллельно измерительному резистору в 240кОм .. по "идее" подойдет в 680нФ, возьму такой же SMD1206 и напаяю поверх этого резистора. Постоянная времени интегрирования будет около 0,5мсек.

Dark-Dante
Offline
Зарегистрирован: 09.01.2018

Arhat109-2 пишет:

Тем более, что практика всех кто СДЕЛАЛ пока показывает что акромя фона измерять им .. нечего.

Я свозил в воскресенье Ардос в ЧЗО, сравнивал с желтой и черной Террой, показания идентичны, за исключением того что Ардос тормозит, когда Терра уже показала мощность источника, Ардос еще секунд 10 набирает показания, вот и вся разница. Терра показала накопленную дозу в 4 мР, Ардос 4,4, если Вам удастся добится от шприца хоть чего то подобного буду только рад. Так что прибор вполне рабочий и адекватный, для домашнего использования за глаза.

Medvedik
Medvedik аватар
Offline
Зарегистрирован: 09.07.2017

Morroc пишет:

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

Если Вы 10 штук закажкте мож и поймают) А по 1 штуке нормально всё, привёз себе недавно. Так-же ториевая ручка приехала в другой посылке. HIS-07 расковырял и залил эпоксидкой в две заглушки 1/2" - закрытый не фонит вроде)

Источник

Ручка, в упор к Соэксу:

Morroc
Онлайн
Зарегистрирован: 24.10.2016

Америций вроде альфу должен давать. Что то остается после эпоксидки ?

Medvedik
Medvedik аватар
Offline
Зарегистрирован: 09.07.2017

Morroc пишет:

Что то остается после эпоксидки ?

Завтра на работе погляжу дозиметром

ivancheg8
Offline
Зарегистрирован: 20.02.2017

Спасибо за наводку, заказал себе датчик, отпишусь если придёт)

Shodan
Offline
Зарегистрирован: 07.03.2017

Morroc пишет:
Америций вроде альфу должен давать. Что то остается после эпоксидки ?

Ничего не осталось, только рентген и немножко низкоэнергитической гаммы. Да и рентген наверняка весь поглатился в эпоксидке, ведь он там 11-12 кэв. Надежда только на гамму 59.54 кэв осталась, и все.(гаммы 26.34 кэв там и без того мало, так еще и в эпоксидке заглохнет)

А вот альфы там "хоть попой кушай", без эпоксидки конечно... дозики со слюдяными датчиками очень от нее радуются :) 

PS.Не даром америций пакуют или в слой диоксида титана толщиной менее микрона, или в тонкую полиамидную пленку микрон 200-400 примерно. Первый при этом альфу не кушает сильно, а вот пленка гасит ее полностью. Соответственно источники по типу покрытия делятся на альфа и гамма.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Допаял плату, получилось примерно так:

Пока запаял только 1 конденсатор. Из высоковольтных нашлись: 330пф х 3кв, 470пф х 3кв и 10нф х 1кв. Запаял последний. Диод вроде как на 3кв, 85нсек, взят из платы старого xerox МФУ. По виду и по схеме должен быть RP1H, но на нем написано только 40c40c..

В общем, в качестве доноров ВВ части рулят платы мониторов - блок подсветки, платы лазерных принтеров типа HP LJ-1100.. и платы лазерных ксероксов и МФУ тоже лазерников. В них же есть ВВ-сопротивления на 10-200мОм. Наковырял себе 1шт на 100мОм и 1шт на 200мОм.

пошел писать тестовый скетч.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Короче, не заработала эта фигня ни разу. Транзистор открывается как надо, но ток эмиттера нарастает как-то слишком быстро. На выходной обмотке получить больше 8 вольт так ни разу и не удалось. Пробовал перепаивать местами входную обмотку, пробовал отключать супрессор .. пофиг. На выходной ничего нет ни с 0.5мсек импульсом ни с 30мсек.

Пока моя фантазия иссякла, буду смотреть осцилографом что там происходит на самом деле. Похоже "феррит не тот"..

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

Замкнуть резисторы в цепи эмиттера пробовали? Правда транзистор слабоват.
Да и снаббер бы пока убрать.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Отпаивал диод D2, что в коллекторе из №1354. Вы эту часть обозвали снаббером, а я считал что это "супрессор" .. в общем что с ним, что без него - все едино. Больше 8в на вторичке нет. Эмитерный резистор не уменьшал, по нему смотрел ток транзюка .. можно попробовать.

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016
Morroc
Онлайн
Зарегистрирован: 24.10.2016

Arhat109-2 пишет:

Больше 8в на вторичке нет. Эмитерный резистор не уменьшал, по нему смотрел ток транзюка .. можно попробовать.

Попробуйте первичку увеличить витков до 15 (правда желательно чтобы транзистор вольт на 50-100 был к-э). Индуктивность нечем померить ? У меня с мосфетом влияние резистора 0.05 Ом незаметно.

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

Дык в схеме резистор на 10(!) Ом, а не 0,05.

Morroc
Онлайн
Зарегистрирован: 24.10.2016

Ааа... многовато, ООС нехилая получается. 0,1 можно - тоже копеечная разница получается с и без, а осциллографом в целом видно что надо.

Medvedik
Medvedik аватар
Offline
Зарегистрирован: 09.07.2017

Morroc пишет:

Америций вроде альфу должен давать. Что то остается после эпоксидки ?

Мерил тем-же Соэкс-ом: открытый контейнер в упор 110 мкР/час, закрытый - 30мкР/час (ЕРФ - 10мкР/час)

Альфа в 10 миллиметрах эпоксидки застряла))

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

Medvedik пишет:

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

Альфа в 10 миллиметрах эпоксидки застряла))

Когда делал источник радиации из калийной селитры, котора БЕТТУ излучает, заметил, что даже через полиэтиленовую пленку ослабляется. Пришлось в окошко ставить слюду. А у АЛЬФЫ, вроде еще меньше проникающая способность.

Dark-Dante
Offline
Зарегистрирован: 09.01.2018

Ардос в ЧЗО. На сравнительном фото видно как Ардос тормозит в наборе показаний в сравнеии с Террой, после около 30 секунд показания выровнялись.

Morroc
Онлайн
Зарегистрирован: 24.10.2016

Shodan пишет:

Про обратную всязь... да как ее только мы с МадОрком и не реализовавали, делителями, стабилитронами, по выхлопу, по прогнозу потребления, все перепробывали. Для потребления в еденицы микро-ампер подходит только по выхлопу. Если ток не важен - как угодно.

Запилил по выхлопу. Очень даже неплохо - действительно +/- 10 вольт от нагрузки (до 2 МОм пытал). Правда непонятно что там происходит на холостом ходу - у меня преобразователь сваливается в режим, когда между импульсами секунды, нужен какой то гигаомный вольтметр видимо т.к. 80 МОм или щуп осциллографа 1:100 дают нагрузку и потребляемый ток на порядок - два выше холотсого хода (1.5 мА со щупом) и никак раньше следующего импульса не понять в какую сторону крутить паузу в накачке. Делал делением / умножением текущей паузы на 2 в зависимости от наличия выхлопа (или половина интервала до мин/макс если предел рядом).

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

Morroc, делитесь наработками :) Могу потестить на специализированном вольтметре.

Morroc
Онлайн
Зарегистрирован: 24.10.2016

Код для стандартной ардуины nano/uno. 5я нога - выход накачки, 7я - вход компаратора ОС.

#define CHARGE_WIDTH        20      // длительность импульса накачки в попугаях 
#define CHARGE_PIN_PORTD    5       // 5я нога ардуины
#define CHARGE_MIN_DELAY    8       // минимальная задержка
#define CHARGE_MAX_DELAY    65000   // максимальная задержка
                              
volatile uint16_t     xcharge_delay;
volatile uint16_t     charge_delay            = 254; // начальная пауза накачки (пауза между импульсами),
                                                     // больше - меньше U, максимум 65535;
volatile uint8_t      charge_delay_high       = 0;   // старший байт паузы 
unsigned long         currentMillis           = 0;

void setup() {
  pinMode(5,  OUTPUT); 
  ACSR=(1<<ACBG);                   // компаратор, включить сравнение с ион
  DIDR1 |= _BV(AIN1D) | _BV(AIN0D); 
                                                  
  /*
  // TCCR2B = (1<<CS21);                      // CLK/8
  // TCCR2B = (1<<CS20)|(1<<CS21);            // CLK/32
  // TCCR2B = (1<<CS22);                      // CLK/64
  // TCCR2B = (1<<CS20)|(1<<CS22);            // CLK/128
  // TCCR2B = (1<<CS21)|(1<<CS22);            // CLK/256
  // TCCR2B = (1<<CS20)|(1<<CS21)|(1<<CS22);  // CLK/1024
  */
  
  TCCR2A = 0;                                 // запускаем таймер2
  TCCR2B = (1<<CS20)|(1<<CS21)|(1<<CS22);     // CLK/1024
  TCNT2  = 1;
  TIMSK2 |= (1 << TOIE2);       
  Serial.begin(115200);
  currentMillis = millis();
}

// помним, что вызов прерывания и выход из него отожрут ~ 2-3us (не считая нашего кода прерывания)
ISR(TIMER2_OVF_vect) {
  TIMSK2 &= ~(1 << TOIE2);                    // запрещаем прерывание таймера/счетчика 2
    if (charge_delay_high > 0) {              // если старший байт паузы > 0 - пропускаем N циклов
      charge_delay_high = charge_delay_high - 1;
      TCNT2 = 1;
    } else {
      
      // импульс <
      PORTD|= (1<<CHARGE_PIN_PORTD);
      for (int i=0;i<CHARGE_WIDTH;i++) { asm volatile("nop"); };
      PORTD&=~(1<<CHARGE_PIN_PORTD);
      // импульс >

      // пауза перед считыванием состояния компаратора 
      // (подобрал экспериментально, если меньше - больше выходное напряжение "шатает")
      { 
        asm volatile("nop"); 
        asm volatile("nop");
        asm volatile("nop");
        asm volatile("nop");
        asm volatile("nop");
        asm volatile("nop");
        asm volatile("nop");
        asm volatile("nop");
        asm volatile("nop");
        asm volatile("nop");
        asm volatile("nop");
        asm volatile("nop");
      };
    if (!(ACSR & _BV(ACO))) {                     // если видим "выхлоп" - увеличиваем паузу 
      if (charge_delay < (CHARGE_MAX_DELAY/2)) {
        charge_delay = charge_delay * 2;
      } else {
        if ((charge_delay + ((CHARGE_MAX_DELAY - charge_delay) / 2)) > charge_delay)
          charge_delay = charge_delay + ((CHARGE_MAX_DELAY - charge_delay) / 2);
      }
    } else {                                      // если не видим "выхлоп" - уменьшаем паузу 
      if (charge_delay > (CHARGE_MIN_DELAY*2-1)) {
        charge_delay = charge_delay / 2;
      } else {
        if ((charge_delay - ((charge_delay - CHARGE_MIN_DELAY) / 2)) > (CHARGE_MIN_DELAY-1))
          charge_delay = charge_delay - ((charge_delay - CHARGE_MIN_DELAY) / 2);
      }
    }
    charge_delay_high      = charge_delay >> 8;  // заряжаем таймер на паузу
    TCNT2 = 255 - (charge_delay & 0xff);         // младший байт отрабатываем в первой итерации таймера 
  }
  TIFR2  &=  0xff;                               // очищаем флаги прерываний
  TIMSK2 |= (1 << TOIE2);                        // разрешаем прерывание таймера/счетчика 2
}

void loop() {
  if (charge_delay != xcharge_delay) {
    Serial.print("charge_delay  = ");
    Serial.println(charge_delay, DEC);
    xcharge_delay = charge_delay;
  }    
}

Схемка по сути как в ультра-микроне, только транзистор irlml0060, irlml0100 (на первичке до 70-80 вольт). На 7ю ногу желательно стабилитрон воткнуть на 3-5 вольт, в таком варианте туда прилетает >5 вольт. Индуктивность первичной обмотки ~3 - 3.5 uH. Насчет изображения начала обмоток не уверен, вообще только что увидел их :) 

Shodan
Offline
Зарегистрирован: 07.03.2017

Morroc пишет:
Схемка по сути как в ультра-микроне

Как в самых первых, когда индуктивности первичек были большие, потом в 4+ я изменил, когда индуктивность первички упала в разы из за уменьшния габарита транса в десятки раз. Пришлось выхлоп растягивать http://cxem.net/dozimetr/3-14.php. Так-же в формулу расчета добавилось падение на диоде D4 и коэфицент на емкостного делителя C24+C3.

По поводу "чем замерить", можно этим http://cxem.net/izmer/izmer172.php

У меня типично около 15-17 имульсов докачки в минуту, на нормальных ВВ диодах и кондерах и трансике TDK ATB322515 размером со спичечную головку.

 

Shodan
Offline
Зарегистрирован: 07.03.2017

Ну а что касается паузы при резком подключении мультиметра(нагрузки), "никак раньше следующего импульса не понять",это абсолютно не страшно, т.к. разрядить ВВ кондер в 47 нф в нормальных условиях датчик не способен при проверке еще и по импульсам. Да и как я уже говорил, плюс-минус десяток другой вольт ему пофигу. Зато налицо охеренный профит в виду того что к ВВ части не подключено вообще ничего что разряжало-бы ВВ емкости, кроме датчика и обратной утечки по ВВ диоду и паразитных сопротивлений платы и воздуха. Относись к резкому уеличеню нагрузки при подключении мультиметра скорее как к нештатной работе.

Проверку напряжения делай в двух случаях:

1 - по рассчитаной паузе. (разряд кондера со временем)

2 - после прихода N импульсов с датчика. (разрад кондера при помещении датчика в поля с высоким фоном) обычно каждые 20-40 импульсов СБМ-ки. Это подбирается индивидуально путем тестирования при помещении в поле высокой интенсивности.

Короче, народ, давайте, осваивайте новые технологии, и забудьте уже о проблемах с накачкой :) А то куда не посмотришь, везде с ними чо-то мучаются, а захрен это делают непонятно, все уже изобретено, протестированно описано и выложено :) Только копирайтики не забывайте :)

Morroc - можешь мне свой скайп на почту adm@misrv.com прислать, попиздим вечерком, обсудим, наставление на путь истенный выдам  :)

Shodan
Offline
Зарегистрирован: 07.03.2017

Вот за такое в прерываниях надо оптом отгружать пиздюля :) 

((CHARGE_MAX_DELAY - charge_delay) / 2)

и

charge_delay = charge_delay / 2;
 

Операция деления ОЧЕНЬ затратная по ресурсам. НАМНОГО экономичнее делить на два смещением на бит в право. Я даже в STM32 стараюсь таких конструкций избегать, несмотря на то что АЛУ там значительно превосходит меговские. Лучше делать так:

((CHARGE_MAX_DELAY - charge_delay) >> 1)
и
charge_delay >>= 1;
 

А умножать смещением на бит в лево.

charge_delay = charge_delay * 2;
 
charge_delay <<= 1;
 

Ровно так-же удобно и быстро делить и умножать на 4(2 бита), 8(3 бита), 16(4 бита)... и т.п. Дабы битовая операция смещения(сдвига) - это гарантированно всего 1 такт без учета загрузки-выгрузки в регистры.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Что в лоб что по лбу. Операция деления на константу, кратную 2 компилятор самостоятельно перелопачивает в операцию сдвига вправо.

Shodan
Offline
Зарегистрирован: 07.03.2017
Arhat109-2 - так покажи описание компилятора, где цитирую "Операция деления на константу, кратную 2  компилятор самостоятельно", а тогда уже заявляй что полбу. Ну и не "кратную 2", а кратную степеням двойки, раз уж на то пошло.
А то я как-бы очень недоверчиво отношусь к компиляторам недо-дуино. Порой встречал даже косяки в этом и в компиляторах от "иминитых брендов". А раньше, да, тоже часто писал "/2", искренне надеясь что компилятор таки все сам поймет и разрулит.
Сдвиг указанный явно, и работает всегда явно, и пох на уровнь оптимизации, так-же пох на его прямоту/кривоту компилятора.
Arhat109-2
Offline
Зарегистрирован: 24.09.2015

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

Они сейчас ваще умеют делать то, о чем Вы даже и представления не имеете, наверняка. Из 14 теор. видов оптимизации кода они легко справляются с 12-ю. 13-й способ слишком затратен и делается только в топовых компиляторах и то, если их специально попросить за это. Так что, вопрос "этот код лучше такого" на сегодня почти полностью неактуален ни разу.

Shodan
Offline
Зарегистрирован: 07.03.2017

Arhat109-2 пишет:
Они сейчас ваще умеют делать то, о чем Вы даже и представления не имеете, наверняка.

Не имеет - школота, которая никогда не смотрела ассеблеровсекие листинги, и просто пишет свой быдлокод а потом еще и удивляется, почему пара вызовов сторонних либ в недо-дуине вдруг сожлало все ресурсы :) А мне часто приходится высматривать что-же там накомпилилось таки, даже не смотря на то что сторонними либами я типично не пользуюсь... Оптимизация компилятором порой заканчивается или написанием вставок непосредственно на асме, или ограничениям параметров оптимизации кода, если переписытать кусками кода на сях или асмом проблемно и при этом не критично по скорости.

Так-что с тем как "хорошо" работают компиляторы, я знаком. Особенно весело когда код логически абсолютно верный оптимизируется настолько хорошо, этими "дивными высокотехнологичными компиляторами", что перестает работать вовсе :) Я это называю "заоптимизирован в хлам" :)

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

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Да нечем тут меряться. Сам часто смотрю что получилось от компилятора. И как правило, обнаруживаю косяки в собственном коде при заоптимизации, типа пропущенного volatile. Бывает, все мы не без греха... а насчет аргона - сделаю, сравню. Пока особых проблем не вижу.

Shodan
Offline
Зарегистрирован: 07.03.2017

Arhat109-2 пишет:
Да нечем тут меряться.

И это радует, дабы разговор бессцельный по сути.

Arhat109-2 пишет:
насчет аргона - сделаю, сравню. Пока особых проблем не вижу.

Запасся попкорном, жду. Особенно интересен момент про то где калибровать вы его будите. То что что-то может получится, я не сомневаюсь, я пессимистически отношусь к самой идее применения такого показометра в измерительном(по своей сути) устройстве. И главное где его будут калибровать те кто будет повторять такой датчик по вашим методикам. Дабы метрология не подразумевает методик повторения средств измерений и трансфера размера физических величин (с сколь либо заданной точностью) по информации с форума. Если покупать готовый датчик, то можно ориентироваться хотя-бы на его паспорт(и то с бОООльшими допущениями), а когда сам его делаешь, это уже показометр на все 100%. Это понимаете, как передвавть эталон метра, через форум, говоря, что два шага человека = 1 метр. 

Morroc
Онлайн
Зарегистрирован: 24.10.2016

Shodan пишет:

Как в самых первых, когда индуктивности первичек были большие, потом в 4+ я изменил, когда индуктивность первички упала в разы из за уменьшния габарита транса в десятки раз. Пришлось выхлоп растягивать http://cxem.net/dozimetr/3-14.php. Так-же в формулу расчета добавилось падение на диоде D4 и коэфицент на емкостного делителя C24+C3.

Спасибо. Растянуть действительно надо бы. Правда у меня ощущение, что я не самый пик смотрю, а дальше. В той точке времени после импульса, где чувствительность компаратора была максимальна, напряжение начинало колбасить от 350 до 400 вольт с таким алгоритмом стабилизации.

Shodan пишет:

По поводу "чем замерить", можно этим http://cxem.net/izmer/izmer172.php

Если бы резистор 5G был - я бы что нибудь придумал, может раздобуду как нибудь :)

Shodan пишет:

У меня типично около 15-17 имульсов докачки в минуту, на нормальных ВВ диодах и кондерах и трансике TDK ATB322515 размером со спичечную головку.

 

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

Компилятор из ардуины вроде оптимизирует *2 /2, правда лично не проверял, но читал в паре мест про это, поэтому не парюсь.

Shodan
Offline
Зарегистрирован: 07.03.2017

Morroc пишет:
вроде оптимизирует *2 /2, правда лично не проверял, но читал в паре мест про это, поэтому не парюсь.

К сожалению не всегда. Я на это нарывался пару раз в KEIL, про ваш GCC не скажу. Типично, да, идет замена UDIV на LSRS, но я подчеркиваю по опыту, лучше писать сдвиг явно.

По поводу пика, у меня первичка 7 мкГн и уже контроллер не может рассмотреть нормально пик, по этому конечно растягиваю, а ты писал что у тебя еще меньше. Только там очень важен диодик D4, советую применять именно ту модельку которая указана.

Morroc
Онлайн
Зарегистрирован: 24.10.2016

Да, пик <50ns. Я пытался растянуть, но на тот момент где то в алгоритме был косяк и вместе не срослось. Похоже с такой паузой я "полку" щупаю подальше основного пика. Надо ногой мк что ли подергать - посмотреть точно момент времени.

Точно такого диода нет, может как нибудь куплю. Есть bav70 из похожих.

Shodan
Offline
Зарегистрирован: 07.03.2017

Ты скорее всего "щупаешь" осциляции которые следуют уже за пиком.

Morroc
Онлайн
Зарегистрирован: 24.10.2016

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

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Перепробовал всё, эта схема больше 8 вольт на выходе не выдает.

Закоротил резистор в эмитере в ноль - результат тот же, что со снаббером, что без него. Поменял транзистор на КТ972Б с током до 4А - пофиг. Менял направление обмоток - аналогично. Поменял ВВ конденсатор на 470пф 3кВ - то же самое.

А, ещё .. побоялся что феррит "закорачивает" дорожки под ним - подвесил на контактах в воздухе - пофиг.

Как вывод - эта схема не рабочая.

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

Arhat109-2 пишет:

Перепробовал всё, эта схема больше 8 вольт на выходе не выдает.

Закоротил резистор в эмитере в ноль - результат тот же, что со снаббером, что без него. Поменял транзистор на КТ972Б с током до 4А - пофиг. Менял направление обмоток - аналогично. Поменял ВВ конденсатор на 470пф 3кВ - то же самое.

А, ещё .. побоялся что феррит "закорачивает" дорожки под ним - подвесил на контактах в воздухе - пофиг.

Как вывод - эта схема не рабочая.

Ищите ошибку. Я генератором управлял ключиком на транзисторе 2N2222. Ни ахти какой мощный транзистор... На накопительном конденсаторе со вторички трансформатора, без всякого умножения получал до 600 вольт.

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

Morroc
Онлайн
Зарегистрирован: 24.10.2016

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

О блин... Перемотал на 8 мкГн первичку - теперь 100 вольт на первичке уже. КПД еще подрос 

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Ну .. в общем, да. С трансом что-то не то. Попробовал детский тест (когда-то в детстве так игрался): выпаял транс, подал на первичку импульс от источника +5в "чиркнув проводом", и держа вторичку пальцем .. ноль реакции. А в детстве трансы с таким соотношением витков щипались достаточно ощутимо, но они были побольше габаритом (строчные ТВК от телевизоров)...

Morroc
Онлайн
Зарегистрирован: 24.10.2016

Попробовал растянуть имульс как в более новом микроне. Что то не пошло. Может из за навесного монтажа из соплей наводка какая то. Чувствуется гистерезис какой то в управлении что ли или задержка. Идут импульсы, начиная с максимального интервала до минимального, напряжение быстро разгоняется, а потом так же быстро пауза слетает до минимальной и напряжение падает несколько циклов вольт до 100 или меньше, потом по кругу. У меня и с первым вариантом было похоже, но там нашел почти наощупь комбинацию делителя напряжения и паузы перед "замером" выхлопа, а тут не могу и работа преобразователя выглядит не так, как по идее должна при той картине на осциллографе (ночью лень было искать кабель и скринить, в следующий раз).

Shodan
Offline
Зарегистрирован: 07.03.2017
Morroc - я тебе вечерком наскришотю как это должно работать