в твоей схеме нужно обязательно ставить стабилитрон параллельно С1.sevpro
Да. Я помню про это замечание (еще раньше было). Но потом я подумал, что эти транзисторы практически всегда открытые, а закрываются (когда в принципе бросок может быть опасен) только когда напряжение в сети близко к нулю. Если в это время вдруг прилетит "игла" - они просто откроются еще раз. В результате получится провальчик на импульсе нуля. Поэтому вроде бы ничего страшного с ними (ну тут - дважды ИМХО :) не должно случиться. Вдобавок, у меня кроме 5 и 3 вольтовых стабилитронов под рукой как-то вдруг ничего не оказалось. Нужно было куда-то за ними ехать. Поэтому и забил. Но для надежности, возможно, и стОит зенер поставить.
Пару постов выше ссылка на схемуsevpro
Да я видел. Даже хотел попробовать ее, но, к сожалению, ни одного p-n-p, как назло, тоже под рукой не оказалось. Опять ехать... Можно, конечно трансформировать под n-p-n, но зачем? Модифицированный рудаковский детектор (с зенером в делителе) дает фронт около 400 ns, лежащий точно в нуле сети. Что еще нужно для счастья (входа INT0 :)? "Итальянец" так не сможет...
PS
Прилепил осциллограмму, снятую с большей выдержкой (чтобы ноль был лучше виден) для наглядности. Задержка фронта отностительно нуля порядка 5 мкс (это видно на больших растяжках, но снимать не стал - сеть почти "лежит").
PS2
Да, еще одно маленькое замечание. Совсем забыл! Если детектор используется для управления оптосимисторами с детектором нуля, да еще в сочетании с МК, то нужно чтобы фронт приходил пораньше ( на время обработчика прерываний и еще немного :). Иначе симистор не будет открываться, т.к. сигнал на затвор будет приходить позже нуля и детектор нуля моськи не даст открыть симистор.
Фронт импульса можно сдвигаеть влево при помощи резистора, включенного параллельно стабилитрону. Для моего "окружения" резистор, например, 10к сдвигает фронт влево относительно нуля примерно на 100 мкс.
Ну вот теперь вроде все :)