if (hv_adc < ADC) { //Значение АЦП при котором на выходе 400В
PORTD |= (1 << 5); //дергаем пин 5
_delay_us(18);
PORTD &= ~(1 << 5);//дергаем пин 5
}
Ток вырос до 33мА с 0.9мА. Не равно 18 тактам аж никак...
Вот так:
PORTD |= (1 << 5); //дергаем пин 5
int c=6;
while (c>0){asm("nop"); c--; }
PORTD &= ~(1 << 5);//дергаем пин 5
Удалось добиться 2.7мА. Похоже, вернусь к nop'ам, по настройке придётся думать.
Кстати, идея для сервис-меню: если брать за опорное напряжение питания (можно периодически калибровать его по внутреннему опорнику), то можно мерять падение на резисторе в цепи питания преобразователя и врежиме реального времени смотреть потребляемый ток.
нам не обязательное опорное ставить 1,1 можно и с АКБ ставить и потом с помощью benGap его мерить, но это дольше, при сильной дозе будет тормозить.
Можно и при таком опорном, поставить отключаемый делитель на лапку ардуины. Прижали к земле, померяли на делителе, отпустили.
bodriy2014 пишет:
_delay_us(18); это 18 мкС начни с одной.
Упс, лопухнулся. Спутал такты и микросекунды... _delay_us(1); совпало с моими 18ю nop'ами. Всё верно, при 16МГЦ 16 тактов плюс время на запись в регистр. Получается, что это минимальное допустимое значение и изменять можно только с таким шагом? Многовато.
У меня в наличии только 5110 и 1602. ОЛЕДов пару заказал, но когда они дойдут... Для продвинутого функционала семисегментника мало (его бы хорошо с парой регистров в тини-версию, как карманный неубиваемый).
bodriy2014 пишет:
Возможно свободный таймер останется...
Хотелось бы задействовать ватчдог по назначению, а то дозик подвис в кармане, а на него надеешься. Про проблемы с загрузчиком знаю.
bodriy2014 пишет:
tekagi
Дай пож схему как ты импульс снимаешь.
Только подумал, что надо бы схему выложить, может ещё любители (радиофобы и радиофилы) подтянутся. На данный момент макетка такая. Кондер в цепи питания импульсника поменяю на меньший, резистор на больший (ставил то, до чего рука дотянулась).
Давай лучше 5110. Писарь из меня пока неважный, я ж вопросами замучаю, пока ты будешь основной код ваять )) Когда нормально заработает - можно и под другие дисплеи адаптировать.
digitalWrite(led, !digitalRead(led));
лучше убрать из прерывания, не будем терять время. Проверяем в loop'e, изменился ли shet и меняем состояние леда (или генерим импульс).
Может shet вообще boolean сделать? В прерывании ставим в единицу, в loop'e проверяем, если единица - сбрасываем в ноль, выполняем нужные действия (изменение переменных, замер напруги, индикацию). Ну и замер напряжения и проверка есть ли вообще импульсы (всё ли в порядке с ВВ частью и датчиком) просто выполняем с периодичностью раз в n секунд.
Может shet вообще boolean сделать? В прерывании ставим в единицу, в loop'e проверяем, если единица - сбрасываем в ноль, выполняем нужные действия (изменение переменных, замер напруги, индикацию). Ну и замер напряжения и проверка есть ли вообще импульсы (всё ли в порядке с ВВ частью и датчиком) просто выполняем с периодичностью раз в n секунд.
Оно то можно но если импульсы пачкой прилетят мы их поймаем,
а если сбрасывать флаг и его проверять в коде, то код нужно ужать то мертвого времени счетчика,
пока счетчик мертв после импульса и не может поймать частицу мы должны будем все успеть.
А если счетчики в паралель два тогда точно не успеем.
Оно то можно но если импульсы пачкой прилетят мы их поймаем,
а если сбрасывать флаг и его проверять в коде, то код нужно ужать то мертвого времени счетчика,
пока счетчик мертв после импульса и не может поймать частицу мы должны будем все успеть.
А если счетчики в паралель два тогда точно не успеем.
Согласен, не подойдёт.
Не удалось мне с кодом
while (c>0){asm("nop"); c--; }
подобрать нужный импульс :( То много, то мало, 2.7мА против прежних 0.94мА. Слишком грубая настройка получается. Если цикл на асме реализовать, не быстрее будет? Или оставить nop'ы и не мучаться?
void generator() {//накачка по обратной связи с АЦП
hv_adc = analogRead(A2);
if (hv_adc < ADC) { //Значение АЦП при котором на выходе 400В
PORTD |= (1 << 5); //дергаем пин 5
int c=puls;
while (c>0){asm("nop"); c--; }
PORTD &= ~(1 << 5);//дергаем пин 5
}
}
Этот-то код мне и не подошёл. Не знаю, за сколько тактов выполняется сравнение и декремент в цикле, но выходит очень много. Ох, чую на это таймер просится :( Буду копать информацию по регулируемой задержке на асме, Си здесь не помощник.
Проверил мою-твою схему под нагрузкой 2 тумблера с СПД показало себя отлично, сигнал на осциллографе не слипается и не захлебывается, есть четкие импульсы для прерывания.
R4 можно убрать , или ты его на всякий пожарный?
R3 уменьшай до 10-15КОм иначе фронт после импульса сильно пологий иногда наскакивает на соседние под нагрузкой. Я поставил себе 10кОм.
R3 уменьшай до 10-15КОм иначе фронт после импульса сильно пологий иногда наскакивает на соседние под нагрузкой. Я поставил себе 10кОм.
Ok. Перерисую и перевыложу.
bodriy2014 пишет:
R4 можно убрать , или ты его на всякий пожарный?
Как хочешь, на функционал он влиять не должен. Просто не люблю я напрямую к пинам цепляться: стоит ошибиться с конфигурацией в скетче - прощай, порт (а может и мега).
bodriy2014 пишет:
2 тумблера с СПД
Не держи подобную каку в жилых помещениях. СПД имеет свойство осыпаться и разлетаться по комнате радиоактивной пылью. Ну и обязательно держать их в герметичных пакетах с зип-застёжкой, не вынимая никогда. Я поэтому и не хочу подобные Контрольные Источники (КИ) использовать. Всё пытаюсь найти какое-нибудь изделие из уранового стекла.
По схеме: собираюсь ещё разделить R7 на 5 по 2МОм. Как из-за приведённой ёмкости так и из-за вероятности поверхностного пробоя. (Хотя всё равно планирую сделать ВВ часть отдельной платкой-модулем и залить пластик-лаком или эпоксидкой.)
уменя возникли вопросы , извеняюсь что вклиниваюсь в процес разработки кодов :(((( параметры гантельки можно ли готовую куить если только мотать (можно в новал витков очень много нужно сделать!!!!) какие мощности резисторов ? диод FR107 заменить на 1N4007 док 1А 1000В или быстродействие слишком мало?
А как вы относитесь к такой схеме подключения счетчиков и снятия импульсов?
Со схемами включения транзистора с общей базой не сталкивался, поэтому ничего сказать не могу. Узел, который подобрад bodriy_2014 вполне справляется с задачей, менять смысла не вижу.
Joiner пишет:
И что за деталька отмеченная стрелкой?
Очень похоже на пьезотансформатор. Из серии "сам не сделаешь, и фиг достанешь".
уменя возникли вопросы , извеняюсь что вклиниваюсь в процес разработки кодов :(((( параметры гантельки можно ли готовую куить если только мотать (можно в новал витков очень много нужно сделать!!!!) какие мощности резисторов ? диод FR107 заменить на 1N4007 док 1А 1000В или быстродействие слишком мало?
[/quote]
Привет.
---Я делал два транса один мотал гантельку в навал смог намотать 600 витков и схема эта без умножителя. Вторую взял котовую индуктивность и поверх намотал три свои витка и работает хорошо но с умножителем на три. Можно взять трас от китайской зарядки и убрать все обмотки кроме самой высокоомной и поверх нее намотать три витка.
---резисторы главное чтоб однопроцентные на делителе напряжения были, мощьность не важна там мили и микро Амперы.
уменя возникли вопросы , извеняюсь что вклиниваюсь в процес разработки кодов :((((
Больше тестеров - меньше багов в финальной версии ))
Surikat пишет:
диод FR107 заменить на 1N4007 док 1А 1000В или быстродействие слишком мало?
1N4007 не подойдёт, нужны именно высоковольтные диоды с высоким быстродействием. FR107 тоже може быть неоптимален (из-за тока обратной утечки), но у нас делитель больше просадит. А так - диод массовый и дешёвый.
Можно попробовать HER108, RGP10M, HER158...
Surikat пишет:
какие мощности резисторов ?
Любые) В финальной версии буду ставить смд, сейчас 0,125. В высоковольтной части больше, чем 0,125 ставить нельзя, увеличивается приведённая к счётчику ёмкость.
Surikat пишет:
параметры гантельки можно ли готовую куить если только мотать (можно в новал витков очень много нужно сделать!!!!)
Я мотал на гантельке от балласта ЛДС, высотой 9 и внешним диаметром 6мм. Правда, перематывал несколько раз - изначально взял толстоватый провод и не помещалось :( Сделал ипровизированный намоточный станок: ручную дрель зажал в тисах, на патрон наклеил кусочек изоленты (считать витки). По большому счёту надо бы мотать порядово, с покрытием лаком каждые 50-100 витков, но сделал "по быстрому, авось сойдёт" внавал. Сначала мотается вторичка, вывода фиксируются на ножки гантельки. Потом термоусадка в размер, поверх первичка более толстым проводом. Перемотал заодно транс от китайской дешёвой одноамперной зарядки на Ш-образном сердечнике (чуть добавив зазора надфилем), но пока не тестировал. В "Дозиметре Сталкера" использовали для намотки Ш-образный дроссель от энергосберегаек 7-9Вт.
- параллельно конденсатору С1 поставить стабилитрон на 2,7 В (при питании от литий-ионного аккумулятора)
и резистор на 470 кОм,
- не устанавливать детали R1, R2, T1, R3, R4.
Дело не в шуме, это по плюсу СБМ-20 есть четкий импульс 200В и больше который мы можем взять через конденсатор и огграничив стабильтроном подать в Ардуино. Но как оказалось из паспорта на батчик так лучше не делать.
А по минусу датчика только куча шумов и всплеск тока в момент импульса, вот этот всплеск мы и формируем для компаратора. Вот пост где я проверял #127.
А Вы соответственно начните с ТОЭ, законов им. вышеупомянутого, тогда под откровенную лажу о различии токов на одном и втором выводе подгавкивать перестанете.
Разные режимы потребуют разной индикации. В обычном режиме скорее всего усреднённое значение за пару-тройку минут (при околофоновых значениях), график, скажем, за полчаса. В поисковом время замера и интервал отображения графика придётся сокращать. Пока над компоновкой не думал...
Вот пример максимализма Рад-Боя:
Какую библиотеку собираешься использовать? Я парочку потыкал, монструозные они. Вывод трёх значений на экран (даже не в лупе, а по времени несколько раз в секунду) сбивал накачку с 200 имп/с до 350. Так и не понял, почему.
Разные режимы потребуют разной индикации. В обычном режиме скорее всего усреднённое значение за пару-тройку минут (при околофоновых значениях), график, скажем, за полчаса. В поисковом время замера и интервал отображения графика придётся сокращать. Пока над компоновкой не думал...
Вот пример максимализма Рад-Боя:
Какую библиотеку собираешься использовать? Я парочку потыкал, монструозные они. Вывод трёх значений на экран (даже не в лупе, а по времени несколько раз в секунду) сбивал накачку с 200 имп/с до 350. Так и не понял, почему.
Ага видел, аж мельтишит.
Думаю больше двух или трех кнопок не стоит и одну из них на прерывание.
библиотеку эту, там ркский можно вкрутить без проблем
Мдеее. Попробовал
if (hv_adc < ADC) { //Значение АЦП при котором на выходе 400В PORTD |= (1 << 5); //дергаем пин 5 _delay_us(18); PORTD &= ~(1 << 5);//дергаем пин 5 }Ток вырос до 33мА с 0.9мА. Не равно 18 тактам аж никак...
Вот так:
PORTD |= (1 << 5); //дергаем пин 5 int c=6; while (c>0){asm("nop"); c--; } PORTD &= ~(1 << 5);//дергаем пин 5Удалось добиться 2.7мА. Похоже, вернусь к nop'ам, по настройке придётся думать.
Кстати, идея для сервис-меню: если брать за опорное напряжение питания (можно периодически калибровать его по внутреннему опорнику), то можно мерять падение на резисторе в цепи питания преобразователя и врежиме реального времени смотреть потребляемый ток.
tekagi
_delay_us(18); это 18 мкС начни с одной.
нам не обязательное опорное ставить 1,1 можно и с АКБ ставить и потом с помощью benGap его мерить, но это дольше, при сильной дозе будет тормозить.
Счас такой скечь пользую, проверь прерывание.
//блок питания счетчика гейгера #include <util/delay.h> //настройки /////////////начало #define ADC_HV A2 //пин замера высокого #define ADC 230 //значение АЦП при котором 400В byte puls = 2; //длинна импульса для трансформатора //настройки //////////////конец int hv_adc; volatile int shet = 0; void setup() { analogReference(INTERNAL); pinMode(5, OUTPUT); pinMode(13, OUTPUT); nakachka();//первая накачка attachInterrupt(0, Schet, FALLING);//прерываниям пин 2 } void loop() { generator();//накачка по обратной связи с АЦП } void Schet() { //прерывание на пин 2 detachInterrupt(0); digitalWrite(13, !digitalRead(13)); shet++; attachInterrupt(0, Schet, FALLING); } void generator() {//накачка по обратной связи с АЦП hv_adc = analogRead(A2); if (hv_adc < ADC) { //Значение АЦП при котором на выходе 400В PORTD |= (1 << 5); //дергаем пин 5 _delay_us(puls); PORTD &= ~(1 << 5);//дергаем пин 5 } } void nakachka() {//первая накачка byte n = 0; while (n < 20) { PORTD |= (1 << 5);//дергаем пин n++; _delay_us(puls); PORTD &= ~(1 << 5);//дергаем пин _delay_us(100); } }Работает, отсчёт вижу. Непривычно вместо коротких импульсов видеть зажигание по одной частице, погасание по другой))
tekagi
нам не обязательное опорное ставить 1,1 можно и с АКБ ставить и потом с помощью benGap его мерить, но это дольше, при сильной дозе будет тормозить.
Можно и при таком опорном, поставить отключаемый делитель на лапку ардуины. Прижали к земле, померяли на делителе, отпустили.
_delay_us(18); это 18 мкС начни с одной.
Упс, лопухнулся. Спутал такты и микросекунды... _delay_us(1); совпало с моими 18ю nop'ами. Всё верно, при 16МГЦ 16 тактов плюс время на запись в регистр. Получается, что это минимальное допустимое значение и изменять можно только с таким шагом? Многовато.
Счас такой скечь пользую, проверь прерывание.
//блок питания счетчика гейгера #include <util/delay.h> //настройки /////////////начало #define ADC_HV A2 //пин замера высокого #define ADC 230 //значение АЦП при котором 400В byte puls = 2; //длинна импульса для трансформатора //настройки //////////////конец int hv_adc; volatile int shet = 0; void setup() { analogReference(INTERNAL); pinMode(5, OUTPUT); pinMode(13, OUTPUT); nakachka();//первая накачка attachInterrupt(0, Schet, FALLING);//прерываниям пин 2 } void loop() { generator();//накачка по обратной связи с АЦП } void Schet() { //прерывание на пин 2 detachInterrupt(0); digitalWrite(13, !digitalRead(13)); shet++; attachInterrupt(0, Schet, FALLING); } void generator() {//накачка по обратной связи с АЦП hv_adc = analogRead(A2); if (hv_adc < ADC) { //Значение АЦП при котором на выходе 400В PORTD |= (1 << 5); //дергаем пин 5 _delay_us(puls); PORTD &= ~(1 << 5);//дергаем пин 5 } } void nakachka() {//первая накачка byte n = 0; while (n < 20) { PORTD |= (1 << 5);//дергаем пин n++; _delay_us(puls); PORTD &= ~(1 << 5);//дергаем пин _delay_us(100); } }Работает, отсчёт вижу. Непривычно вместо коротких импульсов видеть зажигание по одной частице, погасание по другой))
Чтоб сделать без реверса а это нужно через милис чтоб бех делея.
Да это неважно, главное было увидеть приём и обработку импульса.
tekagi
Вернул прежнюю экономию!
У меня в коде просто нопы, вайл для меня долгий проверял.
Нужно будет что-то придумать чтоб более гибко с меню настраивать под любой транс.
Возможно свободный таймер останется тогде сделаем на нем.
Пока код такой, думаю о дисплее.
//блок питания счетчика гейгера #include <util/delay.h> //настройки /////////////начало #define ADC_HV A2 //пин замера высокого #define ADC 190 //значение АЦП при котором 400В с учетом вашего делителя напряжения #define led 4 //пин светика //настройки //////////////конец int hv_adc; volatile int shet = 0; void setup() { analogReference(INTERNAL); pinMode(5, OUTPUT); pinMode(led, OUTPUT); nakachka();//первая накачка attachInterrupt(0, Schet, FALLING);//прерываниям пин 2 } void loop() { generator();//накачка по обратной связи с АЦП } void Schet() { //прерывание от счетчика на пин 2 detachInterrupt(0); digitalWrite(led, !digitalRead(led)); shet++; attachInterrupt(0, Schet, FALLING); } void generator() {//накачка по обратной связи с АЦП hv_adc = analogRead(A2); if (hv_adc < ADC) { //Значение АЦП при котором на выходе 400В PORTD |= (1 << 5); //дергаем пин 5 asm("nop"); asm("nop"); asm("nop"); asm("nop"); //точная задержка импульса транзистора PORTD &= ~(1 << 5);//дергаем пин 5 } } void nakachka() {//первая накачка byte n = 0; while (n < 20) { PORTD |= (1 << 5);//дергаем пин n++; asm("nop"); asm("nop"); asm("nop"); asm("nop"); //точная задержка импульса транзистора PORTD &= ~(1 << 5);//дергаем пин _delay_us(100); } }tekagi
Дай пож схему как ты импульс снимаешь.
Пока код такой, думаю о дисплее.
У меня в наличии только 5110 и 1602. ОЛЕДов пару заказал, но когда они дойдут... Для продвинутого функционала семисегментника мало (его бы хорошо с парой регистров в тини-версию, как карманный неубиваемый).
Возможно свободный таймер останется...
Хотелось бы задействовать ватчдог по назначению, а то дозик подвис в кармане, а на него надеешься. Про проблемы с загрузчиком знаю.
tekagi
Дай пож схему как ты импульс снимаешь.
Только подумал, что надо бы схему выложить, может ещё любители (радиофобы и радиофилы) подтянутся. На данный момент макетка такая. Кондер в цепи питания импульсника поменяю на меньший, резистор на больший (ставил то, до чего рука дотянулась).
По дисплеям у меня два варианта.
Если у тебя есть желание я могу начать на Олед писать а ты параллельно на 5110.
Если нет я начну на 5110.
PORTD |= (1 << 5);//дергаем пин n++; asm("nop"); asm("nop"); asm("nop"); asm("nop"); //точная задержка импульса транзистора PORTD &= ~(1 << 5);//дергаем пин _delay_us(100);Перенеси n++ ниже PORTD &= ~(1 << 5);//дергаем пин, инкременту тоже надо время на выполнение, будем путаться.
Давай лучше 5110. Писарь из меня пока неважный, я ж вопросами замучаю, пока ты будешь основной код ваять )) Когда нормально заработает - можно и под другие дисплеи адаптировать.
лучше убрать из прерывания, не будем терять время. Проверяем в loop'e, изменился ли shet и меняем состояние леда (или генерим импульс).
В остальном - работает.
Спасибо что ткнул носом!)
теперь и в меню есть настройка и мне подходит у меня импульс 400нС
//блок питания счетчика гейгера #include <util/delay.h> //настройки /////////////начало #define ADC_HV A2 //пин замера высокого #define ADC 190 //значение АЦП при котором 400В с учетом вашего делителя напряжения #define led 13 //пин светика #define puls 4 //тонкая настройка длинны импульса высоковольтного транса //настройки //////////////конец int hv_adc; volatile int shet = 0; void setup() { analogReference(INTERNAL); pinMode(5, OUTPUT); pinMode(led, OUTPUT); nakachka();//первая накачка attachInterrupt(0, Schet, FALLING);//прерываниям пин 2 } void loop() { generator();//накачка по обратной связи с АЦП } void Schet() { //прерывание от счетчика на пин 2 detachInterrupt(0); digitalWrite(led, !digitalRead(led)); shet++; attachInterrupt(0, Schet, FALLING); } void generator() {//накачка по обратной связи с АЦП hv_adc = analogRead(A2); if (hv_adc < ADC) { //Значение АЦП при котором на выходе 400В PORTD |= (1 << 5); //дергаем пин 5 int c=puls; while (c>0){asm("nop"); c--; } PORTD &= ~(1 << 5);//дергаем пин 5 } } void nakachka() {//первая накачка byte n = 0; while (n < 20) { PORTD |= (1 << 5);//дергаем пин int c=puls; while (c>0){asm("nop"); c--; } PORTD &= ~(1 << 5);//дергаем пин n++; _delay_us(100); } }Может shet вообще boolean сделать? В прерывании ставим в единицу, в loop'e проверяем, если единица - сбрасываем в ноль, выполняем нужные действия (изменение переменных, замер напруги, индикацию). Ну и замер напряжения и проверка есть ли вообще импульсы (всё ли в порядке с ВВ частью и датчиком) просто выполняем с периодичностью раз в n секунд.
Может shet вообще boolean сделать? В прерывании ставим в единицу, в loop'e проверяем, если единица - сбрасываем в ноль, выполняем нужные действия (изменение переменных, замер напруги, индикацию). Ну и замер напряжения и проверка есть ли вообще импульсы (всё ли в порядке с ВВ частью и датчиком) просто выполняем с периодичностью раз в n секунд.
Оно то можно но если импульсы пачкой прилетят мы их поймаем,
а если сбрасывать флаг и его проверять в коде, то код нужно ужать то мертвого времени счетчика,
пока счетчик мертв после импульса и не может поймать частицу мы должны будем все успеть.
А если счетчики в паралель два тогда точно не успеем.
Оно то можно но если импульсы пачкой прилетят мы их поймаем,
а если сбрасывать флаг и его проверять в коде, то код нужно ужать то мертвого времени счетчика,
пока счетчик мертв после импульса и не может поймать частицу мы должны будем все успеть.
А если счетчики в паралель два тогда точно не успеем.
Согласен, не подойдёт.
Не удалось мне с кодом
while (c>0){asm("nop"); c--; }подобрать нужный импульс :( То много, то мало, 2.7мА против прежних 0.94мА. Слишком грубая настройка получается. Если цикл на асме реализовать, не быстрее будет? Или оставить nop'ы и не мучаться?
.... Если цикл на асме реализовать, не быстрее будет? Или оставить nop'ы и не мучаться?
Будет быстрее, У ИДЕ есть оптимизация кода,
возможно вайл не сразу выполняется а после нопов.
Мне этот кусок подешел, быстро получается
void generator() {//накачка по обратной связи с АЦП hv_adc = analogRead(A2); if (hv_adc < ADC) { //Значение АЦП при котором на выходе 400В PORTD |= (1 << 5); //дергаем пин 5 int c=puls; while (c>0){asm("nop"); c--; } PORTD &= ~(1 << 5);//дергаем пин 5 } }Этот-то код мне и не подошёл. Не знаю, за сколько тактов выполняется сравнение и декремент в цикле, но выходит очень много. Ох, чую на это таймер просится :( Буду копать информацию по регулируемой задержке на асме, Си здесь не помощник.
Проверил мою-твою схему под нагрузкой 2 тумблера с СПД показало себя отлично, сигнал на осциллографе не слипается и не захлебывается, есть четкие импульсы для прерывания.
R4 можно убрать , или ты его на всякий пожарный?
R3 уменьшай до 10-15КОм иначе фронт после импульса сильно пологий иногда наскакивает на соседние под нагрузкой. Я поставил себе 10кОм.
В чем ты схемы рисуешь?
В чем ты схемы рисуешь?
sPlan (rusPlan) 7
R3 уменьшай до 10-15КОм иначе фронт после импульса сильно пологий иногда наскакивает на соседние под нагрузкой. Я поставил себе 10кОм.
Ok. Перерисую и перевыложу.
R4 можно убрать , или ты его на всякий пожарный?
Как хочешь, на функционал он влиять не должен. Просто не люблю я напрямую к пинам цепляться: стоит ошибиться с конфигурацией в скетче - прощай, порт (а может и мега).
Не держи подобную каку в жилых помещениях. СПД имеет свойство осыпаться и разлетаться по комнате радиоактивной пылью. Ну и обязательно держать их в герметичных пакетах с зип-застёжкой, не вынимая никогда. Я поэтому и не хочу подобные Контрольные Источники (КИ) использовать. Всё пытаюсь найти какое-нибудь изделие из уранового стекла.
По схеме: собираюсь ещё разделить R7 на 5 по 2МОм. Как из-за приведённой ёмкости так и из-за вероятности поверхностного пробоя. (Хотя всё равно планирую сделать ВВ часть отдельной платкой-модулем и залить пластик-лаком или эпоксидкой.)
уменя возникли вопросы , извеняюсь что вклиниваюсь в процес разработки кодов :(((( параметры гантельки можно ли готовую куить если только мотать (можно в новал витков очень много нужно сделать!!!!) какие мощности резисторов ? диод FR107 заменить на 1N4007 док 1А 1000В или быстродействие слишком мало?
надо ехать в Домбай кусок гранита отковырять, для проверки прибора пойдёт
Гранит тоже разный бывает, мне пока особо активных не попадалось. Максимум в два - два с половиной раза над фоном.
уже нормально жеж
А как вы относитесь к такой схеме подключения счетчиков и снятия импульсов? И что за деталька отмеченная стрелкой?
Это фрагмент схемы бытового дозиметра
А как вы относитесь к такой схеме подключения счетчиков и снятия импульсов?
Со схемами включения транзистора с общей базой не сталкивался, поэтому ничего сказать не могу. Узел, который подобрад bodriy_2014 вполне справляется с задачей, менять смысла не вижу.
И что за деталька отмеченная стрелкой?
Очень похоже на пьезотансформатор. Из серии "сам не сделаешь, и фиг достанешь".
......................................
Очень похоже на пьезотансформатор. Из серии "сам не сделаешь, и фиг достанешь".
P.S. До сегодняшнего дня не знал о существовании такой детальки.
уменя возникли вопросы , извеняюсь что вклиниваюсь в процес разработки кодов :(((( параметры гантельки можно ли готовую куить если только мотать (можно в новал витков очень много нужно сделать!!!!) какие мощности резисторов ? диод FR107 заменить на 1N4007 док 1А 1000В или быстродействие слишком мало?
[/quote]
Привет.
---Я делал два транса один мотал гантельку в навал смог намотать 600 витков и схема эта без умножителя. Вторую взял котовую индуктивность и поверх намотал три свои витка и работает хорошо но с умножителем на три. Можно взять трас от китайской зарядки и убрать все обмотки кроме самой высокоомной и поверх нее намотать три витка.
---резисторы главное чтоб однопроцентные на делителе напряжения были, мощьность не важна там мили и микро Амперы.
---нужны быстрые диоды.
Очень похоже на пьезотансформатор. Из серии "сам не сделаешь, и фиг достанешь".
Я таких тоже не встречал.
bodriy2014, опередил)
уменя возникли вопросы , извеняюсь что вклиниваюсь в процес разработки кодов :((((
Больше тестеров - меньше багов в финальной версии ))
диод FR107 заменить на 1N4007 док 1А 1000В или быстродействие слишком мало?
1N4007 не подойдёт, нужны именно высоковольтные диоды с высоким быстродействием. FR107 тоже може быть неоптимален (из-за тока обратной утечки), но у нас делитель больше просадит. А так - диод массовый и дешёвый.
Можно попробовать HER108, RGP10M, HER158...
какие мощности резисторов ?
Любые) В финальной версии буду ставить смд, сейчас 0,125. В высоковольтной части больше, чем 0,125 ставить нельзя, увеличивается приведённая к счётчику ёмкость.
параметры гантельки можно ли готовую куить если только мотать (можно в новал витков очень много нужно сделать!!!!)
Я мотал на гантельке от балласта ЛДС, высотой 9 и внешним диаметром 6мм. Правда, перематывал несколько раз - изначально взял толстоватый провод и не помещалось :( Сделал ипровизированный намоточный станок: ручную дрель зажал в тисах, на патрон наклеил кусочек изоленты (считать витки). По большому счёту надо бы мотать порядово, с покрытием лаком каждые 50-100 витков, но сделал "по быстрому, авось сойдёт" внавал. Сначала мотается вторичка, вывода фиксируются на ножки гантельки. Потом термоусадка в размер, поверх первичка более толстым проводом. Перемотал заодно транс от китайской дешёвой одноамперной зарядки на Ш-образном сердечнике (чуть добавив зазора надфилем), но пока не тестировал. В "Дозиметре Сталкера" использовали для намотки Ш-образный дроссель от энергосберегаек 7-9Вт.
tekagi
Привет.
Переделал мигание диодом и буззером в отдельную функцию.
Теперь более привычно и по скорости исполнения отлично.
Когда все ноги рапределим нужно будет зманить Ардуиновские дерганья на С++
Поделись на почту в Splan схемой, пожалуйста.
(была почта)
//Питание и индикация счетчика Гейгера #include <util/delay.h> //настройки /////////////начало #define ADC_HV A2 //пин замера высокого #define ADC 190 //значение АЦП при котором 400В с учетом вашего делителя напряжения #define puls 4 //тонкая настройка длинны импульса высоковольтного транса #define led 13 //пин светика #define buzz 8 //пин бузера bool led_ON = 1; //включить индикацию светодтодом (1) bool buzz_ON = 0; //включить индикацию бузером (1) //настройки //////////////конец int hv_adc, shet_s; volatile int shet = 0; unsigned long mil_s = 0; void setup() { analogReference(INTERNAL); pinMode(5, OUTPUT); pinMode(led, OUTPUT); pinMode(buzz, OUTPUT); nakachka();//первая накачка attachInterrupt(0, Schet, FALLING);//прерываниям пин 2 } void loop() { generator();//накачка по обратной связи с АЦП signa ();//подача сигнала о частичке } void signa () { //индикация каждой частички звуком или светом if (shet_s != shet) { shet_s = shet; if (led_ON == 1) { digitalWrite(led, HIGH); } if (buzz_ON == 1) { digitalWrite(buzz, HIGH); } } if (millis() - mil_s >= 10) { mil_s = millis(); digitalWrite(led, LOW); digitalWrite(buzz, LOW); } } void Schet() { //прерывание от счетчика на пин 2 detachInterrupt(0); shet++; attachInterrupt(0, Schet, FALLING); } void generator() {//накачка по обратной связи с АЦП hv_adc = analogRead(A2); if (hv_adc < ADC) { //Значение АЦП при котором на выходе 400В PORTD |= (1 << 5); //дергаем пин 5 int c = puls; while (c > 0) { asm("nop"); c--; } PORTD &= ~(1 << 5);//дергаем пин 5 } } void nakachka() {//первая накачка byte n = 0; while (n < 20) { PORTD |= (1 << 5);//дергаем пин int c = puls; while (c > 0) { asm("nop"); c--; } PORTD &= ~(1 << 5);//дергаем пин n++; _delay_us(100); } }Почту не свети, заспамят) Сейчас кину.
Почту не свети, заспамят) Сейчас кину.
Удалю, но спамерам не переплюнуть подписчиков у которых пультоскоп не компилируется из-за отсутствия библиотек)))))))))
Плата за популярность :D
Переделал пока так:
Спасибо за разъеснения!!! на мои вопросы!!! :(
Текущая моя схема и скетч
//Питание и индикация счетчика Гейгера #include <util/delay.h> //настройки /////////////начало #define ADC_HV A2 //пин замера высокого #define ADC 190 //значение АЦП при котором 400В с учетом вашего делителя напряжения #define puls 4 //тонкая настройка длинны импульса высоковольтного транса #define led 13 //пин светика #define buzz 8 //пин бузера bool led_ON = 1; //включить индикацию светодтодом (1) bool buzz_ON = 0; //включить индикацию бузером (1) //настройки //////////////конец int hv_adc, shet_s; volatile int shet = 0; unsigned long mil_s = 0; void setup() { analogReference(INTERNAL); pinMode(5, OUTPUT); pinMode(led, OUTPUT); pinMode(buzz, OUTPUT); nakachka();//первая накачка attachInterrupt(0, Schet, FALLING);//прерываниям пин 2 } void loop() { generator();//накачка по обратной связи с АЦП signa ();//подача сигнала о частичке } void signa () { //индикация каждой частички звуком или светом if (shet_s != shet) { shet_s = shet; if (led_ON == 1) { digitalWrite(led, HIGH); } if (buzz_ON == 1) { digitalWrite(buzz, HIGH); } } if (millis() - mil_s >= 10) { mil_s = millis(); digitalWrite(led, LOW); digitalWrite(buzz, LOW); } } void Schet() { //прерывание от счетчика на пин 2 detachInterrupt(0); shet++; attachInterrupt(0, Schet, FALLING); } void generator() {//накачка по обратной связи с АЦП hv_adc = analogRead(A2); if (hv_adc < ADC) { //Значение АЦП при котором на выходе 400В PORTD |= (1 << 5); //дергаем пин 5 int c = puls; while (c > 0) { asm("nop"); c--; } PORTD &= ~(1 << 5);//дергаем пин 5 } } void nakachka() {//первая накачка byte n = 0; while (n < 20) { PORTD |= (1 << 5);//дергаем пин int c = puls; while (c > 0) { asm("nop"); c--; } PORTD &= ~(1 << 5);//дергаем пин n++; _delay_us(100); } }Если возникнет желание упростить схему по посту #159, то можно
- поменять местами R7 и СБМ-20 (иключительно для читабельности схемы),
- параллельно конденсатору С1 поставить стабилитрон на 2,7 В (при питании от литий-ионного аккумулятора)
и резистор на 470 кОм,
- не устанавливать детали R1, R2, T1, R3, R4.
Если возникнет желание упростить схему по посту #159, то можно
- поменять местами R7 и СБМ-20 (иключительно для читабельности схемы),
Ни в коем разе. Это быстро уложит счётчик. Ну и ввиду большой ёмкости катода счётчика импульс потеряет форму и будет труднодетектируемым.
- параллельно конденсатору С1 поставить стабилитрон на 2,7 В (при питании от литий-ионного аккумулятора)
и резистор на 470 кОм,
- не устанавливать детали R1, R2, T1, R3, R4.
Вообще-то это формирователь импульса для чёткого срабатывания прерывания, а не просто элемент защиты.
А без формирователя, прерывание по уровню не сработает?
RISING, может, и сработает. Но стабилитрон сам по себе является источником шума.
С каких пор стабилитрон стал так сильго шуметь (вольты)?
....
- параллельно конденсатору С1 поставить стабилитрон на 2,7 В (при питании от литий-ионного аккумулятора)
и резистор на 470 кОм,
- не устанавливать детали R1, R2, T1, R3, R4.
Дело не в шуме, это по плюсу СБМ-20 есть четкий импульс 200В и больше который мы можем взять через конденсатор и огграничив стабильтроном подать в Ардуино. Но как оказалось из паспорта на батчик так лучше не делать.
А по минусу датчика только куча шумов и всплеск тока в момент импульса, вот этот всплеск мы и формируем для компаратора. Вот пост где я проверял #127 .
Дело не в шуме, это по плюсу СБМ-20 есть четкий импульс 200В ...
А по минусу датчика только куча шумов и всплеск тока в момент импульса
)))
Кирхгоф в гробу перевернулся, законы сохранения улетели в тартарары... продолжайте.
А Вы для начала изучите принципы снятия сигнала с анода и катода счётчика Гейгера-Мюллера. Тогда и Кирхгофа всуе поминать не будете...
А Вы соответственно начните с ТОЭ, законов им. вышеупомянутого, тогда под откровенную лажу о различии токов на одном и втором выводе подгавкивать перестанете.
Каких токов? С анода снимается импульс напряжения через резистивно-емкостную цепь, с катода токовый с последовательно включённого резистора.
Человек, пытающийся мерить высоковольтную слаботочку мультиметром учит ТОЭ... Есть предложения по проекту - говорите, нет - не разводите флуд.
tekagi
Есть предложения что должно быть на дисплее размером 84*48
как ты это видишь?
например
-текущая доза
-накопленная доза
-время работы
и т.д.
И какие значения должны как выглядеть (размер цифр)
Разные режимы потребуют разной индикации. В обычном режиме скорее всего усреднённое значение за пару-тройку минут (при околофоновых значениях), график, скажем, за полчаса. В поисковом время замера и интервал отображения графика придётся сокращать. Пока над компоновкой не думал...
Вот пример максимализма Рад-Боя:
Какую библиотеку собираешься использовать? Я парочку потыкал, монструозные они. Вывод трёх значений на экран (даже не в лупе, а по времени несколько раз в секунду) сбивал накачку с 200 имп/с до 350. Так и не понял, почему.
Разные режимы потребуют разной индикации. В обычном режиме скорее всего усреднённое значение за пару-тройку минут (при околофоновых значениях), график, скажем, за полчаса. В поисковом время замера и интервал отображения графика придётся сокращать. Пока над компоновкой не думал...
Вот пример максимализма Рад-Боя:
Какую библиотеку собираешься использовать? Я парочку потыкал, монструозные они. Вывод трёх значений на экран (даже не в лупе, а по времени несколько раз в секунду) сбивал накачку с 200 имп/с до 350. Так и не понял, почему.
Ага видел, аж мельтишит.
Думаю больше двух или трех кнопок не стоит и одну из них на прерывание.
библиотеку эту, там ркский можно вкрутить без проблем
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>