Прошил вашей прошивкой,все отлично, Спасибо. Скажите можете ее в зиверты переделать, за ранее благодарен.dimson писал(а):Вложения:
Radboy_fw_5.3_src_Lekha_Dimson_mod2.rar [456.42 KiB]
Дозиметр «Rad-Boy»
Re: Дозиметр «Rad-Boy»
- TaLiVis
- Вымогатель припоя
- Сообщения: 629
- Зарегистрирован: Пт мар 20, 2015 15:58:21
- Контактная информация:
Re: Дозиметр «Rad-Boy»
Наконец-то пришел мой заказ с АлиЭкспресс. Сердечник ER9.5/5
Как я писал раньше, транс на самодельной гантельке 8х10мм вторичка 380 витков 0.08мм (то что было написано на катушке с которой брал провод), первичка 13 витков 0.2мм запустился с первого раза. Но мы не ищем легких путей и поэтому был сделан заказ на Али...
И теперь результаты проведенных экспериментов.
Вторичка 380 витков провод 0.07мм (диаметр по изоляции, провод с китай-будильника, проводом указанным выше в каркас помещается только 300 витков).
Первичка 15 вит. 0.1мм. "HV пониженное", накачка 601. "Вн" (высокое напряжение) в авторском варианте и "HV" (High Voltage) в моем. Счета импульсов нет.
Первичка 10 вит. 0.1мм. Результат тот же.
Первичка 7 вит. 0.2мм. "HV низкое", накачка 601. Счет импульсов есть...
Первичка 20 вит. 0.1мм. "HV норма", накачка 001. Счета нет...
Выводы первички местами менял. Причем когда первичка 4 витка, счет идет при любом подключении первички. "HV низкое", накачка 601. Это я уже немного психанул...
Вот такая фигня, котята...
Добавлено позже...
Вторичка та же.
Первичка снова 15 витков 0.1мм. Между сердечниками посередине положил кусочек фторопластовой ленты толщиной 0.15мм, т.е. сделал зазор. Счет импульсов появился, высокое напряжение как было "пониженное", так и осталось, накачка 601.
Положил 2 слоя ленты, т.е. зазор стал 0.3мм. Счет импульсов есть, высокое - "норма", накачка прыгает от 001 до 500 с хвостиком...
Продолжение следует...
P.S. А теперь догадайтесь почему у многих в Рад-Бое не работает транс на кольце...
Как я писал раньше, транс на самодельной гантельке 8х10мм вторичка 380 витков 0.08мм (то что было написано на катушке с которой брал провод), первичка 13 витков 0.2мм запустился с первого раза. Но мы не ищем легких путей и поэтому был сделан заказ на Али...
И теперь результаты проведенных экспериментов.
Вторичка 380 витков провод 0.07мм (диаметр по изоляции, провод с китай-будильника, проводом указанным выше в каркас помещается только 300 витков).
Первичка 15 вит. 0.1мм. "HV пониженное", накачка 601. "Вн" (высокое напряжение) в авторском варианте и "HV" (High Voltage) в моем. Счета импульсов нет.
Первичка 10 вит. 0.1мм. Результат тот же.
Первичка 7 вит. 0.2мм. "HV низкое", накачка 601. Счет импульсов есть...
Первичка 20 вит. 0.1мм. "HV норма", накачка 001. Счета нет...
Выводы первички местами менял. Причем когда первичка 4 витка, счет идет при любом подключении первички. "HV низкое", накачка 601. Это я уже немного психанул...
Вот такая фигня, котята...
Добавлено позже...
Вторичка та же.
Первичка снова 15 витков 0.1мм. Между сердечниками посередине положил кусочек фторопластовой ленты толщиной 0.15мм, т.е. сделал зазор. Счет импульсов появился, высокое напряжение как было "пониженное", так и осталось, накачка 601.
Положил 2 слоя ленты, т.е. зазор стал 0.3мм. Счет импульсов есть, высокое - "норма", накачка прыгает от 001 до 500 с хвостиком...
Продолжение следует...
P.S. А теперь догадайтесь почему у многих в Рад-Бое не работает транс на кольце...
- TaLiVis
- Вымогатель припоя
- Сообщения: 629
- Зарегистрирован: Пт мар 20, 2015 15:58:21
- Контактная информация:
Re: Дозиметр «Rad-Boy»
На выходных решил опять помаяться ерундой и в очередной раз полез в исходники прошивки. Появилось желание изменить цифры показаний на главном экране, вернее их вид.

