Подумал о дешёвой двухпроводной шине для мелкой автоматизации на больших расстояниях.
Придумал простую схему, для передачи данных дёргать двумя GPIO через транзисторные ключи подключенные к высокочастотному трансформатору и таким образом генерировать импульсы с различной частотой. А для приёма данных, подсчитывать число принятых фотодиодом импульсов от светодиода подключенного к шине.
Но возникает проблема. Если кабель неизвестного качества и расстояния неизвестные. И число устройство подключенных на одну шину неизвестно, то для максимально надёжной передачи, нужно напряжение повыше. Но, в сети ведь есть падение напряжения и поэтому непонятно какое конкретно придёт на светодиод, 3 вольта или 50 вольт. Например от одного передатчика придёт 7 вольт, а от другого 40 вольт. А ещё в случае коллизии они могут наложится. А приёмник должен не выйти из строя. А в идеале нужно учесть и всякие проблемы со статическими потенциалами. Я конечно разбираюсь слабо, но что то мне подсказывает что в таких условиях светодиод долго не прослужит.
Нужна какая то простая схема, которая частоту переменного тока частотой несколько килогерц (от 0,3 до 5) и широкого диапазона напряжений, от 3 до 110 вольт преобразует в аналогичное количество открытий полевого транзистора на входном GPIO.
Примечание: Про схему шины с коротким замыканием двух жил знаю, но хочу сделать нечто более универсальное и в теории не требующие запитывания самой шины когда данные не передаются. А ещё что бы через фильтры, поток данных можно было загнать и в сеть переменного тока.

