осиливаю потихоньку новую прогу для рисования схем kicad, вот накидал базовую схему последовательного включения розеток
на оптопаре сделан детектор нуля + специальная микросхема (нарисовал ее символ и прилепил корпус)
есть китайский контроллер, пока еще не определился, к каким выводам какие реле подключать - это надо будет потом при разводке платы смотреть, какие выводы контроллера в каким вывода улн2003 ближе
всего будет 12 розеток
теперь собственно чего я это все тут пишу? сегодня или уже даже вчера с утра мне в башку пришла гениальная идея, как бы это так сделать, чтобы максимально точно вычислить время срабатывания каждого реле - ведь это механическая штука и время может отличаться
если у нас частота 50гц, то 1 период это 20мс, а максимальный пик напряжения составляет 1\4 от перехода через ноль и 3\4
причем судя по графигу на картинке из прошлого поста - микросхема срабатывает только на полном периоде, значит нам надо учитывать 2 пика
судя по даташиту срабатывание контактов происходит максимально через 15мс, что как раз попадает в пик синусоиды, если мы будем включать контакты прямо при срабатывании детектора нуля
поэтому нам нужно точно знать некое среднее время срабатывания каждого реле, т.к. они не идеальны и имеют свои механические разбросы
и вот я подумал, а как бы так сделать без особого усложнения прошивки и схемы, чтобы можно было этим же контроллером определить время срабатывания каждого реле и записать это в память?
и таки придумал, для чего нарисовал быстренько поясняющую принцип схему
нам надо сделать специальную вилку (тут изображены обычные розетки, а на пду специальные и там фазу с нулем не перепутать)
синий провод подключается к общему проводу на плате, для чего будет предусмотрен маленький “тестовый разъем” на 3 контакта, а коричневый провод подключается ко входу контроллера
основная вилка пду в сеть не включается, а ее фазный провод подключается к контакту +12в и туда собственно подается 12в от внешнего блока питания для работы реле и контроллера пду
таким макаром на девайсе нет 230в никаким образом и сильно много городить не надо в схеме
на плате будет еще кнопка теста и если ее зажать и подать 12в, то контроллер увидит на этотм выводе лог0 и прога запустится в режиме калибровки
далее втыкаем спец вилку в первую выходную розетку, нажимаем кнопку и реле замыкается и размыкается раз 10, среднее время записывается в первую ячейку памяти
перетыкаем вилку, жмем кнопку и так 12 раз
потом отключаем питание, вытаскиваем провода вилки из разъема и девайс готов к работе
когда перед отправкой этот пост перечитывал, то в башке опять возникла идея, как оптимировать еще больше эту схему в пду
теперь останется только специальный 3х контактный разъем - он замыкает землю 5в и 230в синим проводом, подает 12в для работы пду в целом через красный провод и через коричневый провод подает 12в (через ограничительный резистор на плате) на вход контроллера
делитель напряжения делит так, что на выходе получается порядка 4.8в, но на всякий случай я там поставил стабилитрон на 5.1в
как работает?
при нажатии на кнопку теста или прихода по юарт запускать теста и номера розетки - контроллер стартует аппаратный таймер и тут же выставляется лог1 на выводе контроллера, который подключен к нужному реле
реле замыкает контакты, 12в подается на выходную розетку, через спец вилку по коричневому проводу поступает на вход контроллера, который улавливает изменение состояния вывода и определяет переход из 0 в 1, что вызывает прерывание, где останавливается аппаратный таймер
в специальном регистре будет некое число, которое магическим образом пересчитывается в миллисекунды
там у контроллера виднеются еще выводы юарта и я подумал, что можно сделать еще круче и пусть ии сделает веб гуй, т.к. браузер хром может видеть ком порты и взаимодействовать с девайсами
еще есть спецификация усб хид, но она вроде как не поддерживается официально и не запилена в браузерах
через юарт можно калибровать любое реле и видеть время срабатывания на каждый раз и построить даже графики для сравнения точек с другими реле
вот сейчас пишу и у меня в башке параллельно развивается идея целого тестировщика реле 
но пока что это только теория, может быть статься так, что у одного и того же реле разница во времени срабатывания будет сильно отличаться и вся идея окажется тухляком
поэтому я думаю попробовать пока на моих разных релешках протестировать, для чего ии напишет мне прогу для меги328, чтобы время тупо выводилось в консоль текстом и какой это раз по счету
потом может быть заставлю гемини придумать протокол обмена данными и нарисовать гуй в хтмл уже с графиками и возможностью сохранять результаты в localstorage, чтобы не лепить еще серверную часть