Но т.к. ума не хватает, интернет ковырять уже устал, да и не нахожу нужной информации, то, естественно, ничего не получается.
Пытался решить вопрос двумя способами.
Первый. Добавить в библиотеки шрифт больше чем 8х8. И, если я правильно понял, символы высотой больше 8 точек (пикселей) необходимо выводить в несколько рядов. Фигня вопрос, написал эту цЫферь, ну ту, что выше, в 4 ряда, а дальше чё?
Второй способ. Применить способ из первых прошивок. Изменить фон не проблема, поменять вид цифер тоже, но блин как убрать "ведущие" нули? Ну не нравятся они мне...
Мож кто чё подскажет?
Спойлер
На что-нибудь этакое. Ну не обязательно такое, просто рисовать проще всего...
Но т.к. ума не хватает, интернет ковырять уже устал, да и не нахожу нужной информации, то, естественно, ничего не получается.
Пытался решить вопрос двумя способами.
Первый. Добавить в библиотеки шрифт больше чем 8х8. И, если я правильно понял, символы высотой больше 8 точек (пикселей) необходимо выводить в несколько рядов. Фигня вопрос, написал эту цЫферь, ну ту, что выше, в 4 ряда, а дальше чё?
Второй способ. Применить способ из первых прошивок. Изменить фон не проблема, поменять вид цифер тоже, но блин как убрать "ведущие" нули? Ну не нравятся они мне...
Мож кто чё подскажет?
Re: Дозиметр «Rad-Boy»
Перечисленные тобой способы - это вывод дозы на экран строкой с помощью шрифта и вывод дозы картинками из массивов n0..n9?
Добавлено after 29 minutes 12 seconds:
Если использовать этот участок закомментированного кода (второй вариант, насколько я понял):
То можно попробовать сделать так:
где n10 - массив с пустой цифрой (пробел, фон) который необходимо создать, или можно попробовать так:
- это если программа предварительно очищает место вывода дозы цветом фона, не знаю глубже не копал.
Добавлено after 21 minute 50 seconds:
P.S.: TaLiVis, а можно попросить Вас выложить фото получившегося дозиметра?
Добавлено after 29 minutes 12 seconds:
Если использовать этот участок закомментированного кода (второй вариант, насколько я понял):
Код: Выделить всё
/*digit[0]=(raddisp%100000)/10000;
digit[1]=(raddisp%10000)/1000;
digit[2]=(raddisp%1000)/100;
digit[3]=(raddisp%100)/10;
digit[4]=raddisp%10;
for (j = 0; j < 5; j++ )
{
if ((!(digit[j]==old_digit[j]))||(redraw)) // НЕ рисуем если не надо, и так дофига по SPI прёт
switch (digit[j])
{
case 0: nlcd_Bitmap(x,22,14,23,n0); break;
case 1: nlcd_Bitmap(x,22,14,23,n1); break;
case 2: nlcd_Bitmap(x,22,14,23,n2); break;
case 3: nlcd_Bitmap(x,22,14,23,n3); break;
case 4: nlcd_Bitmap(x,22,14,23,n4); break;
case 5: nlcd_Bitmap(x,22,14,23,n5); break;
case 6: nlcd_Bitmap(x,22,14,23,n6); break;
case 7: nlcd_Bitmap(x,22,14,23,n7); break;
case 8: nlcd_Bitmap(x,22,14,23,n8); break;
case 9: nlcd_Bitmap(x,22,14,23,n9); break;
}
old_digit[j]=digit[j];
x = x+15;
} */То можно попробовать сделать так:
Код: Выделить всё
/*digit[0]=(raddisp%100000)/10000;
if(!digit[0]) digit[0] = 10;
digit[1]=(raddisp%10000)/1000;
if(!digit[1] && digit[0] ==10) digit[1] = 10;
digit[2]=(raddisp%1000)/100;
if(!digit[2] && digit[1] ==10) digit[2] = 10;
digit[3]=(raddisp%100)/10;
if(!digit[3] && digit[2] ==10) digit[3] = 10;
digit[4]=raddisp%10;
for (j = 0; j < 5; j++ )
{
if ((!(digit[j]==old_digit[j]))||(redraw)) // НЕ рисуем если не надо, и так дофига по SPI прёт
switch (digit[j])
{
case 0: nlcd_Bitmap(x,22,14,23,n0); break;
case 1: nlcd_Bitmap(x,22,14,23,n1); break;
case 2: nlcd_Bitmap(x,22,14,23,n2); break;
case 3: nlcd_Bitmap(x,22,14,23,n3); break;
case 4: nlcd_Bitmap(x,22,14,23,n4); break;
case 5: nlcd_Bitmap(x,22,14,23,n5); break;
case 6: nlcd_Bitmap(x,22,14,23,n6); break;
case 7: nlcd_Bitmap(x,22,14,23,n7); break;
case 8: nlcd_Bitmap(x,22,14,23,n8); break;
case 9: nlcd_Bitmap(x,22,14,23,n9); break;
case 10: nlcd_Bitmap(x,22,14,23,n10); break;
}
old_digit[j]=digit[j];
x = x+15;
} */где n10 - массив с пустой цифрой (пробел, фон) который необходимо создать, или можно попробовать так:
Код: Выделить всё
case 10: break;Добавлено after 21 minute 50 seconds:
P.S.: TaLiVis, а можно попросить Вас выложить фото получившегося дозиметра?
- TaLiVis
- Вымогатель припоя
- Сообщения: 629
- Зарегистрирован: Пт мар 20, 2015 15:58:21
- Контактная информация:
Re: Дозиметр «Rad-Boy»
fneed писал(а):...фото получившегося дозиметра?..
У меня Рад-Бой, к сожалению, почти год лежит без корпуса и благодаря моим издевательствам над ним скоро совсем потеряет презентабельный вид. По размеру должен быть такой же как и Нанит на СБМ-20, только чуть толще. Печатка, по крайней мере, такого же размера.
TaLiVis писал(а):... т.е. сделал зазор...
Плохо, когда форум читал год назад, а ведь про зазор писали не раз...
- TaLiVis
- Вымогатель припоя
- Сообщения: 629
- Зарегистрирован: Пт мар 20, 2015 15:58:21
- Контактная информация:
Re: Дозиметр «Rad-Boy»
Решил обратить внимание еще на один момент