Всего то фильтр на кабель установить и эти помехи не пройдут дальше. Это нужно предложить соседу.
Крайне отрицательно. Ничем это не фильтруется, потому что излучается проводами в виде поля, и прием сигналов в доме становится невозможен.
Сеть - она по всем нормам для того, чтобы брать оттуда питание, а не передавать какие-то говносигналы.
И фильтры я никакие ставить по этой причине даже не должен - это ты нарушаешь, а не я. То, что ты используешь сеть не по назначению - это твои проблемы, а не соседей.
Вот ты лично и должен обеспечить чистоту сети. Но ты это технически не сделаешь в своей системе.
Ты можешь поставить фильтры, чтобы за пределы твоей квартиры это не перло. Но это все равно на 100% проблему не решает, потому что есть поле, а стены то общие.
И фильтры - это не волшебные палочки, которые раз и убрали помехи. Они их только ослабляют.
Гораздо лучше не заниматься фигней и вообще не создавать помех.
Я считаю что ты на спичках экономишь. Дорого wifi делать - ну купи платки копеечные на 433 МГц и через них управляй.
Имхо если rezedent12 не сделает что-то не то, то созданное им загрязнение будет ничтожной мощности и если у соседей будет необходимость ставить фильтр то явно не из-за него.
К стати по этому фильтр лучше по любому поставить, и соседям, и rezedent12.
Вот тут согласен, хотя rezedent12 пока не сказал что именно он пытается сделать.
Ну то что он хочет, конечно далеко не такая задница как эзернет через розетку. Так что, возможно, помехи и будут небольшими. Но все равно я чисто идеологически этого не приемлю. Нельзя ничего передавать в сеть.
На самом деле я как-то подключил к розетке через резестивный делитель напряжения и разделительный конденсатор вход аудиоколонки так могу сказать что проект rezedent12 несбыточен ввиду крайней загрязнённости электросети и если он хочет что-то сделать то фильтрище придётся делать многозвенным и на совесть.
В его случае это решается просто достаточным уровнем сигнала. Из-за чего я и кипишую - то есть, чтобы преодолеть помехи, которые и так есть, ему придется создавать еще на порядок большие помехи.
Ну в принципе индуктивный фильтр от стиральной машины и пусковой конденсатор на 0.47мкф огромных размеров должен в дрстаточной мере очистить сеть.
На худой конец можно сделать фильтр на основе сердечника трансформатора отмикроволновки, но тут надо понимать что для работы фильтра необходимо чтобы через него проходил некий минимальный фильтруемый ток, иначе сердечник не будет работать.
Естественно, фильтр то должен быть нагружен. Об этом часто забывают, а потом опа - и помехи.
Планируется частота от 0,3 до 5 килогерц - это диапазон слышимого звука. Схема шипения простая, около 1 килогерца - условный ноль, около 5 килогерц - условная единица, 3 килогерца - разграничитель пакетов. Штатно планируется использовать телефонный кабель.
Основная проблема в том, что от разных устройств до разных устройств эти сигналы теоретически могут доходить с амплитудой от условных 3 вольт, до 110 вольт. Нужно считать сколько раз в миллисекунду (или микросекунду, не определился ещё) происходят колебания от -U V до +U V. Где U - напряжение (амплитуда) сигнала.
Можешь попробовать так. Сначала по проблеме, как принять от 110 вольт до 3 вольт.
Вариант: сигнал пропускаешь через резистор последовательно, после резистора - диод выпрямительный (или даже 1n4148), на GND (параллельно). Диод надо повернуть так, чтобы сигналом он открывался.
Такая цепочка обрежет любое напряжение до уровня около 0.6 вольт - напряжение отпирания диода. Если 0.6 вольт мало - включи два диода последовательно, 1.2 вольта точно будут восприняты как логическая единица.
Это обрежет +U. Если у тебя еще минусовые -U высокого напряжения, тогда надо ставить параллельно этим диодам, такие же но в обратную сторону.
Как считать импульсы. Проще всего подать сигнал на ножку входа таймера в микроконтроллере. В любом микроконтроллере есть таймеры, у которых есть режим счетчика.
То есть каждый пришедший импульс увеличит на 1 число в регистре таймера. Потом просто читаешь это число, обрабатываешь, записываешь в регистр 0 и ждешь дальше, пока придут новые импульсы.
Время счета - миллисекунда как ты хочешь, тогда надо отсчитывать вторым таймером.
Практически у любых микроконтроллеров несколько аппаратных таймеров имеется.
Резистор какой величины сопротивления выбрать? Мне казалось что так не получится, потому что разное напряжение означает разное необходимое сопротивление для защиты светодиода. Контроллер и электрическую схему принимающую сигналы, думаю развязать гальванически через оптопару.
Хрен с ними. Главное число колебаний посчитать. Синусоида нужна скорее как стандарт на потенциальное великое будущее стандарта если они будет принят какими то производителями.
Подумывал о ограничителе на полевом транзисторе.
Не менее 100 ком, а лучше разика в три побольше.
Не, смотря какой диод. Я думаю, больше не стоит.
Но и меньше тоже не стоит.
Вообще можно взять переменный резистор на 500 ком и подобрать верхний лимит, ну естественно нижний лимит лучше сделать постоянным резистором ком на 100 или 150.
С оптопарой да, наверное не получится. Потому что там надо не просто обрезать, а чтобы еще и диод зажегся.
А если просто диодом обрезать и на ножку - должно получиться. Сейчас на модели попробую.
Что скажешь насчёт такой схемы? https://ibb.co/VthFfj2
Как минимум у тебя нет фильтра для вырезания доминирующего над всем тона 50 гц.
И он имеет значение при разбросе логических уровней в килогерцы?
Конечно имеет, без отфильтрации у тебя будут большие периоды засветки (или отсечения, я не понимаю что делает биполярный транзистор в твоей схеме)
Ток ограничивает, хотя как JamesHolden подсказал, он не нужен судя по всему.
Если ты имеешь ввиду акустический шум на телефонном кабеле, то не сложно сделать сигнал мощнее. Если ты имеешь ввиду передачу данных через электрическую сеть, то да, понадобятся фильтры.
Да, в данном случае как верно заметил @torvn77, у тебя сетевой синус амплитудой 311 вольт просто сам по себе будет на 10 миллисекунд включать светодиод, и поверх него твои импульсы уже влиять не будут.
Интересно, сколько таких импульсов в секунду ожидается в типовой квартире? Это вопрос того какого размера должен быть пакет данных и какой тип алгоритма восстановления через избыточность данных выбрать.
Как то все слишком абстрактно.
Ты можешь какое-то минимально работающее устройство, или задачу, описать? Тогда можно говорить о реализации, а то пока больше вопросов чем ответов.
Создать простой открытый аппаратный стандарт и сделать фреймоворк для написания систем умного дома на произвольных языках программирования. Конечные исполняющие устройства должны быть очень дешёвые, то есть не должна каждая лампочка уметь ходить в интернет. А вся сложная логика должна быть на центральном узле сравнительно высокой вычислительной мощности, типа raspberry pi.
У системы должна быть независимость от простых глушилок бытовых радиодиапазонов, то есть надёжная связь по дешёвым проводам.
Это как USB, который имеет успех, потому что в самом начале позволял создавать максимально дешёвые устройства.
Тебе лучше избегать этих названий, потому как по закону ты ОБЯЗАН сделать так, чтобы твоя система управлялась исключительно только через внешний сайт с обязательной регистрацией и индентификацией пользователей, о чём можешь прочитать годовалую новость на опеннете.
ШТА?
Они упоролись?
Как это???
Вот так, решили что новый зонд должен сразу принадлежать государству, а не как Виндовс или Андройд частным компаниям(это моя интерпретация и я надеюсь что это так)
Я вообще не понимаю какой идиот придумал умный дом изначально через облако пускать.
Ну с точки зрения государства это не идеотизм так как позволяет собирать информацию о гражданах
Чтоб не быть совсем голословным поискал, на опенете ничего не находится, из всей сети нашлось два упоминания, одно из которых ссылается на другое:
Ссылка: https://www.kommersant.ru/doc/3924324
В целом может там и нет таких драконовских мер как я написал, но имхо если ТС будет продавать свои устройства как средства IoT то ему следует изучить законы ну или как минимум не давать устройству таких названий.
Ещё материал: https://polit.ru/article/2019/03/27/IoT/
“Интернет вещей” - это когда вещи являются устройствами подключающимися к интернету. Когда они имеют свои IP адреса.
Открытые стандарты для умного дома уже есть, 1-wire например, вот только оно похоже никому не нужно. Это как со смердфонами, 99% молча жрут зонды от эпла или гугла+вендора, ну и что, что барен лазит по твоему устройству, собирает телеметрию и в любой момент может его выключить, никому до этого нет дела. Так же и с иот, 99% просто купят вумный дилдак “ксеноми” и не будут заморачиваться с твоим raspberry pi
Тут надо смотреть на то, насколько сложно эти стандарты использовать неподготовленному по it человеку.
Если надо самому компиоять и набивать код то они конечно будут слишком сложны.
А если будет как LinuxCNC net net и ЧПУ с кастомной топологией готово то может стать и популярным.
Технически для масового потребителя это должно выглядеть приблизительно так:
Человек покупает всякие выключатели и датчики, которые стоят лишь на 50 или 100 рублей дороже таких же обычных. Устанавливает их. Цепляет к ним телефонный кабель или специальные беспроводные модули (если неудобно сигнальный провод тянуть). Подключает к шине главное устройство на базе raspberry pi и специальным приложением для смартфона через bluetooth вводит настройки сети и получает IP адрес WEB-интерфейса. (Ну или записав параметры в специальный файл на флешке)
Перейдя по адресу настраивает доступ и выбирает для установки конкретную систему управления. Зайдя в систему управления, уже в её настройках определяет какое устройство где находится и в её рамках настраивает всё остальное. Соответственно эти системы смогут быть как собственными скриптами на bash, платным ПО с свистопердельным интерфейсом. Или же вообще нейросетями запоминающими привычки пользователей.
Основные задачи:
Что бы каждый производитель мог приклеив к своим выключателям электромагнит и простую электронную схему - производить такие устройства. Естественно базовые шаблоны прошивки дешёвых чипов с протоколами обмена должны быть в открытом доступе.
Для системы управления умным домом все устройства должны быть видны в формате файловой системы, в которой можно считывать и записывать значения файлов, а так же запускать исполняемые файлы.
Основная проблема сегодняшних систем умного дома, в том что аппаратное обеспечение и система автоматизации не разделены.
Затвор с истоком соединить? У тебя же транзистор просто вообще не откроется.
Поясни подробнее, какую логику работы ты предполагаешь тут. Как должно быть, по-твоему?
Нашёл в интернете схему “ограничителя напряжения”.
Смотри что. Тебе надо, чтобы через светодиод тек одинаковый оптимальный для него ток, при разном исходном напряжении.
То есть тебе нужна схема “источник тока на транзисторе”.
То, что ты нарисовал - это похоже на источник тока на JFET транзисторе. Но у тебя MOSFET транзистор, и JFET для таких параметров ты не найдешь (а MOSFET легко).
Отличаются тем, что JFET в такой схеме откроется и ограничит ток, а MOSFET вообще будет полностью закрыт.
Там надо резистор добавлять, вот тут обсуждают подобное
https://askentire.net/q/zapros-na-rassmotrenie-istochnika-toka-ogranichitelya-toka-mosfet-141973399750
И главное сдаётся мне что в тех схемах предполагается что источник напряжения даёт ровное и чистое напряжение, а не целую или полупериод синусойды.
Да, конечно. С синусом надо думать как делать.
Короче, просчитал схему где резистор, потом два диода 1n4148 последовательно на GND.
C резистором 10k:
3 вольта на входе, 1.16 вольт на выходе.
110 вольт на входе - 1.51 вольт на выходе.
И даже - 1000 вольт на входе - 1.71 вольт на выходе, ток диода 100 мА (а у него длительный допустимый 200 мА).
То есть даже 10k резистор удовлетворяет. Если ток, потребляемый диодом при 110 вольтах (10 мА) это много для тебя - то тогда можно как @torvn77 говорит ставить 100k, с ним почти то же, только чуть ниже напряжение на выходе.
Но вообще помимо ограничивающих резисторов и диодов надо бы поставить ращделительный трансформатор чтобы не думать о совмещении GND контроллера и сети.
Сам ток меня не в плане энергопотребления волнует, а в плане того что бы светодиод не сгорел.
Если всё действительно так просто, то спасибо.
Только, еще раз поясню - то что я писал - это если взять обычный диод, не светодиод! И с него напрямую на ножку микроконтроллера подавать.
Если через светодиод оптопары, то так не получится, потому что у тебя либо не загорится светодиод при минимальном напряжении, либо он сгорит при максимальном, в зависимости от резистора.
Посоветуй как правильно гальванически развязать? ВЧ трансформатор выдранный из старого ethernet контроллера подойдёт?
Сомневаюсь.
Отталкивайся от трансформаторов в диалаповских модемах.
Вообще тебе не обязательно разделять трансформатором, можно разделить и двумя конденсаторами на 500V и выше.
Лучше уж через оптрон думать, но 50 Гц надо давить. Я сейчас на работу, чуть позже подумаю получше, может что подскажу.
Во первых я не думаю что ты будешь кодировать методом расширения спектра, по этому не шипение, а гудение.
Во вторых ты подключи активные колонки или усилок к сети как я тут сказал и послушай что там творится в диапазоне "от 0,3 до 5 килогерц"
Ты передавал аналоговый сигнал.