Последний кадр - это поставщик такого чудесного фона...
Это средний фон поминутно за последние пять минут. Фон за время замера ниже 1100мкР/ч не опускался, но почему-то средний фон за эти же минуты в зафиксированных показаниях не дотягивал и до 800мкР/ч. При естественном фоне разница, возможно, не столь заметна, но исходя из этих показаний считается средний фон за час, он же идет и как накопленная доза за час и дальше. Возможно я опять не прав, но когда зафиксированные показания практически на треть ниже чем должны быть, исходя из приведенного эксперимента делаю вывод, что это не есть гуд.
Теперь плавно подходим к вопросу. Как можно поменять эти показания?
Спойлер

Последний кадр - это поставщик такого чудесного фона...
Это средний фон поминутно за последние пять минут. Фон за время замера ниже 1100мкР/ч не опускался, но почему-то средний фон за эти же минуты в зафиксированных показаниях не дотягивал и до 800мкР/ч. При естественном фоне разница, возможно, не столь заметна, но исходя из этих показаний считается средний фон за час, он же идет и как накопленная доза за час и дальше. Возможно я опять не прав, но когда зафиксированные показания практически на треть ниже чем должны быть, исходя из приведенного эксперимента делаю вывод, что это не есть гуд.
Теперь плавно подходим к вопросу. Как можно поменять эти показания?
- TaLiVis
- Вымогатель припоя
- Сообщения: 629
- Зарегистрирован: Пт мар 20, 2015 15:58:21
- Контактная информация:
Re: Дозиметр «Rad-Boy»
И почему свои посты можно редактировать столь короткое время... Добавил бы в предыдущий, но...
Провел еще несколько измерений. Источник излучения, за неимением другого, тот же - тумблер 1958 года выпуска USSR. Расстояние от источника до счетчика приблизительно такое же, как и в предыдущем эксперименте, чтобы показания на главном экране были в тех же пределах 1100...1150мкР/ч. Средний фон поминутно за последние 5 минут в пределах 760...780мкР/ч. Что было сделано далее. Не меняя положения дозиметра и тумблера, включил точный замер по гамма. Показания в пределах тех же 760...780мкР/ч... Вывод: средний фон и накопленная доза считается верно, да и Нанит показывает за день те же цифры по дозе, а фон при времени замера 21 секунда завышен на треть...
Другой комплекс измерений. Расстояние между счетчиком и излучателем было таким, что бы дозиметр показывал фон в районе 200мкР/ч плюс-минус. На этой величине происходит переключение времени замера с 42 на 21 секунду. Показания 196...204 время 42с, время 21с - показания сразу же 300...319, второй сотни в показаниях нет... Вывод, сделаный ранее, подтверждается...
Как привести показания фона на главном экране в норму?
Провел еще несколько измерений. Источник излучения, за неимением другого, тот же - тумблер 1958 года выпуска USSR. Расстояние от источника до счетчика приблизительно такое же, как и в предыдущем эксперименте, чтобы показания на главном экране были в тех же пределах 1100...1150мкР/ч. Средний фон поминутно за последние 5 минут в пределах 760...780мкР/ч. Что было сделано далее. Не меняя положения дозиметра и тумблера, включил точный замер по гамма. Показания в пределах тех же 760...780мкР/ч... Вывод: средний фон и накопленная доза считается верно, да и Нанит показывает за день те же цифры по дозе, а фон при времени замера 21 секунда завышен на треть...
Другой комплекс измерений. Расстояние между счетчиком и излучателем было таким, что бы дозиметр показывал фон в районе 200мкР/ч плюс-минус. На этой величине происходит переключение времени замера с 42 на 21 секунду. Показания 196...204 время 42с, время 21с - показания сразу же 300...319, второй сотни в показаниях нет... Вывод, сделаный ранее, подтверждается...
Как привести показания фона на главном экране в норму?
Re: Дозиметр «Rad-Boy»
Ребят подскажите пожалуйста, можно ли прошить Atmega128L программатором USBasp прямо на плате? (в шитье новичок) Спасибо за ответы! 
Re: Дозиметр «Rad-Boy»
Slawik84 писал(а):Ребят подскажите пожалуйста, можно ли прошить Atmega128L программатором USBasp прямо на плате? (в шитье новичок) Спасибо за ответы!
Можно
Re: Дозиметр «Rad-Boy»
Подпаять проводки на ноги мс
MOSI, MISO, SCK, RESET, Vcc, GND в соответствии с даташитом.
ps Так на плате есть же разьем для программирования
ps2 Раз уж влез в тему.
Неужели никто не адаптировал программу под какой нибудь китайский лсд (типа ILI*** или подобный),
которых за недорого можно заказатьс али.
Забодался искать от нокий, купил да не рабочий попался.
MOSI, MISO, SCK, RESET, Vcc, GND в соответствии с даташитом.
ps Так на плате есть же разьем для программирования
ps2 Раз уж влез в тему.
Неужели никто не адаптировал программу под какой нибудь китайский лсд (типа ILI*** или подобный),
которых за недорого можно заказатьс али.
Забодался искать от нокий, купил да не рабочий попался.

- TaLiVis
- Вымогатель припоя
- Сообщения: 629
- Зарегистрирован: Пт мар 20, 2015 15:58:21
- Контактная информация:
Re: Дозиметр «Rad-Boy»
Ну что ж, ещё ложка дёгтя.
Тип графика - средний фон поминутно за последние 5 минут. Если число больше 999 в показаниях отображается только 1 (единица). Средний фон за последние 5 часов не проверял, но, судя по прошивке, будет тоже самое.
Точный замер, гамма. Показания 1200...1260мкР/ч. Не меняя положения дозиметра и излучателя, переключаемся на главный экран. При фоне от 1200 мкР/ч время счета должно быть 14 секунд, но... На главном экране показания - 1800...1860 и время 21 секунда. При переключении на 14 секунд показания 2060...2100 !
Закономерность получается такая:
счет 21 секунда, фон 200 мкР/ч (если больше, то вместо 200 ставим нужную величину до 1200)
((200х42)+(200х21))/42=300
14 секунд, фон от 1200 до 4800 мкР/ч, дальше счет 7 секунд и разнос будет ещё больше
((1200х21)+(1200х14))/21=2000
И в результатах получаем показания на главном экране. Тот кто знает, как такое возможно, на форуме, наверное, уже не бывает. Я понимаю, что в прошивке это выглядит совершенно иначе, но результат тот же.
Ув. форумчане, неужели никому не приходилось иметь дело с фоном больше, чем от калийных удобрений или куска гранита? Хотя, это не измерение линейных величин и могли не заметить. Фон до 200мкР/ч Рад-Бой показывает верно, дальше единственное утешение только то, что он врет в бОльшую сторону...
Ув. MadOrc, понимаю, что данный проект больше Вам не интересен, но если подобный алгоритм применяется и в других Ваших дозиметрах, тогда все-таки не мешало бы обратить внимание на данный момент.
Попытаюсь, конечно, найти костыль и методом тыка, но ложка дёгтя останется...
Тип графика - средний фон поминутно за последние 5 минут. Если число больше 999 в показаниях отображается только 1 (единица). Средний фон за последние 5 часов не проверял, но, судя по прошивке, будет тоже самое.
Точный замер, гамма. Показания 1200...1260мкР/ч. Не меняя положения дозиметра и излучателя, переключаемся на главный экран. При фоне от 1200 мкР/ч время счета должно быть 14 секунд, но... На главном экране показания - 1800...1860 и время 21 секунда. При переключении на 14 секунд показания 2060...2100 !
Закономерность получается такая:
счет 21 секунда, фон 200 мкР/ч (если больше, то вместо 200 ставим нужную величину до 1200)
((200х42)+(200х21))/42=300
14 секунд, фон от 1200 до 4800 мкР/ч, дальше счет 7 секунд и разнос будет ещё больше
((1200х21)+(1200х14))/21=2000
И в результатах получаем показания на главном экране. Тот кто знает, как такое возможно, на форуме, наверное, уже не бывает. Я понимаю, что в прошивке это выглядит совершенно иначе, но результат тот же.
Ув. форумчане, неужели никому не приходилось иметь дело с фоном больше, чем от калийных удобрений или куска гранита? Хотя, это не измерение линейных величин и могли не заметить. Фон до 200мкР/ч Рад-Бой показывает верно, дальше единственное утешение только то, что он врет в бОльшую сторону...
Ув. MadOrc, понимаю, что данный проект больше Вам не интересен, но если подобный алгоритм применяется и в других Ваших дозиметрах, тогда все-таки не мешало бы обратить внимание на данный момент.
Попытаюсь, конечно, найти костыль и методом тыка, но ложка дёгтя останется...
- MadOrc
- Сверлит текстолит когтями
- Сообщения: 1215
- Зарегистрирован: Чт дек 27, 2012 15:38:20
- Откуда: Казахстан, Алма-Ата
Re: Дозиметр «Rad-Boy»
Это был вообще первый проект, который разрабатывал "с нуля", соответственно там куча "детских" болячек, что сейчас бы сделал совсем по-другому.
Оно нормально работает на гражданских уровнях фона, а вот на высоких будет ряд проблем, это и переключение скорости счета без "гистерезиса" и ступенчато(практически калька с Микрона-2), и недокачка ВН в связи с пост-контролем напряжения по уже полученному импульсу, и еще чтото, сейчас не упомню.
Желаете доработать? Не вопрос - желательно взять питание датчика из Нанита, оно значительно стабильнее и не зависит ни от датчика ни от кучи других проблем радбоя, для счета же желательно взять бесступенчатый расчет одной формулой с экстраполяцией, когда результат есть сразу и запаздывание показаний при резкой смене фона минимально. Такое применено в наните-LED. Т.е. можете просто взять оттуда готовые куски кода\схемы и адаптировать к своим целям
У меня же сейчас по личным причинам сейчас катастрофически мало свободного времени на радиолюбительство, да и ковыряю другие проекты, так что всё в ваших руках.
PS Исходники нанит-лед выложил в соответствующей теме.
Оно нормально работает на гражданских уровнях фона, а вот на высоких будет ряд проблем, это и переключение скорости счета без "гистерезиса" и ступенчато(практически калька с Микрона-2), и недокачка ВН в связи с пост-контролем напряжения по уже полученному импульсу, и еще чтото, сейчас не упомню.
Желаете доработать? Не вопрос - желательно взять питание датчика из Нанита, оно значительно стабильнее и не зависит ни от датчика ни от кучи других проблем радбоя, для счета же желательно взять бесступенчатый расчет одной формулой с экстраполяцией, когда результат есть сразу и запаздывание показаний при резкой смене фона минимально. Такое применено в наните-LED. Т.е. можете просто взять оттуда готовые куски кода\схемы и адаптировать к своим целям
У меня же сейчас по личным причинам сейчас катастрофически мало свободного времени на радиолюбительство, да и ковыряю другие проекты, так что всё в ваших руках.
PS Исходники нанит-лед выложил в соответствующей теме.
Радиофил-затейник.
Re: Дозиметр «Rad-Boy»
pcb432 писал(а):Подпаять проводки на ноги мс
MOSI, MISO, SCK, RESET, Vcc, GND в соответствии с даташитом.
ps Так на плате есть же разьем для программирования
ps2 Раз уж влез в тему.
Неужели никто не адаптировал программу под какой нибудь китайский лсд (типа ILI*** или подобный),
которых за недорого можно заказатьс али.
Забодался искать от нокий, купил да не рабочий попался.
А не подскажете какие фьюзы выставлять?
Re: Дозиметр «Rad-Boy»
На стр 2 уважаемый MadOrc выкладывал скрин фьюзов.
Re: Дозиметр «Rad-Boy»
pcb432 писал(а):На стр 2 уважаемый MadOrc выкладывал скрин фьюзов.
Простите за назойливость, на стр. 2 скрин фьюзов для USBasp не нашёл.
- TaLiVis
- Вымогатель припоя
- Сообщения: 629
- Зарегистрирован: Пт мар 20, 2015 15:58:21
- Контактная информация:
Re: Дозиметр «Rad-Boy»
MadOrc писал(а):...питание датчика из Нанита...
... Исходники нанит-лед...
Спасибо, будем осваивать. А то привыкли тут, понимаешь ли, на всем готовом...
Схема, по которой собран Рад-Бой, прилагается. Дисплей 6610 (6100), анодное снятие импульсов (Нанит), накачка оттуда же.
- TaLiVis
- Вымогатель припоя
- Сообщения: 629
- Зарегистрирован: Пт мар 20, 2015 15:58:21
- Контактная информация:
Re: Дозиметр «Rad-Boy»
Скриншоты из прошивок Рад-Бой и Нанит.


Господа-товарищи, расскажите, пожалуйста, что это значит. Что изменится, если в прошивке Рад-Боя изменить строку на вариант из Нанита? Если можно без "почитай даташит...", в английском не силен...


Господа-товарищи, расскажите, пожалуйста, что это значит. Что изменится, если в прошивке Рад-Боя изменить строку на вариант из Нанита? Если можно без "почитай даташит...", в английском не силен...
Re: Дозиметр «Rad-Boy»
Если до этого с регистром TCCR1B в наните не было манипуляций, то эти две строки выполняют одно и тоже, разницы нет. Это настройка таймера на счет с внешнего входа по спадающему фронту импульсов.
- MadOrc
- Сверлит текстолит когтями
- Сообщения: 1215
- Зарегистрирован: Чт дек 27, 2012 15:38:20
- Откуда: Казахстан, Алма-Ата
Re: Дозиметр «Rad-Boy»
Отмотайте тему нанита на принципы работы ОС, где-то расписывал.
Смысл вкратце такой: пуляем импульс во флайбэк, запускаем этот апп. счётчик, если стабилитрон хоть раз пробился(он пробъётся когда на датчике будет 380+ вольт), счётчик будет не 0. Повторяем. Пуляем пока станет не 0 или не упрётся в ограничение (801 вроде).
Всё это "извращение" с апп. счётчиком нужно, чтобы работать в прерывании, а работать в прерывании нужно, поскольку импульсы у нас штучные, в самом буквальном смысле 1-2 штуки в секунду при ерф, чем и достигается ультра-экономия. Был вариант на стадии разработки "стартую апп. шим, а остановим когда надо" - но слишком грубо, оно за несколько тактов мк так накачает, что жуть, да и остановке могут мешать другие задачи, сработало бы при прожорливом потребителе, ГРИ например, но для газоразрядных датчиков - неприемлемо расточительно.
Смысл вкратце такой: пуляем импульс во флайбэк, запускаем этот апп. счётчик, если стабилитрон хоть раз пробился(он пробъётся когда на датчике будет 380+ вольт), счётчик будет не 0. Повторяем. Пуляем пока станет не 0 или не упрётся в ограничение (801 вроде).
Всё это "извращение" с апп. счётчиком нужно, чтобы работать в прерывании, а работать в прерывании нужно, поскольку импульсы у нас штучные, в самом буквальном смысле 1-2 штуки в секунду при ерф, чем и достигается ультра-экономия. Был вариант на стадии разработки "стартую апп. шим, а остановим когда надо" - но слишком грубо, оно за несколько тактов мк так накачает, что жуть, да и остановке могут мешать другие задачи, сработало бы при прожорливом потребителе, ГРИ например, но для газоразрядных датчиков - неприемлемо расточительно.
Радиофил-затейник.